#include <iostream>
#include <algorithm>

#define rep(i, n) for(int i = 0; i < (n); ++i)

using namespace std;

typedef pair<int, int> P;

P t[1 << 21];

void init(int k, int l, int r){
	if(r - l > 1){
		int m = (l + r) / 2;
		init(2 * k + 1, l, m);
		init(2 * k + 2, m, r);
	}
	t[k] = P(l, 0);
}
void init(){
	init(0, 0, 1 << 20);
}

P add(int i, int x, int k, int l, int r){
	if(i < l || r <= i){
		return t[k];
	}
	if(i <= l && r <= i + 1){
		t[k].second += x;
		return t[k];
	}
	int m = (l + r) / 2;
	P p = add(i, x, 2 * k + 1, l, m);
	P q = add(i, x, 2 * k + 2, m, r);
	return t[k] = p.second >= q.second ? p : q;
}
void add(int i, int x){
	add(i, x, 0, 0, 1 << 20);
}

P query(){
	return t[0];
}

int n, q;

int main(){
	cin >> n >> q;

	init();
	rep(i, q){
		int a, v;
		cin >> a >> v;

		add(a - 1, v);
		
		P p = query();
		cout << p.first + 1 << ' ' << p.second << endl;
	}
	return 0;
}