#include <bits/stdc++.h>
using namespace std;
const int oo = 0x3f3f3f3f;
template <typename T>
bool chkmin(T &a, T b) {
  return b < a ? a = b, true : false;
}
template <typename T>
bool chkmax(T &a, T b) {
  return b > a ? a = b, true : false;
}
template <class T>
void read(T &first) {
  char c;
  int flag = 1;
  while ((c = getchar()) < '0' || c > '9')
    if (c == '-') flag = -1;
  first = c - '0';
  while ((c = getchar()) >= '0' && c <= '9') first = first * 10 + c - '0';
  first *= flag;
}
template <class T>
void write(T first) {
  if (first < 0) putchar('-'), first = -first;
  static char s[20];
  int top = 0;
  while (first) s[++top] = first % 10 + '0', first /= 10;
  if (top == 0) putchar('0');
  while (top) putchar(s[top--]);
}
const int MAXN = 1e6 + 100;
const int mod = 1e9 + 7;
long long pwr(long long first, long long k, long long p) {
  long long ret = 1;
  for (; k; k >>= 1, first = first * first % p)
    if (k & 1) ret = ret * first % p;
  return ret;
}
int id = 0;
int mex[MAXN];
int N, M;
int sg(int n) {
  if (!M) {
    if (n == 1) return 1;
    if (n == 2) return 2;
    return n & 1 ? 0 : 1;
  }
  if (n == 1 || n == 3) return 1;
  if (n == 2) return 0;
  if (n == 4) return 2;
  if (n & 1) return 0;
  return (sg(n >> 1) == 1) ? 2 : 1;
}
int main() {
  read(N), read(M);
  M = M & 1;
  int SG = 0;
  for (int i = 1, first; i <= N; ++i) read(first), SG ^= sg(first);
  puts(SG != 0 ? "Kevin" : "Nicky");
  return 0;
}
