#include <bits/stdc++.h>
using namespace std;
int len[100]; // 绳子长度
int n,m,i,lbound,ubound,mid;

int main() { 
   cin>>n; 
   int count = 0;
   for (i = 0; i < n; i++) { 
       cin>>len[i];
       count = count + len[i];
   }
   
   cin>>m;
   if (count < m) {
      cout<<"Failed"<<endl;
	  return 0;
   }
   
   lbound = 1;
   ubound = 1000000;
   while (lbound < ubound) {
       mid = (lbound + ubound + 1) / 2;
	   count = 0;
	   for (i = 0; i < n; i++)
	      count = count + len[i] / mid;
	   if (count < m) 
	      ubound = mid - 1; 
	   else
	      lbound = mid;
   }
   cout<<lbound<<endl; 
   
   return 0;
}

/**************************************************************
	Problem: 1413
	User: admin
	Language: C++
	Result: Accepted
	Time:18 ms
	Memory:2072 kb
****************************************************************/