#include <iostream>
#include <vector>
#include <algorithm>
#include <map>
#include <set>
using namespace std;

typedef pair<int, int> P;

bool compare(const P& v1, const P& v2){
  if(v1.second > v2.second) return true;
  else if(v1.second < v2.second) return false;
  else{
    if(v1.first < v2.first) return true;
    else return false;
  }
}

int main(){
  map<P, int, bool(*)(const P&, const P&)> v(compare);
  map<int, int> m;
  int n, q;
  cin >> n >> q;
  int a, b;
  map<P, int, bool(*)(const P&, const P&)>::iterator it;
  for(int i = 0 ; i < q ; i++){
    cin >> a >> b;
    
    for(map<P, int, bool(*)(const P&, const P&)>::iterator itr = v.begin() ; itr != v.end() ; itr++){
      if(itr->first.first == a){
	v.erase(itr);
	break;
      }
    }
    m[a] += b;
    v[P(a, m[a])] = 0;
    it = v.begin();
    cout << it->first.first << ' ' << it->first.second << endl;
  } 
  return 0;
}