传送门
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,k,l=1,r,ans,a[1000010];
int d(int x){
int cnt=0;
x=x*x;
for(int i=1;i<=n;i++){
cnt+=a[i]/x;
}
return cnt;
}
signed main(){
cin>>n>>k;
for(int i=1;i<=n;i++){
int h,w,t;
cin>>h>>w;
t=sqrt(h*w);
r=max(r,t);
a[i]=h*w;
}
while(l<=r){
int mid=(l+r+1)/2;
if(d(mid)>=k){
ans=mid;
l=mid+1;
}
else r=mid-1;
}
cout<<ans;
return 0;
}