

import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        FastScanner in = new FastScanner();

        int N = in.nextInt();
        int X = in.nextInt();

        ArrayList<Integer> m = new ArrayList<>();
        for (int i =0; i< N;i++)
        {
            m.add(in.nextInt());
        }
        int sum = 0;
        Collections.sort(m);
        for (int i = 0; i < N; i++)
        {
            sum+= m.get(i);
        }
        int count = N;
        X= X-sum;


        while(X-m.get(0)>=0)
        {
            X-= m.get(0);
            count++;
        }

        System.out.println(count);
    }

    public static class FastScanner {
        BufferedReader br;
        StringTokenizer st;

        public FastScanner(String s) {
            try {
                br = new BufferedReader(new FileReader(s));
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

        public FastScanner() {
            br = new BufferedReader(new InputStreamReader(System.in));
        }

        String nextToken() {
            while (st == null || !st.hasMoreElements()) {
                try {
                    st = new StringTokenizer(br.readLine());
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            return st.nextToken();
        }

        String nextLine() {
            st = null;
            try {
                return br.readLine();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return null;
        }

        int nextInt() {
            return Integer.parseInt(nextToken());
        }

        long nextLong() {
            return Long.parseLong(nextToken());
        }

        double nextDouble() {
            return Double.parseDouble(nextToken());
        }
    }
} import java.io.*; io.* java import java.util.ArrayList; ArrayList java.util import java.util.Collections; Collections java.util import java.util.StringTokenizer; StringTokenizer java.util public class Main {
    public static void main(String[] args) throws IOException {
        FastScanner in = new FastScanner();

        int N = in.nextInt();
        int X = in.nextInt();

        ArrayList<Integer> m = new ArrayList<>();
        for (int i =0; i< N;i++)
        {
            m.add(in.nextInt());
        }
        int sum = 0;
        Collections.sort(m);
        for (int i = 0; i < N; i++)
        {
            sum+= m.get(i);
        }
        int count = N;
        X= X-sum;


        while(X-m.get(0)>=0)
        {
            X-= m.get(0);
            count++;
        }

        System.out.println(count);
    }

    public static class FastScanner {
        BufferedReader br;
        StringTokenizer st;

        public FastScanner(String s) {
            try {
                br = new BufferedReader(new FileReader(s));
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

        public FastScanner() {
            br = new BufferedReader(new InputStreamReader(System.in));
        }

        String nextToken() {
            while (st == null || !st.hasMoreElements()) {
                try {
                    st = new StringTokenizer(br.readLine());
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            return st.nextToken();
        }

        String nextLine() {
            st = null;
            try {
                return br.readLine();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return null;
        }

        int nextInt() {
            return Integer.parseInt(nextToken());
        }

        long nextLong() {
            return Long.parseLong(nextToken());
        }

        double nextDouble() {
            return Double.parseDouble(nextToken());
        }
    }
} Main public static void main(String[] args) throws IOException {
        FastScanner in = new FastScanner();

        int N = in.nextInt();
        int X = in.nextInt();

        ArrayList<Integer> m = new ArrayList<>();
        for (int i =0; i< N;i++)
        {
            m.add(in.nextInt());
        }
        int sum = 0;
        Collections.sort(m);
        for (int i = 0; i < N; i++)
        {
            sum+= m.get(i);
        }
        int count = N;
        X= X-sum;


        while(X-m.get(0)>=0)
        {
            X-= m.get(0);
            count++;
        }

        System.out.println(count);
    } main {
        FastScanner in = new FastScanner();

        int N = in.nextInt();
        int X = in.nextInt();

        ArrayList<Integer> m = new ArrayList<>();
        for (int i =0; i< N;i++)
        {
            m.add(in.nextInt());
        }
        int sum = 0;
        Collections.sort(m);
        for (int i = 0; i < N; i++)
        {
            sum+= m.get(i);
        }
        int count = N;
        X= X-sum;


        while(X-m.get(0)>=0)
        {
            X-= m.get(0);
            count++;
        }

        System.out.println(count);
    } FastScanner in = new FastScanner(); in new FastScanner() int N = in.nextInt(); N in.nextInt() in.nextInt in int X = in.nextInt(); X in.nextInt() in.nextInt in ArrayList<Integer> m = new ArrayList<>(); m new ArrayList<>() for (int i =0; i< N;i++)
        {
            m.add(in.nextInt());
        } int i =0; int i =0; i 0 i< N i N i++ i++ i {
            m.add(in.nextInt());
        } {
            m.add(in.nextInt());
        } m.add(in.nextInt()) m.add m in.nextInt() in.nextInt in int sum = 0; sum 0 Collections.sort(m) Collections.sort Collections m for (int i = 0; i < N; i++)
        {
            sum+= m.get(i);
        } int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
            sum+= m.get(i);
        } {
            sum+= m.get(i);
        } sum+= m.get(i) sum m.get(i) m.get m i int count = N; count N X= X-sum X X-sum X sum while(X-m.get(0)>=0)
        {
            X-= m.get(0);
            count++;
        } X-m.get(0)>=0 X-m.get(0) X m.get(0) m.get m 0 0 {
            X-= m.get(0);
            count++;
        } X-= m.get(0) X m.get(0) m.get m 0 count++ count System.out.println(count) System.out.println System.out System System.out count String[] args args public static class FastScanner {
        BufferedReader br;
        StringTokenizer st;

        public FastScanner(String s) {
            try {
                br = new BufferedReader(new FileReader(s));
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

        public FastScanner() {
            br = new BufferedReader(new InputStreamReader(System.in));
        }

        String nextToken() {
            while (st == null || !st.hasMoreElements()) {
                try {
                    st = new StringTokenizer(br.readLine());
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            return st.nextToken();
        }

        String nextLine() {
            st = null;
            try {
                return br.readLine();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return null;
        }

        int nextInt() {
            return Integer.parseInt(nextToken());
        }

        long nextLong() {
            return Long.parseLong(nextToken());
        }

        double nextDouble() {
            return Double.parseDouble(nextToken());
        }
    } FastScanner BufferedReader br; br StringTokenizer st; st public FastScanner(String s) {
            try {
                br = new BufferedReader(new FileReader(s));
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        } FastScanner {
            try {
                br = new BufferedReader(new FileReader(s));
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        } try {
                br = new BufferedReader(new FileReader(s));
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } FileNotFoundException e {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } e.printStackTrace() e.printStackTrace e {
                br = new BufferedReader(new FileReader(s));
            } br = new BufferedReader(new FileReader(s)) br new BufferedReader(new FileReader(s)) String s s public FastScanner() {
            br = new BufferedReader(new InputStreamReader(System.in));
        } FastScanner {
            br = new BufferedReader(new InputStreamReader(System.in));
        } br = new BufferedReader(new InputStreamReader(System.in)) br new BufferedReader(new InputStreamReader(System.in)) String nextToken() {
            while (st == null || !st.hasMoreElements()) {
                try {
                    st = new StringTokenizer(br.readLine());
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            return st.nextToken();
        } nextToken {
            while (st == null || !st.hasMoreElements()) {
                try {
                    st = new StringTokenizer(br.readLine());
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            return st.nextToken();
        } while (st == null || !st.hasMoreElements()) {
                try {
                    st = new StringTokenizer(br.readLine());
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            } st == null || !st.hasMoreElements() st == null st null !st.hasMoreElements() st.hasMoreElements() st.hasMoreElements st {
                try {
                    st = new StringTokenizer(br.readLine());
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            } try {
                    st = new StringTokenizer(br.readLine());
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } IOException e {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } e.printStackTrace() e.printStackTrace e {
                    st = new StringTokenizer(br.readLine());
                } st = new StringTokenizer(br.readLine()) st new StringTokenizer(br.readLine()) return st.nextToken(); st.nextToken() st.nextToken st String nextLine() {
            st = null;
            try {
                return br.readLine();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return null;
        } nextLine {
            st = null;
            try {
                return br.readLine();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return null;
        } st = null st null try {
                return br.readLine();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } IOException e {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } e.printStackTrace() e.printStackTrace e {
                return br.readLine();
            } return br.readLine(); br.readLine() br.readLine br return null; null int nextInt() {
            return Integer.parseInt(nextToken());
        } nextInt {
            return Integer.parseInt(nextToken());
        } return Integer.parseInt(nextToken()); Integer.parseInt(nextToken()) Integer.parseInt Integer nextToken() nextToken long nextLong() {
            return Long.parseLong(nextToken());
        } nextLong {
            return Long.parseLong(nextToken());
        } return Long.parseLong(nextToken()); Long.parseLong(nextToken()) Long.parseLong Long nextToken() nextToken double nextDouble() {
            return Double.parseDouble(nextToken());
        } nextDouble {
            return Double.parseDouble(nextToken());
        } return Double.parseDouble(nextToken()); Double.parseDouble(nextToken()) Double.parseDouble Double nextToken() nextToken public class Main {
    public static void main(String[] args) throws IOException {
        FastScanner in = new FastScanner();

        int N = in.nextInt();
        int X = in.nextInt();

        ArrayList<Integer> m = new ArrayList<>();
        for (int i =0; i< N;i++)
        {
            m.add(in.nextInt());
        }
        int sum = 0;
        Collections.sort(m);
        for (int i = 0; i < N; i++)
        {
            sum+= m.get(i);
        }
        int count = N;
        X= X-sum;


        while(X-m.get(0)>=0)
        {
            X-= m.get(0);
            count++;
        }

        System.out.println(count);
    }

    public static class FastScanner {
        BufferedReader br;
        StringTokenizer st;

        public FastScanner(String s) {
            try {
                br = new BufferedReader(new FileReader(s));
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

        public FastScanner() {
            br = new BufferedReader(new InputStreamReader(System.in));
        }

        String nextToken() {
            while (st == null || !st.hasMoreElements()) {
                try {
                    st = new StringTokenizer(br.readLine());
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            return st.nextToken();
        }

        String nextLine() {
            st = null;
            try {
                return br.readLine();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return null;
        }

        int nextInt() {
            return Integer.parseInt(nextToken());
        }

        long nextLong() {
            return Long.parseLong(nextToken());
        }

        double nextDouble() {
            return Double.parseDouble(nextToken());
        }
    }
} public class Main {
    public static void main(String[] args) throws IOException {
        FastScanner in = new FastScanner();

        int N = in.nextInt();
        int X = in.nextInt();

        ArrayList<Integer> m = new ArrayList<>();
        for (int i =0; i< N;i++)
        {
            m.add(in.nextInt());
        }
        int sum = 0;
        Collections.sort(m);
        for (int i = 0; i < N; i++)
        {
            sum+= m.get(i);
        }
        int count = N;
        X= X-sum;


        while(X-m.get(0)>=0)
        {
            X-= m.get(0);
            count++;
        }

        System.out.println(count);
    }

    public static class FastScanner {
        BufferedReader br;
        StringTokenizer st;

        public FastScanner(String s) {
            try {
                br = new BufferedReader(new FileReader(s));
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

        public FastScanner() {
            br = new BufferedReader(new InputStreamReader(System.in));
        }

        String nextToken() {
            while (st == null || !st.hasMoreElements()) {
                try {
                    st = new StringTokenizer(br.readLine());
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            return st.nextToken();
        }

        String nextLine() {
            st = null;
            try {
                return br.readLine();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return null;
        }

        int nextInt() {
            return Integer.parseInt(nextToken());
        }

        long nextLong() {
            return Long.parseLong(nextToken());
        }

        double nextDouble() {
            return Double.parseDouble(nextToken());
        }
    }
} Main


import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        FastScanner in = new FastScanner();

        int N = in.nextInt();
        int X = in.nextInt();

        ArrayList<Integer> m = new ArrayList<>();
        for (int i =0; i< N;i++)
        {
            m.add(in.nextInt());
        }
        int sum = 0;
        Collections.sort(m);
        for (int i = 0; i < N; i++)
        {
            sum+= m.get(i);
        }
        int count = N;
        X= X-sum;


        while(X-m.get(0)>=0)
        {
            X-= m.get(0);
            count++;
        }

        System.out.println(count);
    }

    public static class FastScanner {
        BufferedReader br;
        StringTokenizer st;

        public FastScanner(String s) {
            try {
                br = new BufferedReader(new FileReader(s));
            } catch (FileNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }

        public FastScanner() {
            br = new BufferedReader(new InputStreamReader(System.in));
        }

        String nextToken() {
            while (st == null || !st.hasMoreElements()) {
                try {
                    st = new StringTokenizer(br.readLine());
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            return st.nextToken();
        }

        String nextLine() {
            st = null;
            try {
                return br.readLine();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return null;
        }

        int nextInt() {
            return Integer.parseInt(nextToken());
        }

        long nextLong() {
            return Long.parseLong(nextToken());
        }

        double nextDouble() {
            return Double.parseDouble(nextToken());
        }
    }
}
