#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
typedef long long lg;
#define cp copy (N.begin(), N.end(), u);
lg find_m(vector <lg>& N)
{
    lg m=1000000000;
    for (lg i=0; i!=N.size(); i++)
    {
        if (N[i]<m)
            m=N[i];
    }
    return m;
}
lg find_mx(vector <lg>& N)
{
    lg m=-1000000000;
    for (lg i=0; i!=N.size(); i++)
    {
        if (N[i]>m)
            m=N[i];
    }
    return m;
}
bool ost(lg x, lg y)
{
    bool b;
    if (x%y==0)
        b=true;
    else
        b=false;
    return b;
}

int main()
{
    lg n, a, x, y, z, k=0, d, S=0;
    cin>>n;
    bool g=false;
    vector <lg> N;
    vector <lg> X={1};
    for (lg i=0; i!=n; i++)
    {
        cin>>a;
        S+=a;
        if (a==1)
            k++;
        if (a>1)
            g=true;
        N.push_back(a);
    }
    d=S/3;
    if (g & n!=3)
    {
        X.clear();
        for (lg I=0; I!=n; I++)
        {
            lg s=0;
            x=I;
            for (lg i=I; s<=d; i++)
            {
                i=i%n;
                s+=N[i];
                if (s==d)
                {
                    X.push_back(x+1);
                    x=i+1;
                    s=0;
                }
                if (X.size()==3)
                {
                    cout<<0<<endl;
                    for (lg i:X)
                    {
                        cout<<i<<" ";
                    }
                    return 0;
                }
                if (s>d)
                {
                    X.clear();
                    if (s-N[I]==d)
                    {
                        X.push_back(I+2);
                        I=i+1;
                    }
                }

            }
        }
    }
    if (n==3)
    {
        sort (N.begin(), N.end());
        cout<<N[2]-N[0]<<endl;
        cout<<1<<" "<<2<<" "<<3;
        return 0;
    }
    if (ost(k, 3))
    {
        cout<<0<<endl;
    }
    else
    {
        cout<<1<<endl;
    }
    k++;
    d=k/3;
    for (lg i=0, s=0; X.size()!=3; i++)
    {
        if (N[i]==1)
        {
            s++;
        }
        if (s==d)
        {
            s=0;
            X.push_back(i+2);
        }
    }
    for (lg i:X)
    {
        cout<<i<<" ";
    }
}
