#include #include #include using namespace std; int N; int A[5<<17]; int memo[5<<17]; bool vis[5<<17]; int gru(int X) { if(vis[X])return memo[X]; setS; for(int i=3;i<=X;i++) { S.insert(gru(i-3)^gru(X-i)); } int id=0; while(S.find(id)!=S.end())id++; vis[X]=true; return memo[X]=id; } main() { cin>>N; for(int i=0;i>A[i]; sort(A,A+N); vis[0]=true; vis[1]=true;memo[1]=1; vis[2]=true;memo[1]=1; int ans=0; int c=1,pre=A[0]; for(int i=1;i