#include <bits/stdc++.h>
using namespace std;
long long n, p, x, f, r[500009], qwq[500009];
vector<long long> v;
void dfs(long long pos, long long sn, long long cx, long long sum) {
  if (f) return;
  if (!cx && !sum) {
    cout << "Yes" << endl << sn << endl, f = 1;
    for (long long i = 0; i < sn; i += 1) cout << qwq[r[i]] + 1 << ' ';
  }
  if (pos == v.size() - 1) return;
  r[sn] = pos + 1,
  dfs(pos + 1, sn + 1, cx ^ v[pos + 1],
      (sum * (v[pos + 1] < 10 ? 10 : 100) + v[pos + 1]) % p),
  r[sn] = 0;
  dfs(pos + 1, sn, cx, sum);
}
int main() {
  cin >> n >> p;
  for (long long i = 0; i < n; i += 1) {
    cin >> x;
    if (x < 25) qwq[v.size()] = i, v.push_back(x);
  }
  for (long long i = 0; i < v.size(); i += 1)
    r[0] = i, dfs(i, 1, v[i], v[i] % p), r[0] = 0;
  if (!f) cout << "No";
  return 0;
}
