import java.util.Arrays; import java.util.Random; import java.util.Scanner; public class Main implements Runnable { public static void main(String[] args) { new Thread(null, new Main(), "", 512 * 1024 * 1024).start(); // new Main().check(); } Random rnd=new Random(); void check() { out:for(int t=0;t<10000;++t) { N=rnd.nextInt(1,11); K=10000; A=new int[N]; for(int i=0;ia==0); } void randomPlay() { do { id=rnd.nextInt(N); } while(A[id]==0); x=rnd.nextInt(1,Math.min(K+1, A[id]+1)); K=x; } Scanner sc=new Scanner(System.in); int N; int[] A; int id=-1; int x=-1; int K=-1; boolean outcome() { int[] B=Arrays.copyOf(A, A.length); int coe=1; while(true) { int n0=0; int n1=0; int nOdd=0; for(int b:B) { if(b==0)++n0; if(b==1)++n1; if(b%2==1)++nOdd; } if(n0==N)return false; if(nOdd%2==1) { int i=0; while(B[i]==0)++i; x=coe; id=i; return true; } if(N-n0==1) { int i=0; while(B[i]==0)++i; if(B[i]*coe<=K) { id=i; x=coe*B[i]; return true; } } if(n1==N-n0)return false; for(int i=0;iK)throw new AssertionError(); K=x; if(A[id]<0)throw new AssertionError(); int ret=sc.nextInt(); if(ret==1)System.exit(0); } public void run() { N=sc.nextInt(); A=new int[N]; for(int i=0;i