import java.io.*;import java.util.*;public class IP {  public static void main(String[] args) {    try {      BufferedReader br =        new BufferedReader(new InputStreamReader(System.in));      String str = null;      int[] ia = new int[4];      System.out.print("学生証番号(3数字) IPアドレス(8bit.8bit) -> ");      while ((str = br.readLine()) != null) {	StringTokenizer st = new StringTokenizer(str);	String num = st.nextToken(); // .substring(3);        System.out.println("5" + num + "番目  -> " + toRoom(Integer.parseInt("5" + num)));        num = num.replace('4', '8').replace('9', '6');        System.out.println("10" + num + "号室 -> " + toNumber(num));	ia[0] = 192;  ia[1] = 168;        ia[2] = Integer.parseInt(st.nextToken(".").trim());        ia[3] = Integer.parseInt(st.nextToken(".").trim());       	System.out.print("端末IP: ");        System.out.println(ia[0] + "." + ia[1] + "." + ia[2] + "." + ia[3]);        for (int i = 0; i < 4; i++) {          System.out.print(Integer.toHexString(ia[i]) + " ");	}	System.out.println();        for (int i = 0; i < 4; i++) {          System.out.print(Integer.toBinaryString(ia[i]) + " ");	}	System.out.println();        ia[3] += 1;	System.out.print("(1+) IP: ");        System.out.println(ia[0] + "." + ia[1] + "." + ia[2] + "." + ia[3]);        for (int i = 0; i < 4; i++) {          System.out.print(Integer.toHexString(ia[i]) + " ");	}	System.out.println();        for (int i = 0; i < 4; i++) {          System.out.print(Integer.toBinaryString(ia[i]) + " ");	}	System.out.println();        ia[0] = 255 - ia[0];        ia[1] = 255 - ia[1];        ia[2] = 255 - ia[2];        ia[3] = 256 - ia[3];	System.out.print("(255-) IP: ");        System.out.println(ia[0] + "." + ia[1] + "." + ia[2] + "." + ia[3]);        for (int i = 0; i < 4; i++) {          System.out.print(Integer.toHexString(ia[i]) + " ");	}	System.out.println();        for (int i = 0; i < 4; i++) {          System.out.print(Integer.toBinaryString(ia[i]) + " ");	}	System.out.println();	System.out.print("学生証番号 IPアドレス -> ");      }    }    catch (Exception e) {      System.out.println("Error: " + e);      e.printStackTrace();    }  }  public static String toRoom(int num) {    final String[] c = {"0", "1", "2", "3", "5", "6", "7", "8"};    if (num > 0) {      return toRoom(num / 8) + c[num%8];    }    else {      return "";    }  }  public static int toNumber(String num) {    final int[] i = {0, 1, 2, 3, 0, 4, 5, 6, 7, 0};    int sum = ((8 * 8 + (int)(num.charAt(0) - '0')) * 8 +	       (int)(num.charAt(1) - '0')) * 8 + 	       (int)(num.charAt(2) - '0');    return sum;  }}