我获得了11个密文,我可以使用它来获取密钥,我需要实现第11个密文的纯文本。我首先用1-10个密文和第11个密文进行xor,然后xor每个结果用关键词我试图找到哪个并得到一个我认为不正确的结果。任何建议真的很感激!
我正在使用的代码如下所示:
import java.io.UnsupportedEncodingException;
import java.math.BigInteger;
import java.util.Arrays;
class Decryption {
static String value = "SampleStringToBeEncrypted";
private static Decryption hexStringConverter = null;
private static final int VALUES_RADIX = 16;
private static String FIRST_VALUE = "1B 11 4D 11 0C 09 00 01 00 15 4F 47 1E 0A 0E 1F 00 11 15 41 0D 54 4F 12 48 07 52 12 02 04 00 0A 00 15 01 44 53 1A 0E 1A 44 44 1A 07 4E 54 0E 54 4F 0C 1D 55 17 4E 03 08 0C 11 53 41 0C 11 54 4E 0F 03 16 06 00 06 1A 56 08 55 16 18 00 03 00 52 18";
private static String SECOND_VALUE = "1D 1C 45 54 11 19 0A 07 4F 02 4F 0B 52 12 00 07 00 0A 04 0C 09 44 4F 07 46 16 17 13 56 2E 17 0B 42 11 1D 4F 00 54 07 1C 0B 4D 55 37 52 11 0A 4B 4F 18 0B 54 0D 01 09 02 0E 1C 53 54 0A 10 54 46 0F 07 1C 17 49 0E 06 53 4D 01 0B 1A 45 11 4F 48 16 15 05 0B 00 00 12 05 41 06 0B 00 0B 1A 15 00 09 14 49 2D 0F 00 16";
private static String THIRD_VALUE = "1D 1C 45 54 25 0A 11 12 00 24 4E 04 00 1C 11 00 49 0B 0B 41 3F 54 0E 08 44 03 00 05 56 0C 01 59 41 54 1C 59 1E 19 04 1A 16 49 16 50 4B 11 16 00 0E 19 15 4F 17 07 11 05 04 45 15 4F 10 55 00 48 0F 55 16 1A 43 13 0A 50 19 1C 0C 06 00 1B 09 00 16 18 04 0D 10 52 1A 1E 49 17 4F 44 0E 01 13";
private static String FOURTH_VALUE = "0C 1A 43 06 18 1B 11 1A 4F 0F 00 0E 01 45 15 1C 45 44 15 13 03 43 0A 15 53 42 1D 07 56 00 1C 1A 4F 10 06 4E 14 54 00 4E 09 45 06 03 41 13 0A 00 06 1B 52 53 10 0D 0D 4D 08 45 04 41 1B 55 15 53 4A 01 1C 54 48 08 17 45 4D 1C 17 1B 00 17 00 4E 07 11 0F 1A 17";
private static String FIFTH_VALUE = "1D 1C 45 06 04 4B 04 01 45 41 54 10 1D 45 15 0D 50 01 16 41 03 46 4F 03 4E 01 00 18 06 11 1B 16 4E 54 0E 4C 14 1B 13 07 10 48 18 50 53 0D 02 4D 0A 01 00 49 06 4E 00 03 0A 17 0A 50 16 1C 1B 4E 4A 14 1D 10 00 00 00 59 00 18 06 1C 52 1D 0C 00 16 1A 02 1C 1D 50 01 19 4F 1A";
private static String SIXTH_VALUE = "1D 1C 45 54 37 02 02 16 4E 04 52 02 52 06 08 04 48 01 17 41 05 53 4F 07 00 0F 17 15 1E 0A 16 59 4F 12 4F 45 1D 17 13 17 14 54 1C 1E 47 54 0E 4C 1F 1D 13 42 00 1A 0C 0E 49 11 16 58 16 55 16 59 4A 00 00 1D 4E 06 53 41 4D 06 06 1A 49 11 1C 00 1C 12 41 0A 0D 46 13 15 52 11 01 54 4F 36 13 45 15 13 1B 45 0D 0D 03";
private static String SEVENTH_VALUE = "1A 00 52 1B 0F 0C 45 17 49 06 49 13 13 09 41 07 49 03 0B 00 18 55 1D 03 53 42 13 13 13 45 13 17 00 11 1C 53 16 1A 15 07 05 4C 55 02 45 05 1A 49 1D 10 1F 45 0B 1A 45 0B 06 17 53 53 07 16 01 52 0F 55 00 0D 53 15 16 4D 1E";
private static String EIGHTH_VALUE = "0C 02 45 1A 41 1F 0D 16 00 12 4D 06 1E 09 04 07 54 44 15 04 1E 53 00 08 00 01 13 0F 56 06 1A 18 4E 13 0A 00 07 1C 04 4E 07 4F 00 02 53 11 4F 4F 09 55 06 48 00 4E 03 18 1D 10 01 45";
private static String NINETH_VALUE = "1D 1C 45 54 22 0A 00 00 41 13 00 04 1B 15 09 11 52 44 04 0D 1F 4F 4F 0D 4E 0D 05 0F 56 04 01 59 41 54 1C 48 1A 12 15 4E 07 49 05 18 45 06 4F 49 1C 55 1D 4E 00 4E 0A 0B 49 11 1B 45 42 06 1D 4D 1A 19 16 07 54 41 15 4F 1F 18 10 48 4F 12 4F 45 1D 17 13 17 14 54 1C 1F 4E";
private static String TENTH_VALUE = "1B 27 61 54 08 18 45 1E 41 05 45 47 1D 03 41 00 48 01 45 08 02 49 1B 0F 41 0E 52 0D 13 11 06 1C 52 07 4F 4F 15 54 15 06 01 00 06 05 52 1A 0E 4D 0A 06 52 4F 03 4E 37 02 07 45 21 49 14 10 07 54 4A 34 17 1D 00 32 1B 41 00 1C 11 48 41 1A 0B 00 3F 11 0E 00 05 52 11 50 61 10 03 45 02 14 1C";
static String FINAL_VALUE = "0B 18 4F 17 0A 4B 06 1A 50 09 45 15 01 45 15 15 4B 01 45 00 4C 4E 1A 0B 42 07 00 41 19 03 52 1B 49 00 1C 00 12 1A 05 4E 01 4E 16 02 59 04 1B 00 1B 1D 17 4D 45 0F 16 4D 08 45 00 49 0C 12 18 45 4A 00 1D 1D 54 41 12 4E 09 55 13 09 44 10 06 4E 14 54 15 06 01 00 05 1C 41 1D 01 54 0A 0D 06 00 15 1D 49 11 06 05 07";
public static void main(String[] args) {
FIRST_VALUE = FIRST_VALUE.replaceAll("\\s","");
SECOND_VALUE = SECOND_VALUE.replaceAll("\\s","");
THIRD_VALUE = THIRD_VALUE.replaceAll("\\s","");
FOURTH_VALUE = FOURTH_VALUE.replaceAll("\\s","");
FIFTH_VALUE = FIFTH_VALUE.replaceAll("\\s","");
SIXTH_VALUE = SIXTH_VALUE.replaceAll("\\s","");
SEVENTH_VALUE = SEVENTH_VALUE.replaceAll("\\s","");
EIGHTH_VALUE = EIGHTH_VALUE.replaceAll("\\s","");
NINETH_VALUE = NINETH_VALUE.replaceAll("\\s","");
TENTH_VALUE = TENTH_VALUE.replaceAll("\\s","");
FINAL_VALUE = FINAL_VALUE.replaceAll("\\s","");
BigInteger firstValueToXor = new BigInteger(FIRST_VALUE, VALUES_RADIX);
BigInteger secondValueToXor = new BigInteger(SECOND_VALUE, VALUES_RADIX);
BigInteger thirdValueToXor = new BigInteger(THIRD_VALUE, VALUES_RADIX);
BigInteger fourthValueToXor = new BigInteger(FOURTH_VALUE, VALUES_RADIX);
BigInteger fifthValueToXor = new BigInteger(FIFTH_VALUE, VALUES_RADIX);
BigInteger sixthValueToXor = new BigInteger(SIXTH_VALUE, VALUES_RADIX);
BigInteger seventhValueToXor = new BigInteger(SEVENTH_VALUE,VALUES_RADIX);
BigInteger eighthValueToXor = new BigInteger(EIGHTH_VALUE, VALUES_RADIX);
BigInteger ninethValueToXor = new BigInteger(NINETH_VALUE, VALUES_RADIX);
BigInteger tenthValueToXor = new BigInteger(TENTH_VALUE, VALUES_RADIX);
BigInteger FinalValueToXor = new BigInteger(FINAL_VALUE, VALUES_RADIX);
String WordHex = toHex("the");
BigInteger WordValueToXor = new BigInteger(WordHex, VALUES_RADIX);
System.out.println(WordHex);
BigInteger result = firstValueToXor.xor(FinalValueToXor);
BigInteger result2 = secondValueToXor.xor(FinalValueToXor);
BigInteger result3 = thirdValueToXor.xor(FinalValueToXor);
BigInteger result4 = fourthValueToXor.xor(FinalValueToXor);
BigInteger result5 = fifthValueToXor.xor(FinalValueToXor);
BigInteger result6 = sixthValueToXor.xor(FinalValueToXor);
BigInteger result7 = seventhValueToXor.xor(FinalValueToXor);
BigInteger result8 = eighthValueToXor.xor(FinalValueToXor);
BigInteger result9 = ninethValueToXor.xor(FinalValueToXor);
BigInteger result10 = tenthValueToXor.xor(FinalValueToXor);
BigInteger rresult = result.xor(WordValueToXor);
BigInteger rresult2 = result2.xor(WordValueToXor);
BigInteger rresult3 = result3.xor(WordValueToXor);
BigInteger rresult4 = result4.xor(WordValueToXor);
BigInteger rresult5 = result5.xor(WordValueToXor);
BigInteger rresult6 = result6.xor(WordValueToXor);
BigInteger rresult7 = result7.xor(WordValueToXor);
BigInteger rresult8 = result8.xor(WordValueToXor);
BigInteger rresult9 = result9.xor(WordValueToXor);
BigInteger rresult10 = result10.xor(WordValueToXor);
String stringResultRepresentation = rresult.toString(VALUES_RADIX);
String stringResultRepresentation2 = rresult2.toString(VALUES_RADIX);
String stringResultRepresentation3 = rresult3.toString(VALUES_RADIX);
String stringResultRepresentation4 = rresult4.toString(VALUES_RADIX);
String stringResultRepresentation5 = rresult5.toString(VALUES_RADIX);
String stringResultRepresentation6 = rresult6.toString(VALUES_RADIX);
String stringResultRepresentation7 = rresult7.toString(VALUES_RADIX);
String stringResultRepresentation8 = rresult8.toString(VALUES_RADIX);
String stringResultRepresentation9 = rresult9.toString(VALUES_RADIX);
String stringResultRepresentation10 = rresult10.toString(VALUES_RADIX);
String stringResultRepresentation11 = result11.toString(VALUES_RADIX);
System.out.println(stringResultRepresentation);
System.out.println(stringResultRepresentation2);
System.out.println(stringResultRepresentation3);
System.out.println(stringResultRepresentation4);
System.out.println(stringResultRepresentation5);
System.out.println(stringResultRepresentation6);
System.out.println(stringResultRepresentation7);
System.out.println(stringResultRepresentation8);
System.out.println(stringResultRepresentation9);
System.out.println(stringResultRepresentation10);
System.out.println(stringResultRepresentation11);
System.out.println(res);
try {
byte[] asciiResultRepresentation = stringResultRepresentation.getBytes("US-ASCII");
byte[] asciiResultRepresentation2 = stringResultRepresentation2.getBytes("US-ASCII");
byte[] asciiResultRepresentation3 = stringResultRepresentation3.getBytes("US-ASCII");
byte[] asciiResultRepresentation4 = stringResultRepresentation4.getBytes("US-ASCII");
byte[] asciiResultRepresentation5 = stringResultRepresentation5.getBytes("US-ASCII");
byte[] asciiResultRepresentation6 = stringResultRepresentation6.getBytes("US-ASCII");
byte[] asciiResultRepresentation7 = stringResultRepresentation7.getBytes("US-ASCII");
byte[] asciiResultRepresentation8 = stringResultRepresentation8.getBytes("US-ASCII");
byte[] asciiResultRepresentation9 = stringResultRepresentation9.getBytes("US-ASCII");
byte[] asciiResultRepresentation10 = stringResultRepresentation10.getBytes("US-ASCII");
byte[] asciiResultRepresentation11 = res.getBytes("US-ASCII");
System.out.println(Arrays.toString(asciiResultRepresentation));
System.out.println(Arrays.toString(asciiResultRepresentation2));
System.out.println(Arrays.toString(asciiResultRepresentation3));
System.out.println(Arrays.toString(asciiResultRepresentation4));
System.out.println(Arrays.toString(asciiResultRepresentation5));
System.out.println(Arrays.toString(asciiResultRepresentation6));
System.out.println(Arrays.toString(asciiResultRepresentation7));
System.out.println(Arrays.toString(asciiResultRepresentation8));
System.out.println(Arrays.toString(asciiResultRepresentation9));
System.out.println(Arrays.toString(asciiResultRepresentation10));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
public static String toHex(String arg) {
return String.format("%040x", new BigInteger(1, arg.getBytes()));
}
}
}
结果是:
b184f170a4b061a4d150041244f04074b250b044c520b0b0b0c0b0026575c130d031c0544160417401a0a5b471d1f1a0d54011d0e1e004d065c15061b1509404e450852441412060600051307030c1e0d481900011b0c1c570505591a5f1c1e5c697430697071
b184f170a4b061a50094515014515154b01491a0f480210531d4f4e190d535e5c1c59440709060d0b5b454044034d000707585d43410219080b090c0a11595640001b060612024304181b4c40511d1b01075f071d544d1456584c481d16061715303c65686b75
b184f170a4b061a50094515015809504d050e044d0b5b5f521a45541453530d08035a4f1154044e194807194f4a4f0e57090c5e421f5e5558160d4b411819450306531d574b054459430f120a5a12530454150658001d1a5d4f1c580a1b1c0209636b757e3e78
16040a433d49040c1e0d171753431d1103005241491d550c4208175407094442061253450f0d1659151a0a1c1e50154c0400040f45151a43415416111a470e1c00001d001a47410f445315130d011a4e0846540c0c461609130c0000453b1545006d20316a7c61
b184f170a4b061a50094515014515154b0145004c4e1a0b420700411903481b1b1b130c570d4c48485d050b18035203101d0f18580c450f1b56130c1f05185456530b07414617025c57560c5e591b5e0b111e1c440b030b124e06420b5f095515736861713c7c
b184f170a4b061a50094515014515154b0145004c4e1a0b420700411903521b49001c00121a054e014e160e5b4101410410014d574210530141071d48071c5b1900151d55521d180f4f0b47571a064908505b014e00074f50524e5d5f0b4e005b7d2369777027
b184f170a4b061a50094515014508090e55670a4c4e5b1842031b541012005f4d0d034f5d174b4304414006585d5a5407550d5f504111040d5d454f435b0410574e1d535e4a5b5f1210510f595d1c5702534147144f1a0451554e4645481b1706692f207b6e2c
b184f170a4b061a4b2e2441095d500b0a040047514d5b0b0a0645491b4a4914080e4e0d010b03525349594d4c500e061a1d114817151800024352060f5c2f474d453c544051151a4361041444221d0f1448044e401a0e1c7e0c0f540f5f1750746e383165657e
[98, 49, 56, 52, 102, 49, 55, 48, 97, 52, 98, 48, 54, 49, 97, 53, 48, 48, 57, 52, 53, 49, 53, 48, 49, 52, 53, 49, 53, 49, 53, 52, 98, 48, 49, 52, 53, 48, 48, 52, 99, 52, 101, 48, 49, 49, 97, 48, 102, 49, 54, 48, 99, 52, 56, 49, 57, 48, 50, 53, 50, 48, 101, 48, 54, 52, 55, 48, 50, 48, 97, 49, 99, 48, 53, 48, 53, 53, 102, 49, 52, 48, 102, 49, 98, 53, 54, 49, 54, 49, 54, 53, 51, 48, 55, 52, 57, 48, 102, 49, 53, 52, 57, 52, 53, 48, 53, 49, 54, 53, 56, 48, 57, 48, 49, 53, 51, 53, 51, 48, 50, 48, 56, 53, 99, 48, 49, 53, 48, 48, 55, 53, 51, 52, 57, 53, 97, 49, 53, 53, 100, 52, 50, 49, 52, 48, 48, 48, 52, 52, 55, 52, 55, 49, 56, 48, 97, 53, 102, 52, 55, 49, 53, 49, 57, 49, 55, 53, 53, 52, 101, 48, 97, 49, 102, 53, 55, 49, 98, 48, 49, 53, 50, 49, 48, 53, 98, 48, 101, 53, 53, 48, 51, 54, 54, 51, 98, 55, 55, 54, 55, 50, 51, 55, 97]
[49, 54, 48, 52, 48, 97, 52, 51, 49, 98, 53, 50, 48, 99, 49, 100, 49, 102, 48, 98, 48, 97, 49, 101, 53, 51, 53, 55, 49, 53, 49, 50, 52, 98, 48, 98, 52, 49, 48, 99, 52, 53, 48, 97, 53, 53, 48, 99, 48, 52, 49, 49, 49, 55, 53, 50, 52, 102, 50, 100, 52, 53, 49, 48, 48, 98, 49, 49, 48, 49, 52, 102, 49, 50, 52, 101, 48, 50, 53, 50, 48, 97, 48, 51, 52, 51, 51, 53, 48, 98, 49, 53, 49, 49, 52, 98, 53, 52, 48, 53, 49, 99, 49, 57, 52, 56, 48, 101, 49, 102, 52, 102, 48, 54, 53, 57, 53, 51, 49, 100, 48, 54, 48, 50, 52, 99, 48, 51, 52, 53, 48, 55, 48, 49, 48, 97, 49, 100, 52, 102, 49, 52, 49, 100, 52, 52, 53, 52, 49, 56, 49, 51, 48, 49, 48, 49, 52, 57, 48, 54, 48, 50, 52, 49, 49, 48, 48, 100, 48, 49, 48, 48, 49, 55, 49, 57, 48, 48, 49, 98, 48, 97, 53, 52, 48, 49, 49, 55, 49, 51, 48, 48, 49, 99, 54, 97, 55, 50, 53, 57, 54, 56, 55, 49, 55, 52]
[98, 49, 56, 52, 102, 49, 55, 48, 97, 52, 98, 48, 54, 49, 97, 52, 100, 49, 53, 48, 48, 52, 49, 50, 52, 52, 102, 48, 52, 48, 55, 52, 98, 50, 53, 48, 98, 48, 52, 52, 99, 53, 50, 48, 98, 48, 98, 48, 98, 48, 99, 48, 98, 48, 48, 50, 54, 53, 55, 53, 99, 49, 51, 48, 100, 48, 51, 49, 99, 48, 53, 52, 52, 49, 54, 48, 52, 49, 55, 52, 48, 49, 97, 48, 97, 53, 98, 52, 55, 49, 100, 49, 102, 49, 97, 48, 100, 53, 52, 48, 49, 49, 100, 48, 101, 49, 101, 48, 48, 52, 100, 48, 54, 53, 99, 49, 53, 48, 54, 49, 98, 49, 53, 48, 57, 52, 48, 52, 101, 52, 53, 48, 56, 53, 50, 52, 52, 49, 52, 49, 50, 48, 54, 48, 54, 48, 48, 48, 53, 49, 51, 48, 55, 48, 51, 48, 99, 49, 101, 48, 100, 52, 56, 49, 57, 48, 48, 48, 49, 49, 98, 48, 99, 49, 99, 53, 55, 48, 53, 48, 53, 53, 57, 49, 97, 53, 102, 49, 99, 49, 101, 53, 99, 54, 57, 55, 52, 51, 48, 54, 57, 55, 48, 55, 49]
[98, 49, 56, 52, 102, 49, 55, 48, 97, 52, 98, 48, 54, 49, 97, 53, 48, 48, 57, 52, 53, 49, 53, 48, 49, 52, 53, 49, 53, 49, 53, 52, 98, 48, 49, 52, 57, 49, 97, 48, 102, 52, 56, 48, 50, 49, 48, 53, 51, 49, 100, 52, 102, 52, 101, 49, 57, 48, 100, 53, 51, 53, 101, 53, 99, 49, 99, 53, 57, 52, 52, 48, 55, 48, 57, 48, 54, 48, 100, 48, 98, 53, 98, 52, 53, 52, 48, 52, 52, 48, 51, 52, 100, 48, 48, 48, 55, 48, 55, 53, 56, 53, 100, 52, 51, 52, 49, 48, 50, 49, 57, 48, 56, 48, 98, 48, 57, 48, 99, 48, 97, 49, 49, 53, 57, 53, 54, 52, 48, 48, 48, 49, 98, 48, 54, 48, 54, 49, 50, 48, 50, 52, 51, 48, 52, 49, 56, 49, 98, 52, 99, 52, 48, 53, 49, 49, 100, 49, 98, 48, 49, 48, 55, 53, 102, 48, 55, 49, 100, 53, 52, 52, 100, 49, 52, 53, 54, 53, 56, 52, 99, 52, 56, 49, 100, 49, 54, 48, 54, 49, 55, 49, 53, 51, 48, 51, 99, 54, 53, 54, 56, 54, 98, 55, 53]
[98, 49, 56, 52, 102, 49, 55, 48, 97, 52, 98, 48, 54, 49, 97, 53, 48, 48, 57, 52, 53, 49, 53, 48, 49, 53, 56, 48, 57, 53, 48, 52, 100, 48, 53, 48, 101, 48, 52, 52, 100, 48, 98, 53, 98, 53, 102, 53, 50, 49, 97, 52, 53, 53, 52, 49, 52, 53, 51, 53, 51, 48, 100, 48, 56, 48, 51, 53, 97, 52, 102, 49, 49, 53, 52, 48, 52, 52, 101, 49, 57, 52, 56, 48, 55, 49, 57, 52, 102, 52, 97, 52, 102, 48, 101, 53, 55, 48, 57, 48, 99, 53, 101, 52, 50, 49, 102, 53, 101, 53, 53, 53, 56, 49, 54, 48, 100, 52, 98, 52, 49, 49, 56, 49, 57, 52, 53, 48, 51, 48, 54, 53, 51, 49, 100, 53, 55, 52, 98, 48, 53, 52, 52, 53, 57, 52, 51, 48, 102, 49, 50, 48, 97, 53, 97, 49, 50, 53, 51, 48, 52, 53, 52, 49, 53, 48, 54, 53, 56, 48, 48, 49, 100, 49, 97, 53, 100, 52, 102, 49, 99, 53, 56, 48, 97, 49, 98, 49, 99, 48, 50, 48, 57, 54, 51, 54, 98, 55, 53, 55, 101, 51, 101, 55, 56]
[49, 54, 48, 52, 48, 97, 52, 51, 51, 100, 52, 57, 48, 52, 48, 99, 49, 101, 48, 100, 49, 55, 49, 55, 53, 51, 52, 51, 49, 100, 49, 49, 48, 51, 48, 48, 53, 50, 52, 49, 52, 57, 49, 100, 53, 53, 48, 99, 52, 50, 48, 56, 49, 55, 53, 52, 48, 55, 48, 57, 52, 52, 52, 50, 48, 54, 49, 50, 53, 51, 52, 53, 48, 102, 48, 100, 49, 54, 53, 57, 49, 53, 49, 97, 48, 97, 49, 99, 49, 101, 53, 48, 49, 53, 52, 99, 48, 52, 48, 48, 48, 52, 48, 102, 52, 53, 49, 53, 49, 97, 52, 51, 52, 49, 53, 52, 49, 54, 49, 49, 49, 97, 52, 55, 48, 101, 49, 99, 48, 48, 48, 48, 49, 100, 48, 48, 49, 97, 52, 55, 52, 49, 48, 102, 52, 52, 53, 51, 49, 53, 49, 51, 48, 100, 48, 49, 49, 97, 52, 101, 48, 56, 52, 54, 53, 52, 48, 99, 48, 99, 52, 54, 49, 54, 48, 57, 49, 51, 48, 99, 48, 48, 48, 48, 52, 53, 51, 98, 49, 53, 52, 53, 48, 48, 54, 100, 50, 48, 51, 49, 54, 97, 55, 99, 54, 49]
[98, 49, 56, 52, 102, 49, 55, 48, 97, 52, 98, 48, 54, 49, 97, 53, 48, 48, 57, 52, 53, 49, 53, 48, 49, 52, 53, 49, 53, 49, 53, 52, 98, 48, 49, 52, 53, 48, 48, 52, 99, 52, 101, 49, 97, 48, 98, 52, 50, 48, 55, 48, 48, 52, 49, 49, 57, 48, 51, 52, 56, 49, 98, 49, 98, 49, 98, 49, 51, 48, 99, 53, 55, 48, 100, 52, 99, 52, 56, 52, 56, 53, 100, 48, 53, 48, 98, 49, 56, 48, 51, 53, 50, 48, 51, 49, 48, 49, 100, 48, 102, 49, 56, 53, 56, 48, 99, 52, 53, 48, 102, 49, 98, 53, 54, 49, 51, 48, 99, 49, 102, 48, 53, 49, 56, 53, 52, 53, 54, 53, 51, 48, 98, 48, 55, 52, 49, 52, 54, 49, 55, 48, 50, 53, 99, 53, 55, 53, 54, 48, 99, 53, 101, 53, 57, 49, 98, 53, 101, 48, 98, 49, 49, 49, 101, 49, 99, 52, 52, 48, 98, 48, 51, 48, 98, 49, 50, 52, 101, 48, 54, 52, 50, 48, 98, 53, 102, 48, 57, 53, 53, 49, 53, 55, 51, 54, 56, 54, 49, 55, 49, 51, 99, 55, 99]
[98, 49, 56, 52, 102, 49, 55, 48, 97, 52, 98, 48, 54, 49, 97, 53, 48, 48, 57, 52, 53, 49, 53, 48, 49, 52, 53, 49, 53, 49, 53, 52, 98, 48, 49, 52, 53, 48, 48, 52, 99, 52, 101, 49, 97, 48, 98, 52, 50, 48, 55, 48, 48, 52, 49, 49, 57, 48, 51, 53, 50, 49, 98, 52, 57, 48, 48, 49, 99, 48, 48, 49, 50, 49, 97, 48, 53, 52, 101, 48, 49, 52, 101, 49, 54, 48, 101, 53, 98, 52, 49, 48, 49, 52, 49, 48, 52, 49, 48, 48, 49, 52, 100, 53, 55, 52, 50, 49, 48, 53, 51, 48, 49, 52, 49, 48, 55, 49, 100, 52, 56, 48, 55, 49, 99, 53, 98, 49, 57, 48, 48, 49, 53, 49, 100, 53, 53, 53, 50, 49, 100, 49, 56, 48, 102, 52, 102, 48, 98, 52, 55, 53, 55, 49, 97, 48, 54, 52, 57, 48, 56, 53, 48, 53, 98, 48, 49, 52, 101, 48, 48, 48, 55, 52, 102, 53, 48, 53, 50, 52, 101, 53, 100, 53, 102, 48, 98, 52, 101, 48, 48, 53, 98, 55, 100, 50, 51, 54, 57, 55, 55, 55, 48, 50, 55]
[98, 49, 56, 52, 102, 49, 55, 48, 97, 52, 98, 48, 54, 49, 97, 53, 48, 48, 57, 52, 53, 49, 53, 48, 49, 52, 53, 48, 56, 48, 57, 48, 101, 53, 53, 54, 55, 48, 97, 52, 99, 52, 101, 53, 98, 49, 56, 52, 50, 48, 51, 49, 98, 53, 52, 49, 48, 49, 50, 48, 48, 53, 102, 52, 100, 48, 100, 48, 51, 52, 102, 53, 100, 49, 55, 52, 98, 52, 51, 48, 52, 52, 49, 52, 48, 48, 54, 53, 56, 53, 100, 53, 97, 53, 52, 48, 55, 53, 53, 48, 100, 53, 102, 53, 48, 52, 49, 49, 49, 48, 52, 48, 100, 53, 100, 52, 53, 52, 102, 52, 51, 53, 98, 48, 52, 49, 48, 53, 55, 52, 101, 49, 100, 53, 51, 53, 101, 52, 97, 53, 98, 53, 102, 49, 50, 49, 48, 53, 49, 48, 102, 53, 57, 53, 100, 49, 99, 53, 55, 48, 50, 53, 51, 52, 49, 52, 55, 49, 52, 52, 102, 49, 97, 48, 52, 53, 49, 53, 53, 52, 101, 52, 54, 52, 53, 52, 56, 49, 98, 49, 55, 48, 54, 54, 57, 50, 102, 50, 48, 55, 98, 54, 101, 50, 99]
[98, 49, 56, 52, 102, 49, 55, 48, 97, 52, 98, 48, 54, 49, 97, 52, 98, 50, 101, 50, 52, 52, 49, 48, 57, 53, 100, 53, 48, 48, 98, 48, 97, 48, 52, 48, 48, 52, 55, 53, 49, 52, 100, 53, 98, 48, 98, 48, 97, 48, 54, 52, 53, 52, 57, 49, 98, 52, 97, 52, 57, 49, 52, 48, 56, 48, 101, 52, 101, 48, 100, 48, 49, 48, 98, 48, 51, 53, 50, 53, 51, 52, 57, 53, 57, 52, 100, 52, 99, 53, 48, 48, 101, 48, 54, 49, 97, 49, 100, 49, 49, 52, 56, 49, 55, 49, 53, 49, 56, 48, 48, 48, 50, 52, 51, 53, 50, 48, 54, 48, 102, 53, 99, 50, 102, 52, 55, 52, 100, 52, 53, 51, 99, 53, 52, 52, 48, 53, 49, 49, 53, 49, 97, 52, 51, 54, 49, 48, 52, 49, 52, 52, 52, 50, 50, 49, 100, 48, 102, 49, 52, 52, 56, 48, 52, 52, 101, 52, 48, 49, 97, 48, 101, 49, 99, 55, 101, 48, 99, 48, 102, 53, 52, 48, 102, 53, 102, 49, 55, 53, 48, 55, 52, 54, 101, 51, 56, 51, 49, 54, 53, 54, 53, 55, 101]