import java.util.ArrayList;
import java.util.Scanner;

public class fran_middle_binsearchFT {

	static FenwickTree ft;
	static int[] a;

	public static void main(String[] args) {
		Scanner reader = new Scanner(System.in);
		int n = reader.nextInt();
		int q = reader.nextInt();
		ft = new FenwickTree(n);
		a = new int[n];
		for(int i = 0; i < n; i++) {
			a[i] = reader.nextInt();
			ft.set(i, a[i]);
		}
		for(int i = 0; i < q; i++) {
			int j = reader.nextInt();
			int x = reader.nextInt();
			a[j] = x;
			ft.set(j, x);
			int ans = middle();
			System.out.println(ans);
		}
		reader.close();
	}

	static int middle() {
		int lo = 0;
		int hi = ft.size() - 1;
		while(lo < hi) {
			int mid = (lo + hi) >> 1;
			if(f(mid) <= f(mid + 1)) {
				hi = mid;
			} else{ 
				lo = mid + 1;
			}
		}
		return lo;
	}
	
	static long f(int i) {
		long left = ft.sum(i) - a[i];
		long right = ft.sum() - left - a[i];
		if(a[i] % 2 == 1) {
			if(left <= right) left += 1;
			else right += 1; 
		}
		return Math.abs(left - right);
	}
	
	static class FenwickTree {

		private ArrayList<Long> ft;
		
		public FenwickTree(int n) {
			ft = new ArrayList<Long>();
			for(int i = 0; i < n + 1; i++) {
				ft.add(0L);
			}
		}
		
		public int size() {
			return ft.size() - 1;
		}
		
		public void expand() {
			ft.add(0L);
		}
		
		// 0-indexed methods
		
		public long sum(int i) {
			return sum1idx(i + 1);
		}
		
		public long sum() {
			return sum1idx(size());
		}
		
		public long sum(int i, int j) {
			return sum1idx(i + 1, j + 1);
		}
		
		public void add(int i, int v) {
			add1dx(i + 1, v);
		}
		
		public void set(int i, int v) {
			int val = (int)sum(i, i);
			add(i, v - val);
		}
		
		// 1-indexed methods
		
		private long sum1idx(int i) {
			long sum = 0;
			for(; i > 0; i -= (i & -i)) {
				sum += ft.get(i);
			}
			return sum;
		}
		
		private long sum1idx(int i, int j) {
			return sum1idx(j) - (i == 1 ? 0 : sum1idx(i - 1));
		}
		
		private void add1dx(int i, int v) {
			for(; i < ft.size(); i += (i & -i)) {
				ft.set(i, ft.get(i) + v);
			}
		}
		
		public String toString(String left, String middle, String right) {
			StringBuilder sb = new StringBuilder();
			sb.append(left);
			for(int i = 0; i < size(); i++) {
				sb.append(sum(i, i));
				if(i < size() - 1) {
					sb.append(middle);
				}
			}
			sb.append(right);
			return sb.toString();
		}
		
		public String toString() {
			return toString("[", ", ", "]");
		}

	}
	
}
