#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;
}