#include<iostream>
#include<cstring>
#include<cstdio>
#define maxn 205
using namespace std;
int n,a[maxn],c[maxn][maxn],bj[maxn],tot;
void dfs(int x,int sum,int ct,int last,int num)
{
	if(sum==num)
	{
		++tot;
		cout<<endl<<ct<<" ";
		for(int i=1;i<=last;i++)if(bj[i])printf("%d ",i);
		return ;
	}
	if(x==last+1)return ;
	dfs(x+1,sum,ct,last,num);
	if(tot==2)return ;
	bj[x]=1;
	dfs(x+1,(sum+a[x])%200,ct+1,last,num);
	bj[x]=0;
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&a[i]);
		a[i]%=200;
	}
	c[0][0]=1;
	for(int i=1;i<=n;i++)
	{
		for(int j=0;j<=199;j++)c[i][j]=c[i-1][j];
		for(int j=0;j<=199;j++)
		{
			c[i][j]+=c[i-1][(j-a[i]+400)%200];
			if((c[i][j]>=2&&j!=0)||(c[i][j]>=3&&j==0))
			{
				cout<<"YES";
				dfs(1,0,0,i,j);
				return 0;
			}
		}
	}
	cout<<"NO";
	return 0;
}

#include "bits/stdc++.h"
using namespace std;
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    long long a = 0, b = 0, c = 0, d = 0, e = 0, f = 0, m = 0, n = 0, p = 0, q = 0, mod = 1000000007, pi = 3.1415926535;
    string s1, s2;
    char moji;

    cin >> a;
    vector<long long> v(a);
    vector<vector<long long>> dou(200);
    for(int i=0;i<a;i++)
    {
        cin >> b;
        b%=200;
        v.at(i)=b;
    }
    for(int i=1;i<pow(2,min(8LL,a));i++)
    {
      m=0;
        vector<int> bit(8,false);
        for(int j=0;j<8;j++)
        {
            long long div=pow(2,j);
            bit.at(j)=(i/div)%2;
            if(bit.at(j))
            {
                m+=v.at(j);
            }
        }
        m%=200;
        if(dou.at(m).size())
        {
            cout << "YES" << endl;
            cout << dou.at(m).size() << ' ';
            for(auto x:dou.at(m))
            cout << x+1 << ' ';
            cout << endl;
            cout << count(bit.begin(),bit.end(),true) << ' ';
            for(int j=0;j<8;j++)
            {
                if(bit.at(j))
                {
                    cout << j+1 << ' ';
                }
            }
            cout << endl;
            return 0;
        }
        else
        {
            for(int j=0;j<8;j++)
            {
                if(bit.at(j))
                {
                    dou.at(m).push_back(j);
                }
            }
        }
    }
    cout << "NO" << endl;
    return 0;
}