Virtual contest is a way to take part in past contest, as close as possible to participation on time. It is supported only ICPC mode for virtual contests.
If you've seen these problems, a virtual contest is not for you - solve these problems in the archive.
If you just want to solve some problem from a contest, a virtual contest is not for you - solve this problem in the archive.
Never use someone else's code, read the tutorials or communicate with other person during a virtual contest.

No tag edit access

The problem statement has recently been changed. View the changes.

×
A. Eugeny and Array

time limit per test

1 secondmemory limit per test

256 megabytesinput

standard inputoutput

standard outputEugeny has array *a* = *a*_{1}, *a*_{2}, ..., *a*_{n}, consisting of *n* integers. Each integer *a*_{i} equals to -1, or to 1. Also, he has *m* queries:

- Query number
*i*is given as a pair of integers*l*_{i},*r*_{i}(1 ≤*l*_{i}≤*r*_{i}≤*n*). - The response to the query will be integer 1, if the elements of array
*a*can be rearranged so as the sum*a*_{li}+*a*_{li + 1}+ ... +*a*_{ri}= 0, otherwise the response to the query will be integer 0.

Help Eugeny, answer all his queries.

Input

The first line contains integers *n* and *m* (1 ≤ *n*, *m* ≤ 2·10^{5}). The second line contains *n* integers *a*_{1}, *a*_{2}, ..., *a*_{n} (*a*_{i} = -1, 1). Next *m* lines contain Eugene's queries. The *i*-th line contains integers *l*_{i}, *r*_{i} (1 ≤ *l*_{i} ≤ *r*_{i} ≤ *n*).

Output

Print *m* integers — the responses to Eugene's queries in the order they occur in the input.

Examples

Input

2 3

1 -1

1 1

1 2

2 2

Output

0

1

0

Input

5 5

-1 1 1 1 -1

1 1

2 3

3 5

2 5

1 5

Output

0

1

0

1

0

Codeforces (c) Copyright 2010-2021 Mike Mirzayanov

The only programming contests Web 2.0 platform

Server time: Sep/27/2021 23:28:24 (h2).

Desktop version, switch to mobile version.

Supported by

User lists

Name |
---|