#include<cstdio>
#include<algorithm>
#define maxn 2010
using namespace std;
typedef long long ll;
int gcd(int a,int b){
return b==0 ? a : gcd(b,a%b);
}
int n;
int s[maxn]={0};
int can[maxn][maxn]={0};
int suf[maxn]={0};
ll k;
int ans=0;
int main(){
freopen("tarmy.in","r",stdin);
freopen("tarmy.out","w",stdout);
scanf("%d%lld",&n,&k);
for (int i=1;i<=n;i++){
scanf("%d",&s[i]);
}
for (int i=n;i>=1;i--){
suf[i]=can[i][i]=1;
for (int j=i-1;j>=1;j--){
if (gcd(s[i],s[j])==1){
suf[i]++;
}
else break;
// printf("%d ",suf[i][j]);
}
// printf("\n");
}
for (int i=1;i<=n;i++){
ll sum=0; int len=0;
for (int j=i;j<=n;j++){
sum+=(ll)s[j],len++;
// printf("%d %d: %d %d\n",j,i,suf[j][i],len);
if (suf[j]>=len){
if (sum>=k) ans=max(ans,len);
}
else break;
}
}
printf("%d",ans);
return 0;
}