#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
int n, k, x, tt = 0;
int a[N], b[N];
int main() {
  scanf("%d %d %d", &n, &k, &x);
  for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
  for (int i = 1; i <= k; i++) {
    sort(a + 1, a + n + 1);
    int maxi = a[n];
    int mini = a[1];
    if ((i >= 3) && (maxi == a[n - 1]) && (mini == a[2]) &&
        (maxi == a[n - 2]) && (mini == a[3]) && (maxi == a[n - 3]) &&
        (mini == a[4]))
      break;
    for (int j = 1; j <= n; j += 2) a[j] ^= x;
  }
  int maxi = 0;
  int mini = 1e6;
  for (int i = 1; i <= n; i++) {
    maxi = max(maxi, a[i]);
    mini = min(mini, a[i]);
  }
  printf("%d %d\n", maxi, mini);
  return 0;
}
