#include <bits/stdc++.h>
using namespace std;
int S, N, P, a[50005], p[32], pp[32], q[32];
bool f[32][32][50005];
void init() {
  scanf("%d%d", &N, &P);
  for (int i = 1; i <= N; i++) scanf("%d", &a[i]);
}
void doit() {
  for (int i = 1; i <= N; i++)
    if (a[i] < 32) {
      p[++S] = a[i], pp[a[i]] = i, f[S][a[i]][a[i] % P] = 1;
      for (int j = 0; j < 32; j++)
        for (int k = 0; k < P; k++)
          if (f[S - 1][j][k])
            f[S][j][k] =
                f[S][j ^ a[i]][(k * (a[i] > 9 ? 100 : 10) + a[i]) % P] = 1;
    }
  if (!f[S][0][0]) {
    puts("No");
    return;
  }
  puts("Yes");
  int x = 0, y = 0;
  for (int i = S; i; i--)
    for (int j = 0; j < P; j++)
      if ((j * (p[i] > 9 ? 100 : 10) + p[i]) % P == y &&
          f[i - 1][x ^ p[i]][j]) {
        q[++q[0]] = pp[p[i]], x ^= p[i], y = j;
        break;
      }
  q[++q[0]] = pp[x], printf("%d\n", q[0]);
  for (int i = 1; i <= q[0]; i++) printf("%d%c", q[i], i == q[0] ? '\n' : ' ');
}
int main() {
  init();
  doit();
  return 0;
}
