3 7
3 2 1
 4 97
97 1 50 10
 5 25
24 5 15 25 23
 3 3
3 2 1
 4 18
3 1 1 2
 5 97
1 10 50 97 2
 1 88
1
 3 18
1 9 3
 8 8
8 7 6 5 4 3 2 1
 2 1
2 1
 5 16
8 4 2 1 7
 2 16
8 4
 1 25
25
 2 2
2 1
 4 21
21 20 21 2
 3 28
7 14 1
 2 6
3 2
 5 12
12 4 3 4 4
 5 10
5 4 3 2 1
 4 32
1 1 1 1
 5 12
2 3 12 6 4
 2 100
99 1
 3 6
1 3 2
 79 12
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
 3 6
6 3 2
 3 12
3 12 2
 5 97
1 10 50 100 2
 6 8
6 5 4 3 2 1
 7 24
1 3 6 4 5 2 7
 4 12
1 2 12 3
 5 12
12 4 4 4 3
 3 8
4 3 2
 2 4
4 1
 100 100
2 46 24 18 86 90 31 38 84 49 58 28 15 80 14 24 87 56 62 87 41 87 55 71 87 32 41 56 91 32 24 75 43 42 35 30 72 53 31 26 54 61 87 85 36 75 44 31 7 38 77 57 61 54 70 77 45 96 39 57 11 8 91 42 52 15 42 30 92 41 27 26 34 27 3 80 32 86 26 97 63 91 30 75 14 7 19 23 45 11 8 43 44 73 11 56 3 55 63 16
 3 9
3 2 1
 2 10
5 2
 2 4
8 1
 11 99
1 2 3 6 5 4 7 8 99 33 66
 4 12
1 4 3 2
 2 6
5 3
 4 6
3 2 5 12
 3 10
2 10 5
 2 12
4 3
 6 8
2 4 1 3 5 7
 6 15
5 2 3 6 4 3
 3 8
3 4 2
 99 12
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
 2 18
6 3
 4 12
6 4 3 1
 3 6
3 2 1
 4 6
6 1 2 3
 4 4
1 2 2 4
 3 8
7 2 4
 6 87
1 2 8 4 5 7
 3 6
10 2 3
 4 8
2 8 4 1
 5 6
3 2 4 2 2
 4 100
2 50 4 1
 100 91
13 13 62 96 74 47 81 46 78 21 20 42 4 73 25 30 76 74 58 28 25 52 42 48 74 40 82 9 25 29 17 22 46 64 57 95 81 39 47 86 40 95 97 35 31 98 45 98 47 78 52 63 58 14 89 97 17 95 28 22 20 36 68 38 95 16 2 26 54 47 42 31 31 81 21 21 65 40 82 53 60 71 75 33 96 98 6 22 95 12 5 48 18 27 58 62 5 96 36 75
 2 100
7 1
 4 12
1 3 4 2
 1 89
1
 3 18
1 9 6
 3 6
2 3 1
 3 6
5 3 2
 3 6
2 3 2
 5 6
2 3 5 1 2
 3 19
7 1 1
 3 12
1 12 2
 3 8
4 2 1
 4 12
1 2 4 3
 2 5
5 1
 6 7
6 5 4 3 7 1
 5 3
2 4 5 3 6
 3 8
2 4 2
 4 8
2 4 8 1
 98 12
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
 3 8
8 4 2
 3 6
3 2 5
 1 1
1
 1 100
1

7
 1
 1
 1
 6
 1
 88
 2
 1
 1
 2
 2
 1
 1
 1
 2
 2
 1
 2
 32
 1
 100
 2
 1
 1
 1
 97
 2
 4
 1
 1
 2
 1
 50
 3
 2
 4
 1
 3
 2
 2
 1
 3
 2
 3
 2
 1
 3
 2
 2
 1
 1
 2
 87
 2
 1
 2
 2
 7
 100
 3
 89
 2
 2
 2
 2
 2
 19
 1
 2
 3
 1
 1
 1
 2
 1
 1
 1
 2
 1
 100

