package bule;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class bule_8 {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
int choCount=scan.nextInt();
int friCount=scan.nextInt();
int maxSide=1;
scan.nextLine();
List<List<Integer>> choList=new ArrayList<>();
for(int i=0;i<choCount;i++) {
List<Integer> cho=new ArrayList<>();
int h=scan.nextInt();
int w=scan.nextInt();
cho.add(h);
cho.add(w);
choList.add(cho);
}
// System.out.println("choList:"+choList);
//最小的边长
int minSide=Integer.MAX_VALUE;
for(List<Integer> cho:choList) {
int curMin=Math.min(cho.get(0), cho.get(1));
if(curMin<minSide) {
minSide=curMin;
}
}
for(int i=minSide;i>=1;i--) {
int sumCur=0;
for(List<Integer> cho:choList) {
int lengthPiece=cho.get(0)/i;
int widthPiece=cho.get(1)/i;
sumCur+=lengthPiece*widthPiece;
}
if(sumCur>=friCount) {
maxSide=i;
break;
}
}
System.out.println(maxSide);
}
}
import java.util.ArrayList; import java.util.List; import java.util.Scanner;
public class bule_8 { public static void main(String[] args) { Scanner scan=new Scanner(System.in); int choCount=scan.nextInt(); int friCount=scan.nextInt(); int maxSide=1; scan.nextLine(); List<List> choList=new ArrayList<>(); for(int i=0;i<choCount;i++) { List cho=new ArrayList<>(); int h=scan.nextInt(); int w=scan.nextInt(); cho.add(h); cho.add(w); choList.add(cho); } // System.out.println("choList:"+choList); //最小的边长 int minSide=Integer.MAX_VALUE; for(List cho:choList) { int curMin=Math.min(cho.get(0), cho.get(1)); if(curMin<minSide) { minSide=curMin; } } for(int i=minSide;i>=1;i--) { int sumCur=0; for(List cho:choList) { int lengthPiece=cho.get(0)/i; int widthPiece=cho.get(1)/i; sumCur+=lengthPiece*widthPiece; } if(sumCur>=friCount) { maxSide=i; break; } } System.out.println(maxSide);
}
}