#include<bits/stdc++.h>
using namespace std;
int TEST=0,CASE=1;
#define         pf              printf
#define         si(x)           scanf("%d",&x)
#define         sl(x)           scanf("%lld",&x)
#define         sd(x)           scanf("%lf",&x)
#define         pb(x)           push_back(x)
#define         mp(x,y)         make_pair(x,y)
#define         clr(x,y)        memset(x,y,sizeof(x))
#define         all(x)          x.begin(),x.end()
#define         MX              401000
#define         left            (indx<<1)
#define         right           left+1
#define         mid             ((l+r)>>1)
#define         speed           (ios::sync_with_stdio(false),cin.tie(0))
#define         fpoint(x)       (cout.precision(x),cout<<fixed)
#define         FOR(i,a,n)      for(int i=(a);i<=n;i++)
long long int         mod  =    1000000007LL;
const long double     pi   =    2.0*acos(0.0);
typedef long long int ll;
typedef long double ld;
struct vpair{
        int a,b;
        vpair(int a,int b){this->a=a,this->b=b;}
};
bool cmp(int &a,int &b){
        return a<b;                ///ascending order
///        return a>b;                ///descending order
}
ll n,m,a,b,c,d,k,x,y,z,ans=0,total=0;
string s;
int main(void){
        cin>>a>>b>>c;
        for(int i=0;i<=50000000;++i){
                if(a%2==1 || b%2==1 || c%2==1){
                        cout<<i<<endl;
                        exit(0);
                }else{
                        x=(b+c)>>1,y=(a+c)>>1,z=(a+b)>>1;
                        a=x,b=y,c=z;
                }
        }
        cout<<-1<<endl;
        return 0;
}


/**
G:\Work Station\OnlineJudge\VirtualContest\B.cpp
**/