#include #include #include #include //#define scanf scanf_s #define fir first #define sec second #define mp make_pair #define mt make_tuple #define pub push_back using namespace std; typedef long long int llint; const llint one = 1; const llint big = (one<<30); const int mod=1000000007; inline int gcd(int a,int b) { return b ? gcd(b, a % b) : a; } int main(void){ int N,M,me,q,gen=0,bmax,bmin,can; vector po; scanf("%d %d",&N,&M); bmax=N-2; bmin=-1; scanf("%d",&me); for(int i=1;i1){ gen=(bmax+bmin)/2; int dow=N-2,lead=0,tei=me+po[gen],ok=1; for(lead=0;lead=0;dow--){ if(dow==gen){continue;} if(po[dow]+po[lead]>tei){break;} if(dow