import java.io.*;

public class Bomb {
    public static final int START = 124;
    public static final int CODE_LENGTH = 6;
    
    public static void defuse(String code) throws Exception {
        if (code.length() != CODE_LENGTH) {
            throw new Bomb.Explosion();
        }

        String curr = Integer.toHexString(CODE_LENGTH);
        for (int i = 1; i < CODE_LENGTH; i++) {
            curr = scramble(curr);
            if (curr.charAt(1) != code.charAt(i)) {
                throw new Bomb.Explosion();
            }
        }
    }

    private static String scramble(String secret) {
        return Integer.toHexString(Integer.parseInt(secret, 16) * 0xA9 / 0b010011);
    }

    public static void main(String[] args) throws Exception {
        System.out.println();
        System.out.println("Bomb armed and ready for defusal.");
        System.setOut(new PrintStream(new OutputStream() { public void write(int b) {} }));
        
        // defuse("21d74");    // TODO: Find the code, hurry!
        defuse("000000");
        System.setOut(SYSTEM_OUT);
        System.out.println("Bomb defused! You saved the day!");
        System.out.println();
    }

    public static final PrintStream SYSTEM_OUT = System.out;
    private static class Explosion extends RuntimeException {
        public Explosion() { super("BOOM"); }
    }
}
