You are given a chessboard of size n × n. It is filled with numbers from 1 to n^2 in the following way: the first ⌈ (n^2)/(2) ⌉ numbers from 1 to ⌈ (n^2)/(2) ⌉ are written in the cells with even sum of coordinates from left to right from top to bottom. The rest n^2 - ⌈ (n^2)/(2) ⌉ numbers from ⌈ (n^2)/(2) ⌉ + 1 to n^2 are written in the cells with odd sum of coordinates from left to right from top to bottom. The operation ⌈x/y⌉ means division x by y rounded up.

For example, the left board on the following picture is the chessboard which is given for n=4 and the right board is the chessboard which is given for n=5.

<image>

You are given q queries. The i-th query is described as a pair x_i, y_i. The answer to the i-th query is the number written in the cell x_i, y_i (x_i is the row, y_i is the column). Rows and columns are numbered from 1 to n.

Input

The first line contains two integers n and q (1 ≤ n ≤ 10^9, 1 ≤ q ≤ 10^5) — the size of the board and the number of queries.

The next q lines contain two integers each. The i-th line contains two integers x_i, y_i (1 ≤ x_i, y_i ≤ n) — description of the i-th query.

Output

For each query from 1 to q print the answer to this query. The answer to the i-th query is the number written in the cell x_i, y_i (x_i is the row, y_i is the column). Rows and columns are numbered from 1 to n. Queries are numbered from 1 to q in order of the input.

Examples

Input

4 5
1 1
4 4
4 3
3 2
2 4


Output

1
8
16
13
4


Input

5 4
2 1
4 2
3 3
3 4


Output

16
9
7
20

Note

Answers to the queries from examples are on the board in the picture from the problem statement.
// Marcelino Galarza
// August 18th, 2018

import java.io.PrintWriter;
import java.util.Scanner;

public class b 
{

	public static void main(String[] args)
	{
		Scanner in = new Scanner(System.in);
		PrintWriter out = new PrintWriter(System.out);
		long size = in.nextLong();
		long numQueries = in.nextLong();
		
		for (int l = 0; l < numQueries; l++)
		{
			long x = in.nextLong();
			long y = in.nextLong();
			long sum = x + y;
			
			long initial = 0;
			long remainder = 0;
			
			// odd columns need to add one because of truncate 
			if (y%2 == 1)
				remainder = y/2 + 1;
			else
				remainder = y/2;
			
			if (size%2 == 0)
			{			
				if (sum%2 == 0)
					initial = (size/2) * (x-1);
				else
					initial = (size*size/2) + (size/2) * (x-1);
			}
			else
			{
				if (sum%2 == 0)
					initial = (size/2) * (x-1) + (x/2);
				else
					initial = (size*size/2+1) + (size/2) * (x-1) + ((x-1)/2);
			}

			long answer = initial + remainder;
			out.println(answer);
			//System.out.println((initial+remainder));
		}
		out.close();
	}
}

//4 5
//1 1
//4 4
//4 3
//3 2
//2 4

//5 4
//2 1
//4 2
//3 3
//3 4

