#include<bits/stdc++.h>
using namespace std;
int sum=0,s[20000005],a[20000005],n,maxl[7]={0,-1,-1,-1,-1,-1,-1},maxr[7]={0,-1,-1,-1,-1,-1,-1};
int read()
{
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9')
{
if(ch=='-')w=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
return s*w;
}
int main(){
n=read();
s[0]=0;
for(int i=1;i<=n;i++){
a[i]=read();
s[i]=s[i-1]+a[i];
}
for(int i=1;i<=n;i++){
s[i]%=7;
if(maxl[s[i]]>i||maxl[s[i]]==-1)
maxl[s[i]]=i;
if(maxr[s[i]]==-1||maxr[s[i]]<i)
maxr[s[i]]=i;
//这一步是找到同余数时最大的右端点和最小的左端点
}
for(int i=0;i<7;i++){
if(maxl[i]!=-1)
sum=max(sum,maxr[i]-maxl[i]);
}
cout<<sum;
return 0;
}