import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (in.hasNextLine()) { // 注意 while 处理多个 case
            String str = in.nextLine();
            String Ip1 = in.nextLine();
            String Ip2 = in.nextLine();
            boolean ishefa = isIp(Ip1) && isIp(Ip2) && isYanMA(str);
            if (!ishefa) {
                System.out.println(1);
            } else {
                System.out.println(isSupper(str, Ip1, Ip2) ? 0 : 2);
            }
            
        }
    }
    public static boolean isSupper(String str, String ip1, String ip2) {
        String[] strArray = str.split("\\.");
        String[] ip1Array = ip1.split("\\.");
        String[] ip2Array = ip2.split("\\.");
        for (int i = 0; i < 4; i++) {
            int str11 = Integer.parseInt(strArray[i]);
            int ip11 =  Integer.parseInt(ip1Array[i]);
            int ip12 =  Integer.parseInt(ip2Array[i]);
            if ((str11 & ip11) != (str11 & ip12)) return false;
        }
        return true;
    }
    public static boolean isIp(String ip) {
        String[] ipArray = ip.split("\\.");
        for (String tt : ipArray) {
            int temp = Integer.parseInt(tt);
            if (temp < 0 || temp > 255) return false;
        }
        return true;
    }
    public static boolean isYanMA(String str) {
        String[] ipArray = str.split("\\.");
        StringBuffer sb = new StringBuffer();
        for (String tt : ipArray) {
            int temp = Integer.parseInt(tt);
            if (temp < 0 || temp > 255) return false;
            String ll = Integer.toString(temp, 2);
            if (ll.length() != 8) {
                for (int i = 0; i < 8 -ll.length(); i++) {
                    sb.append('0');
                }
            }
            sb.append(ll);
        }
        String result = sb.toString();
        int index0 = result.indexOf('0');
        if (index0 == -1) return true;
        for (int i = 0; i < index0; i++) {
            if (result.charAt(i) == '0') return false;
        }
        for (int i = index0; i < result.length(); i++) {
            if (result.charAt(i) == '1') return false;
        }
        return true;
    }
}