#include<bits/stdc++.h>
using namespace std;
const int N=2e5+10;
long long n,m,l=-9,r=1e15;
long long a[N];
int main()
{
cin>>n>>m;
for(int i=1;i<n;i++)
{
cin>>a[i];
long long tmp1=(a[i]*i);
long long tmp2=(a[i]-1)*i;
if(m%tmp1==0)
{
l=max(l,m/tmp1);
}
else if(m%tmp1!=0)
{
l=max(l,m/tmp1+1);
}
if(m%tmp2==0)
{
r=min(r,m/tmp2-1);
}
else if(m%tmp2!=0)
{
r=min(r,m/tmp2);
}
//cout<<l<<" "<<r;
}
cin>>a[n];
if(m%(a[n]*n)==0)
{
l=max(l,m/(a[n]*n));
}
else
{
l=max(l,m/(a[n]*n));
}
if(n==1)
{
cout<<"xiaogougege";
return 0;
}
if(l>r) cout<<0;
else cout<<r-l+1;
return 0;
}