#include<bits/stdc++.h>
#define int long long
#define db double
#define inf 2e18
#define mp make_pair
#define fi first
#define se second
#define pr printf
#define ps puts
#define pb push_back
#define For(i,a,b) for(i=a;i<=b;i++)
#define FOR(i,a,b) for(i=a;i>=b;i--)
using namespace std;
const int N=2e5+10;
int n,m,b[N];
int a[9]={4,5,7,9,11,13,17,19,23};
int A[N],M[N];
void exgcd(int a,int b,int &x,int &y){
int t;
if(b==0){
x=1;
y=0;
}
else{
exgcd(b,a%b,x,y);
t=x;x=y;y=t-(a/b)*y;
}
}
int intchina(int r){
int i,Mi,x0,y0,ans=0,MM;
MM=1;
for(i=1;i<=r;i++)
MM*=M[i];
for(i=1;i<=r;i++){
Mi=MM/M[i];
exgcd(Mi,M[i],x0,y0);
ans=(ans+Mi*x0*A[i])%MM;
}
ans=(ans+MM)%MM;
if(!ans) ans=MM;
return ans;
}
signed main(){
int t,i,j,s=0,cnt=0;
m=108;
cout<<m<<endl;
For(i,0,8){
s+=a[i];
cout<<s<<" ";
For(j,s-a[i]+1,s-1) cout<<j<<" ";
}
cout<<endl;
For(i,1,m) cin>>b[i];
s=0,t=1;
For(i,0,8){
s+=a[i];
M[++cnt]=a[i];
if(b[t]==s){
A[cnt]=0;
}
else FOR(j,s-1,s-a[i]+1){
if(b[t]==j){
A[cnt]=s-j;
}
}
t+=a[i];
}
cout<<intchina(cnt)<<endl;
exit(0);
return 0;
}
我感觉我本地手动测是能过样例的至少。