import java.util.*;
import java.math.*;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class a{ 
     static int[] count,count1,count2;
     static Node[] nodes;
     static long[] arr;
     static char[] ch,ch1;
     static long[] darr,farr;
     static Character[][] mat,mat1;
     static long x,h;
     static long maxl;
     static double dec;
     static String s;
     static long minl;
     static int mx = (int)1e9+5;
     static long mod = 998244353l;
     // static int minl = -1;
     // static long n;
     static int n,n1,n2;
     static long a;
     static long b;
     static long c;
     static long d;
     static long y,z;
     static int m;
     static long k;
     static String[] str,str1;
     static SortedSet<Character> set,set3,set2;
     static SortedSet<String> set1;
     static List<Integer> list,list1,list2;
     static LinkedList<Character> ll;
     static Map<String,String> map;
     static StringBuilder sb,sb1,sb2;
     static int[] dx = {0,-1,0,1};
     static int[] dy = {-1,0,1,0};

     // public static void solve(){

     //    FastScanner sc = new FastScanner();
     //    sb = new StringBuilder();
     //    int n = sc.nextInt();
     //    int m = sc.nextInt();
     //    map = new HashMap<>();

     //    for(int i = 0 ; i < n ; i++){
     //        String a = sc.next();
     //        String b = sc.next();
     //        map.put(b,a);
     //    } 
     //    for(int i = 0 ; i < m ; i++){
     //        String a = sc.next();
     //        String b = sc.next();
     //        sb.append(a+" "+b+" #"+map.get(b.substring(0,b.length()-1))+"\n");
     //    }

     //    System.out.println(sb);

     // }

     public static long solve(){
        
        ruffleSort(arr);
        for(int i = n-1 ; i > -1 ; i--)
            if(k%arr[i] == 0)
                return k/arr[i];

        return -1;    

     }

     public static void main(String[] args) {

            FastScanner sc = new FastScanner();
            // Scanner sc = new Scanner(System.in);
            // int t = sc.nextInt();
            int t = 1;
            // int l = 1;
            while(t > 0){
                
                // a = sc.nextLong();
                // b = sc.nextLong();
                // c = sc.nextLong();
                // d = sc.nextLong();

                // x = sc.nextLong();
                // y = sc.nextLong();
                
                // n = sc.nextLong();
                n = sc.nextInt();
                // a = sc.nextLong();
                // b = sc.nextLong();
                // // n1 = sc.nextInt();

                // m = sc.nextInt();

                k = sc.nextLong();
                // s = sc.next();

                // ch = sc.next().toCharArray();
                // ch1 = sc.next().toCharArray();

                arr = new long[n];
                for(int i = 0 ; i < n ; i++){
                    arr[i] = sc.nextLong();
                }
                 
                // darr = new long[m];
                // for(int i = 0; i < m ; i++){
                //     darr[i] = sc.nextLong();
                // }

                // farr = new int[n];
                // for(int i = 0; i < n ; i++){
                //     farr[i] = sc.nextInt();
                // }

                // mat = new Character[n][m];
                // for(int i = 0 ; i < n ; i++){
                //     String s = sc.next();
                //     for(int j = 0 ; j < m ; j++){
                //         mat[i][j] = s.charAt(j);
                //     }
                // }
                // str = new String[n];
                // for(int i = 0 ; i < n ; i++)
                //     str[i] = sc.next();

                // nodes = new Node[n];
                // for(int i = 0 ; i < n ;i++)
                //     nodes[i] = new node(sc.nextInt(),sc.nextInt());

                // System.out.println(solve()?"YES":"NO");
                 // solve();       
                 System.out.println(solve());
                 t -= 1;
            }

     }

    public static int log(long n){

         if(n == 0 || n == 1)
             return 0;

         if(n == 2)
             return 1;

         double num = Math.log(n);
         double den = Math.log(2);

         if(den == 0)
             return 0;

         return (int)(num/den);
     }

    public static boolean isPrime(long n) { 
    // Corner cases 
        if (n <= 1)  
            return false; 

        if (n <= 3)  
            return true; 
      
        // This is checked so that we can skip  
        // middle five numbers in below loop 
        if (n%2 == 0 || n%3 == 0) 
            return false; 
      
        for (int i=5; i*i<=n; i=i+6) 
            if (n%i == 0 || n%(i+2) == 0) 
               return false; 
      
        return true; 
    } 

     public static long gcd(long a,long b){

        if(b%a == 0)
            return a;

        return gcd(b%a,a);

     }

     // public static void swap(int i,int j){
     //     long temp = arr[j];
     //     arr[j] = arr[i];
     //     arr[i] = temp;
     // } 

    static final Random random=new Random();
    
    static void ruffleSort(long[] a) {
        int n=a.length;//shuffle, then sort 
        for (int i=0; i<n; i++) {
            int oi=random.nextInt(n);
            long temp=a[oi];
            a[oi]=a[i]; a[i]=temp;
        }
        Arrays.sort(a);
    }

    static class Node{
        Integer first;
        Integer second;
        Node(Integer f,Integer s){
            this.first = f;
            this.second = s;
        }
    }

     static class FastScanner {

                BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
                StringTokenizer st=new StringTokenizer("");
                String next() {
                        while (!st.hasMoreTokens())
                                try {
                                        st=new StringTokenizer(br.readLine());
                                } catch (IOException e) {
                                        e.printStackTrace();
                                }
                        return st.nextToken();
                }
                
                int nextInt() {
                        return Integer.parseInt(next());
                }
                int[] readArray(int n) {
                        int[] a=new int[n];
                        for (int i=0; i<n; i++) a[i]=nextInt();
                        return a;
                }
                long nextLong() {
                        return Long.parseLong(next());
                }
        }

}