#include <bits/stdc++.h>
using namespace std;

int main() {
  int n;
  cin >> n;

  int cn = min(n, 8);
  vector<long long> a(cn);

  for (int i = 0; i < cn; i++) {
    cin >> a.at(i);
  }

  int tmp_1 = 0, tmp_2;
  vector<int> r(200, 0);
  for (int tmp = 1; tmp < (1 << cn); tmp++) {
    long long sum = 0;
    for (int i = 0; i < cn; i++) {
      if (tmp & (1 << i)) {
        sum = (sum + a.at(i)) % 200;
      }
    }
    if (r.at(sum) != 0) {
      tmp_1 = tmp;
      tmp_2 = r.at(sum);
      break;
    }
    r.at(sum) = tmp;
  }

  if (tmp_1 == 0) {
    cout << "No" << endl;
    return 0;
  }

  vector<int> b(0);
  vector<int> c(0);
  for (int i = 0; i < cn; i++) {
    if (tmp_1 & (1 << i)) b.push_back(i + 1);
    if (tmp_2 & (1 << i)) c.push_back(i + 1);
  }
  
  cout << "Yes" << endl;

  cout << b.size();
  for (int i = 0; i < (int)b.size(); i++) {
    cout << " " << b.at(i);
  }
  cout << endl;

  cout << c.size();
  for (int i = 0; i < c.size(); i++) {
    cout << " " << c.at(i);
  }
  cout << endl;

  return 0;
}
#include <bits/stdc++.h>

#define rep(i,n) for(int i=0;i<(n);i++)

using namespace std;

vector<string> dfs(int n){
	if(n==1) return {"AB"};

	vector<string> res;
	for(string s:dfs(n-1)){
		string t1,t2;
		for(char c:s){
			if(c=='A') t1+="AA", t2+="AB";
			else       t1+="BB", t2+="BA";
		}
		res.emplace_back(t1);
		res.emplace_back(t2);
	}

	string s;
	rep(i,1<<n-1) s+="AB";
	res.emplace_back(s);

	return res;
}

int main(){
	int n; cin>>n;

	auto ans=dfs(n);
	cout<<ans.size()<<'\n';
	for(string s:ans) cout<<s<<'\n';

	return 0;
}
