#include<bits/stdc++.h>
#define rep(i,n)for(int i=0;i<n;i++)
using namespace std;

struct node {
	int a, b;
};
bool operator<(node a, node b) {
	if (a.a == b.a)return a.b > b.b;
	return a.a < b.a;
}

int cnt[1000001];
int main() {
	priority_queue<node> que;
	int n, q; scanf("%d%d", &n, &q);
	rep(i, q) {
		int a, v; scanf("%d%d", &a, &v);
		cnt[a] += v;
		que.push({ cnt[a],a });
		for (; cnt[que.top().b] != que.top().a; que.pop());
		printf("%d %d\n", que.top().b, que.top().a);
	}
}