#include <bits/stdc++.h>
using namespace std;
int main(){
unsigned int ip1,ip2,a,b,c,d,mic;
bool p=true;
scanf("%d.%d.%d.%d",&a,&b,&c,&d);
if(a<0||a>255||b<0||b>255||c<0||c>255||d<0||d>255)p=false;
mic=(a<<24)+(b<<16)+(c<<8)+d;
for(int i=31;i>0;i--){
if(((mic>>i)&1)==0&&((mic>>(i-1))&1)==1)p=false;
}
scanf("%d.%d.%d.%d",&a,&b,&c,&d);
if(a<0||a>255||b<0||b>255||c<0||c>255||d<0||d>255)p=false;
ip1=(a<<24)+(b<<16)+(c<<8)+d;
scanf("%d.%d.%d.%d",&a,&b,&c,&d);
if(a<0||a>255||b<0||b>255||c<0||c>255||d<0||d>255)p=false;
ip2=(a<<24)+(b<<16)+(c<<8)+d;
if(p==false){cout<<1;return 0;}
if((mic&ip1)==(mic&ip2))cout<<0;
else cout<<2;
return 0;
}