#include #include #include #include #include using namespace std; long babelki(vector tab, int n) { for(int i=n-2;i>=0;--i) { for(int j=0;j<=i;++j) { if(tab[j] a, pair b) { if(a.first==b.first) return a.second co, pair w_czym) { if(co.first>=w_czym.first && co.first<=w_czym.second && co.second>=w_czym.first && co.second<=w_czym.second) return 1; return 0; } long long szukaj(long long p, long long k, pair co, vector > tab) { if(p==k && zawiera(tab[p],co)) return tab[p].first; else if(p==k || p>k) return -1; long long i=(p+k)/2; //printf("%d %d\n", tab[i].first, tab[i].second); if(zawiera(tab[i],co)) return tab[i].first; if(tab[i].firstco.second) return szukaj(p,i-1,co,tab); if(tab[i].secondco.second) return szukaj(p,i-1,co,tab); } int main() { long long M, Q; while(scanf("%lld %lld", &M, &Q) && (M!=0 || Q!=0)) { vector klucz(M); map > czy2; vector > wyn; for(long long i=0;i temp=czy2[klucz[i]]; czy2[klucz[i]].push_back(i); for(int x=0;x