#include <bits/stdc++.h>
using namespace std;
int n, p, b[50005], a[32], c[32];
int dp[32][32][50000];
int main() {
  scanf("%d%d", &n, &p);
  for (int i = 1; i <= n; i++) scanf("%d", &b[i]);
  for (int i = 1; i <= n; i++)
    if (b[i] < 32) a[++a[0]] = b[i], c[a[0]] = i;
  n = a[0];
  for (int i = 1; i <= n; i++) dp[i][a[i]][a[i] % p] = 1 << i - 1;
  for (int i = 2; i <= n; i++)
    for (int j = 0; j < 32; j++)
      for (int k = 0; k < p; k++)
        if (dp[i - 1][j][k]) {
          int j1 = j ^ a[i], k1 = (a[i] >= 10) ? ((k * 100 + a[i]) % p)
                                               : ((k * 10 + a[i]) % p);
          dp[i][j1][k1] = dp[i - 1][j][k] | (1 << i - 1);
          dp[i][j][k] = dp[i - 1][j][k];
        }
  if (dp[n][0][0]) {
    puts("Yes");
    int d = 0;
    for (int i = 1; i <= n; i++)
      if (dp[n][0][0] & (1 << i - 1)) d++;
    printf("%d\n", d);
    for (int i = 1; i <= n; i++)
      if (dp[n][0][0] & (1 << i - 1)) printf("%d ", c[i]);
  } else
    puts("No");
  return 0;
}
