#include<bits/stdc++.h>;
#define pa pair<long long,long long>
#define fi first
#define ll long long
#define se second
using namespace std;
const long long M=1000000007;
int x;
vector<int> v;
set<vector<int>> sx;
long long kt(vector<int> v)
{
    for(auto i:v) if(i!=0) return 0;
    return 1;
}
long long tinh()
{
    deque<pair<vector<int>,int>> dx;
    dx.push_back({v,0});
    sx.insert(v);
    while(dx.empty()!=1)
    {
        vector<int> v1=dx.front().first;
        int so=dx.front().second;
        dx.pop_front();
        vector<int> v2=v1;
        for(long long i=0;i<=v1.size()-4;++i)
        {
            v2[i]=abs(v1[i]-v1[i+1]);
            v2[i+1]=abs(v1[i+1]-v1[i+2]);
            v2[i+2]=abs(v1[i+2]-v1[i+3]);
            v2[i+3]=abs(v1[i+3]-v1[i]);
            if(kt(v2)==1) return so+1;
            if(sx.count(v2)==false)
            {
                sx.insert(v2);
                dx.push_back({v2,so+1});
            }
            v2[i]=v1[i];
            v2[i+1]=v1[i+1];
            v2[i+2]=v1[i+2];
            v2[i+3]=v1[i+3];
        }
    }
    return 0;
}
int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    //freopen("BAI05.inp","r",stdin);
   // freopen("BAI05.out","w",stdout);
   while(cin >>x)
        v.push_back(x);

    cout <<tinh();
}
