#include<iostream>
#include<vector>
using namespace std;

struct MAX{
	int total;
	int id;
};

int main()
{
	int n,q;
	cin >> n >> q;
	int table[n+1];
	for(int i=0; i<=n; i++) table[i]=0;

	MAX cur_max;
	int a, v;
	cin >> a >> v;
	table[a]+=v;
	cur_max.total = v;
	cur_max.id = a;
	cout << cur_max.id << " " << cur_max.total << endl;
	for(int i=1; i<q; i++){
		cin >> a >> v;
		table[a]+=v;
		if( table[a]>cur_max.total){
			cur_max.id=a;
			cur_max.total=table[a];
		}else if(table[a]==cur_max.total){
			if(cur_max.id > a)cur_max.id=a;
		}
	   	cout << cur_max.id << " " << cur_max.total << endl;
	}
	return 0;
}