#include <bits/stdc++.h>
template <class TN>
inline void kread(TN &x) {
  x = 0;
  char c;
  bool flag = false;
  while (!isdigit(c = getchar()))
    if (c == '-') flag = true;
  do {
    x = x * 10 + c - 48;
  } while (isdigit(c = getchar()));
  if (flag) x = -x;
}
template <class TN, class... ARGS>
inline void kread(TN &first, ARGS &...args) {
  kread(first);
  kread(args...);
}
using namespace std;
int n, k, m;
int arr[666666];
int kkke[666666];
int main() {
  kread(n, k, m);
  for (int i = 0; i < n; i++) {
    kread(arr[i]);
    kkke[arr[i] % m]++;
  }
  int ans = -1;
  for (int i = 0; i < m; i++) {
    if (kkke[i] >= k) {
      ans = i;
      break;
    }
  }
  if (ans == -1)
    puts("No");
  else {
    puts("Yes");
    for (int i = 0, j = 0; j < k; i++) {
      if (arr[i] % m == ans) {
        printf("%d ", arr[i]);
        j++;
      }
    }
  }
  return 0;
}
