int main() {
priority_queue<int,vector<int>,greater<int>>pq;
vector<int>v;
int n,k;
cin>>n>>k;
for(int i=1;i<=k;i++){
int t;
cin>>t;
if(t==1){
int a,b;
cin>>a>>b;
int dis=(a*a)+(b*b);
pq.push(dis);
}
}
int queries_left=n-k;
while(queries_left--){
int type;
cin>>type;
int temp[k-1];
int i=0;
int times=k-1;
if(type==1){
int a,b;
cin>>a>>b;
int dis=(a*a)+(b*b);
pq.push(dis);
}
else if(type ==2 ){
while(times!=0){
temp[i]=pq.top();
i++;
pq.pop();
times--;
}
cout<<pq.top()<<endl;
for(int i=0;i<k-1;i++){
pq.push(temp[i]);
}
}
}
return 0;
}