#include <bits/stdc++.h>
#include "code.h"
using namespace std;
int a[1005][10005], mn[1005], mx[1005];
vector<int> Nadji(int n, int k){
    if(n*n==k){
        for(int i=1; i<=n; ++i)
            for(int j=1; j<=n; ++j)
                a[i][j]=Pitaj(i,j);
        for(int i=1; i<=n; ++i){
            mx[i]=a[i][1];
            for(int j=2; j<=n; ++j){
                if(a[i][j]>mx[i]) mx[i]=a[i][j];
            }
        }
        for(int j=1; j<=n; ++j){
            mn[j]=a[1][j];
            for(int i=2;i<=n;++i){
                if(a[i][j]<mn[j]) mn[j]=a[i][j];
            }
        }
        for(int i=1; i<=n; ++i){
            for(int j=1; j<=n;++j){
                if(a[i][j]==mn[j] && mn[j]==mx[i]){
                    vector<int> v;
                    v.push_back(i);
                    v.push_back(j);
                    return v;
                }
            }
        }
    }
    if(n==1000 && k==5000){
        int l=1, t=Pitaj(1,1);
        while(l<=n){
            int d=1;
            while(l<n && t!=3){
                l++;
                t=Pitaj(1,l);
            }//nasla prvu trpojku, sad dole
            while(d<n && t==3){
                d++;
                t=Pitaj(d,l);
            }
            int dd=d;
            if(t!=2){
                //ne moze ovo da bude, dalje l
                l++;
                continue;
            }
                //proveri jel dole sve trojke i levo/desno kecevi
            d++;
            t=Pitaj(d,l);
            while(d<n && t==3){
                d++;
                t=Pitaj(d,l);
            }
            if(d!=n || t!=3){
                l++;
                continue;
            }// sad kecevi
            bool r=true;
            for(int i=1; i<=n; ++i){
                if(i==l) continue;
                if(Pitaj(dd,i)!=1){
                    r=false;
                    break;
                }
            }
            if(!r){
                l++;
                continue;
            }
            vector<int> v;
            v.push_back(dd);
            v.push_back(l);
            return v;
        }
    }
    vector <int> v;
    v.push_back(0);v.push_back(0);
    return v;
}