HASH_LENGTH = 1000

#入力を受け取る
n, q = $stdin.gets.chomp.split(" ").map(&:to_i)

hash = Array.new(HASH_LENGTH).map{Array.new}
#各テーブルのトップを保持する
max = Array.new(HASH_LENGTH).map{Array.new(2).fill(-1)}

q.times do
  a, v = $stdin.gets.chomp.split(" ").map(&:to_i)
  #入力値をもとにハッシュテーブルを更新する
  key = a % HASH_LENGTH
  new = nil
  if new = hash[key].select{|sa, sv| sa == a}[0]
    new[1] += v
  else
    hash[key] << [a, v]
    new = [a, v]
  end
  hash[key].sort! do |m1, m2|
    if m1[1] != m2[1]
      m2[1] <=> m1[1]
    else
      m1[0] <=> m2[0]
    end
  end
  
  #対応キーのトップの更新
  max[key] = hash[key][0]

  #トップを取得する
  top = max.sort do |m1, m2|
    if m1[1] != m2[1]
      m2[1] <=> m1[1]
    else
      m1[0] <=> m2[0]
    end
  end[0]
  
  printf "%d %d\n", top[0], top[1]
end