#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<string>
#include<string.h>
#include<cmath>
#include<vector>

#define rep(i,a,b) for(ll i=a;i<=b;++i)
#define per(i,a,b) for(ll i=a;i>=b;--i)
#define fi first
#define se second
#define mp make_pair
#define all(x) x.begin(),x.end()
#define debug(x) cout<<# x <<" is "<<x<<endl;

using namespace std;
typedef long long ll;
typedef pair<ll,ll> PII;
const ll maxn=2e2+10,inf=0x3f3f3f3f3f3f3f3f,mod=1e9+7;

vector<int> ans[maxn];
bool vis[maxn];
int a[maxn];
int main()
{
	int N;cin>>N;
	rep(i,1,N) {cin>>a[i];	a[i]%=200;}

	//sort(a+1,a+1+N);
	vis[0]=1;
	vector<int> flag1,flag2;	
	rep(i,1,N){
		vector<int> t;
		rep(j,0,199){
			if(vis[j]){
				int tar=(j+a[i])%200;
				if((tar!=0&&vis[tar])||(tar==0&&!ans[0].empty())){
					flag1=ans[tar];
					flag2=ans[j];
					flag2.push_back(i);
					break;
				}
				else{
					ans[tar]=ans[j];
					ans[tar].push_back(i);
					t.push_back(tar);
				}
			}
		}
		if(!t.empty()) rep(i,0,t.size()-1)	vis[t[i]]=true;
	}

	if(flag1.empty()) cout<<"No"<<endl;
	else {
		cout<<"Yes\n";
		cout<<flag1.size()<<' ';
		rep(i,0,flag1.size()-1)
			cout<<flag1[i]<<' ';
		putchar('\n');

		cout<<flag2.size()<<' ';
		rep(i,0,flag2.size()-1)
			cout<<flag2[i]<<' ';
		putchar('\n');
	}


	return 0;
}
#include <bits/stdc++.h>
using namespace std;
using ll = int64_t;








int main(){
    ll n,a;
    cin>>n;
    vector<ll> A(n),bit200(200,0);
    vector<set<ll>> bit200s(200);




    for(ll i=0;i<n;i++) {
        cin>>a;
        A.at(i)=(a%200);
    }



    ll N8=n>8?8:n;
    set<ll> s1,s2;
    bool boo=false;

    for(ll i=1;i<(1<<N8);i++){
        set<ll> s;
        ll sum=0;
        for(ll j=0;j<N8;j++) if((1<<j)&i) {
            //cout<<j<<endl;
            sum+=A.at(j);
            //cout<<j<<endl;
            s.insert(j);
        }
        if(bit200.at(sum%200)==1){
            s1=s;
            s2=bit200s.at(sum%200);
            boo=true;
            break;

        }
        else {
            bit200.at(sum%200)=1;
            bit200s.at(sum%200)=s;
        }

    }

    if(!boo){
        cout<<"No"<<endl;
    }


    else{
        cout<<"Yes"<<endl;
        
        cout<<s1.size();

        for(auto si:s1){
            cout<<" "<<si+1;

        }

        cout<<endl;

        cout<<s2.size();

        for(auto si:s2){
            cout<<" "<<si+1;
        }
        cout<<endl;
    }
}