#include <bits/stdc++.h>
using namespace std;
#define endl "\n"
#define ll long long
#define ld long double
const ll MOD=998244353;
const ll LMAX=1e18;
const ll MAX=3e6+6;
const ll MAX1=5e6+6;

vector<ll> mp(MAX,0);
int main() {
    ios_base::sync_with_stdio();
    cin.tie();
    cout.tie();
    ll t=1;
    //cin>>t;
    while(t--)
    {
        ll n,four=-1;
        cin>>n;
        vector<ll> v(n);
        vector<ll> ans;
        for(ll i=0;i<n;i++)
        {
            cin>>v[i];
            mp[v[i]]++;
        }
        for(ll i=0;i<MAX;i++)
        {
            if(mp[i]==4)
            {
                four=i;
                break;
            }
        }
        if(four!=-1)
        {
            for(ll i=0;i<n;i++)
            {
                if(v[i]==four)
                {
                    ans.push_back(i);
                }
                if(ans.size()==4)
                {
                    break;
                }
            }
        }
        else
        {
            ll j=0;
            ll two[2];
            for(ll i=0;i<MAX;i++)
            {
                if(mp[i]>=2)
                {
                    two[j]=i;
                    j++;
                }
                if(j==2)
                {
                    break;
                }
            }
            if(j==2)
            {
                for(ll i=0;i<n;i++)
                {
                    if(v[i]==two[0])
                    {
                        ans.push_back(i);
                    }
                    if(ans.size()==2)
                    {
                        break;
                    }
                }
                for(ll i=0;i<n;i++)
                {
                    if(v[i]==two[1])
                    {
                        ans.push_back(i);
                    }
                    if(ans.size()==4)
                    {
                        break;
                    }
                }
                swap(ans[0],ans[2]);
            }
        }
        unordered_map<ll,pair<ll,ll>> mp1;

        if(ans.size()==0)
        {
            for(ll i=0;i<n;i++)
            {
                bool check=false;
                for(ll j=0;j<i;j++)
                {
                    ll sum=v[i]+v[j];
                    if( mp1.find(sum)!=mp1.end() && mp1[sum].first!=i && mp1[sum].first!=j && mp1[sum].second!=i && mp1[sum].second!=j)
                    {
                        ans.push_back(mp1[sum].first);
                        ans.push_back(mp1[sum].second);
                        ans.push_back(i);
                        ans.push_back(j);
                        check=true;
                        break;
                    } 
                    mp1[sum].first=i;
                    mp1[sum].second=j;
                }
                if(check==true)
                {
                    break;
                }
            }
        }
        if(ans.size()==0)
        {
            cout<<"NO\n";
        }
        else
        {
            cout<<"YES\n";
            cout<<ans[0]+1<<" "<<ans[1]+1<<" "<<ans[2]+1<<" "<<ans[3]+1<<endl;
        }
    }
    return 0;
}
