#include <bits/stdc++.h>
int n, P, m, a[50005], b[32], p[32], u[32];
void dfs(int i, int j, int x, int y) {
  if (!x && !y && j) {
    printf("Yes\n%d\n", j);
    for (int k = 0; k < j; k++) printf("%d ", u[k]);
    exit(0);
  }
  if (i > m) return;
  u[j] = p[i];
  dfs(i + 1, j + 1, x ^ b[i],
      b[i] < 10 ? (y * 10 + b[i]) % P : (y * 100 + b[i]) % P);
  dfs(i + 1, j, x, y);
}
int main() {
  scanf("%d%d", &n, &P);
  for (int i = 1; i <= n; i++) {
    scanf("%d", &a[i]);
    if (a[i] < 25) b[++m] = a[i], p[m] = i;
  }
  dfs(1, 0, 0, 0);
  puts("No");
  return 0;
}
