import core.bitop;
import std.algorithm;
import std.ascii;
import std.bigint;
import std.conv;
import std.functional;
import std.math;
import std.numeric;
import std.range;
import std.stdio;
import std.string;

T lread(T = long)()
{
    return readln.chomp.to!T();
}

T[] aryread(T = long)()
{
    return readln.split.to!(T[])();
}

alias sread = () => readln.chomp();

void main()
{
    auto nx = aryread();
    long[] m = new long[](nx[0]);
    foreach (i; 0 .. nx[0])
    {
        m[i] = lread();
    }
    long x = nx[1];
    x -= m.sum();
    long result = m.length;
    result += x / reduce!min(m);
    writeln(result);
}
