Even Odd Query
Difficulty: Hard

You are given an array *A* of size *N*. You are also given an integer *Q*. Can you figure out the answer to each of the *Q* queries?

Each query contains 2 integers x and y, and you need to find whether the value find(x,y) is Odd or Even:

    find(int x,int y)
	{
        if(x>y)	return 1;
        ans = pow(A[x],find(x+1,y))
        return ans
    }
    
Note : pow(a,b) = *a<sup>b</sup>*.

**Input Format**  
The first line of the input contains an integer *N*. 
The next line contains *N* space separated non-negative integers(whole numbers less than or equal to 9).  
The line after that contains a positive integer, *Q* , the denotes the number of queries to follow.
*Q* lines follow, each line contains two positive integer *x* and *y* separated by a single space.   

**Output Format**  
For each query, display 'Even' if the value returned is Even, otherwise display 'Odd'.

**Constraints**  
2 &le; *N* &le; 10<sup>5</sup>  
2 &le; *Q* &le; 10<sup>5</sup>  
1 &le; *x,y* &le; *N*  
*x* &le; *y*

Array is 1-indexed.  

*No 2 consecutive entries in the array will be zero.*

**Sample Input** 

    3
    3 2 7
    2
    1 2
    2 3

**Sample Output** 

    Odd
    Even

**Explanation**

find(1,2) = 9, which is Odd  
find(2,3) = 128, which is even  

Input Format:

Output Format:

Sample Input:

Sample Output:

Python 3 starter code:
#
# Complete the 'solve' function below.
#
# The function is expected to return a STRING_ARRAY.
# The function accepts following parameters:
#  1. INTEGER_ARRAY arr
#  2. 2D_INTEGER_ARRAY queries
#

def solve(arr, queries):
    # Write your code here




Reference solution (C++):
###C++  
```cpp  
#include <bits/stdc++.h>
using namespace std;
int A[100008], N;
int find(int x, int y){
    if(A[x]%2) return 1;
    if(x == y) return 0;
    if(A[x+1] == 0) return 1;
    return 0;
}
int main(){
    int x,y,Q;
    cin >> N;
    for(int i = 1; i <= N; i++) cin >> A[i];
    cin >> Q;
    while(Q--){
        cin >> x >> y;
        if(find(x,y)) cout << "Odd" << endl;
        else cout << "Even" << endl;
    }
    return 0;
}
```