#include<bits/stdc++.h>
using namespace std;
using Int = long long;

template<typename T> 
struct BIT{
  Int n;
  map<Int, T> bit;
  //1-indexed
  BIT():n(-1){}
  BIT(Int n_):n(n_){}
  
  T sum(Int i){
    T s=0;
    for(Int x=i;x>0;x-=(x&-x))
      s+=bit[x];
    return s;
  }
  void add(Int i,T a){
    if(i==0) return;
    for(Int x=i;x<=n;x+=(x&-x))
      bit[x]+=a;
  }
  
  Int lower_bound(Int w){
    if(w<=0) return 0;
    Int x=0,r=1;
    while(r<n) r<<=1;
    for(Int k=r;k>0;k>>=1){
      if(x+k<=n&&bit[x+k]<w){
	w-=bit[x+k];
	x+=k;
      }
    }
    return x+1;
  }
  
  T sum0(Int i){
    return sum(i+1);
  }
  void add0(Int i,T a){
    add(i+1,a);
  }
};

signed main(){
  Int n,c;
  cin>>n>>c;
  BIT<Int> bit((Int)1e17);
  vector<Int> s(n,1);
  for(Int i=0;i<n;i++) bit.add(s[i]*n+(n-(i+1)),1);
  for(Int i=0;i<c;i++){
    Int x;
    cin>>x;
    if(x){
      Int m;
      cin>>m;
      Int k=bit.lower_bound(n-m+1);
      cout<<n-(k%n)<<" "<<s[n-(k%n)-1]-1<<endl;
    }else{
      Int t,p;
      cin>>t>>p;
      t--;
      bit.add(s[t]*n+(n-(t+1)),-1);
      s[t]+=p;
      bit.add(s[t]*n+(n-(t+1)),1);
    }
  }
  return 0;
}