#include #include #include using namespace std; long gcd(long a,long b){return b?gcd(b,a%b):a;} vector >had,til; void psh(long X) { if(til.empty()) { til.push_back(make_pair(X,X)); return; } long pre=til.back().first; til.push_back(make_pair(gcd(pre,X),X)); } void pp() { if(had.empty()) { had=til; reverse(had.begin(),had.end()); til.clear(); long cum=0; for(int i=0;i>N; long ans=N*(N+1)/2; for(int i=0;i>A;psh(A); while(query()==1)pp(); ans-=had.size()+til.size(); } cout<