#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
using namespace std;
template <typename T1, typename T2>
ostream& operator<<(ostream& os, const pair<T1, T2> p) {
  os << '{' << p.first << ", " << p.second << '}';
  return os;
}
template <typename T>
inline void showArray(T* it1, T* it2) {
  cout << "{ ";
  while (it1 != it2) {
    cout << *it1++ << ' ';
  }
  cout << " }" << endl;
}
inline int readInt() {
  int n;
  char c = getchar(), k = '+';
  if (c == '-') {
    k = '-';
  } else {
    n = c - '0';
  }
  c = getchar();
  while (c != ' ' && c != '\n') {
    n = n * 10 + c - '0';
    c = getchar();
  }
  if (k == '-') {
    n = -n;
  }
  return n;
}
inline void printInt(int n) {
  if (n < 0) {
    putchar('-');
    n = -n;
  }
  char st[10], *p;
  p = st + 10;
  while (n) {
    *(--p) = (n % 10) + '0';
    n /= 10;
  }
  if (p == st + 10) {
    *(--p) = '0';
  }
  while (p != st + 10) {
    putchar(*p++);
  }
}
const bool debug = false;
const int MAXN = 3e5 + 2, INF = 1e9, p = 998244353, g = 3;
const double pi = acos(-1), eps = 1e-9;
int b, n, a[MAXN];
int main() {
  scanf("%d %d", &b, &n);
  int ans = 0;
  b %= 2;
  for (int i = 0; i < n - 1; ++i) {
    scanf("%d", &a[i]);
    ans += (a[i] % 2) * b;
    ans %= 2;
  }
  scanf("%d", &a[n - 1]);
  ans += (a[n - 1] % 2);
  ans %= 2;
  if (ans) {
    printf("odd\n");
  } else {
    printf("even\n");
  }
  return 0;
}

### Prompt

Please create a solution in Cpp to the following problem:

You are given an integer n (n ≥ 0) represented with k digits in base (radix) b. So,

$$$n = a_1 ⋅ b^{k-1} + a_2 ⋅ b^{k-2} + … a_{k-1} ⋅ b + a_k.$$$

For example, if b=17, k=3 and a=[11, 15, 7] then n=11⋅17^2+15⋅17+7=3179+255+7=3441.

Determine whether n is even or odd.

Input

The first line contains two integers b and k (2≤ b≤ 100, 1≤ k≤ 10^5) — the base of the number and the number of digits.

The second line contains k integers a_1, a_2, …, a_k (0≤ a_i < b) — the digits of n.

The representation of n contains no unnecessary leading zero. That is, a_1 can be equal to 0 only if k = 1.

Output

Print "even" if n is even, otherwise print "odd".

You can print each letter in any case (upper or lower).

Examples

Input

13 3
3 2 7


Output

even


Input

10 9
1 2 3 4 5 6 7 8 9


Output

odd


Input

99 5
32 92 85 74 4


Output

odd


Input

2 2
1 0


Output

even

Note

In the first example, n = 3 ⋅ 13^2 + 2 ⋅ 13 + 7 = 540, which is even.

In the second example, n = 123456789 is odd.

In the third example, n = 32 ⋅ 99^4 + 92 ⋅ 99^3 + 85 ⋅ 99^2 + 74 ⋅ 99 + 4 = 3164015155 is odd.

In the fourth example n = 2.

### Response

```cpp
#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
using namespace std;
template <typename T1, typename T2>
ostream& operator<<(ostream& os, const pair<T1, T2> p) {
  os << '{' << p.first << ", " << p.second << '}';
  return os;
}
template <typename T>
inline void showArray(T* it1, T* it2) {
  cout << "{ ";
  while (it1 != it2) {
    cout << *it1++ << ' ';
  }
  cout << " }" << endl;
}
inline int readInt() {
  int n;
  char c = getchar(), k = '+';
  if (c == '-') {
    k = '-';
  } else {
    n = c - '0';
  }
  c = getchar();
  while (c != ' ' && c != '\n') {
    n = n * 10 + c - '0';
    c = getchar();
  }
  if (k == '-') {
    n = -n;
  }
  return n;
}
inline void printInt(int n) {
  if (n < 0) {
    putchar('-');
    n = -n;
  }
  char st[10], *p;
  p = st + 10;
  while (n) {
    *(--p) = (n % 10) + '0';
    n /= 10;
  }
  if (p == st + 10) {
    *(--p) = '0';
  }
  while (p != st + 10) {
    putchar(*p++);
  }
}
const bool debug = false;
const int MAXN = 3e5 + 2, INF = 1e9, p = 998244353, g = 3;
const double pi = acos(-1), eps = 1e-9;
int b, n, a[MAXN];
int main() {
  scanf("%d %d", &b, &n);
  int ans = 0;
  b %= 2;
  for (int i = 0; i < n - 1; ++i) {
    scanf("%d", &a[i]);
    ans += (a[i] % 2) * b;
    ans %= 2;
  }
  scanf("%d", &a[n - 1]);
  ans += (a[n - 1] % 2);
  ans %= 2;
  if (ans) {
    printf("odd\n");
  } else {
    printf("even\n");
  }
  return 0;
}

```