拿到程序分析汇编:

随便选几个例子:(这个程序一共就三种运算, +-^)

Untitled

flag[6] += flag[3]

Untitled

flag[10] -= flag[27]

Untitled

flag[28] ^= flag[24]

如果实在是ida无法反编译,读文件用capstone等直接解析,根据不同的情况手动反编译

实际上这道题是可以反编译的,大概时间测了一下,5-8分钟之间

Untitled

复制出去解析下语句,让它全部符号反过,以及顺序反过

string = """  flag[6] += flag[3];
  flag[10] -= flag[27];
  flag[10] += flag[6];
  flag[14] += flag[3];
  flag[28] ^= flag[24];
  flag[30] += 33;
  flag[12] += 33;
  flag[24] ^= flag[21];
  flag[22] += 33;
  flag[25] += flag[10];
  flag[4] += flag[6];
  flag[12] += 33;
  flag[17] += flag[0];
  flag[20] += flag[17];
  flag[20] -= 55;
  flag[21] -= 54;
  flag[17] -= flag[23];
  flag[1] += 33;
  flag[13] -= 55;
  flag[11] += flag[4];
  flag[5] += flag[13];
  flag[26] ^= flag[19];
  flag[3] += flag[20];
  flag[20] ^= flag[24];
  flag[27] ^= flag[4];
  flag[27] -= 55;
  flag[13] -= 54;
  flag[26] ^= flag[16];
  flag[29] ^= flag[16];
  flag[4] += flag[30];
  flag[31] -= 54;
  flag[18] -= flag[9];
  flag[15] -= flag[30];
  flag[8] += flag[0];
  flag[26] -= 54;
  flag[30] -= flag[29];
  flag[30] -= 54;
  flag[8] -= 54;
  flag[0] -= 54;
  flag[18] += 33;
  flag[31] ^= flag[19];
  flag[15] -= 55;
  flag[26] += flag[9];
  flag[27] -= 55;
  flag[6] -= flag[30];
  flag[31] ^= flag[2];
  flag[12] ^= flag[1];
  flag[29] ^= flag[23];
  flag[24] += 33;
  flag[17] += flag[25];
  flag[11] ^= flag[9];
  flag[16] ^= flag[21];
  flag[14] += flag[13];
  flag[21] += flag[25];
  flag[29] += 33;
  flag[17] += flag[28];
  flag[18] -= flag[7];
  flag[4] ^= flag[13];
  flag[15] -= 55;
  flag[13] ^= flag[14];
  flag[22] += flag[21];
  flag[7] ^= flag[19];
  flag[0] -= 54;
  flag[13] += flag[26];
  flag[26] += flag[4];
  flag[3] ^= flag[12];
  flag[29] ^= flag[18];
  flag[11] ^= flag[4];
  flag[13] += flag[2];
  flag[18] -= 54;
  flag[16] ^= flag[11];
  flag[0] ^= flag[24];
  flag[28] ^= flag[16];
  flag[28] ^= flag[31];
  flag[15] += flag[19];
  flag[30] += 33;
  flag[24] ^= flag[30];
  flag[30] -= 55;
  flag[10] += 33;
  flag[16] ^= flag[31];
  flag[0] ^= flag[8];
  flag[11] -= 55;
  flag[12] -= flag[2];
  flag[21] ^= flag[6];
  flag[3] += flag[31];
  flag[5] ^= flag[25];
  flag[10] += flag[21];
  flag[7] ^= flag[21];
  flag[6] += flag[2];
  flag[29] ^= flag[30];
  flag[15] -= 54;
  flag[0] ^= flag[30];
  flag[16] += flag[17];
  flag[25] ^= flag[29];
  flag[10] -= 55;
  flag[11] ^= flag[30];
  flag[20] += 33;
  flag[8] += flag[16];
  flag[9] -= 54;
  flag[17] -= flag[27];
  flag[11] += flag[8];
  flag[8] ^= flag[2];
  flag[23] ^= flag[31];
  flag[14] += 33;
  flag[10] -= flag[12];
  flag[12] += flag[4];
  flag[7] -= 54;
  flag[21] -= 55;
  flag[3] += flag[7];
  flag[1] += flag[11];
  flag[5] -= flag[28];
  flag[6] ^= flag[17];
  flag[26] += flag[16];
  flag[31] -= 54;
  flag[23] -= flag[9];
  flag[3] += 33;
  flag[25] += 33;
  flag[10] ^= flag[31];
  flag[23] -= 54;
  flag[28] += flag[18];
  flag[25] -= flag[1];
  flag[1] -= flag[8];
  flag[3] -= flag[23];
  flag[26] += flag[21];
  flag[13] += flag[5];
  flag[29] += 33;
  flag[18] -= 55;
  flag[11] -= 54;
  flag[19] += flag[20];
  flag[25] += flag[28];
  flag[24] += 33;
  flag[6] -= flag[10];
  flag[20] ^= flag[5];
  flag[26] ^= flag[29];
  flag[10] ^= flag[21];
  flag[4] ^= flag[9];
  flag[2] += flag[1];
  flag[13] -= flag[20];
  flag[16] += flag[26];
  flag[6] += flag[1];
  flag[24] -= 55;
  flag[26] += 33;
  flag[21] ^= flag[26];
  flag[11] += flag[15];
  flag[25] ^= flag[15];
  flag[3] += 33;
  flag[19] -= flag[7];
  flag[6] -= 55;
  flag[7] -= 54;
  flag[5] += flag[3];
  flag[30] += flag[9];
  flag[1] ^= flag[27];
  flag[14] -= flag[19];
  flag[21] += flag[29];
  flag[18] -= 54;
  flag[9] += flag[2];
  flag[22] += flag[4];
  flag[3] -= 55;
  flag[7] ^= flag[1];
  flag[11] += flag[24];
  flag[11] += flag[25];
  flag[20] -= 55;
  flag[22] += flag[15];
  flag[26] ^= flag[0];
  flag[16] ^= flag[1];
  flag[3] += flag[1];
  flag[5] ^= flag[21];
  flag[18] -= 54;
  flag[18] += flag[8];
  flag[19] += 33;
  flag[11] += flag[2];
  flag[27] -= 54;
  flag[3] += flag[29];
  flag[25] -= 54;
  flag[26] ^= flag[21];
  flag[22] -= 55;
  flag[28] -= 54;
  flag[11] -= flag[19];
  flag[28] ^= flag[1];
  flag[3] -= 55;
  flag[11] += 33;
  flag[26] -= flag[15];
  flag[24] += flag[29];
  flag[28] ^= flag[26];
  flag[24] ^= flag[31];
  flag[5] ^= flag[13];
  flag[19] -= flag[27];
  flag[1] -= 55;
  flag[6] ^= flag[11];
  flag[18] -= 55;
  flag[13] ^= flag[5];
  flag[26] += 33;
  flag[24] -= flag[18];
  flag[23] ^= flag[19];
  flag[30] -= 55;
  flag[13] ^= flag[30];
  flag[4] += flag[31];
  flag[17] += 33;
  flag[14] += flag[2];
  flag[20] ^= flag[9];
  flag[24] ^= flag[29];
  flag[12] += 33;
  flag[2] += flag[31];
  flag[18] ^= flag[16];
  flag[18] -= 55;
  flag[2] ^= flag[14];
  flag[11] += flag[26];
  flag[31] -= 55;
  flag[1] += 33;
  flag[29] -= 55;
  flag[29] ^= flag[15];
  flag[12] += flag[31];
  flag[5] += 33;
  flag[24] ^= flag[26];
  flag[6] += 33;
  flag[17] -= flag[14];
  flag[14] -= flag[25];
  flag[29] ^= flag[6];
  flag[8] ^= flag[15];
  flag[20] ^= flag[5];
  flag[9] ^= flag[30];
  flag[4] += flag[1];
  flag[27] += flag[2];
  flag[3] ^= flag[28];
  flag[30] += flag[15];
  flag[15] -= flag[7];
  flag[13] += flag[28];
  flag[29] ^= flag[17];
  flag[13] -= 55;
  flag[6] += flag[20];
  flag[0] ^= flag[11];
  flag[13] += flag[28];
  flag[9] += flag[10];
  flag[1] ^= flag[4];
  flag[7] -= 55;
  flag[22] -= 54;
  flag[27] += flag[5];
  flag[4] += 33;
  flag[18] ^= flag[3];
  flag[22] -= 54;
  flag[12] -= 54;
  flag[20] -= 54;
  flag[8] ^= flag[23];
  flag[18] ^= flag[5];
  flag[5] += 33;
  flag[10] ^= flag[31];
  flag[6] ^= flag[11];
  flag[13] ^= flag[1];
  flag[15] += 33;
  flag[16] -= 54;
  flag[25] -= 54;
  flag[15] += flag[31];
  flag[3] -= 55;
  flag[24] ^= flag[18];
  flag[1] ^= flag[28];
  flag[22] ^= flag[29];
  flag[5] += flag[0];
  flag[23] += flag[27];
  flag[1] ^= flag[21];
  flag[20] += flag[12];
  flag[8] -= 55;
  flag[0] ^= flag[31];
  flag[15] -= flag[17];
  flag[20] += flag[25];
  flag[11] ^= flag[25];
  flag[0] ^= flag[12];
  flag[14] += flag[7];
  flag[1] -= 55;
  flag[1] += flag[21];
  flag[28] += flag[10];
  flag[14] ^= flag[9];
  flag[4] ^= flag[2];
  flag[16] += flag[15];
  flag[31] += flag[18];
  flag[7] += 33;
  flag[24] ^= flag[21];
  flag[16] -= flag[9];
  flag[14] -= 55;
  flag[25] += flag[4];
  flag[18] += flag[3];
  flag[23] -= flag[24];
  flag[24] += flag[21];
  flag[13] -= flag[17];
  flag[12] -= 54;
  flag[18] ^= flag[28];
  flag[16] ^= flag[20];
  flag[12] -= 55;
  flag[4] ^= flag[2];
  flag[26] ^= flag[23];
  flag[3] -= 55;
  flag[14] += flag[21];
  flag[25] += flag[27];
  flag[0] += flag[17];
  flag[26] += flag[18];
  flag[25] -= 54;
  flag[11] ^= flag[19];
  flag[5] += flag[19];
  flag[22] -= 54;
  flag[5] -= 54;
  flag[2] ^= flag[6];
  flag[23] += flag[10];
  flag[8] ^= flag[9];
  flag[30] ^= flag[11];
  flag[26] ^= flag[9];
  flag[9] += 33;
  flag[1] ^= flag[6];
  flag[9] -= flag[2];
  flag[3] ^= flag[4];
  flag[9] ^= flag[14];
  flag[5] += flag[25];
  flag[30] -= 55;
  flag[14] -= 55;
  flag[31] += flag[21];
  flag[25] ^= flag[30];
  flag[21] -= 54;
  flag[4] += flag[6];
  flag[11] += flag[24];
  flag[21] -= 55;
  flag[28] += flag[29];
  flag[4] -= 54;
  flag[7] -= 55;
  flag[15] += flag[25];
  flag[23] -= 55;
  flag[16] ^= flag[24];
  flag[21] -= flag[30];
  flag[21] += flag[10];
  flag[6] ^= flag[24];
  flag[20] += flag[2];
  flag[11] += 33;
  flag[14] -= 54;
  flag[22] += 33;
  flag[16] += flag[15];
  flag[6] ^= flag[9];
  flag[1] ^= flag[25];
  flag[30] += 33;
  flag[31] ^= flag[10];
  flag[16] -= 55;
  flag[12] += flag[17];
  flag[24] -= 54;
  flag[26] ^= flag[7];
  flag[16] -= flag[1];
  flag[16] += 33;
  flag[28] ^= flag[11];
  flag[15] += flag[20];
  flag[5] += flag[3];
  flag[5] += flag[1];
  flag[23] += flag[18];
  flag[13] -= flag[21];
  flag[12] += 33;
  flag[29] += flag[0];
  flag[31] -= 54;
  flag[19] -= 55;
  flag[1] -= 54;
  flag[23] ^= flag[1];
  flag[18] -= 54;
  flag[9] ^= flag[27];
  flag[29] -= 54;
  flag[27] += flag[24];
  flag[9] ^= flag[3];
  flag[10] += flag[17];
  flag[5] += flag[22];
  flag[24] -= 54;
  flag[1] += 33;
  flag[23] -= flag[18];
  flag[19] ^= flag[29];
  flag[4] ^= flag[17];
  flag[20] ^= flag[12];
  flag[14] ^= flag[12];
  flag[9] -= flag[25];
  flag[24] += flag[10];
  flag[21] ^= flag[0];
  flag[31] -= flag[14];
  flag[3] -= 55;
  flag[28] += flag[29];
  flag[23] -= flag[18];
  flag[13] ^= flag[24];
  flag[19] += flag[23];
  flag[14] += 33;
  flag[11] += 33;
  flag[9] += flag[12];
  flag[14] -= 54;
  flag[6] += 33;
  flag[16] += flag[10];
  flag[30] -= 54;
  flag[30] += flag[7];
  flag[13] -= flag[26];
  flag[27] += flag[11];
  flag[23] ^= flag[12];
  flag[13] -= flag[26];
  flag[15] -= 54;
  flag[23] += flag[7];
  flag[31] -= flag[30];
  flag[11] += flag[27];
  flag[9] += flag[5];
  flag[17] -= 54;
  flag[8] -= 55;
  flag[12] ^= flag[1];
  flag[22] += flag[6];
  flag[21] += flag[5];
  flag[18] += 33;
  flag[26] -= flag[9];
  flag[25] -= 54;
  flag[28] ^= flag[31];
  flag[4] ^= flag[29];
  flag[31] -= 54;
  flag[0] -= flag[3];
  flag[27] += 33;
  flag[30] += flag[1];
  flag[14] += flag[9];
  flag[29] += flag[22];
  flag[24] += flag[3];
  flag[24] -= flag[7];
  flag[29] += flag[5];
  flag[21] += flag[7];
  flag[23] -= 55;
  flag[24] ^= flag[26];
  flag[4] -= 54;
  flag[3] ^= flag[11];
  flag[24] -= 54;
  flag[8] ^= flag[13];
  flag[16] += flag[23];
  flag[30] -= 55;
  flag[11] ^= flag[15];
  flag[28] ^= flag[20];
  flag[10] ^= flag[29];
  flag[21] -= 54;
  flag[16] ^= flag[12];
  flag[27] -= flag[2];
  flag[11] ^= flag[10];
  flag[20] += 33;
  flag[5] ^= flag[2];
  flag[29] ^= flag[13];
  flag[18] -= 55;
  flag[15] += 33;
  flag[31] -= flag[5];
  flag[0] += flag[4];
  flag[17] += flag[30];
  flag[4] ^= flag[5];
  flag[21] -= 54;
  flag[18] -= flag[26];
  flag[25] += 33;
  flag[12] -= 55;
  flag[23] -= flag[5];
  flag[3] += flag[28];
  flag[12] -= 54;
  flag[3] -= 54;
  flag[18] ^= flag[19];
  flag[22] += flag[2];
  flag[5] -= 54;
  flag[23] -= 54;
  flag[28] += 33;
  flag[16] ^= flag[12];
  flag[14] += flag[30];
  flag[16] += flag[11];
  flag[4] += flag[10];
  flag[15] ^= flag[12];
  flag[11] -= flag[15];
  flag[7] -= 55;
  flag[1] ^= flag[0];
  flag[10] += flag[31];
  flag[21] -= flag[2];
  flag[15] ^= flag[5];
  flag[15] -= flag[21];
  flag[1] += flag[15];
  flag[15] += flag[2];
  flag[16] -= 54;
  flag[7] -= 55;
  flag[18] -= flag[23];
  flag[1] -= flag[11];
  flag[31] += flag[17];
  flag[15] += flag[14];
  flag[21] ^= flag[1];
  flag[30] ^= flag[31];
  flag[6] += flag[23];
  flag[29] += 33;
  flag[5] ^= flag[18];
  flag[3] -= 54;
  flag[0] ^= flag[23];
  flag[19] -= flag[29];
  flag[8] += flag[26];
  flag[3] += flag[18];
  flag[11] += flag[14];
  flag[1] += flag[22];
  flag[5] -= flag[7];
  flag[21] += flag[16];
  flag[27] -= flag[7];
  flag[30] -= 55;
  flag[16] ^= flag[21];
  flag[4] -= 54;
  flag[20] += flag[31];
  flag[24] ^= flag[18];
  flag[3] ^= flag[8];
  flag[7] ^= flag[27];
  flag[27] ^= flag[0];
  flag[5] ^= flag[3];
  flag[22] += 33;
  flag[25] += flag[28];
  flag[8] += flag[31];
  flag[8] -= 55;
  flag[0] += flag[27];
  flag[6] += flag[22];
  flag[10] += flag[9];
  flag[14] ^= flag[21];
  flag[27] += 33;
  flag[11] -= 55;
  flag[15] += 33;
  flag[27] ^= flag[14];
  flag[16] += flag[0];
  flag[18] += flag[27];
  flag[22] += flag[13];
  flag[3] += 33;
  flag[22] += 33;
  flag[5] += flag[30];
  flag[29] -= 55;
  flag[1] += flag[12];
  flag[27] -= 54;
  flag[7] += flag[13];
  flag[25] ^= flag[13];
  flag[11] ^= flag[12];
  flag[14] -= 55;
  flag[13] -= flag[6];
  flag[21] += flag[18];
  flag[28] ^= flag[2];
  flag[25] -= 55;
  flag[4] -= 55;
  flag[26] -= 54;
  flag[20] += flag[11];
  flag[21] -= 55;
  flag[22] += flag[29];
  flag[20] -= flag[16];
  flag[21] -= 54;
  flag[7] ^= flag[4];
  flag[27] -= 55;
  flag[2] -= flag[28];
  flag[30] -= 54;
  flag[30] -= 54;
  flag[21] += 33;
  flag[15] += flag[10];
  flag[5] ^= flag[8];
  flag[1] += flag[23];
  flag[0] -= flag[15];
  flag[10] -= 55;
  flag[23] += flag[30];
  flag[25] += flag[14];
  flag[17] += flag[15];
  flag[15] += flag[29];
  flag[27] -= flag[12];
  flag[6] += flag[7];
  flag[21] -= 55;
  flag[0] -= 54;
  flag[3] -= flag[13];
  flag[8] ^= flag[14];
  flag[6] ^= flag[3];
  flag[13] -= 55;
  flag[9] += flag[27];
  flag[29] ^= flag[11];
  flag[16] += 33;
  flag[17] -= 54;
  flag[23] ^= flag[14];
  flag[7] -= 55;
  flag[21] += flag[14];
  flag[3] += 33;
  flag[31] ^= flag[0];
  flag[10] += flag[22];
  flag[25] ^= flag[3];
  flag[25] ^= flag[30];
  flag[14] ^= flag[27];
  flag[28] ^= flag[11];
  flag[18] ^= flag[7];
  flag[23] -= 55;
  flag[24] += flag[26];
  flag[13] ^= flag[28];
  flag[8] -= 54;
  flag[31] -= flag[6];
  flag[21] ^= flag[24];
  flag[2] ^= flag[30];
  flag[28] -= 54;
  flag[22] ^= flag[8];
  flag[0] -= 54;
  flag[16] -= 55;
  flag[7] += 33;
  flag[7] += flag[27];
  flag[17] ^= flag[6];
  flag[21] -= 55;
  flag[25] ^= flag[30];
  flag[24] += 33;
  flag[27] += flag[29];
  flag[11] += flag[1];
  flag[24] ^= flag[26];
  flag[24] += flag[8];
  flag[5] -= 55;
  flag[15] ^= flag[2];
  flag[27] -= 55;
  flag[21] -= flag[14];
  flag[16] += flag[5];
  flag[29] += flag[20];
  flag[0] ^= flag[11];
  flag[12] += 33;
  flag[20] += flag[7];
  flag[3] += flag[7];
  flag[0] += flag[5];
  flag[26] -= 54;
  flag[9] += flag[17];
  flag[27] ^= flag[26];
  flag[26] -= 55;
  flag[27] += flag[13];
  flag[0] -= 55;
  flag[2] ^= flag[27];
  flag[27] -= 55;
  flag[18] -= 54;
  flag[30] -= 54;
  flag[12] ^= flag[18];
  flag[0] += flag[29];
  flag[30] -= 54;
  flag[5] += 33;
  flag[30] -= 55;
  flag[0] ^= flag[2];
  flag[16] += 33;
  flag[10] -= 55;
  flag[1] -= 55;
  flag[8] -= 55;
  flag[27] += 33;
  flag[27] ^= flag[12];
  flag[8] ^= flag[13];
  flag[2] -= flag[11];
  flag[20] -= 54;
  flag[22] += flag[11];
  flag[16] ^= flag[9];
  flag[20] -= flag[28];
  flag[31] -= 54;
  flag[29] += flag[1];
  flag[17] += flag[11];
  flag[25] += 33;
  flag[1] += 33;
  flag[28] ^= flag[11];
  flag[31] += flag[2];
  flag[0] -= flag[29];
  flag[19] ^= flag[25];
  flag[5] += flag[14];
  flag[26] += flag[14];
  flag[11] ^= flag[0];
  flag[3] -= 54;
  flag[0] -= flag[13];
  flag[12] ^= flag[27];
  flag[22] += flag[23];
  flag[7] ^= flag[13];
  flag[9] += flag[25];
  flag[23] += flag[26];
  flag[19] += flag[7];
  flag[12] ^= flag[26];
  flag[16] ^= flag[27];
  flag[0] -= flag[30];
  flag[0] -= 54;
  flag[0] -= flag[21];
  flag[30] += flag[2];
  flag[6] ^= flag[11];
  flag[2] += flag[18];
  flag[16] += flag[26];
  flag[28] ^= flag[16];
  flag[13] -= 54;
  flag[1] ^= flag[12];
  flag[22] ^= flag[7];
  flag[3] += flag[16];
  flag[16] -= 54;
  flag[18] ^= flag[16];
  flag[17] -= flag[22];
  flag[15] += 33;
  flag[12] ^= flag[25];
  flag[23] += 33;
  flag[12] += flag[24];
  flag[29] -= 55;
  flag[29] ^= flag[2];
  flag[31] += 33;
  flag[13] ^= flag[0];
  flag[14] ^= flag[19];
  flag[19] += flag[31];
  flag[11] ^= flag[12];
  flag[15] -= 55;
  flag[10] += flag[9];
  flag[30] ^= flag[27];
  flag[5] -= 55;
  flag[12] ^= flag[4];
  flag[22] ^= flag[6];
  flag[17] += flag[13];
  flag[14] -= flag[11];
  flag[25] ^= flag[17];
  flag[19] ^= flag[0];
  flag[8] += flag[22];
  flag[16] += flag[1];
  flag[3] -= 55;
  flag[12] ^= flag[31];
  flag[20] ^= flag[21];
  flag[8] ^= flag[18];
  flag[16] -= 54;
  flag[29] += 33;
  flag[16] += flag[22];
  flag[3] += flag[31];
  flag[8] += flag[11];
  flag[0] ^= flag[26];
  flag[30] += 33;
  flag[11] -= flag[24];
  flag[24] ^= flag[14];
  flag[3] ^= flag[21];
  flag[29] += flag[21];
  flag[18] -= flag[13];
  flag[1] += 33;
  flag[30] += 33;
  flag[26] -= 54;
  flag[18] += 33;
  flag[22] += flag[8];
  flag[26] += 33;
  flag[13] ^= flag[4];
  flag[13] ^= flag[31];
  flag[21] -= 54;
  flag[28] -= 54;
  flag[0] -= 55;
  flag[30] += flag[4];
  flag[10] -= 55;
  flag[2] -= 55;
  flag[23] ^= flag[12];
  flag[25] -= 54;
  flag[21] ^= flag[24];
  flag[29] += flag[15];
  flag[5] -= flag[17];
  flag[28] += flag[11];
  flag[29] -= 54;
  flag[31] ^= flag[15];
  flag[24] ^= flag[13];
  flag[2] ^= flag[11];
  flag[27] ^= flag[23];
  flag[0] += flag[28];
  flag[18] += flag[13];
  flag[1] += flag[17];
  flag[25] += flag[24];
  flag[5] += 33;
  flag[29] += flag[27];
  flag[11] ^= flag[10];
  flag[2] -= 54;
  flag[23] += flag[11];
  flag[15] += 33;
  flag[27] += flag[23];
  flag[29] ^= flag[24];
  flag[10] -= flag[27];
  flag[13] += flag[17];
  flag[24] -= 54;
  flag[1] ^= flag[16];
  flag[12] -= flag[4];
  flag[23] -= flag[16];
  flag[21] += 33;
  flag[17] ^= flag[4];
  flag[2] -= flag[13];
  flag[20] += 33;
  flag[15] += 33;
  flag[8] -= 55;
  flag[20] += flag[24];
  flag[24] -= 54;
  flag[24] -= 55;
  flag[14] ^= flag[20];
  flag[12] += flag[25];
  flag[7] += 33;
  flag[8] ^= flag[21];
  flag[24] ^= flag[9];
  flag[8] ^= flag[28];
  flag[8] += flag[13];
  flag[22] += 33;
  flag[1] ^= flag[16];
  flag[23] += flag[30];
  flag[12] += flag[27];
  flag[22] += flag[16];
  flag[0] ^= flag[11];
  flag[28] ^= flag[18];
  flag[28] -= 55;
  flag[23] += 33;
  flag[28] += 33;
  flag[25] -= 55;
  flag[24] -= 55;
  flag[8] += flag[24];
  flag[8] += flag[10];
  flag[24] ^= flag[23];
  flag[3] ^= flag[21];
  flag[12] += flag[21];
  flag[8] += 33;
  flag[16] ^= flag[19];
  flag[1] -= 54;
  flag[1] += 33;
  flag[21] ^= flag[30];
  flag[28] += flag[3];
  flag[11] += 33;
  flag[16] -= flag[3];
  flag[14] -= flag[17];
  flag[25] += flag[19];
  flag[2] ^= flag[16];
  flag[4] ^= flag[2];
  flag[8] += flag[12];
  flag[19] += flag[13];
  flag[3] += flag[17];
  flag[30] += flag[4];
  flag[20] -= flag[18];
  flag[22] -= 54;
  flag[22] -= 55;
  flag[6] ^= flag[21];
  flag[11] ^= flag[10];
  flag[10] += flag[28];
  flag[21] += 33;
  flag[21] += flag[11];
  flag[12] -= 55;
  flag[27] ^= flag[28];
  flag[25] -= flag[28];
  flag[12] ^= flag[23];
  flag[30] += flag[5];
  flag[20] ^= flag[8];
  flag[7] -= flag[6];
  flag[11] -= 54;
  flag[15] ^= flag[21];
  flag[12] += flag[3];
  flag[3] -= 55;
  flag[31] -= 54;
  flag[23] ^= flag[25];
  flag[22] += flag[18];
  flag[9] += flag[18];
  flag[28] += flag[24];
  flag[20] += flag[4];
  flag[17] += 33;
  flag[7] ^= flag[24];
  flag[8] ^= flag[17];
  flag[0] += flag[21];
  flag[7] += 33;
  flag[3] ^= flag[10];
  flag[25] += flag[23];
  flag[30] ^= flag[4];
  flag[20] += flag[15];
  flag[23] ^= flag[20];
  flag[28] += flag[23];
  flag[21] -= 54;
  flag[21] ^= flag[7];
  flag[9] ^= flag[25];
  flag[23] ^= flag[31];
  flag[25] -= 55;
  flag[27] ^= flag[0];
  flag[18] ^= flag[5];
  flag[31] += flag[22];
  flag[24] ^= flag[17];
  flag[3] ^= flag[28];
  flag[24] -= flag[5];
  flag[17] += 33;
  flag[29] += flag[3];
  flag[19] -= flag[6];
  flag[0] ^= flag[21];
  flag[9] ^= flag[30];
  flag[30] += flag[1];
  flag[8] += flag[3];
  flag[30] += 33;
  flag[3] += flag[14];
  flag[2] += 33;
  flag[27] -= flag[28];
  flag[19] ^= flag[18];
  flag[29] += 33;
  flag[11] -= 55;
  flag[28] ^= flag[3];
  flag[27] += 33;
  flag[17] += flag[27];
  flag[29] -= 55;
  flag[2] += flag[13];
  flag[12] -= 54;
  flag[1] += flag[29];
  flag[14] += 33;
  flag[16] ^= flag[15];
  flag[18] -= flag[1];
  flag[1] += flag[22];
  flag[27] += flag[1];
  flag[17] ^= flag[10];
  flag[9] += flag[4];
  flag[13] -= flag[20];
  flag[26] -= 54;
  flag[9] ^= flag[18];
  flag[4] ^= flag[25];
  flag[16] -= flag[0];
  flag[30] -= 54;
  flag[31] ^= flag[6];
  flag[31] += flag[27];
  flag[4] -= 54;
  flag[4] += flag[3];
  flag[2] += flag[13];
  flag[10] ^= flag[0];
  flag[4] += flag[17];
  flag[14] += flag[27];
  flag[0] ^= flag[15];
  flag[10] += 33;
  flag[30] ^= flag[31];
  flag[17] += flag[26];
  flag[26] -= flag[16];
  flag[13] += flag[6];
  flag[14] ^= flag[12];
  flag[27] -= 54;
  flag[31] += flag[11];
  flag[27] += 33;
  flag[29] ^= flag[11];
  flag[19] += flag[1];
  flag[21] += flag[6];
  flag[22] += flag[27];
  flag[30] += flag[13];
  flag[13] += 33;
  flag[19] ^= flag[1];
  flag[19] += flag[9];
  flag[31] ^= flag[24];
  flag[13] -= 54;
  flag[28] -= 54;
  flag[7] -= flag[8];
  flag[4] += flag[31];
  flag[11] ^= flag[30];
  flag[6] ^= flag[9];
  flag[1] ^= flag[14];
  flag[0] ^= flag[17];
  flag[10] ^= flag[27];
  flag[23] += 33;
  flag[24] ^= flag[9];
  flag[2] += flag[17];
  flag[23] ^= flag[19];
  flag[8] += 33;
  flag[10] -= 55;
  flag[26] += flag[22];
  flag[25] -= 55;
  flag[25] += flag[8];
  flag[7] += flag[11];
  flag[24] += 33;
  flag[11] ^= flag[10];
  flag[16] -= flag[4];
  flag[31] += flag[12];
  flag[19] ^= flag[30];
  flag[22] += flag[5];
  flag[15] ^= flag[8];
  flag[4] -= 54;
  flag[6] -= 55;
  flag[25] -= 55;
  flag[6] ^= flag[18];
  flag[18] -= 55;
  flag[26] += flag[13];
  flag[15] ^= flag[17];
  flag[7] ^= flag[25];
  flag[21] += 33;
  flag[4] += flag[3];
  flag[27] += flag[19];
  flag[8] ^= flag[6];
  flag[31] ^= flag[17];
  flag[20] += flag[2];
  flag[15] ^= flag[22];
  flag[21] -= 54;
  flag[14] -= flag[28];
  flag[11] -= 55;
  flag[3] += flag[4];
  flag[4] += flag[2];
  flag[12] -= 54;
  flag[9] -= 55;
  flag[28] += flag[8];
  flag[5] ^= flag[17];
  flag[0] += 33;
  flag[17] -= flag[12];
  flag[28] += flag[11];
  flag[31] -= flag[8];
  flag[8] ^= flag[12];
  flag[15] ^= flag[14];
  flag[2] ^= flag[14];
  flag[1] += flag[13];
  flag[0] ^= flag[27];
  flag[30] += flag[13];
  flag[3] += 33;
  flag[30] += flag[28];
  flag[29] += flag[2];
  flag[3] += flag[22];
  flag[0] += flag[22];
  flag[8] ^= flag[25];
  flag[9] ^= flag[1];
  flag[25] += flag[12];
  flag[27] ^= flag[17];
  flag[20] ^= flag[12];
  flag[27] += flag[9];
  flag[0] -= flag[22];
  flag[0] ^= flag[7];
  flag[21] ^= flag[12];
  flag[6] += flag[26];
  flag[9] += flag[21];
  flag[0] -= flag[16];
  flag[21] += flag[19];
  flag[14] -= flag[29];
  flag[1] += flag[22];
  flag[3] += flag[16];
  flag[30] ^= flag[12];
  flag[15] += flag[6];
  flag[21] ^= flag[9];
  flag[23] += 33;
  flag[26] -= 55;
  flag[9] += flag[24];
  flag[20] += flag[10];
  flag[0] ^= flag[17];
  flag[23] ^= flag[0];
  flag[1] -= 55;
  flag[30] -= 55;
  flag[17] -= flag[19];
  flag[29] += flag[15];
  flag[2] += flag[26];
  flag[2] ^= flag[13];
  flag[0] -= 54;
  flag[10] += 33;
  flag[15] -= 54;
  flag[12] -= 55;
  flag[31] ^= flag[24];
  flag[3] ^= flag[19];
  flag[14] += flag[22];
  flag[31] ^= flag[21];
  flag[3] += flag[6];
  flag[4] ^= flag[28];
  flag[14] ^= flag[16];
  flag[6] += 33;
  flag[23] += 33;
  flag[4] -= flag[19];
  flag[28] ^= flag[29];
  flag[31] ^= flag[13];
  flag[19] -= 55;
  flag[30] -= flag[25];
  flag[30] ^= flag[7];
  flag[4] -= 55;
  flag[20] -= flag[9];
  flag[8] += flag[6];
  flag[19] += flag[29];
  flag[7] ^= flag[19];
  flag[11] += flag[22];
  flag[29] += 33;
  flag[17] -= 55;
  flag[6] += flag[31];
  flag[31] ^= flag[23];
  flag[22] += flag[21];
  flag[9] += flag[30];
  flag[13] ^= flag[28];
  flag[3] -= flag[22];
  flag[10] ^= flag[13];
  flag[27] += flag[18];
  flag[15] += flag[1];
  flag[5] ^= flag[16];
  flag[24] -= flag[15];
  flag[1] += flag[28];
  flag[4] += flag[27];
  flag[20] ^= flag[28];
  flag[31] -= 54;
  flag[20] += flag[2];
  flag[31] ^= flag[26];
  flag[6] += flag[10];
  flag[24] -= 54;
  flag[29] ^= flag[15];
  flag[6] -= 55;
  flag[21] -= 54;
  flag[8] += flag[13];
  flag[4] += flag[5];
  flag[12] ^= flag[18];
  flag[21] -= flag[0];
  flag[23] += 33;
  flag[24] -= 55;
  flag[24] -= flag[22];
  flag[0] -= 55;
  flag[12] -= flag[27];
  flag[13] -= 55;
  flag[11] ^= flag[4];
  flag[18] -= 55;
  flag[30] += flag[15];
  flag[20] -= 54;
  flag[15] += 33;
  flag[8] ^= flag[20];
  flag[27] -= flag[17];
  flag[12] += flag[11];
  flag[23] -= flag[6];
  flag[1] += flag[10];
  flag[8] -= flag[1];
  flag[15] += flag[26];
  flag[19] += flag[17];
  flag[18] += 33;
  flag[18] -= flag[31];
  flag[13] ^= flag[8];
  flag[5] -= flag[1];
  flag[3] += flag[10];
  flag[6] += flag[30];
  flag[17] += flag[10];
  flag[5] ^= flag[24];
  flag[30] ^= flag[29];
  flag[15] ^= flag[29];
  flag[2] += 33;
  flag[11] -= 54;
  flag[29] += flag[14];
  flag[26] ^= flag[1];
  flag[29] ^= flag[21];
  flag[6] ^= flag[24];
  flag[14] += flag[17];
  flag[27] -= flag[24];
  flag[4] ^= flag[7];
  flag[17] -= 55;
  flag[4] += flag[14];
  flag[7] += flag[11];
  flag[10] ^= flag[24];
  flag[23] -= 54;
  flag[19] -= 55;
  flag[1] ^= flag[14];
  flag[8] += 33;
  flag[16] += flag[19];
  flag[16] -= 55;
  flag[30] += flag[28];
  flag[10] -= 54;
  flag[29] += flag[9];
  flag[1] ^= flag[25];
  flag[6] ^= flag[10];
  flag[25] += flag[15];
  flag[15] ^= flag[14];
  flag[29] -= 55;
  flag[10] += 33;
  flag[20] ^= flag[8];
  flag[20] += flag[25];
  flag[28] -= flag[11];
  flag[7] -= 55;
  flag[13] ^= flag[27];
  flag[9] -= 55;
  flag[9] += flag[19];
  flag[21] ^= flag[29];
  flag[11] ^= flag[31];
  flag[6] ^= flag[30];
  flag[20] += 33;
  flag[16] -= 55;
  flag[4] ^= flag[9];
  flag[1] ^= flag[26];
  flag[5] -= 54;
  flag[6] -= 54;
  flag[23] -= 54;
  flag[24] += flag[22];
  flag[5] += flag[15];
  flag[9] -= 55;
  flag[15] ^= flag[1];
  flag[29] += 33;
  flag[10] ^= flag[29];
  flag[5] -= 54;
  flag[9] -= 54;
  flag[19] ^= flag[30];
  flag[16] -= 55;
  flag[8] += flag[7];
  flag[12] -= 55;
  flag[11] += 33;
  flag[25] += flag[12];
  flag[1] -= flag[12];
  flag[15] += 33;
  flag[14] ^= flag[7];
  flag[25] ^= flag[12];
  flag[17] -= flag[6];
  flag[18] -= 55;
  flag[15] += flag[25];
  flag[4] ^= flag[0];
  flag[22] += 33;
  flag[9] += flag[18];
  flag[5] -= 54;
  flag[22] += flag[2];
  flag[14] -= 54;
  flag[14] ^= flag[9];
  flag[3] -= 54;
  flag[29] += flag[3];
  flag[13] += flag[6];
  flag[8] += flag[3];
  flag[24] += flag[25];
  flag[30] -= 55;
  flag[30] ^= flag[9];
  flag[8] ^= flag[27];
  flag[10] += flag[28];
  flag[8] -= 54;
  flag[23] ^= flag[14];
  flag[4] += flag[17];
  flag[26] -= 54;
  flag[3] += flag[6];
  flag[17] += flag[5];
  flag[24] ^= flag[19];
  flag[17] -= flag[3];
  flag[0] -= flag[13];
  flag[11] -= flag[22];
  flag[5] -= flag[13];
  flag[10] -= flag[24];
  flag[17] += flag[12];
  flag[2] += flag[15];
  flag[28] += flag[23];
  flag[4] += 33;
  flag[2] ^= flag[15];
  flag[14] += 33;
  flag[28] ^= flag[23];
  flag[12] -= 55;
  flag[10] ^= flag[6];
  flag[31] += 33;
  flag[29] -= 54;
  flag[5] -= 54;
  flag[8] -= 54;
  flag[6] -= 54;
  flag[15] ^= flag[24];
  flag[26] ^= flag[27];
  flag[1] -= flag[17];
  flag[2] += 33;
  flag[28] += flag[4];
  flag[27] += flag[18];
  flag[7] += flag[15];
  flag[18] += flag[21];
  flag[26] += flag[18];
  flag[4] += 33;
  flag[13] -= 54;
  flag[26] += flag[9];
  flag[14] += flag[26];
  flag[21] -= 54;
  flag[17] += flag[18];
  flag[0] += 33;
  flag[27] += flag[12];
  flag[30] ^= flag[23];
  flag[27] += flag[10];
  flag[2] += flag[18];
  flag[29] += flag[11];
  flag[7] += flag[26];
  flag[10] += flag[9];
  flag[18] ^= flag[27];
  flag[18] -= 54;
  flag[16] -= flag[7];
  flag[3] ^= flag[17];
  flag[28] += 33;
  flag[24] -= flag[1];
  flag[6] += flag[22];
  flag[23] ^= flag[6];
  flag[18] += 33;
  flag[14] ^= flag[19];
  flag[2] ^= flag[1];
  flag[5] += flag[29];
  flag[18] += flag[17];
  flag[30] += flag[9];
  flag[3] += flag[15];
  flag[28] -= 54;
  flag[22] -= 55;
  flag[5] += 33;
  flag[11] += 33;
  flag[24] -= flag[9];
  flag[23] += flag[7];
  flag[25] ^= flag[20];
  flag[13] += flag[23];
  flag[15] -= 55;
  flag[13] -= 54;
  flag[10] ^= flag[26];
  flag[14] += flag[25];
  flag[29] += flag[3];
  flag[24] += 33;
  flag[15] += 33;
  flag[29] ^= flag[23];
  flag[12] -= 55;
  flag[18] ^= flag[9];
  flag[30] ^= flag[28];
  flag[7] ^= flag[0];
  flag[1] += 33;
  flag[30] -= 55;
  flag[17] -= 55;
  flag[16] -= 54;
  flag[4] += flag[25];
  flag[21] += flag[20];
  flag[1] -= 54;
  flag[18] += flag[3];
  flag[30] -= 54;
  flag[26] -= 55;
  flag[16] ^= flag[22];
  flag[16] ^= flag[29];
  flag[11] ^= flag[5];
  flag[28] += 33;
  flag[20] ^= flag[16];
  flag[12] ^= flag[1];
  flag[18] += flag[14];
  flag[12] -= 55;
  flag[26] -= 54;
  flag[6] ^= flag[5];
  flag[27] ^= flag[21];
  flag[15] ^= flag[31];
  flag[14] -= 54;
  flag[2] -= 54;
  flag[7] -= 54;
  flag[15] += flag[11];
  flag[8] ^= flag[10];
  flag[16] += flag[15];
  flag[9] ^= flag[29];
  flag[16] += flag[31];
  flag[17] ^= flag[21];
  flag[13] += flag[29];
  flag[15] -= flag[9];
  flag[28] -= 55;
  flag[26] += flag[3];
  flag[18] ^= flag[21];
  flag[19] ^= flag[2];
  flag[9] ^= flag[21];
  flag[4] += 33;
  flag[11] -= 55;
  flag[4] ^= flag[27];
  flag[11] ^= flag[24];
  flag[12] -= 55;
  flag[11] -= 55;
  flag[21] ^= flag[9];
  flag[0] ^= flag[2];
  flag[20] -= 54;
  flag[24] ^= flag[4];
  flag[20] ^= flag[0];
  flag[0] -= 55;
  flag[10] += flag[14];
  flag[2] ^= flag[10];
  flag[0] ^= flag[31];
  flag[0] -= flag[2];
  flag[25] -= flag[27];
  flag[25] -= flag[11];
  flag[17] -= 54;
  flag[9] ^= flag[4];
  flag[27] -= flag[11];
  flag[14] ^= flag[24];
  flag[31] -= flag[29];
  flag[8] -= 54;
  flag[25] += flag[30];
  flag[5] += 33;
  flag[23] -= 55;
  flag[10] += flag[23];
  flag[9] ^= flag[8];
  flag[17] -= 54;
  flag[21] -= flag[18];
  flag[16] ^= flag[4];
  flag[19] += flag[22];
  flag[13] += flag[12];
  flag[24] += 33;
  flag[6] += 33;
  flag[21] ^= flag[1];
  flag[19] -= 54;
  flag[28] ^= flag[10];
  flag[25] ^= flag[16];
  flag[2] -= 54;
  flag[25] -= 54;
  flag[2] += 33;
  flag[9] += flag[31];
  flag[9] ^= flag[20];
  flag[28] -= flag[17];
  flag[1] += flag[28];
  flag[7] += flag[8];
  flag[0] -= 54;
  flag[27] -= 55;
  flag[30] ^= flag[13];
  flag[18] ^= flag[11];
  flag[17] += flag[0];
  flag[17] += flag[19];
  flag[9] -= 54;
  flag[20] ^= flag[8];
  flag[2] += flag[11];
  flag[25] ^= flag[19];
  flag[19] -= 54;
  flag[15] -= flag[29];
  flag[24] ^= flag[11];
  flag[2] -= 54;
  flag[1] ^= flag[21];
  flag[15] += flag[18];
  flag[14] ^= flag[10];
  flag[29] -= flag[3];
  flag[12] += flag[23];
  flag[30] += flag[6];
  flag[27] += flag[5];
  flag[6] ^= flag[31];
  flag[0] ^= flag[5];
  flag[10] += flag[13];
  flag[15] += flag[27];
  flag[5] += 33;
  flag[24] -= 54;
  flag[20] += flag[7];
  flag[20] ^= flag[27];
  flag[25] += flag[1];
  flag[24] += flag[29];
  flag[15] ^= flag[11];
  flag[18] += flag[6];
  flag[2] -= 55;
  flag[23] += 33;
  flag[2] += flag[23];
  flag[28] ^= flag[9];
  flag[27] -= 55;
  flag[19] ^= flag[5];
  flag[9] ^= flag[19];
  flag[30] ^= flag[24];
  flag[22] ^= flag[9];
  flag[5] += flag[6];
  flag[21] -= 55;
  flag[5] += flag[20];
  flag[1] += 33;
  flag[19] += flag[0];
  flag[29] += flag[30];
  flag[10] -= 54;
  flag[26] += flag[30];
  flag[24] += 33;
  flag[18] ^= flag[8];
  flag[30] += flag[14];
  flag[25] ^= flag[3];
  flag[4] += 33;
  flag[16] -= 54;
  flag[25] += flag[13];
  flag[23] -= 54;
  flag[5] -= 55;
  flag[26] ^= flag[15];
  flag[25] += flag[21];
  flag[2] -= 55;
  flag[17] ^= flag[2];
  flag[14] ^= flag[25];
  flag[8] += flag[17];
  flag[22] -= 54;
  flag[29] -= 54;
  flag[10] += flag[9];
  flag[5] ^= flag[17];
  flag[9] -= flag[26];
  flag[3] ^= flag[23];
  flag[8] -= 55;
  flag[19] += flag[7];
  flag[31] -= 54;
  flag[25] += flag[10];
  flag[18] += 33;
  flag[24] -= flag[28];
  flag[23] ^= flag[28];
  flag[17] -= 55;
  flag[26] += flag[11];
  flag[12] ^= flag[17];
  flag[15] -= 54;
  flag[23] -= 54;
  flag[23] ^= flag[9];
  flag[22] ^= flag[7];
  flag[11] += flag[20];
  flag[12] += flag[30];
  flag[21] -= flag[0];
  flag[12] += flag[25];
  flag[1] ^= flag[16];
  flag[4] += flag[2];
  flag[13] -= flag[8];
  flag[8] += 33;
  flag[21] += flag[10];
  flag[25] ^= flag[11];
  flag[12] -= flag[2];
  flag[5] += flag[22];
  flag[6] += flag[10];
  flag[4] += flag[23];
  flag[4] += flag[14];
  flag[31] -= flag[21];
  flag[13] ^= flag[20];
  flag[10] ^= flag[26];
  flag[21] += flag[29];
  flag[31] -= 54;
  flag[0] ^= flag[20];
  flag[15] += 33;
  flag[9] -= 55;
  flag[7] ^= flag[19];
  flag[1] -= 54;
  flag[29] -= 55;
  flag[19] += flag[13];
  flag[26] -= flag[14];
  flag[11] += 33;
  flag[12] -= 55;
  flag[30] += 33;
  flag[12] += 33;
  flag[20] -= 55;
  flag[23] ^= flag[17];
  flag[7] += flag[29];
  flag[22] -= 54;
  flag[17] -= 54;
  flag[27] -= 55;
  flag[0] += flag[19];
  flag[6] += 33;
  flag[24] -= 55;
  flag[4] -= 55;
  flag[12] -= 55;
  flag[20] ^= flag[12];
  flag[16] ^= flag[3];
  flag[23] += flag[5];
  flag[29] += 33;
  flag[30] += flag[20];
  flag[16] += flag[17];
  flag[15] += 33;
  flag[1] -= flag[25];
  flag[1] ^= flag[5];
  flag[25] += 33;
  flag[26] += flag[21];
  flag[10] += flag[17];
  flag[0] -= 54;
  flag[6] ^= flag[22];
  flag[24] += flag[9];
  flag[17] ^= flag[18];
  flag[16] ^= flag[1];
  flag[29] += flag[8];
  flag[0] ^= flag[26];
  flag[23] += flag[19];
  flag[7] ^= flag[19];
  flag[19] -= flag[1];
  flag[12] -= 55;
  flag[17] += flag[10];
  flag[23] -= 55;
  flag[13] ^= flag[19];
  flag[21] ^= flag[14];
  flag[11] -= 55;
  flag[13] ^= flag[21];
  flag[1] ^= flag[27];
  flag[17] ^= flag[20];
  flag[8] += flag[7];
  flag[22] -= 54;
  flag[6] += flag[16];
  flag[31] += flag[10];
  flag[23] ^= flag[21];
  flag[23] -= 54;
  flag[14] += flag[19];
  flag[8] ^= flag[28];
  flag[4] -= 54;
  flag[2] -= flag[31];
  flag[24] += flag[9];
  flag[2] ^= flag[25];
  flag[9] -= 55;
  flag[30] ^= flag[24];
  flag[31] ^= flag[16];
  flag[14] -= 54;
  flag[3] -= 54;
  flag[28] -= 54;
  flag[17] -= 54;
  flag[30] += 33;
  flag[20] += flag[9];
  flag[24] -= flag[28];
  flag[10] += flag[29];
  flag[15] ^= flag[3];
  flag[12] -= flag[0];
  flag[6] -= flag[11];
  flag[21] ^= flag[12];
  flag[29] += flag[0];
  flag[29] += flag[15];
  flag[6] -= 55;
  flag[18] -= 54;
  flag[18] += flag[20];
  flag[27] -= flag[30];
  flag[11] += flag[21];
  flag[28] += flag[19];
  flag[3] += flag[8];
  flag[2] += flag[29];
  flag[30] ^= flag[21];
  flag[13] += flag[3];
  flag[18] -= 55;
  flag[14] += flag[2];
  flag[17] += flag[1];
  flag[29] += flag[16];
  flag[19] += flag[6];
  flag[14] ^= flag[26];
  flag[4] -= flag[29];
  flag[30] += 33;
  flag[12] += 33;
  flag[24] += flag[3];
  flag[24] ^= flag[11];
  flag[14] += flag[15];
  flag[24] ^= flag[29];
  flag[9] -= 55;
  flag[31] += flag[16];
  flag[10] -= flag[26];
  flag[29] -= 55;
  flag[15] += flag[25];
  flag[10] -= flag[17];
  flag[13] += flag[29];
  flag[25] ^= flag[11];
  flag[14] -= 55;
  flag[8] += flag[28];
  flag[26] += flag[4];
  flag[0] += flag[30];
  flag[3] ^= flag[18];
  flag[8] -= flag[2];
  flag[30] ^= flag[31];
  flag[5] ^= flag[22];
  flag[22] -= 54;
  flag[15] ^= flag[31];
  flag[16] += flag[20];
  flag[21] ^= flag[24];
  flag[28] += 33;
  flag[17] -= 55;
  flag[25] += flag[14];
  flag[22] += 33;
  flag[15] -= 54;
  flag[4] -= 55;
  flag[5] += flag[13];
  flag[28] ^= flag[13];
  flag[4] ^= flag[12];
  flag[31] += 33;
  flag[14] ^= flag[11];
  flag[0] += 33;
  flag[21] ^= flag[3];
  flag[10] -= flag[14];
  flag[11] ^= flag[4];
  flag[24] ^= flag[0];
  flag[13] -= flag[12];
  flag[14] ^= flag[17];
  flag[30] ^= flag[7];
  flag[8] -= 55;
  flag[24] -= 55;
  flag[3] += flag[10];
  flag[23] ^= flag[3];
  flag[29] ^= flag[21];
  flag[21] -= 54;
  flag[24] += flag[18];
  flag[31] ^= flag[8];
  flag[29] -= flag[3];
  flag[2] -= flag[26];
  flag[27] ^= flag[3];
  flag[15] += 33;
  flag[2] ^= flag[3];
  flag[31] += flag[26];
  flag[6] += flag[14];
  flag[9] += flag[31];
  flag[13] ^= flag[4];
  flag[31] += 33;
  flag[13] += flag[11];
  flag[7] += flag[16];
  flag[16] -= 54;
  flag[1] -= 54;
  flag[10] -= flag[2];
  flag[7] ^= flag[15];
  flag[12] ^= flag[17];
  flag[17] += 33;
  flag[25] += flag[24];
  flag[12] ^= flag[3];
  flag[13] += flag[20];
  flag[29] -= flag[14];
  flag[8] -= 54;
  flag[3] -= 55;
  flag[28] ^= flag[8];
  flag[25] ^= flag[17];
  flag[31] ^= flag[25];
  flag[30] += 33;
  flag[16] += 33;
  flag[10] += flag[6];
  flag[16] ^= flag[30];
  flag[27] ^= flag[10];
  flag[7] += flag[28];
  flag[27] -= 54;
  flag[13] ^= flag[29];
  flag[23] -= 55;
  flag[13] += flag[18];
  flag[19] += flag[26];
  flag[18] += flag[23];
  flag[15] -= 54;
  flag[22] -= 54;
  flag[15] ^= flag[11];
  flag[13] += flag[3];
  flag[14] -= flag[1];
  flag[21] ^= flag[20];
  flag[14] += flag[23];
  flag[13] += flag[24];
  flag[12] ^= flag[13];
  flag[2] += flag[19];
  flag[13] += flag[25];
  flag[5] -= 55;
  flag[17] += flag[8];
  flag[9] += flag[24];
  flag[22] ^= flag[31];
  flag[16] -= 54;
  flag[14] -= 55;
  flag[13] += flag[19];
  flag[14] -= flag[11];
  flag[7] += flag[23];
  flag[28] ^= flag[29];
  flag[0] ^= flag[16];
  flag[27] ^= flag[31];
  flag[17] += 33;
  flag[31] ^= flag[17];
  flag[15] -= flag[18];
  flag[5] += flag[30];
  flag[14] += flag[3];
  flag[17] += flag[11];
  flag[18] -= 54;
  flag[10] ^= flag[28];
  flag[9] -= 55;
  flag[1] ^= flag[22];
  flag[17] -= 54;
  flag[12] ^= flag[27];
  flag[15] += 33;
  flag[21] ^= flag[16];
  flag[19] -= flag[14];
  flag[31] += 33;
  flag[20] -= 55;
  flag[29] ^= flag[18];
  flag[9] += flag[11];
  flag[31] -= 55;
  flag[10] -= flag[24];
  flag[30] += flag[20];
  flag[19] -= flag[15];
  flag[25] ^= flag[6];
  flag[31] -= 55;
  flag[26] -= flag[14];
  flag[16] ^= flag[12];
  flag[6] -= flag[26];
  flag[8] ^= flag[11];
  flag[13] ^= flag[20];
  flag[27] -= flag[22];
  flag[17] ^= flag[10];
  flag[18] ^= flag[30];
  flag[3] ^= flag[10];
  flag[31] ^= flag[23];
  flag[24] += flag[20];
  flag[8] += flag[28];
  flag[15] += flag[14];
  flag[9] ^= flag[14];
  flag[17] += flag[21];
  flag[0] ^= flag[12];
  flag[30] += 33;
  flag[4] -= 55;
  flag[0] += flag[27];
  flag[7] += flag[2];
  flag[9] += 33;
  flag[30] ^= flag[8];
  flag[3] += flag[28];
  flag[17] -= 54;
  flag[13] -= 55;
  flag[18] += flag[2];
  flag[22] -= flag[12];
  flag[12] += flag[6];
  flag[2] -= 54;
  flag[11] ^= flag[28];
  flag[28] += flag[20];
  flag[18] += flag[22];
  flag[7] -= 54;
  flag[15] -= 55;
  flag[1] -= 54;
  flag[30] -= 55;
  flag[9] -= 54;
  flag[1] ^= flag[19];
  flag[4] ^= flag[23];
  flag[15] ^= flag[21];
  flag[10] -= flag[8];
  flag[11] ^= flag[17];
  flag[29] += flag[15];
  flag[0] -= 55;
  flag[27] += flag[10];
  flag[17] += 33;
  flag[13] ^= flag[30];
  flag[29] ^= flag[11];
  flag[10] += flag[27];
  flag[16] ^= flag[28];
  flag[5] ^= flag[24];
  flag[18] += flag[16];
  flag[3] -= 55;
  flag[25] -= 55;
  flag[10] += flag[21];
  flag[3] += flag[21];
  flag[31] += flag[1];
  flag[10] ^= flag[27];
  flag[7] ^= flag[9];
  flag[16] ^= flag[28];
  flag[7] += flag[19];
  flag[10] -= 54;
  flag[24] -= flag[14];
  flag[13] += flag[26];
  flag[29] -= flag[1];
  flag[28] ^= flag[6];
  flag[29] -= flag[17];
  flag[0] ^= flag[10];
  flag[23] += flag[21];
  flag[1] ^= flag[16];
  flag[12] += flag[10];
  flag[23] -= 54;
  flag[16] += flag[15];
  flag[10] += flag[30];
  flag[31] += flag[29];
  flag[20] += flag[24];
  flag[21] -= 55;
  flag[21] -= 54;
  flag[12] ^= flag[29];
  flag[13] += 33;
  flag[1] ^= flag[17];
  flag[7] -= 54;
  flag[8] ^= flag[11];
  flag[3] ^= flag[31];
  flag[28] ^= flag[31];
  flag[13] ^= flag[1];
  flag[21] += flag[24];
  flag[27] += 33;
  flag[7] -= 55;
  flag[18] += flag[27];
  flag[28] -= 55;
  flag[29] += flag[3];
  flag[11] += 33;
  flag[28] += flag[11];
  flag[8] ^= flag[23];
  flag[5] -= flag[16];
  flag[19] += flag[9];
  flag[11] += flag[7];
  flag[20] ^= flag[12];
  flag[15] -= 54;
  flag[30] ^= flag[16];
  flag[8] -= 54;
  flag[28] -= 54;
  flag[31] -= 54;
  flag[29] += flag[26];
  flag[11] ^= flag[4];
  flag[4] += flag[17];
  flag[10] ^= flag[17];
  flag[29] += flag[11];
  flag[10] += flag[3];
  flag[27] += flag[1];
  flag[0] += flag[5];
  flag[9] ^= flag[21];
  flag[9] += 33;
  flag[19] += flag[1];
  flag[16] += flag[26];
  flag[19] += flag[26];
  flag[22] ^= flag[28];
  flag[30] -= 55;
  flag[8] ^= flag[10];
  flag[12] -= 55;
  flag[26] -= 54;
  flag[24] -= 54;
  flag[17] -= flag[14];
  flag[29] -= 55;
  flag[29] -= 54;
  flag[8] += 33;
  flag[16] ^= flag[14];
  flag[4] -= 55;
  flag[20] ^= flag[16];
  flag[21] += 33;
  flag[30] ^= flag[3];
  flag[5] ^= flag[8];
  flag[2] -= 55;
  flag[8] += flag[15];
  flag[30] -= flag[20];
  flag[23] -= 54;
  flag[21] += flag[11];
  flag[8] -= 54;
  flag[11] ^= flag[24];
  flag[4] += 33;
  flag[25] ^= flag[9];
  flag[13] += 33;
  flag[0] += 33;
  flag[7] += flag[28];
  flag[15] += flag[27];
  flag[31] ^= flag[26];
  flag[17] -= flag[12];
  flag[6] += flag[9];
  flag[11] -= 54;
  flag[23] -= flag[4];
  flag[27] -= 55;
  flag[21] += flag[14];
  flag[29] -= flag[31];
  flag[1] -= flag[5];
  flag[25] -= flag[17];
  flag[15] += flag[19];
  flag[31] ^= flag[21];
  flag[30] += flag[19];
  flag[6] ^= flag[23];
  flag[4] -= 54;
  flag[7] -= 55;
  flag[0] ^= flag[17];
  flag[0] ^= flag[14];
  flag[17] += 33;
  flag[17] += flag[8];
  flag[17] -= flag[25];
  flag[4] ^= flag[3];
  flag[8] -= flag[16];
  flag[2] += flag[1];
  flag[20] -= 55;
  flag[27] ^= flag[16];
  flag[20] ^= flag[0];
  flag[4] ^= flag[19];
  flag[24] += flag[15];
  flag[23] -= 55;
  flag[8] ^= flag[19];
  flag[17] += flag[20];
  flag[12] -= 54;
  flag[20] -= flag[6];
  flag[18] += flag[3];
  flag[16] -= 55;
  flag[9] -= flag[4];
  flag[27] += flag[19];
  flag[1] += flag[22];
  flag[29] ^= flag[16];
  flag[16] -= 55;
  flag[19] += flag[10];
  flag[9] += flag[28];
  flag[15] += flag[7];
  flag[26] += 33;
  flag[29] -= 55;
  flag[4] ^= flag[17];
  flag[29] -= flag[4];
  flag[20] += flag[0];
  flag[5] ^= flag[27];
  flag[8] += flag[11];
  flag[27] -= flag[31];
  flag[31] += 33;
  flag[12] ^= flag[19];
  flag[29] -= 54;
  flag[27] -= 55;
  flag[3] += flag[30];
  flag[12] += flag[7];
  flag[5] += flag[3];
  flag[19] ^= flag[2];
  flag[25] ^= flag[18];
  flag[7] ^= flag[22];
  flag[22] -= 55;
  flag[11] += flag[19];
  flag[21] += 33;
  flag[12] -= flag[28];
  flag[10] ^= flag[6];
  flag[8] += 33;
  flag[4] -= 55;
  flag[22] += flag[8];
  flag[1] += 33;
  flag[24] -= 54;
  flag[11] += flag[4];
  flag[3] -= 55;
  flag[16] ^= flag[6];
  flag[28] += flag[1];
  flag[8] += 33;
  flag[1] += 33;
  flag[17] -= 54;
  flag[27] += flag[21];
  flag[13] += 33;
  flag[0] += flag[19];
  flag[10] ^= flag[13];
  flag[31] += flag[3];
  flag[9] ^= flag[23];
  flag[5] += flag[11];
  flag[8] -= flag[10];
  flag[24] -= 55;
  flag[7] ^= flag[28];
  flag[17] ^= flag[0];
  flag[10] ^= flag[6];
  flag[28] -= 55;
  flag[8] += flag[15];
  flag[10] ^= flag[28];
  flag[8] += flag[24];
  flag[28] ^= flag[18];
  flag[11] += flag[13];
  flag[14] ^= flag[8];
  flag[1] += 33;
  flag[27] -= 55;
  flag[17] += 33;
  flag[14] -= flag[2];
  flag[16] += flag[3];
  flag[21] ^= flag[18];
  flag[23] += flag[29];
  flag[30] -= 54;
  flag[3] -= 55;
  flag[25] ^= flag[30];
  flag[21] -= flag[8];
  flag[25] += flag[29];
  flag[0] += flag[10];
  flag[13] += flag[26];
  flag[9] ^= flag[30];
  flag[6] += flag[17];
  flag[11] += flag[7];
  flag[12] -= flag[14];
  flag[28] ^= flag[21];
  flag[31] += flag[1];
  flag[7] -= flag[23];
  flag[3] += flag[6];
  flag[9] += 33;
  flag[15] += flag[11];
  flag[6] ^= flag[11];
  flag[21] -= 55;
  flag[15] -= flag[18];
  flag[6] += flag[4];
  flag[20] += flag[3];
  flag[26] ^= flag[12];
  flag[7] -= flag[29];
  flag[13] += flag[25];
  flag[22] -= 55;
  flag[23] += flag[0];
  flag[21] ^= flag[26];
  flag[8] ^= flag[4];
  flag[17] += flag[19];
  flag[20] -= 54;
  flag[3] -= flag[31];
  flag[23] += 33;
  flag[11] -= 54;
  flag[22] += flag[13];
  flag[4] += 33;
  flag[11] -= flag[8];
  flag[5] += flag[8];
  flag[6] -= 54;
  flag[6] += flag[19];
  flag[30] ^= flag[29];
  flag[19] ^= flag[20];
  flag[16] += flag[19];
  flag[12] += flag[23];
  flag[19] ^= flag[28];
  flag[23] -= 55;
  flag[10] += flag[19];
  flag[9] ^= flag[24];
  flag[23] ^= flag[31];
  flag[19] += 33;
  flag[0] ^= flag[17];
  flag[10] -= flag[26];
  flag[13] += flag[27];
  flag[13] ^= flag[8];
  flag[31] -= 54;
  flag[15] -= 54;
  flag[18] ^= flag[14];
  flag[16] += 33;
  flag[19] -= 54;
  flag[1] ^= flag[0];
  flag[13] += flag[8];
  flag[20] ^= flag[19];
  flag[19] += flag[28];
  flag[9] -= 54;
  flag[19] ^= flag[11];
  flag[16] += 33;
  flag[30] -= flag[25];
  flag[23] += flag[2];
  flag[5] -= 54;
  flag[11] += flag[0];
  flag[30] ^= flag[18];
  flag[1] ^= flag[7];
  flag[28] -= flag[30];
  flag[21] += 33;
  flag[17] -= 54;
  flag[6] += flag[24];
  flag[22] += flag[29];
  flag[4] ^= flag[27];
  flag[13] += 33;
  flag[26] ^= flag[27];
  flag[5] -= 54;
  flag[22] ^= flag[11];
  flag[23] ^= flag[27];
  flag[16] += flag[6];
  flag[6] += flag[4];
  flag[23] ^= flag[6];
  flag[15] -= 55;
  flag[28] -= 54;
  flag[29] ^= flag[4];
  flag[24] += flag[15];
  flag[28] -= 55;
  flag[17] ^= flag[22];
  flag[25] += flag[7];
  flag[27] ^= flag[25];
  flag[28] += flag[14];
  flag[26] ^= flag[21];
  flag[7] ^= flag[28];
  flag[26] -= flag[22];
  flag[18] += flag[5];
  flag[10] -= 55;
  flag[28] += flag[7];
  flag[26] -= 54;
  flag[29] -= 54;
  flag[24] += 33;
  flag[18] -= flag[2];
  flag[2] += flag[25];
  flag[22] += flag[10];
  flag[2] -= 55;
  flag[9] += flag[14];
  flag[25] += flag[20];
  flag[1] ^= flag[26];
  flag[25] ^= flag[24];
  flag[21] ^= flag[10];
  flag[19] -= 55;
  flag[26] += flag[12];
  flag[24] += flag[13];
  flag[20] ^= flag[9];
  flag[30] ^= flag[15];
  flag[1] -= 55;
  flag[4] -= 54;
  flag[30] += flag[3];
  flag[7] += 33;
  flag[6] ^= flag[19];
  flag[21] ^= flag[11];
  flag[3] -= 55;
  flag[6] -= flag[26];
  flag[3] += 33;
  flag[23] -= flag[25];
  flag[15] -= flag[19];
  flag[24] += flag[3];
  flag[15] += flag[30];
  flag[20] += flag[27];
  flag[12] ^= flag[22];
  flag[26] += flag[1];
  flag[3] -= 55;
  flag[31] ^= flag[26];
  flag[27] ^= flag[13];
  flag[5] -= 54;
  flag[1] -= 54;
  flag[21] += flag[17];
  flag[7] += 33;
  flag[14] += 33;
  flag[0] += flag[9];
  flag[30] ^= flag[0];
  flag[11] ^= flag[0];
  flag[21] += flag[9];
  flag[28] += 33;
  flag[7] += 33;
  flag[3] += 33;
  flag[7] += 33;
  flag[21] -= 54;
  flag[17] += 33;
  flag[4] += 33;
  flag[11] -= 55;
  flag[16] += 33;
  flag[15] -= 55;
  flag[22] ^= flag[15];
  flag[20] ^= flag[27];
  flag[14] -= flag[8];
  flag[22] -= flag[19];
  flag[29] += flag[4];
  flag[30] ^= flag[21];
  flag[14] -= flag[29];
  flag[4] += flag[24];
  flag[6] -= flag[3];
  flag[16] -= 54;
  flag[20] ^= flag[12];
  flag[14] += 33;
  flag[6] -= 54;
  flag[16] ^= flag[17];
  flag[13] += flag[1];
  flag[27] -= flag[7];
  flag[30] -= flag[9];
  flag[5] -= 54;
  flag[22] += flag[30];
  flag[20] += flag[9];
  flag[11] ^= flag[29];
  flag[15] += 33;
  flag[25] -= flag[12];
  flag[0] ^= flag[19];
  flag[5] -= 55;
  flag[8] -= 55;
  flag[19] ^= flag[31];
  flag[30] += flag[20];
  flag[11] -= flag[14];
  flag[17] += flag[26];
  flag[11] += flag[23];
  flag[22] ^= flag[19];
  flag[23] += 33;
  flag[18] -= 55;
  flag[15] += 33;
  flag[24] ^= flag[12];
  flag[30] -= 54;
  flag[29] -= flag[5];
  flag[5] += flag[6];
  flag[23] ^= flag[22];
  flag[8] += 33;
  flag[19] += 33;
  flag[24] -= flag[10];
  flag[1] += 33;
  flag[28] ^= flag[4];
  flag[16] ^= flag[2];
  flag[25] ^= flag[4];
  flag[2] += flag[14];
  flag[17] ^= flag[16];
  flag[7] -= 55;
  flag[10] += flag[17];
  flag[11] -= 54;
  flag[4] ^= flag[27];
  flag[2] ^= flag[3];
  flag[17] -= 55;
  flag[3] -= 54;
  flag[26] -= 54;
  flag[9] ^= flag[16];
  flag[17] -= flag[20];
  flag[5] -= flag[8];
  flag[4] += 33;
  flag[24] += flag[11];
  flag[9] += flag[17];
  flag[4] ^= flag[14];
  flag[29] += flag[15];
  flag[11] += flag[31];
  flag[19] += flag[18];
  flag[2] += 33;
  flag[25] ^= flag[31];
  flag[23] += flag[29];
  flag[8] += flag[9];
  flag[31] += flag[22];
  flag[6] -= 55;
  flag[19] ^= flag[16];
  flag[6] ^= flag[30];
  flag[19] ^= flag[27];
  flag[3] -= 55;
  flag[2] ^= flag[27];
  flag[28] += flag[0];
  flag[23] -= flag[21];
  flag[15] += flag[27];
  flag[24] -= 55;
  flag[17] -= flag[15];
  flag[29] += flag[23];
  flag[15] ^= flag[9];
  flag[15] -= 54;
  flag[16] -= flag[1];
  flag[20] += flag[6];
  flag[22] ^= flag[11];
  flag[7] ^= flag[20];
  flag[20] ^= flag[26];
  flag[28] += flag[25];
  flag[19] ^= flag[16];
  flag[18] += 33;
  flag[25] ^= flag[12];
  flag[25] += flag[28];
  flag[29] ^= flag[12];
  flag[29] += flag[22];
  flag[24] += flag[25];
  flag[16] -= flag[6];
  flag[26] += flag[1];
  flag[19] ^= flag[3];
  flag[9] -= flag[14];
  flag[11] -= 54;
  flag[3] ^= flag[28];
  flag[22] ^= flag[26];
  flag[7] += 33;
  flag[17] += flag[7];
  flag[13] -= 54;
  flag[16] += 33;
  flag[30] += flag[18];
  flag[9] ^= flag[22];
  flag[1] += flag[20];
  flag[21] -= flag[27];
  flag[17] += flag[0];
  flag[17] -= 54;
  flag[23] -= flag[16];
  flag[27] ^= flag[21];
  flag[30] ^= flag[17];
  flag[2] ^= flag[16];
  flag[23] ^= flag[15];
  flag[5] += 33;
  flag[17] -= 54;
  flag[9] ^= flag[26];
  flag[9] += flag[13];
  flag[11] += flag[31];
  flag[20] ^= flag[30];
  flag[9] += flag[28];
  flag[19] ^= flag[30];
  flag[3] -= 54;
  flag[27] -= flag[15];
  flag[21] -= 54;
  flag[10] -= 55;
  flag[0] -= 55;
  flag[3] += 33;
  flag[12] += 33;
  flag[16] += flag[4];
  flag[13] += flag[1];
  flag[0] ^= flag[28];
  flag[21] ^= flag[28];
  flag[22] += flag[31];
  flag[9] -= 54;
  flag[1] += 33;
  flag[8] += flag[26];
  flag[6] ^= flag[17];
  flag[1] -= 55;
  flag[6] += flag[18];
  flag[30] -= flag[7];
  flag[19] -= flag[7];
  flag[21] -= flag[4];
  flag[26] += 33;
  flag[11] += flag[3];
  flag[18] ^= flag[15];
  flag[20] += flag[2];
  flag[17] += flag[1];
  flag[10] -= 55;
  flag[1] += flag[9];
  flag[15] += flag[26];
  flag[12] += 33;
  flag[30] ^= flag[17];
  flag[13] -= 55;
  flag[20] += flag[19];
  flag[13] ^= flag[4];
  flag[22] += flag[27];
  flag[29] ^= flag[13];
  flag[25] += flag[26];
  flag[23] += 33;
  flag[29] += flag[10];
  flag[14] -= flag[31];
  flag[14] -= 54;
  flag[26] ^= flag[12];
  flag[17] ^= flag[16];
  flag[27] ^= flag[2];
  flag[29] -= 55;
  flag[24] -= 55;
  flag[19] -= 55;
  flag[11] += 33;
  flag[29] ^= flag[7];
  flag[21] += flag[11];
  flag[22] ^= flag[4];
  flag[14] += flag[18];
  flag[12] ^= flag[2];
  flag[1] -= flag[10];
  flag[7] ^= flag[18];
  flag[28] ^= flag[18];
  flag[23] += flag[22];
  flag[31] -= 54;
  flag[22] += flag[19];
  flag[4] += flag[29];
  flag[4] ^= flag[17];
  flag[29] += 33;
  flag[22] -= 55;
  flag[5] -= 54;
  flag[8] -= flag[16];
  flag[3] += 33;
  flag[4] += flag[10];
  flag[24] -= 54;
  flag[28] -= 55;
  flag[27] += flag[20];
  flag[25] -= 54;
  flag[27] -= 55;
  flag[10] ^= flag[16];
  flag[9] += flag[30];
  flag[24] += flag[10];
  flag[30] += flag[12];
  flag[18] ^= flag[31];
  flag[9] ^= flag[26];
  flag[6] += flag[31];
  flag[1] -= 55;
  flag[10] ^= flag[28];
  flag[0] += 33;
  flag[30] += 33;
  flag[9] += flag[8];
  flag[20] += flag[0];
  flag[5] -= flag[12];
  flag[23] -= flag[21];
  flag[25] -= flag[12];
  flag[4] += flag[1];
  flag[23] -= 55;
  flag[30] -= 54;
  flag[6] += flag[20];
  flag[26] += flag[11];
  flag[11] += 33;
  flag[12] += flag[26];
  flag[6] ^= flag[4];
  flag[9] ^= flag[22];
  flag[13] += 33;
  flag[27] ^= flag[31];
  flag[16] ^= flag[31];
  flag[12] -= 55;
  flag[22] += flag[24];
  flag[8] -= 55;
  flag[17] += flag[26];
  flag[25] -= 55;
  flag[15] += flag[8];
  flag[13] ^= flag[6];
  flag[14] += flag[31];
  flag[12] += flag[11];
  flag[22] -= 55;
  flag[16] ^= flag[7];
  flag[13] ^= flag[19];
  flag[14] += flag[15];
  flag[29] ^= flag[27];
  flag[26] -= 55;
  flag[7] -= flag[4];
  flag[6] += 33;
  flag[27] += flag[0];
  flag[1] += flag[23];
  flag[19] -= flag[30];
  flag[15] ^= flag[1];
  flag[14] += flag[26];
  flag[6] ^= flag[21];
  flag[28] += flag[7];
  flag[9] -= flag[27];
  flag[22] ^= flag[20];
  flag[24] -= 54;
  flag[12] += flag[10];
  flag[2] += flag[12];
  flag[9] -= 54;
  flag[20] -= 54;
  flag[7] ^= flag[9];
  flag[3] ^= flag[25];
  flag[2] ^= flag[20];
  flag[17] += 33;
  flag[8] ^= flag[29];
  flag[4] -= 55;
  flag[13] -= 55;
  flag[16] ^= flag[3];
  flag[17] ^= flag[26];
  flag[22] ^= flag[3];
  flag[16] ^= flag[26];
  flag[11] += flag[12];
  flag[11] ^= flag[17];
  flag[3] ^= flag[26];
  flag[7] ^= flag[6];
  flag[15] ^= flag[2];
  flag[3] -= 54;
  flag[20] += flag[0];
  flag[13] += flag[21];
  flag[0] -= flag[27];
  flag[3] += flag[27];
  flag[3] ^= flag[5];
  flag[19] ^= flag[14];
  flag[9] ^= flag[18];
  flag[4] -= 55;
  flag[4] ^= flag[5];
  flag[1] += 33;
  flag[2] += 33;
  flag[21] += flag[0];
  flag[16] -= 55;
  flag[30] -= flag[26];
  flag[29] ^= flag[5];
  flag[12] -= 54;
  flag[6] -= flag[10];
  flag[5] += flag[4];
  flag[10] -= 55;
  flag[21] += 33;
  flag[13] += flag[18];
  flag[24] += flag[5];
  flag[18] ^= flag[12];
  flag[9] -= 54;
  flag[22] += flag[12];
  flag[26] -= 55;
  flag[30] -= 55;
  flag[14] -= 55;
  flag[25] += flag[10];
  flag[23] += flag[26];
  flag[28] -= 55;
  flag[24] ^= flag[28];
  flag[0] -= flag[31];
  flag[19] += flag[12];
  flag[5] += flag[9];
  flag[13] -= 54;
  flag[18] -= 54;
  flag[18] -= 54;
  flag[21] -= flag[15];
  flag[1] ^= flag[14];
  flag[8] += flag[6];
  flag[12] -= flag[19];
  flag[2] ^= flag[31];
  flag[27] += flag[26];
  flag[5] ^= flag[29];
  flag[22] -= flag[21];
  flag[18] += flag[7];
  flag[2] -= 54;
  flag[23] ^= flag[16];
  flag[31] -= 55;
  flag[18] += flag[27];
  flag[10] += flag[29];
  flag[14] += flag[1];
  flag[18] += flag[20];
  flag[11] += flag[12];
  flag[18] ^= flag[9];
  flag[14] -= 55;
  flag[29] ^= flag[21];
  flag[11] += flag[7];
  flag[31] += flag[2];
  flag[29] += flag[0];
  flag[8] -= flag[1];
  flag[14] += 33;
  flag[22] += flag[0];
  flag[7] += 33;
  flag[6] += 33;
  flag[4] ^= flag[6];
  flag[17] ^= flag[15];
  flag[13] += flag[28];
  flag[27] += flag[17];
  flag[2] -= 55;
  flag[29] -= flag[11];
  flag[24] += flag[10];
  flag[14] += 33;
  flag[16] ^= flag[21];
  flag[12] ^= flag[20];
  flag[22] -= 54;
  flag[18] ^= flag[7];
  flag[0] += flag[27];
  flag[12] += flag[11];
  flag[1] -= flag[16];
  flag[29] += 33;
  flag[2] += 33;
  flag[19] += flag[20];
  flag[19] += 33;
  flag[30] += flag[10];
  flag[18] ^= flag[2];
  flag[25] ^= flag[20];
  flag[13] += flag[26];
  flag[5] += 33;
  flag[17] ^= flag[9];
  flag[13] += flag[11];
  flag[25] ^= flag[9];
  flag[19] += flag[27];
  flag[15] ^= flag[0];
  flag[4] -= 55;
  flag[31] -= 55;
  flag[1] += flag[7];
  flag[6] += flag[15];
  flag[25] += flag[14];
  flag[20] += 33;
  flag[6] ^= flag[13];
  flag[14] ^= flag[31];
  flag[16] ^= flag[0];
  flag[1] ^= flag[29];
  flag[18] -= 54;
  flag[2] -= 54;
  flag[7] -= flag[17];
  flag[15] -= 54;
  flag[28] -= flag[19];
  flag[23] += 33;
  flag[17] += flag[7];
  flag[13] -= 54;
  flag[31] ^= flag[4];
  flag[2] += flag[18];
  flag[7] ^= flag[16];
  flag[11] -= 54;
  flag[21] += 33;
  flag[2] -= 54;
  flag[27] -= flag[23];
  flag[8] += flag[4];
  flag[13] -= 55;
  flag[19] += 33;
  flag[23] ^= flag[13];
  flag[6] += 33;
  flag[19] -= flag[6];
  flag[8] -= flag[9];
  flag[7] += flag[10];
  flag[3] += flag[2];
  flag[29] += flag[31];
  flag[31] -= flag[9];
  flag[3] -= flag[31];
  flag[0] -= 54;
  flag[25] += flag[26];
  flag[13] -= flag[11];
  flag[3] ^= flag[7];
  flag[16] += 33;
  flag[0] += flag[9];
  flag[30] -= 55;
  flag[17] ^= flag[23];
  flag[23] -= flag[26];
  flag[5] += flag[9];
  flag[24] += 33;
  flag[21] += 33;
  flag[21] += flag[19];
  flag[0] -= flag[20];
  flag[13] += flag[17];
  flag[12] -= 55;
  flag[29] += flag[18];
  flag[29] += flag[9];
  flag[24] += flag[5];
  flag[23] ^= flag[11];
  flag[20] += flag[9];
  flag[22] += 33;
  flag[7] -= 54;
  flag[18] -= 55;
  flag[9] ^= flag[3];
  flag[15] += flag[14];
  flag[26] ^= flag[30];
  flag[31] ^= flag[0];
  flag[7] -= 55;
  flag[22] ^= flag[1];
  flag[3] -= 55;
  flag[14] += flag[22];
  flag[1] -= 54;
  flag[19] += flag[0];
  flag[6] -= 55;
  flag[26] ^= flag[3];
  flag[14] -= 54;
  flag[8] ^= flag[2];
  flag[26] ^= flag[2];
  flag[23] ^= flag[22];
  flag[16] += flag[26];
  flag[16] ^= flag[10];
  flag[28] += flag[30];
  flag[8] += flag[11];
  flag[5] -= flag[21];
  flag[31] += 33;
  flag[4] += 33;
  flag[21] ^= flag[30];
  flag[29] += flag[3];
  flag[17] += flag[1];
  flag[25] += flag[12];
  flag[15] -= 55;
  flag[23] -= 55;
  flag[4] -= 54;
  flag[4] ^= flag[7];
  flag[9] -= 54;
  flag[10] += flag[25];
  flag[2] ^= flag[31];
  flag[30] += flag[5];
  flag[16] += 33;
  flag[1] -= flag[25];
  flag[2] += 33;
  flag[24] ^= flag[16];
  flag[12] -= 55;
  flag[3] += 33;
  flag[9] -= flag[8];
  flag[27] += flag[6];
  flag[16] -= 54;
  flag[10] += 33;
  flag[9] += flag[18];
  flag[16] ^= flag[7];
  flag[28] ^= flag[29];
  flag[17] -= flag[21];
  flag[18] ^= flag[28];
  flag[20] += flag[27];
  flag[30] ^= flag[12];
  flag[14] -= 55;
  flag[27] += 33;
  flag[27] ^= flag[28];
  flag[24] -= 54;
  flag[7] += flag[26];
  flag[16] ^= flag[25];
  flag[25] -= flag[4];
  flag[18] ^= flag[2];
  flag[20] += 33;
  flag[11] ^= flag[7];
  flag[15] += 33;
  flag[28] += 33;
  flag[21] ^= flag[5];
  flag[12] += 33;
  flag[2] -= 55;
  flag[23] -= 54;
  flag[14] += flag[24];
  flag[0] -= flag[29];
  flag[30] -= 55;
  flag[13] ^= flag[24];
  flag[23] -= 54;
  flag[2] -= 54;
  flag[0] -= flag[23];
  flag[8] ^= flag[16];
  flag[7] += flag[17];
  flag[12] += flag[16];
  flag[24] ^= flag[12];
  flag[19] -= flag[21];
  flag[15] += flag[20];
  flag[20] += 33;
  flag[23] += 33;
  flag[5] += flag[31];
  flag[3] ^= flag[21];
  flag[31] += flag[13];
  flag[10] ^= flag[19];
  flag[15] ^= flag[17];
  flag[6] ^= flag[25];
  flag[9] -= flag[13];
  flag[25] += flag[26];
  flag[7] -= 55;
  flag[27] ^= flag[18];
  flag[30] ^= flag[17];
  flag[6] -= flag[9];
  flag[3] -= 55;
  flag[30] += flag[23];
  flag[25] += flag[2];
  flag[19] += flag[0];
  flag[1] += flag[2];
  flag[9] -= flag[22];
  flag[24] -= 54;
  flag[11] -= flag[1];
  flag[29] -= 55;
  flag[27] ^= flag[28];
  flag[2] += flag[0];
  flag[18] += flag[0];
  flag[1] -= flag[13];
  flag[24] += flag[0];
  flag[19] += flag[20];
  flag[9] -= 54;
  flag[9] -= flag[24];
  flag[1] += flag[11];
  flag[20] += flag[26];
  flag[21] += flag[24];
  flag[11] -= 55;
  flag[12] += flag[22];
  flag[5] -= 54;
  flag[14] ^= flag[22];
  flag[0] -= flag[9];
  flag[19] ^= flag[10];
  flag[14] ^= flag[4];
  flag[15] -= 55;
  flag[31] += flag[13];
  flag[14] ^= flag[10];
  flag[29] += 33;
  flag[27] -= 55;
  flag[29] += 33;
  flag[23] -= flag[26];
  flag[26] += 33;
  flag[15] ^= flag[3];
  flag[0] += flag[21];
  flag[2] -= 54;
  flag[28] += flag[18];
  flag[1] ^= flag[2];
  flag[4] ^= flag[30];
  flag[18] ^= flag[6];
  flag[24] ^= flag[16];
  flag[17] -= flag[31];
  flag[15] ^= flag[25];
  flag[26] += flag[8];
  flag[0] += flag[2];
  flag[30] ^= flag[31];
  flag[17] += flag[3];
  flag[4] -= 54;
  flag[8] ^= flag[3];
  flag[27] ^= flag[29];
  flag[28] += 33;
  flag[26] -= 55;
  flag[6] -= flag[7];
  flag[4] += flag[14];
  flag[18] += flag[5];
  flag[22] += flag[21];
  flag[31] -= 54;
  flag[2] += flag[3];
  flag[7] ^= flag[24];
  flag[8] += flag[13];
  flag[20] ^= flag[25];
  flag[4] += flag[2];
  flag[1] -= flag[24];
  flag[8] -= 55;
  flag[14] += 33;
  flag[31] += 33;
  flag[22] ^= flag[18];
  flag[31] += flag[7];
  flag[19] ^= flag[27];
  flag[23] ^= flag[0];
  flag[8] -= flag[18];
  flag[24] ^= flag[13];
  flag[18] ^= flag[10];
  flag[28] -= 55;
  flag[28] -= flag[22];
  flag[12] ^= flag[15];
  flag[29] -= 55;
  flag[0] -= 55;
  flag[2] += flag[13];
  flag[12] += flag[20];
  flag[24] ^= flag[11];
  flag[0] += flag[26];
  flag[25] += 33;
  flag[15] ^= flag[0];
  flag[30] ^= flag[21];
  flag[10] ^= flag[30];
  flag[14] += flag[0];
  flag[8] -= 55;
  flag[23] -= flag[6];
  flag[1] += flag[18];
  flag[28] -= 55;
  flag[23] ^= flag[31];
  flag[8] += 33;
  flag[10] ^= flag[16];
  flag[4] ^= flag[29];
  flag[12] -= 55;
  flag[11] += flag[25];
  flag[4] -= 55;
  flag[20] -= 54;
  flag[29] -= flag[30];
  flag[30] += flag[7];
  flag[26] -= 55;
  flag[31] += flag[2];
  flag[17] ^= flag[26];
  flag[20] += flag[18];
  flag[5] -= 54;
  flag[7] += 33;
  flag[18] -= 55;
  flag[23] += 33;
  flag[18] ^= flag[20];
  flag[13] ^= flag[28];
  flag[6] ^= flag[23];
  flag[18] += flag[3];
  flag[25] ^= flag[23];
  flag[15] += flag[8];
  flag[3] += 33;
  flag[17] += flag[28];
  flag[1] -= 54;
  flag[14] -= flag[11];
  flag[4] += flag[24];
  flag[5] -= flag[3];
  flag[11] ^= flag[19];
  flag[23] -= 54;
  flag[9] -= 54;
  flag[12] ^= flag[0];
  flag[24] -= 54;
  flag[10] ^= flag[2];
  flag[17] += 33;
  flag[22] += 33;
  flag[18] ^= flag[10];
  flag[20] += flag[22];
  flag[4] += flag[29];
  flag[27] -= 54;
  flag[26] -= flag[29];
  flag[28] += flag[3];
  flag[9] += flag[6];
  flag[22] ^= flag[25];
  flag[7] -= flag[3];
  flag[20] -= flag[7];
  flag[18] ^= flag[30];
  flag[6] -= 55;
  flag[4] ^= flag[24];
  flag[9] += flag[29];
  flag[16] ^= flag[11];
  flag[0] -= 55;
  flag[4] += flag[17];
  flag[24] += flag[13];
  flag[24] += 33;
  flag[23] += flag[29];
  flag[29] ^= flag[15];
  flag[12] += 33;
  flag[26] ^= flag[16];
  flag[4] += 33;
  flag[9] += flag[20];
  flag[6] ^= flag[8];
  flag[31] += flag[15];
  flag[30] ^= flag[25];
  flag[14] += flag[25];
  flag[18] -= 54;
  flag[26] += flag[24];
  flag[26] -= flag[19];
  flag[10] += flag[25];
  flag[13] += flag[0];
  flag[29] -= flag[24];
  flag[23] += 33;
  flag[10] -= 55;
  flag[2] ^= flag[29];
  flag[12] ^= flag[8];
  flag[12] ^= flag[8];
  flag[22] ^= flag[24];
  flag[11] += 33;
  flag[29] += flag[17];
  flag[27] -= 54;
  flag[28] ^= flag[17];
  flag[2] -= 55;
  flag[19] += flag[16];
  flag[26] += 33;
  flag[3] ^= flag[21];
  flag[30] ^= flag[7];
  flag[11] += flag[0];
  flag[25] -= 55;
  flag[23] -= flag[21];
  flag[11] -= 55;
  flag[19] += flag[31];
  flag[14] += 33;
  flag[6] += flag[21];
  flag[26] += 33;
  flag[28] += flag[2];
  flag[12] -= 55;
  flag[20] += flag[23];
  flag[23] += flag[11];
  flag[1] ^= flag[5];
  flag[12] ^= flag[22];
  flag[9] ^= flag[23];
  flag[2] ^= flag[5];
  flag[23] ^= flag[21];
  flag[27] ^= flag[29];
  flag[9] += flag[13];
  flag[19] ^= flag[24];
  flag[31] += flag[8];
  flag[16] += flag[23];
  flag[18] += flag[30];
  flag[27] -= 54;
  flag[19] ^= flag[8];
  flag[23] ^= flag[25];
  flag[24] -= 54;
  flag[19] += flag[18];
  flag[7] -= 55;
  flag[25] ^= flag[15];
  flag[23] += 33;
  flag[20] += flag[28];
  flag[8] -= 55;
  flag[18] ^= flag[8];
  flag[8] += 33;
  flag[1] -= flag[19];
  flag[0] += flag[6];
  flag[3] -= flag[16];
  flag[11] -= flag[0];
  flag[28] ^= flag[23];
  flag[21] += flag[5];
  flag[25] += flag[27];
  flag[15] ^= flag[8];
  flag[14] ^= flag[28];
  flag[19] += 33;
  flag[14] += flag[13];
  flag[4] += flag[12];
  flag[26] -= flag[28];
  flag[22] ^= flag[1];
  flag[11] ^= flag[28];
  flag[18] += 33;
  flag[15] -= 55;
  flag[9] ^= flag[27];
  flag[19] ^= flag[24];
  flag[28] -= flag[23];
  flag[8] += 33;
  flag[2] += flag[5];
  flag[10] ^= flag[23];
  flag[16] += 33;
  flag[11] ^= flag[22];
  flag[23] ^= flag[16];
  flag[12] ^= flag[16];
  flag[13] += flag[8];
  flag[10] += flag[12];
  flag[29] += flag[6];
  flag[20] += flag[13];
  flag[11] -= 54;
  flag[17] += flag[16];
  flag[25] -= flag[11];
  flag[12] -= 55;
  flag[20] ^= flag[17];
  flag[31] += flag[5];
  flag[14] -= 55;
  flag[10] += flag[12];
  flag[13] ^= flag[22];
  flag[20] += flag[5];
  flag[23] += 33;
  flag[27] ^= flag[5];
  flag[31] -= 55;
  flag[22] -= 55;
  flag[25] += 33;
  flag[10] ^= flag[25];
  flag[11] += flag[23];
  flag[14] ^= flag[25];
  flag[2] += flag[17];
  flag[13] += flag[22];
  flag[11] += flag[12];
  flag[31] ^= flag[3];
  flag[31] += flag[22];
  flag[4] -= 55;
  flag[13] ^= flag[11];
  flag[19] ^= flag[24];
  flag[13] ^= flag[7];
  flag[23] += flag[16];
  flag[12] -= flag[3];
  flag[11] += flag[6];
  flag[1] -= flag[21];
  flag[4] ^= flag[16];
  flag[15] -= flag[31];
  flag[14] -= 54;
  flag[18] += flag[11];
  flag[3] ^= flag[11];
  flag[8] -= flag[18];
  flag[9] -= 55;
  flag[23] -= 54;
  flag[29] -= 55;
  flag[16] ^= flag[28];
  flag[12] ^= flag[16];
  flag[21] += flag[0];
  flag[28] ^= flag[5];
  flag[18] ^= flag[12];
  flag[21] ^= flag[17];
  flag[4] ^= flag[19];
  flag[7] -= 54;
  flag[0] += flag[27];
  flag[3] += 33;
  flag[12] -= flag[23];
  flag[9] += flag[20];
  flag[11] -= 54;
  flag[31] ^= flag[21];
  flag[12] += flag[24];
  flag[13] -= 55;
  flag[30] ^= flag[27];
  flag[20] -= flag[0];
  flag[13] += 33;
  flag[3] += flag[22];
  flag[23] -= 55;
  flag[12] ^= flag[13];
  flag[13] += flag[10];
  flag[30] += flag[16];
  flag[26] -= 55;
  flag[18] += flag[17];
  flag[6] -= 55;
  flag[28] += flag[19];
  flag[10] ^= flag[16];
  flag[16] ^= flag[1];
  flag[9] -= 55;
  flag[3] += 33;
  flag[29] ^= flag[3];
  flag[0] += flag[26];
  flag[6] ^= flag[14];
  flag[0] -= 55;
  flag[11] += flag[4];
  flag[10] += flag[6];
  flag[17] += flag[26];
  flag[28] += flag[8];
  flag[31] += 33;
  flag[29] -= flag[18];
  flag[30] -= flag[8];
  flag[10] += flag[9];
  flag[11] -= flag[17];
  flag[17] ^= flag[22];
  flag[26] += 33;
  flag[24] -= flag[30];
  flag[24] ^= flag[11];
  flag[21] ^= flag[4];
  flag[13] ^= flag[21];
  flag[29] ^= flag[0];
  flag[29] ^= flag[20];
  flag[12] += flag[0];
  flag[13] -= flag[8];
  flag[30] -= 55;
  flag[18] ^= flag[5];
  flag[25] ^= flag[12];
  flag[25] -= 54;
  flag[28] += flag[2];
  flag[5] -= flag[15];
  flag[7] += flag[12];
  flag[12] += flag[19];
  flag[25] += flag[18];
  flag[17] -= 55;
  flag[7] ^= flag[11];
  flag[6] += 33;
  flag[20] += flag[7];
  flag[23] += flag[19];
  flag[30] += flag[5];
  flag[25] ^= flag[8];
  flag[4] += flag[30];
  flag[6] -= 54;
  flag[24] += 33;
  flag[17] ^= flag[19];
  flag[30] += flag[21];
  flag[1] -= flag[16];
  flag[24] -= 55;
  flag[20] += flag[24];
  flag[17] -= flag[1];
  flag[20] ^= flag[30];
  flag[9] ^= flag[13];
  flag[1] += flag[16];
  flag[15] += flag[0];
  flag[31] ^= flag[17];
  flag[24] -= 54;
  flag[11] += flag[0];
  flag[29] += flag[11];
  flag[17] += flag[13];
  flag[15] += 33;
  flag[26] ^= flag[5];
  flag[29] -= 55;
  flag[22] += flag[14];
  flag[20] += 33;
  flag[11] -= 54;
  flag[31] ^= flag[5];
  flag[10] += flag[28];
  flag[18] += flag[5];
  flag[30] -= 55;
  flag[2] -= flag[15];
  flag[25] -= 55;
  flag[12] += flag[26];
  flag[31] += flag[30];
  flag[15] += flag[24];
  flag[11] += flag[24];
  flag[28] += flag[25];
  flag[5] -= flag[2];
  flag[22] ^= flag[27];
  flag[10] -= 55;
  flag[29] -= 55;
  flag[17] ^= flag[0];
  flag[21] += flag[24];
  flag[28] -= 55;
  flag[16] -= 54;
  flag[16] -= 54;
  flag[23] ^= flag[24];
  flag[21] ^= flag[31];
  flag[25] ^= flag[5];
  flag[31] += flag[27];
  flag[9] += flag[23];
  flag[5] += 33;
  flag[29] += flag[25];
  flag[12] += flag[20];
  flag[28] -= 54;
  flag[8] += flag[31];
  flag[28] += 33;
  flag[8] += flag[12];
  flag[30] += flag[6];
  flag[8] -= flag[20];
  flag[1] += flag[23];
  flag[18] += flag[0];
  flag[8] ^= flag[14];
  flag[20] ^= flag[8];
  flag[24] -= 54;
  flag[12] -= 54;
  flag[29] -= 54;
  flag[29] += flag[18];
  flag[14] += 33;
  flag[21] += 33;
  flag[7] ^= flag[18];
  flag[5] -= 55;
  flag[11] -= 54;
  flag[11] += flag[20];
  flag[14] ^= flag[3];
  flag[17] ^= flag[18];
  flag[22] ^= flag[14];
  flag[29] -= 55;
  flag[25] -= 54;
  flag[14] ^= flag[0];
  flag[18] += 33;
  flag[16] += flag[3];
  flag[21] -= 55;
  flag[14] += flag[17];
  flag[2] ^= flag[9];
  flag[8] ^= flag[26];
  flag[9] -= flag[14];
  flag[31] ^= flag[30];
  flag[12] += flag[8];
  flag[15] ^= flag[30];
  flag[31] += flag[8];
  flag[0] += flag[14];
  flag[26] ^= flag[19];
  flag[23] ^= flag[6];
  flag[11] ^= flag[7];
  flag[10] -= 54;
  flag[17] += flag[12];
  flag[17] ^= flag[31];
  flag[10] ^= flag[19];
  flag[3] += flag[14];
  flag[5] -= 54;
  flag[14] ^= flag[7];
  flag[21] ^= flag[0];
  flag[28] += flag[11];
  flag[26] += flag[1];
  flag[29] -= flag[28];
  flag[27] -= 55;
  flag[6] += flag[29];
  flag[15] -= 54;
  flag[11] += flag[30];
  flag[24] -= 55;
  flag[10] -= flag[11];
  flag[9] -= flag[2];
  flag[13] += flag[21];
  flag[22] -= 55;
  flag[13] ^= flag[21];
  flag[21] ^= flag[2];
  flag[19] += flag[26];
  flag[3] -= 55;
  flag[0] -= 55;
  flag[19] -= flag[26];
  flag[30] -= 55;
  flag[25] -= 55;
  flag[27] -= 55;
  flag[7] -= 54;
  flag[25] -= 55;
  flag[26] ^= flag[20];
  flag[11] ^= flag[27];
  flag[13] ^= flag[31];
  flag[26] += flag[29];
  flag[0] += flag[7];
  flag[13] += flag[14];
  flag[12] ^= flag[19];
  flag[24] ^= flag[28];
  flag[29] += flag[15];
  flag[16] ^= flag[13];
  flag[10] += 33;
  flag[20] ^= flag[11];
  flag[3] += flag[9];
  flag[5] -= 54;
  flag[9] += flag[27];
  flag[13] ^= flag[5];
  flag[29] += 33;
  flag[16] += flag[18];
  flag[1] += 33;
  flag[17] += flag[10];
  flag[16] += flag[8];
  flag[19] -= 55;
  flag[20] -= 55;
  flag[20] += flag[16];
  flag[24] += flag[3];
  flag[25] -= 54;
  flag[16] += 33;
  flag[12] ^= flag[18];
  flag[2] -= 55;
  flag[29] += flag[1];
  flag[0] ^= flag[11];
  flag[19] += 33;
  flag[12] += flag[25];
  flag[22] ^= flag[5];
  flag[17] += flag[16];
  flag[6] ^= flag[10];
  flag[11] ^= flag[1];
  flag[5] ^= flag[25];
  flag[16] ^= flag[28];
  flag[20] ^= flag[1];
  flag[8] += 33;
  flag[26] -= 55;
  flag[27] += flag[7];
  flag[31] -= 54;
  flag[22] -= 55;
  flag[31] ^= flag[23];
  flag[18] -= flag[0];
  flag[29] ^= flag[27];
  flag[10] += flag[24];
  flag[21] += flag[7];
  flag[9] += flag[2];
  flag[17] ^= flag[5];
  flag[14] += flag[4];
  flag[3] += flag[14];
  flag[21] -= 54;
  flag[11] -= 55;
  flag[10] += flag[26];
  flag[21] += 33;
  flag[12] += flag[31];
  flag[24] ^= flag[4];
  flag[5] += flag[4];
  flag[8] -= flag[17];
  flag[4] += flag[16];
  flag[20] -= 55;
  flag[7] -= flag[16];
  flag[19] += flag[15];
  flag[27] += 33;
  flag[15] += flag[16];
  flag[25] += flag[13];
  flag[9] -= 55;
  flag[17] += flag[14];
  flag[2] ^= flag[23];
  flag[30] -= 55;
  flag[2] += flag[21];
  flag[24] -= 54;
  flag[26] += flag[4];
  flag[29] ^= flag[28];
  flag[12] += flag[13];
  flag[1] -= 55;
  flag[5] += 33;
  flag[28] += flag[19];
  flag[11] -= 55;
  flag[6] += 33;
  flag[14] ^= flag[8];
  flag[14] ^= flag[30];
  flag[4] ^= flag[31];
  flag[12] ^= flag[2];
  flag[20] += 33;
  flag[29] -= 54;
  flag[8] += 33;
  flag[25] += flag[27];
  flag[9] += flag[19];
  flag[12] -= 54;
  flag[14] ^= flag[25];
  flag[19] += 33;
  flag[27] -= 54;
  flag[12] += flag[13];
  flag[29] += flag[11];
  flag[7] -= flag[8];
  flag[14] -= 55;
  flag[28] -= 54;
  flag[29] += flag[7];
  flag[11] += 33;
  flag[31] += 33;
  flag[19] ^= flag[8];
  flag[12] -= 54;
  flag[1] += 33;
  flag[13] += flag[1];
  flag[6] += flag[2];
  flag[5] += 33;
  flag[30] -= 55;
  flag[16] ^= flag[20];
  flag[14] ^= flag[18];
  flag[27] -= flag[16];
  flag[24] -= 55;
  flag[10] += flag[30];
  flag[31] -= 55;
  flag[8] -= flag[3];
  flag[0] -= 55;
  flag[8] ^= flag[5];
  flag[20] -= flag[22];
  flag[15] -= 55;
  flag[2] += flag[29];
  flag[2] -= 54;
  flag[1] += flag[10];
  flag[10] ^= flag[30];
  flag[1] += flag[19];
  flag[0] ^= flag[15];
  flag[8] += flag[23];
  flag[11] -= flag[5];
  flag[16] -= flag[23];
  flag[25] += flag[3];
  flag[18] += flag[17];
  flag[15] ^= flag[5];
  flag[11] += flag[14];
  flag[13] ^= flag[24];
  flag[7] -= flag[1];
  flag[28] += flag[27];
  flag[11] += flag[17];
  flag[6] += flag[16];
  flag[16] += flag[21];
  flag[2] += flag[25];
  flag[2] ^= flag[21];
  flag[27] -= 54;
  flag[30] ^= flag[17];
  flag[9] += flag[10];
  flag[6] -= 55;
  flag[21] ^= flag[14];
  flag[2] += flag[17];
  flag[5] ^= flag[27];
  flag[19] ^= flag[15];
  flag[21] ^= flag[1];
  flag[16] += flag[23];
  flag[1] ^= flag[11];
  flag[17] += flag[12];
  flag[26] += flag[23];
  flag[28] ^= flag[2];
  flag[14] ^= flag[25];
  flag[30] -= 55;
  flag[19] ^= flag[13];
  flag[9] ^= flag[18];
  flag[1] -= 54;
  flag[12] ^= flag[29];
  flag[8] -= flag[13];
  flag[2] += flag[19];
  flag[19] += 33;
  flag[3] += flag[8];
  flag[27] ^= flag[6];
  flag[17] ^= flag[11];
  flag[31] += flag[25];
  flag[18] += flag[25];
  flag[7] += flag[26];
  flag[22] -= flag[6];
  flag[29] += 33;
  flag[18] += flag[20];
  flag[9] += flag[26];
  flag[20] ^= flag[17];
  flag[0] ^= flag[23];
  flag[20] -= 54;
  flag[9] ^= flag[22];
  flag[9] ^= flag[19];
  flag[1] ^= flag[30];
  flag[3] += flag[24];
  flag[9] -= flag[17];
  flag[15] += flag[0];
  flag[29] -= 54;
  flag[30] += flag[0];
  flag[16] += 33;
  flag[28] += 33;
  flag[12] -= flag[21];
  flag[14] -= flag[20];
  flag[0] -= 55;
  flag[13] += flag[17];
  flag[2] -= 54;
  flag[16] ^= flag[17];
  flag[26] ^= flag[10];
  flag[16] ^= flag[21];
  flag[6] += flag[0];
  flag[19] -= 55;
  flag[27] += 33;
  flag[18] -= 55;
  flag[27] ^= flag[28];
  flag[8] ^= flag[9];
  flag[21] += flag[19];
  flag[13] ^= flag[11];
  flag[18] += flag[23];
  flag[13] -= 54;
  flag[29] -= flag[19];
  flag[22] -= 55;
  flag[13] -= flag[21];
  flag[16] ^= flag[0];
  flag[2] ^= flag[1];
  flag[24] += 33;
  flag[12] ^= flag[20];
  flag[14] -= flag[21];
  flag[20] -= 55;
  flag[0] += flag[18];
  flag[16] += flag[2];
  flag[15] += flag[20];
  flag[19] ^= flag[9];
  flag[11] ^= flag[9];
  flag[10] ^= flag[7];
  flag[21] ^= flag[23];
  flag[16] ^= flag[27];
  flag[20] ^= flag[6];
  flag[8] += 33;
  flag[10] -= flag[27];
  flag[3] += flag[23];
  flag[30] += flag[18];
  flag[0] -= 54;
  flag[19] -= 55;
  flag[9] += flag[19];
  flag[26] += flag[1];
  flag[27] -= flag[22];
  flag[18] -= flag[4];
  flag[7] ^= flag[8];
  flag[19] -= flag[18];
  flag[21] ^= flag[9];
  flag[13] ^= flag[7];
  flag[25] ^= flag[3];
  flag[18] += flag[26];
  flag[13] += flag[1];
  flag[12] += 33;
  flag[19] += flag[14];
  flag[18] -= 54;
  flag[21] ^= flag[25];
  flag[26] ^= flag[7];
  flag[26] += flag[11];
  flag[17] += flag[20];
  flag[12] ^= flag[18];
  flag[2] += flag[27];
  flag[10] += flag[11];
  flag[24] += flag[27];
  flag[2] -= flag[14];
  flag[12] -= 55;
  flag[18] ^= flag[26];
  flag[21] += 33;
  flag[0] ^= flag[6];
  flag[15] += 33;
  flag[29] ^= flag[1];
  flag[4] ^= flag[7];
  flag[2] -= flag[11];
  flag[25] += flag[11];
  flag[20] ^= flag[2];
  flag[4] += flag[20];
  flag[30] -= 54;
  flag[20] ^= flag[0];
  flag[29] ^= flag[10];
  flag[17] ^= flag[20];
  flag[16] ^= flag[4];
  flag[1] += 33;
  flag[25] ^= flag[4];
  flag[5] -= 55;
  flag[16] += 33;
  flag[5] ^= flag[30];
  flag[28] += flag[18];
  flag[9] += 33;
  flag[6] += flag[12];
  flag[4] += flag[25];
  flag[29] += flag[12];
  flag[15] += flag[0];
  flag[11] ^= flag[27];
  flag[2] -= flag[1];
  flag[15] += 33;
  flag[20] ^= flag[10];
  flag[25] += flag[11];
  flag[10] += flag[25];
  flag[10] -= 54;
  flag[8] -= 54;
  flag[4] += 33;
  flag[22] -= 54;
  flag[1] += 33;
  flag[23] ^= flag[8];
  flag[25] += 33;
  flag[10] += flag[31];
  flag[9] += flag[20];
  flag[28] += 33;
  flag[19] += flag[10];
  flag[17] += flag[13];
  flag[1] += flag[8];
  flag[18] ^= flag[19];
  flag[8] += flag[10];
  flag[21] ^= flag[4];
  flag[29] += flag[10];
  flag[21] -= 55;
  flag[2] ^= flag[31];
  flag[24] ^= flag[22];
  flag[15] += 33;
  flag[7] ^= flag[8];
  flag[27] += flag[16];
  flag[6] ^= flag[15];
  flag[9] += flag[5];
  flag[30] ^= flag[2];
  flag[18] += 33;
  flag[31] += flag[23];
  flag[24] += flag[13];
  flag[26] -= 55;
  flag[6] += flag[27];
  flag[22] -= 55;
  flag[13] += flag[3];
  flag[7] -= 55;
  flag[30] += flag[24];
  flag[5] -= 55;
  flag[22] -= 54;
  flag[3] -= 55;
  flag[11] -= 54;
  flag[30] ^= flag[23];
  flag[15] -= flag[28];
  flag[15] += flag[5];
  flag[29] ^= flag[17];
  flag[13] -= flag[19];
  flag[1] -= flag[20];
  flag[21] += flag[14];
  flag[18] ^= flag[3];
  flag[0] += flag[18];
  flag[24] -= flag[0];
  flag[30] ^= flag[29];
  flag[19] -= flag[12];
  flag[12] ^= flag[2];
  flag[30] ^= flag[13];
  flag[30] += flag[31];
  flag[8] ^= flag[19];
  flag[18] += flag[25];
  flag[9] -= 54;
  flag[17] -= 55;
  flag[29] -= 54;
  flag[2] += flag[12];
  flag[17] += flag[3];
  flag[20] += flag[8];
  flag[10] -= flag[12];
  flag[10] += flag[3];
  flag[10] += 33;
  flag[2] += flag[0];
  flag[10] -= 54;
  flag[26] += flag[4];
  flag[23] ^= flag[22];
  flag[18] ^= flag[3];
  flag[15] -= 54;
  flag[27] ^= flag[20];
  flag[11] ^= flag[18];
  flag[15] += 33;
  flag[14] -= 54;
  flag[8] += flag[14];
  flag[2] += flag[6];
  flag[26] += flag[7];
  flag[23] ^= flag[24];
  flag[30] += flag[31];
  flag[12] ^= flag[27];
  flag[8] += flag[24];
  flag[20] += 33;
  flag[16] += flag[8];
  flag[13] += flag[12];
  flag[17] -= 54;
  flag[27] += flag[24];
  flag[11] -= 55;
  flag[3] ^= flag[30];
  flag[0] += flag[24];
  flag[30] += flag[26];
  flag[12] -= flag[0];
  flag[2] += flag[20];
  flag[13] -= 55;
  flag[11] ^= flag[10];
  flag[24] += flag[18];
  flag[8] += 33;
  flag[2] += flag[22];
  flag[4] += flag[8];
  flag[6] += flag[1];
  flag[30] -= flag[18];
  flag[24] -= flag[2];
  flag[20] ^= flag[13];
  flag[17] -= 54;
  flag[25] += flag[4];
  flag[5] ^= flag[27];
  flag[6] -= 54;
  flag[3] ^= flag[9];
  flag[19] -= 54;
  flag[2] += flag[12];
  flag[12] += flag[11];
  flag[26] += 33;
  flag[28] += 33;
  flag[30] ^= flag[14];
  flag[22] ^= flag[13];
  flag[4] ^= flag[15];
  flag[21] += flag[11];
  flag[13] += 33;
  flag[28] ^= flag[20];
  flag[13] -= 54;
  flag[22] ^= flag[13];
  flag[13] -= flag[19];
  flag[15] += flag[21];
  flag[12] -= flag[0];
  flag[29] -= 54;
  flag[12] -= flag[17];
  flag[22] += 33;
  flag[14] += flag[19];
  flag[17] -= 55;
  flag[28] -= flag[27];
  flag[25] ^= flag[11];
  flag[31] += flag[20];
  flag[27] -= 54;
  flag[21] -= 54;
  flag[4] ^= flag[31];
  flag[11] -= 55;
  flag[18] ^= flag[12];
  flag[6] += flag[3];
  flag[13] -= 54;
  flag[19] -= 55;
  flag[13] += flag[15];
  flag[12] ^= flag[6];
  flag[16] ^= flag[8];
  flag[17] += flag[20];
  flag[22] += flag[4];
  flag[24] -= 55;
  flag[12] -= 54;
  flag[17] -= flag[2];
  flag[8] += flag[17];
  flag[4] -= 55;
  flag[13] += flag[11];
  flag[31] -= 54;
  flag[25] ^= flag[7];
  flag[0] -= 54;
  flag[2] += 33;
  flag[24] += flag[8];
  flag[21] ^= flag[18];
  flag[16] += 33;
  flag[19] -= 54;
  flag[30] -= 55;
  flag[18] += flag[15];
  flag[9] -= 55;
  flag[27] += flag[17];
  flag[6] ^= flag[9];
  flag[31] += flag[24];
  flag[19] += 33;
  flag[12] += flag[3];
  flag[6] += flag[18];
  flag[12] += flag[16];
  flag[25] ^= flag[15];
  flag[28] -= 54;
  flag[11] -= 55;
  flag[25] += flag[11];
  flag[9] -= flag[7];
  flag[15] ^= flag[28];
  flag[21] -= 55;
  flag[12] -= 54;
  flag[7] ^= flag[23];
  flag[1] += flag[19];
  flag[30] ^= flag[4];
  flag[21] += flag[25];
  flag[30] += flag[0];
  flag[11] += flag[15];
  flag[1] += 33;
  flag[26] += 33;
  flag[27] += flag[10];
  flag[16] -= 54;
  flag[8] -= 55;
  flag[26] += flag[0];
  flag[22] += flag[9];
  flag[6] += 33;
  flag[30] ^= flag[17];
  flag[19] ^= flag[1];
  flag[25] -= 55;
  flag[21] -= 55;
  flag[0] += 33;
  flag[26] += flag[8];
  flag[27] ^= flag[23];
  flag[12] += 33;
  flag[0] -= 54;
  flag[13] -= 54;
  flag[13] ^= flag[11];
  flag[14] ^= flag[31];
  flag[7] += flag[31];
  flag[1] += flag[6];
  flag[3] ^= flag[30];
  flag[12] -= 54;
  flag[13] -= flag[0];
  flag[23] += flag[10];
  flag[17] += flag[31];
  flag[25] -= 54;
  flag[15] += 33;
  flag[30] -= 55;
  flag[0] ^= flag[23];
  flag[7] -= flag[20];
  flag[11] -= flag[31];
  flag[9] += 33;
  flag[31] += flag[3];
  flag[4] ^= flag[18];
  flag[15] += 33;
  flag[22] -= 55;
  flag[4] ^= flag[30];
  flag[8] += flag[4];
  flag[31] -= flag[8];
  flag[5] ^= flag[1];
  flag[15] += flag[14];
  flag[8] -= flag[11];
  flag[8] += flag[17];
  flag[2] -= 54;
  flag[14] ^= flag[6];
  flag[27] += flag[14];
  flag[8] += 33;
  flag[23] -= 54;
  flag[22] -= flag[29];
  flag[11] ^= flag[1];
  flag[18] += flag[7];
  flag[8] += 33;
  flag[3] += flag[10];
  flag[18] -= 55;
  flag[7] += flag[17];
  flag[9] += flag[6];
  flag[16] ^= flag[14];
  flag[17] += 33;
  flag[15] ^= flag[13];
  flag[29] ^= flag[0];
  flag[26] ^= flag[17];
  flag[10] += flag[21];
  flag[21] ^= flag[5];
  flag[18] += flag[16];
  flag[3] -= 54;
  flag[14] += flag[10];
  flag[22] -= 54;
  flag[20] ^= flag[25];
  flag[21] -= 55;
  flag[20] += flag[6];
  flag[6] -= flag[21];
  flag[0] ^= flag[10];
  flag[28] -= flag[24];
  flag[7] -= flag[8];
  flag[31] -= flag[5];
  flag[7] -= 55;
  flag[26] -= flag[6];
  flag[26] -= 54;
  flag[5] += flag[14];
  flag[11] += flag[12];
  flag[1] ^= flag[11];
  flag[4] ^= flag[11];
  flag[29] ^= flag[28];
  flag[29] += flag[7];
  flag[4] += flag[17];
  flag[21] -= 55;
  flag[23] -= 54;
  flag[3] -= flag[4];
  flag[16] ^= flag[3];
  flag[22] ^= flag[23];
  flag[6] += flag[18];
  flag[6] ^= flag[19];
  flag[11] -= 54;
  flag[25] ^= flag[4];
  flag[6] += flag[4];
  flag[17] += flag[23];
  flag[18] -= 55;
  flag[9] += flag[26];
  flag[28] += flag[30];
  flag[29] ^= flag[4];
  flag[9] += 33;
  flag[1] += flag[8];
  flag[22] ^= flag[24];
  flag[30] ^= flag[18];
  flag[26] ^= flag[10];
  flag[17] += 33;
  flag[19] ^= flag[20];
  flag[2] -= flag[8];
  flag[6] ^= flag[9];
  flag[14] += flag[12];
  flag[22] ^= flag[4];
  flag[8] -= 55;
  flag[17] += 33;
  flag[13] -= flag[28];
  flag[18] -= flag[17];
  flag[27] += flag[10];
  flag[31] += flag[13];
  flag[19] += flag[27];
  flag[9] ^= flag[16];
  flag[19] += flag[4];
  flag[0] += flag[7];
  flag[23] -= flag[9];
  flag[4] += flag[16];
  flag[31] -= 55;
  flag[5] ^= flag[17];
  flag[30] -= flag[16];
  flag[2] -= flag[20];
  flag[20] ^= flag[0];
  flag[12] += flag[18];
  flag[30] ^= flag[12];
  flag[22] ^= flag[27];
  flag[20] -= 55;
  flag[23] ^= flag[16];
  flag[24] ^= flag[8];
  flag[29] ^= flag[4];
  flag[4] -= 55;
  flag[19] ^= flag[2];
  flag[24] -= 54;
  flag[31] -= 55;
  flag[16] += flag[1];
  flag[31] += flag[29];
  flag[25] ^= flag[28];
  flag[26] -= 55;
  flag[4] += 33;
  flag[5] ^= flag[14];
  flag[7] += flag[9];
  flag[26] += flag[9];
  flag[5] -= 55;
  flag[21] += flag[24];
  flag[3] += flag[17];
  flag[16] ^= flag[22];
  flag[0] += flag[17];
  flag[9] -= 54;
  flag[3] ^= flag[12];
  flag[0] += flag[3];
  flag[2] -= 54;
  flag[24] += flag[11];
  flag[0] ^= flag[9];
  flag[25] += 33;
  flag[10] += flag[24];
  flag[8] += flag[9];
  flag[19] += flag[7];
  flag[5] += flag[26];
  flag[24] += flag[18];
  flag[10] += 33;
  flag[2] += flag[25];
  flag[18] -= 55;
  flag[26] += flag[7];
  flag[13] += flag[24];
  flag[15] -= 55;
  flag[11] += flag[1];
  flag[0] -= 54;
  flag[29] += flag[12];
  flag[4] ^= flag[17];
  flag[22] ^= flag[10];
  flag[29] ^= flag[18];
  flag[12] ^= flag[31];
  flag[20] += flag[12];
  flag[10] -= 54;
  flag[18] -= flag[10];
  flag[26] -= flag[9];
  flag[20] ^= flag[19];
  flag[28] -= 55;
  flag[6] ^= flag[10];
  flag[0] ^= flag[28];
  flag[23] += flag[14];
  flag[19] ^= flag[20];
  flag[24] ^= flag[8];
  flag[23] += 33;
  flag[16] ^= flag[22];
  flag[24] += flag[5];
  flag[26] -= 55;
  flag[20] += 33;
  flag[19] -= 54;
  flag[0] += 33;
  flag[17] -= flag[11];
  flag[16] ^= flag[15];
  flag[25] += flag[19];
  flag[3] -= 54;
  flag[21] ^= flag[10];
  flag[17] -= flag[20];
  flag[30] ^= flag[20];
  flag[13] += flag[30];
  flag[13] -= 54;
  flag[0] += flag[23];
  flag[11] += flag[12];
  flag[1] += flag[27];
  flag[22] ^= flag[29];
  flag[14] += 33;
  flag[20] -= flag[27];
  flag[22] -= flag[26];
  flag[23] -= 55;
  flag[22] ^= flag[20];
  flag[26] ^= flag[3];
  flag[4] += flag[15];
  flag[7] += 33;
  flag[3] += flag[12];
  flag[28] ^= flag[23];
  flag[28] -= 55;
  flag[31] ^= flag[14];
  flag[16] += 33;
  flag[16] += flag[20];
  flag[16] += flag[12];
  flag[26] ^= flag[17];
  flag[30] ^= flag[5];
  flag[27] -= 55;
  flag[18] ^= flag[21];
  flag[23] += flag[9];
  flag[30] += flag[2];
  flag[16] += flag[18];
  flag[4] ^= flag[6];
  flag[31] += 33;
  flag[28] -= flag[14];
  flag[24] ^= flag[5];
  flag[27] ^= flag[4];
  flag[4] += flag[30];
  flag[23] += 33;
  flag[26] ^= flag[22];
  flag[10] += flag[1];
  flag[28] ^= flag[18];
  flag[19] += flag[5];
  flag[31] += 33;
  flag[2] ^= flag[12];
  flag[11] += 33;
  flag[18] -= 54;
  flag[11] ^= flag[14];
  flag[29] -= 55;
  flag[0] += 33;
  flag[23] ^= flag[4];
  flag[6] ^= flag[18];
  flag[8] += flag[15];
  flag[21] += 33;
  flag[27] ^= flag[23];
  flag[31] += flag[25];
  flag[6] += flag[28];
  flag[31] -= flag[4];
  flag[13] -= 54;
  flag[23] += flag[16];
  flag[3] ^= flag[2];
  flag[10] ^= flag[28];
  flag[25] ^= flag[9];
  flag[7] ^= flag[22];
  flag[18] -= flag[22];
  flag[11] += flag[25];
  flag[23] += flag[20];
  flag[0] += flag[7];
  flag[23] += flag[0];
  flag[21] -= 55;
  flag[21] -= flag[24];
  flag[3] += flag[31];
  flag[5] -= 55;
  flag[20] ^= flag[22];
  flag[6] ^= flag[11];
  flag[20] ^= flag[29];
  flag[20] ^= flag[29];
  flag[8] += flag[0];
  flag[12] += flag[23];
  flag[2] ^= flag[26];
  flag[24] += flag[8];
  flag[14] ^= flag[24];
  flag[27] += flag[6];
  flag[27] ^= flag[3];
  flag[31] += flag[29];
  flag[23] -= 54;
  flag[26] -= flag[29];
  flag[14] += flag[19];
  flag[11] ^= flag[25];
  flag[21] ^= flag[22];
  flag[20] -= flag[10];
  flag[24] += flag[21];
  flag[13] ^= flag[9];
  flag[14] += flag[31];
  flag[15] -= 55;
  flag[21] += flag[2];
  flag[2] += flag[15];
  flag[30] ^= flag[6];
  flag[17] += 33;
  flag[27] ^= flag[0];
  flag[12] ^= flag[21];
  flag[28] -= flag[9];
  flag[23] -= flag[14];
  flag[14] += 33;
  flag[24] ^= flag[17];
  flag[21] -= 55;
  flag[29] += flag[10];
  flag[20] ^= flag[19];
  flag[26] ^= flag[10];
  flag[17] += flag[3];
  flag[26] ^= flag[23];
  flag[19] ^= flag[14];
  flag[20] -= flag[15];
  flag[23] ^= flag[12];
  flag[29] -= flag[20];
  flag[1] ^= flag[6];
  flag[1] -= 55;
  flag[4] ^= flag[2];
  flag[30] ^= flag[17];
  flag[19] -= 55;
  flag[2] += flag[13];
  flag[15] += flag[14];
  flag[28] -= flag[20];
  flag[4] -= 55;
  flag[31] += flag[11];
  flag[24] += flag[3];
  flag[24] -= 55;
  flag[28] ^= flag[5];
  flag[2] ^= flag[21];
  flag[26] -= 55;
  flag[26] += 33;
  flag[6] ^= flag[24];
  flag[11] -= 54;
  flag[1] += flag[26];
  flag[27] -= flag[22];
  flag[18] += flag[28];
  flag[22] -= 55;
  flag[30] += flag[24];
  flag[0] += 33;
  flag[3] ^= flag[0];
  flag[18] += flag[31];
  flag[7] -= 54;
  flag[14] -= 55;
  flag[19] += flag[1];
  flag[12] -= flag[28];
  flag[19] ^= flag[25];
  flag[28] -= 54;
  flag[1] += flag[27];
  flag[6] += flag[0];
  flag[18] += flag[20];
  flag[26] -= flag[7];
  flag[7] ^= flag[13];
  flag[7] += flag[28];
  flag[2] -= flag[9];
  flag[18] += flag[7];
  flag[10] += flag[3];
  flag[9] += 33;
  flag[3] -= 55;
  flag[25] += flag[0];
  flag[7] += 33;
  flag[17] -= 55;
  flag[23] += flag[14];
  flag[28] += flag[11];
  flag[26] += flag[3];
  flag[9] += flag[12];
  flag[7] += 33;
  flag[26] -= flag[14];
  flag[27] += flag[10];
  flag[26] += flag[20];
  flag[4] -= flag[25];
  flag[16] += flag[29];
  flag[3] ^= flag[31];
  flag[29] -= flag[15];
  flag[4] += flag[11];
  flag[10] ^= flag[3];
  flag[14] += flag[19];
  flag[26] += flag[6];
  flag[25] ^= flag[7];
  flag[17] ^= flag[10];
  flag[23] += flag[27];
  flag[8] += flag[30];
  flag[30] += flag[8];
  flag[29] += 33;
  flag[12] += 33;
  flag[12] ^= flag[21];
  flag[5] += flag[23];
  flag[26] += flag[18];
  flag[22] ^= flag[28];
  flag[23] += flag[2];
  flag[4] += 33;
  flag[8] += flag[9];
  flag[23] += flag[7];
  flag[31] ^= flag[28];
  flag[18] += flag[26];
  flag[8] ^= flag[20];
  flag[17] -= flag[4];
  flag[5] ^= flag[4];
  flag[14] ^= flag[22];
  flag[9] ^= flag[22];
  flag[30] += flag[2];
  flag[8] += flag[0];
  flag[8] += 33;
  flag[1] -= flag[12];
  flag[11] ^= flag[29];
  flag[23] ^= flag[21];
  flag[22] += flag[8];
  flag[1] -= flag[31];
  flag[23] ^= flag[6];
  flag[12] -= 55;
  flag[16] ^= flag[28];
  flag[1] += flag[20];
  flag[14] += flag[13];
  flag[16] += flag[8];
  flag[11] ^= flag[16];
  flag[5] ^= flag[24];
  flag[15] -= 55;
  flag[12] -= 55;
  flag[7] -= flag[23];
  flag[28] += flag[3];
  flag[9] -= flag[28];
  flag[3] -= flag[29];
  flag[23] += flag[19];
  flag[26] ^= flag[16];
  flag[24] -= 54;
  flag[25] += flag[21];
  flag[23] += flag[22];
  flag[25] += 33;
  flag[22] -= flag[7];
  flag[13] += flag[19];
  flag[11] ^= flag[4];
  flag[24] ^= flag[16];
  flag[30] ^= flag[25];
  flag[15] ^= flag[16];
  flag[6] ^= flag[29];
  flag[17] ^= flag[3];
  flag[30] -= 55;
  flag[20] ^= flag[6];
  flag[14] ^= flag[24];
  flag[12] += 33;
  flag[21] ^= flag[8];
  flag[20] -= flag[30];
  flag[13] += flag[16];
  flag[19] ^= flag[15];
  flag[25] += flag[15];
  flag[23] -= 54;
  flag[10] += flag[29];
  flag[9] ^= flag[10];
  flag[10] += 33;
  flag[3] += flag[13];
  flag[8] -= 55;
  flag[27] += flag[6];
  flag[21] -= flag[20];
  flag[24] -= 55;
  flag[20] ^= flag[11];
  flag[20] += flag[26];
  flag[26] ^= flag[10];
  flag[13] -= 54;
  flag[30] += flag[12];
  flag[12] -= flag[21];
  flag[7] -= 55;
  flag[20] += flag[18];
  flag[15] -= 55;
  flag[16] ^= flag[3];
  flag[29] += flag[17];
  flag[22] -= 55;
  flag[20] -= 55;
  flag[18] ^= flag[15];
  flag[5] -= 55;
  flag[21] += 33;
  flag[3] -= flag[16];
  flag[16] -= 54;
  flag[12] ^= flag[29];
  flag[15] += 33;
  flag[30] ^= flag[15];
  flag[5] ^= flag[4];
  flag[19] ^= flag[31];
  flag[23] += 33;
  flag[3] += flag[8];
  flag[29] += flag[26];
  flag[31] += flag[17];
  flag[20] ^= flag[1];
  flag[11] += flag[5];
  flag[3] ^= flag[2];
  flag[27] += flag[12];
  flag[18] += flag[11];
  flag[11] -= flag[27];
  flag[12] -= 54;
  flag[3] += flag[5];
  flag[30] ^= flag[29];
  flag[30] ^= flag[5];
  flag[29] += flag[14];
  flag[1] ^= flag[2];
  flag[30] ^= flag[4];
  flag[8] += 33;
  flag[19] += flag[20];
  flag[19] -= 55;
  flag[10] -= 54;
  flag[24] += flag[30];
  flag[14] -= 54;
  flag[22] -= 55;
  flag[7] += flag[27];
  flag[3] ^= flag[21];
  flag[29] += flag[24];
  flag[19] -= 54;
  flag[1] += flag[17];
  flag[27] ^= flag[4];
  flag[24] += flag[3];
  flag[23] += flag[22];
  flag[13] ^= flag[18];
  flag[17] += flag[12];
  flag[21] += flag[12];
  flag[6] -= flag[21];
  flag[3] += 33;
  flag[21] += flag[14];
  flag[19] += flag[20];
  flag[24] ^= flag[9];
  flag[23] -= flag[15];
  flag[22] -= flag[1];
  flag[21] -= flag[1];
  flag[24] += 33;
  flag[25] -= 55;
  flag[12] -= 54;
  flag[8] -= flag[3];
  flag[24] += flag[1];
  flag[31] += flag[11];
  flag[1] ^= flag[9];
  flag[2] += flag[30];
  flag[22] += flag[2];
  flag[7] ^= flag[26];
  flag[3] += flag[31];
  flag[0] ^= flag[12];
  flag[6] ^= flag[24];
  flag[21] += flag[19];
  flag[20] -= 55;
  flag[22] ^= flag[12];
  flag[21] ^= flag[2];
  flag[14] -= 54;
  flag[3] -= flag[1];
  flag[1] ^= flag[21];
  flag[4] -= 54;
  flag[18] += flag[28];
  flag[17] += flag[1];
  flag[8] ^= flag[18];
  flag[10] += 33;
  flag[28] -= 55;
  flag[24] -= 55;
  flag[11] += 33;
  flag[30] ^= flag[15];
  flag[2] ^= flag[22];
  flag[23] += 33;
  flag[30] -= 55;
  flag[31] ^= flag[12];
  flag[15] -= flag[30];
  flag[5] ^= flag[12];
  flag[20] += 33;
  flag[20] -= 55;
  flag[21] ^= flag[6];
  flag[3] -= 54;
  flag[1] -= 55;
  flag[9] += 33;
  flag[5] += flag[0];
  flag[12] ^= flag[17];
  flag[22] += flag[7];
  flag[20] += flag[29];
  flag[16] ^= flag[20];
  flag[10] -= 54;
  flag[18] += flag[12];
  flag[4] += flag[20];
  flag[26] += flag[15];
  flag[30] += 33;
  flag[4] -= flag[12];
  flag[30] ^= flag[28];
  flag[29] -= flag[25];
  flag[11] ^= flag[12];
  flag[16] -= flag[14];
  flag[0] += flag[11];
  flag[18] ^= flag[1];
  flag[21] += flag[9];
  flag[21] ^= flag[6];
  flag[17] -= 55;
  flag[1] ^= flag[4];
  flag[30] += flag[5];
  flag[10] += flag[1];
  flag[21] += flag[0];
  flag[30] += flag[6];
  flag[10] ^= flag[19];
  flag[6] += 33;
  flag[7] -= flag[29];
  flag[4] += flag[29];
  flag[20] ^= flag[10];
  flag[3] ^= flag[25];
  flag[18] -= 54;
  flag[0] -= 55;
  flag[27] ^= flag[7];
  flag[4] -= flag[29];
  flag[31] += flag[12];
  flag[12] += flag[19];
  flag[29] += flag[20];
  flag[30] += flag[31];
  flag[30] ^= flag[2];
  flag[5] -= 54;
  flag[10] += flag[14];
  flag[3] -= flag[0];
  flag[5] += flag[28];
  flag[3] += flag[12];
  flag[25] -= 55;
  flag[16] ^= flag[15];
  flag[19] += flag[4];
  flag[0] += 33;
  flag[1] += flag[23];
  flag[10] += flag[5];
  flag[23] += flag[15];
  flag[30] ^= flag[31];
  flag[30] ^= flag[23];
  flag[18] -= 55;
  flag[10] += flag[5];
  flag[30] -= flag[16];
  flag[19] -= flag[28];
  flag[2] -= 55;
  flag[23] += flag[0];
  flag[1] += flag[22];
  flag[25] += flag[24];
  flag[2] += flag[4];
  flag[17] ^= flag[21];
  flag[30] += flag[7];
  flag[19] ^= flag[28];
  flag[8] ^= flag[10];
  flag[4] -= flag[5];
  flag[11] += 33;
  flag[30] -= flag[15];
  flag[25] ^= flag[23];
  flag[21] += flag[4];
  flag[28] ^= flag[11];
  flag[7] -= 54;
  flag[17] += flag[4];
  flag[0] ^= flag[7];
  flag[31] -= 55;
  flag[17] -= flag[13];
  flag[18] += 33;
  flag[14] += 33;
  flag[4] += 33;
  flag[19] -= flag[14];
  flag[20] -= 55;
  flag[21] -= 54;
  flag[17] ^= flag[2];
  flag[21] += flag[25];
  flag[21] -= flag[12];
  flag[22] -= 54;
  flag[19] += flag[14];
  flag[17] -= flag[2];
  flag[23] -= 55;
  flag[29] -= flag[3];
  flag[22] -= flag[29];
  flag[1] -= 54;
  flag[24] += 33;
  flag[23] ^= flag[6];
  flag[24] ^= flag[3];
  flag[18] ^= flag[3];
  flag[12] ^= flag[4];
  flag[26] -= 54;
  flag[7] += 33;
  flag[20] ^= flag[0];
  flag[19] -= 55;
  flag[27] -= 55;
  flag[0] ^= flag[13];
  flag[28] ^= flag[21];
  flag[17] += flag[5];
  flag[23] ^= flag[5];
  flag[8] ^= flag[28];
  flag[16] ^= flag[11];
  flag[9] -= flag[5];
  flag[19] -= 54;
  flag[22] -= 55;
  flag[22] -= flag[6];
  flag[15] ^= flag[8];
  flag[8] ^= flag[20];
  flag[1] -= 55;
  flag[18] += flag[16];
  flag[20] -= 55;
  flag[30] -= 55;
  flag[4] -= flag[24];
  flag[0] += flag[31];
  flag[12] -= 55;
  flag[13] ^= flag[26];
  flag[12] -= flag[0];
  flag[2] ^= flag[8];
  flag[18] ^= flag[7];
  flag[29] += flag[9];
  flag[20] += flag[5];
  flag[28] ^= flag[3];
  flag[17] ^= flag[2];
  flag[22] ^= flag[0];
  flag[29] += flag[30];
  flag[25] += flag[16];
  flag[20] += 33;
  flag[30] -= 54;
  flag[4] += 33;
  flag[5] -= 55;
  flag[7] -= 55;
  flag[13] += flag[17];
  flag[9] ^= flag[20];
  flag[23] ^= flag[10];
  flag[0] -= 55;
  flag[31] += flag[5];
  flag[2] -= flag[6];
  flag[5] ^= flag[22];
  flag[17] -= flag[30];
  flag[14] -= 55;
  flag[28] -= 55;
  flag[19] ^= flag[24];
  flag[5] += 33;
  flag[11] -= flag[20];
  flag[21] += flag[24];
  flag[1] += flag[4];
  flag[10] ^= flag[17];
  flag[9] -= 55;
  flag[15] += flag[25];
  flag[11] -= 54;
  flag[18] += 33;
  flag[15] ^= flag[16];
  flag[19] ^= flag[5];
  flag[31] -= 55;
  flag[9] -= 54;
  flag[16] ^= flag[18];
  flag[30] ^= flag[24];
  flag[13] += flag[11];
  flag[12] -= flag[8];
  flag[20] ^= flag[1];
  flag[20] ^= flag[3];
  flag[0] ^= flag[13];
  flag[2] += flag[7];
  flag[13] -= flag[3];
  flag[21] -= flag[22];
  flag[4] -= flag[17];
  flag[1] ^= flag[9];
  flag[22] += flag[3];
  flag[16] -= 54;
  flag[23] += flag[11];
  flag[28] += flag[0];
  flag[8] += flag[15];
  flag[21] -= 54;
  flag[2] -= 55;
  flag[0] -= flag[5];
  flag[27] += flag[21];
  flag[16] += 33;
  flag[21] -= 54;
  flag[26] -= 55;
  flag[15] ^= flag[18];
  flag[3] ^= flag[24];
  flag[13] += flag[25];
  flag[26] ^= flag[13];
  flag[3] += flag[28];
  flag[28] += flag[19];
  flag[13] ^= flag[7];
  flag[7] += 33;
  flag[1] ^= flag[23];
  flag[30] += flag[10];
  flag[24] -= 55;
  flag[29] ^= flag[30];
  flag[27] -= 55;
  flag[26] += 33;
  flag[27] += flag[16];
  flag[3] += flag[19];
  flag[1] += 33;
  flag[26] -= 55;
  flag[4] += 33;
  flag[7] += flag[18];
  flag[17] ^= flag[15];
  flag[17] ^= flag[28];
  flag[27] ^= flag[29];
  flag[11] -= 55;
  flag[24] -= 55;
  flag[8] += flag[7];
  flag[20] += flag[26];
  flag[22] ^= flag[4];
  flag[14] ^= flag[21];
  flag[3] -= 55;
  flag[6] ^= flag[7];
  flag[25] -= 55;
  flag[2] -= 55;
  flag[23] -= flag[8];
  flag[5] -= flag[0];
  flag[29] -= 54;
  flag[21] -= 55;
  flag[6] -= flag[23];
  flag[14] -= 55;
  flag[30] += 33;
  flag[27] -= 54;
  flag[20] += 33;
  flag[11] -= flag[10];
  flag[2] += flag[31];
  flag[27] += 33;
  flag[16] ^= flag[13];
  flag[2] -= 54;
  flag[7] -= flag[26];
  flag[6] -= 54;
  flag[2] ^= flag[15];
  flag[19] ^= flag[25];
  flag[13] += flag[17];
  flag[30] -= 55;
  flag[31] ^= flag[18];
  flag[19] -= flag[1];
  flag[19] -= 54;
  flag[16] -= flag[15];
  flag[24] += flag[6];
  flag[18] ^= flag[3];
  flag[13] += flag[12];
  flag[21] ^= flag[4];
  flag[1] ^= flag[31];
  flag[26] -= 54;
  flag[10] -= flag[4];
  flag[0] ^= flag[13];
  flag[30] += flag[9];
  flag[8] ^= flag[14];
  flag[1] -= 54;
  flag[30] += flag[11];
  flag[3] += flag[21];
  flag[21] += flag[19];
  flag[4] ^= flag[3];
  flag[27] += flag[4];
  flag[1] ^= flag[19];
  flag[24] -= 54;
  flag[14] -= 54;
  flag[3] ^= flag[22];
  flag[24] += flag[27];
  flag[5] ^= flag[29];
  flag[14] ^= flag[18];
  flag[2] += 33;
  flag[31] -= 54;
  flag[26] += flag[31];
  flag[12] ^= flag[5];
  flag[18] ^= flag[5];
  flag[30] += flag[2];
  flag[12] ^= flag[22];
  flag[19] -= 54;
  flag[4] ^= flag[20];
  flag[21] += flag[11];
  flag[16] -= flag[0];
  flag[11] += flag[14];
  flag[27] += flag[0];
  flag[9] -= 55;
  flag[29] ^= flag[10];
  flag[22] ^= flag[25];
  flag[8] ^= flag[29];
  flag[5] -= 55;
  flag[14] -= 55;
  flag[18] -= 54;
  flag[14] ^= flag[4];
  flag[5] -= flag[23];
  flag[4] += flag[14];
  flag[10] += flag[28];
  flag[6] += flag[22];
  flag[19] -= 54;
  flag[9] += 33;
  flag[0] -= 54;
  flag[31] -= 55;
  flag[11] += flag[25];
  flag[12] += flag[13];
  flag[31] ^= flag[7];
  flag[19] ^= flag[15];
  flag[13] += flag[5];
  flag[5] ^= flag[18];
  flag[11] -= flag[23];
  flag[0] -= 55;
  flag[17] += flag[14];
  flag[21] -= 54;
  flag[5] ^= flag[24];
  flag[20] ^= flag[28];
  flag[1] -= 54;
  flag[22] -= flag[27];
  flag[6] ^= flag[13];
  flag[17] ^= flag[15];
  flag[30] -= 54;
  flag[11] += flag[26];
  flag[3] -= 54;
  flag[2] += flag[4];
  flag[24] ^= flag[17];
  flag[0] += flag[17];
  flag[1] -= 54;
  flag[2] += flag[7];
  flag[12] += flag[4];
  flag[26] += flag[17];
  flag[26] += flag[9];
  flag[20] += flag[5];
  flag[3] += 33;
  flag[29] += flag[24];
  flag[13] ^= flag[4];
  flag[4] ^= flag[23];
  flag[24] ^= flag[25];
  flag[20] += 33;
  flag[4] -= 55;
  flag[11] += 33;
  flag[8] ^= flag[23];
  flag[27] -= 54;
  flag[27] ^= flag[8];
  flag[0] ^= flag[25];
  flag[10] ^= flag[5];
  flag[18] ^= flag[5];
  flag[19] += flag[28];
  flag[21] += flag[5];
  flag[14] -= flag[17];
  flag[8] -= 54;
  flag[27] -= flag[21];
  flag[17] += flag[30];
  flag[5] ^= flag[21];
  flag[23] += flag[16];
  flag[19] += flag[24];
  flag[31] ^= flag[5];
  flag[24] ^= flag[9];
  flag[20] += flag[1];
  flag[26] += flag[28];
  flag[5] += 33;
  flag[20] += flag[10];
  flag[24] += flag[22];
  flag[7] -= 54;
  flag[31] ^= flag[27];
  flag[13] ^= flag[4];
  flag[15] ^= flag[27];
  flag[29] -= 55;
  flag[5] ^= flag[28];
  flag[31] -= 55;
  flag[16] += flag[6];
  flag[12] -= 55;
  flag[27] -= 55;
  flag[29] ^= flag[20];
  flag[17] ^= flag[15];
  flag[24] ^= flag[31];
  flag[6] -= 54;
  flag[14] += flag[17];
  flag[12] -= 55;
  flag[8] += 33;
  flag[12] -= 54;
  flag[7] += flag[20];
  flag[14] ^= flag[12];
  flag[20] ^= flag[30];
  flag[10] -= 55;
  flag[3] += 33;
  flag[8] -= 54;
  flag[18] -= 55;
  flag[26] += flag[17];
  flag[29] ^= flag[30];
  flag[11] += flag[19];
  flag[29] += flag[23];
  flag[15] += flag[4];
  flag[19] -= 55;
  flag[8] ^= flag[9];
  flag[22] -= 54;
  flag[17] += flag[9];
  flag[5] ^= flag[12];
  flag[13] ^= flag[10];
  flag[30] += flag[16];
  flag[10] += flag[5];
  flag[18] -= 55;
  flag[11] += 33;
  flag[25] ^= flag[27];
  flag[17] += flag[5];
  flag[18] -= 55;
  flag[14] ^= flag[26];
  flag[9] += flag[0];
  flag[0] ^= flag[8];
  flag[16] += flag[13];
  flag[21] += flag[11];
  flag[30] ^= flag[7];
  flag[21] ^= flag[19];
  flag[4] -= flag[20];
  flag[1] ^= flag[0];
  flag[27] ^= flag[10];
  flag[9] += flag[4];
  flag[31] -= 54;
  flag[0] += flag[27];
  flag[12] -= 55;
  flag[29] ^= flag[10];
  flag[3] ^= flag[17];
  flag[0] += 33;
  flag[18] ^= flag[29];
  flag[28] += 33;
  flag[4] += flag[23];
  flag[16] += flag[20];
  flag[31] += flag[10];
  flag[17] += flag[31];
  flag[6] += flag[19];
  flag[24] += flag[29];
  flag[11] += flag[4];
  flag[29] += flag[2];
  flag[18] -= flag[2];
  flag[19] -= 55;
  flag[0] += flag[13];
  flag[5] ^= flag[26];
  flag[20] += flag[5];
  flag[22] ^= flag[18];
  flag[19] += 33;
  flag[12] -= flag[27];
  flag[18] -= flag[15];
  flag[12] -= 55;
  flag[23] += flag[15];
  flag[22] += flag[18];
  flag[22] += flag[5];
  flag[16] += flag[0];
  flag[17] += flag[1];
  flag[19] ^= flag[16];
  flag[2] -= flag[29];
  flag[9] += flag[28];
  flag[18] += flag[2];
  flag[24] += flag[22];
  flag[11] -= flag[13];
  flag[13] ^= flag[25];
  flag[23] += flag[30];
  flag[29] += flag[15];
  flag[5] += flag[7];
  flag[23] -= flag[29];
  flag[10] += flag[8];
  flag[3] ^= flag[28];
  flag[28] -= 54;
  flag[15] ^= flag[0];
  flag[18] -= 55;
  flag[10] ^= flag[12];
  flag[5] ^= flag[12];
  flag[29] -= 55;
  flag[19] += flag[21];
  flag[7] ^= flag[15];
  flag[11] ^= flag[20];
  flag[24] += flag[8];
  flag[7] += flag[9];
  flag[16] += flag[9];
  flag[16] -= 54;
  flag[21] ^= flag[10];
  flag[25] ^= flag[3];
  flag[7] ^= flag[31];
  flag[8] -= flag[15];
  flag[28] += 33;
  flag[20] ^= flag[4];
  flag[12] ^= flag[25];
  flag[8] += flag[4];
  flag[20] ^= flag[3];
  flag[7] ^= flag[0];
  flag[2] -= 54;
  flag[20] -= 55;
  flag[6] += flag[18];
  flag[18] += flag[2];
  flag[31] += flag[8];
  flag[25] -= 55;
  flag[20] += 33;
  flag[26] -= flag[17];
  flag[11] += flag[30];
  flag[31] ^= flag[14];
  flag[1] += 33;
  flag[8] += flag[31];
  flag[12] ^= flag[17];
  flag[17] += 33;
  flag[1] += flag[3];
  flag[2] += 33;
  flag[4] += flag[25];
  flag[5] += flag[4];
  flag[28] += 33;
  flag[23] -= 55;
  flag[13] += flag[31];
  flag[12] ^= flag[0];
  flag[21] ^= flag[28];
  flag[22] -= flag[12];
  flag[3] += flag[12];
  flag[11] += flag[16];
  flag[29] -= 55;
  flag[24] ^= flag[1];
  flag[12] -= flag[26];
  flag[16] -= 54;
  flag[29] ^= flag[5];
  flag[8] ^= flag[21];
  flag[19] ^= flag[29];
  flag[27] += flag[26];
  flag[24] += flag[8];
  flag[13] -= flag[26];
  flag[30] ^= flag[28];
  flag[29] ^= flag[12];
  flag[29] -= 54;
  flag[20] -= 54;
  flag[27] += flag[26];
  flag[4] -= 54;
  flag[12] ^= flag[31];
  flag[2] += flag[24];
  flag[14] += flag[20];
  flag[16] -= 55;
  flag[0] -= 54;
  flag[30] += 33;
  flag[3] ^= flag[8];
  flag[13] += flag[18];
  flag[30] -= 55;
  flag[25] ^= flag[13];
  flag[24] ^= flag[17];
  flag[0] -= flag[29];
  flag[5] -= flag[13];
  flag[23] ^= flag[4];
  flag[11] -= 55;
  flag[4] ^= flag[29];
  flag[3] -= flag[16];
  flag[19] -= 54;
  flag[12] ^= flag[25];
  flag[10] += flag[24];
  flag[20] -= 54;
  flag[5] -= 54;
  flag[26] -= 55;
  flag[19] -= 54;
  flag[12] += flag[25];
  flag[29] -= 54;
  flag[8] += flag[14];
  flag[14] ^= flag[10];
  flag[27] -= 54;
  flag[29] += flag[30];
  flag[16] += flag[10];
  flag[6] ^= flag[1];
  flag[6] += 33;
  flag[4] += 33;
  flag[21] ^= flag[13];
  flag[15] -= 54;
  flag[31] += flag[9];
  flag[11] += flag[3];
  flag[9] -= 54;
  flag[30] ^= flag[6];
  flag[31] ^= flag[20];
  flag[19] -= flag[8];
  flag[18] -= 55;
  flag[5] += flag[15];
  flag[21] -= 55;
  flag[3] += flag[22];
  flag[5] += 33;
  flag[10] ^= flag[13];
  flag[15] += 33;
  flag[25] ^= flag[29];
  flag[15] -= flag[17];
  flag[7] -= flag[23];
  flag[8] ^= flag[6];
  flag[18] ^= flag[17];
  flag[21] ^= flag[24];
  flag[22] += 33;
  flag[25] -= 55;
  flag[28] += flag[24];
  flag[18] += flag[28];
  flag[5] ^= flag[3];
  flag[7] += flag[0];
  flag[25] -= flag[18];
  flag[15] += flag[19];
  flag[16] -= 54;
  flag[1] += flag[26];
  flag[13] += 33;
  flag[0] -= 55;
  flag[10] ^= flag[8];
  flag[11] += 33;
  flag[9] += 33;
  flag[14] -= flag[15];
  flag[24] ^= flag[3];
  flag[5] += flag[23];
  flag[31] += flag[24];
  flag[14] ^= flag[19];
  flag[15] += flag[2];
  flag[14] -= 54;
  flag[2] -= 54;
  flag[12] -= 55;
  flag[13] -= 54;
  flag[16] += flag[11];
  flag[17] -= flag[23];
  flag[27] -= 55;
  flag[14] += 33;
  flag[23] -= flag[20];
  flag[8] += 33;
  flag[20] += 33;
  flag[20] += flag[27];
  flag[3] += flag[18];
  flag[28] += flag[9];
  flag[21] ^= flag[11];
  flag[12] ^= flag[27];
  flag[21] ^= flag[15];
  flag[25] += flag[8];
  flag[19] += 33;
  flag[4] ^= flag[14];
  flag[26] -= 55;
  flag[2] ^= flag[24];
  flag[18] += flag[21];
  flag[14] += flag[16];
  flag[30] ^= flag[15];
  flag[5] -= flag[22];
  flag[19] += 33;
  flag[14] -= 54;
  flag[6] += 33;
  flag[4] += flag[10];
  flag[15] += flag[7];
  flag[4] -= 55;
  flag[6] -= flag[27];
  flag[30] -= flag[3];
  flag[11] += flag[20];
  flag[18] += flag[10];
  flag[28] += flag[29];
  flag[2] += flag[18];
  flag[6] += flag[15];
  flag[10] ^= flag[3];
  flag[16] -= 55;
  flag[21] += 33;
  flag[21] ^= flag[26];
  flag[25] -= flag[2];
  flag[23] ^= flag[17];
  flag[24] -= 54;
  flag[22] ^= flag[25];
  flag[28] += 33;
  flag[16] += 33;
  flag[30] += flag[14];
  flag[22] += flag[18];
  flag[25] += flag[2];
  flag[29] -= 55;
  flag[26] -= 54;
  flag[13] -= flag[25];
  flag[24] += flag[25];
  flag[4] -= 55;
  flag[18] ^= flag[31];
  flag[8] ^= flag[1];
  flag[16] -= 54;
  flag[24] += flag[10];
  flag[7] += flag[18];
  flag[0] += flag[29];
  flag[9] ^= flag[17];
  flag[5] -= 54;
  flag[24] -= flag[4];
  flag[5] -= 55;
  flag[18] ^= flag[4];
  flag[14] -= 54;
  flag[26] -= 54;
  flag[21] ^= flag[12];
  flag[14] -= 54;
  flag[3] -= flag[6];
  flag[30] ^= flag[16];
  flag[4] -= 55;
  flag[17] ^= flag[8];
  flag[3] += flag[1];
  flag[7] += flag[13];
  flag[16] ^= flag[25];
  flag[18] += flag[19];
  flag[21] -= flag[15];
  flag[29] ^= flag[9];
  flag[26] ^= flag[27];
  flag[4] -= flag[10];
  flag[11] -= 54;
  flag[1] -= 55;
  flag[10] ^= flag[2];
  flag[22] ^= flag[23];
  flag[19] += flag[0];
  flag[30] -= 54;
  flag[6] ^= flag[31];
  flag[1] ^= flag[16];
  flag[12] += flag[21];
  flag[13] += 33;
  flag[28] ^= flag[8];
  flag[30] += flag[31];
  flag[17] -= 55;
  flag[30] -= 54;
  flag[25] -= 54;
  flag[24] ^= flag[7];
  flag[16] ^= flag[1];
  flag[7] += flag[10];
  flag[23] ^= flag[16];
  flag[26] ^= flag[0];
  flag[24] ^= flag[17];
  flag[1] += flag[18];
  flag[15] += flag[12];
  flag[7] += 33;
  flag[6] ^= flag[31];
  flag[16] ^= flag[6];
  flag[19] += flag[27];
  flag[5] -= 54;
  flag[27] -= flag[19];
  flag[5] -= 55;
  flag[27] += flag[10];
  flag[30] += flag[20];
  flag[23] -= flag[16];
  flag[13] ^= flag[0];
  flag[9] += flag[13];
  flag[9] -= flag[2];
  flag[15] += flag[22];
  flag[15] += flag[18];
  flag[5] += flag[7];
  flag[7] -= 54;
  flag[2] += flag[21];
  flag[22] -= 54;
  flag[20] += flag[7];
  flag[25] ^= flag[8];
  flag[28] ^= flag[4];
  flag[6] -= 54;
  flag[19] += 33;
  flag[6] ^= flag[22];
  flag[3] ^= flag[4];
  flag[21] ^= flag[7];
  flag[8] += flag[20];
  flag[28] += 33;
  flag[28] += flag[26];
  flag[25] ^= flag[13];
  flag[21] += 33;
  flag[10] += 33;
  flag[25] ^= flag[15];
  flag[13] ^= flag[19];
  flag[14] ^= flag[4];
  flag[30] -= 55;
  flag[16] -= 55;
  flag[15] ^= flag[23];
  flag[26] ^= flag[29];
  flag[7] += flag[29];
  flag[22] += flag[16];
  flag[1] ^= flag[18];
  flag[13] += 33;
  flag[6] += flag[1];
  flag[16] += flag[8];
  flag[24] -= 54;
  flag[24] += flag[2];
  flag[15] ^= flag[25];
  flag[23] -= 54;
  flag[5] -= flag[3];
  flag[21] ^= flag[2];
  flag[13] ^= flag[2];
  flag[31] += flag[19];
  flag[5] ^= flag[23];
  flag[15] ^= flag[23];
  flag[9] ^= flag[25];
  flag[11] += flag[18];
  flag[19] += 33;
  flag[23] ^= flag[13];
  flag[4] ^= flag[11];
  flag[11] += flag[8];
  flag[1] += flag[6];
  flag[15] -= flag[0];
  flag[27] += flag[1];
  flag[31] += flag[3];
  flag[31] -= flag[6];
  flag[18] += flag[8];
  flag[4] -= flag[11];
  flag[30] -= 55;
  flag[15] += flag[9];
  flag[4] += 33;
  flag[5] -= flag[16];
  flag[10] ^= flag[27];
  flag[31] += flag[0];
  flag[18] -= flag[25];
  flag[24] += flag[6];
  flag[28] ^= flag[6];
  flag[17] ^= flag[24];
  flag[23] ^= flag[6];
  flag[5] ^= flag[27];
  flag[24] ^= flag[18];
  flag[13] += flag[22];
  flag[2] -= 54;
  flag[9] += flag[22];
  flag[11] ^= flag[10];
  flag[4] -= 55;
  flag[26] ^= flag[7];
  flag[1] ^= flag[24];
  flag[23] += flag[6];
  flag[21] += flag[1];
  flag[24] += 33;
  flag[2] += flag[28];
  flag[25] ^= flag[26];
  flag[27] ^= flag[15];
  flag[27] ^= flag[14];
  flag[28] -= flag[26];
  flag[1] += flag[26];
  flag[30] ^= flag[21];
  flag[29] -= 54;
  flag[20] ^= flag[31];
  flag[18] ^= flag[6];
  flag[14] ^= flag[26];
  flag[4] += flag[2];
  flag[9] += flag[7];
  flag[0] ^= flag[5];
  flag[9] += flag[27];
  flag[5] ^= flag[23];
  flag[9] -= flag[5];
  flag[7] += flag[1];
  flag[19] += flag[4];
  flag[7] += flag[8];
  flag[0] ^= flag[30];
  flag[25] += flag[9];
  flag[5] ^= flag[22];
  flag[22] -= 55;
  flag[6] ^= flag[18];
  flag[6] -= 55;
  flag[7] += flag[3];
  flag[4] -= flag[19];
  flag[25] -= 55;
  flag[0] ^= flag[4];
  flag[14] ^= flag[8];
  flag[6] += flag[3];
  flag[8] += flag[20];
  flag[10] -= 55;
  flag[17] += flag[29];
  flag[10] += flag[25];
  flag[21] -= 54;
  flag[0] += 33;
  flag[29] += flag[16];
  flag[6] -= 55;
  flag[21] ^= flag[18];
  flag[25] += flag[8];
  flag[2] ^= flag[8];
  flag[3] -= 54;
  flag[22] += 33;
  flag[6] ^= flag[31];
  flag[30] ^= flag[19];
  flag[20] += flag[19];
  flag[18] -= flag[1];
  flag[24] ^= flag[20];
  flag[17] += 33;
  flag[2] ^= flag[4];
  flag[7] ^= flag[22];
  flag[16] ^= flag[27];
  flag[31] -= 54;
  flag[19] -= 55;
  flag[12] += flag[1];
  flag[21] -= 54;
  flag[28] += flag[3];
  flag[26] += flag[3];
  flag[28] -= flag[15];
  flag[26] -= 54;
  flag[10] -= 54;
  flag[0] += flag[11];
  flag[9] += 33;
  flag[8] -= flag[22];
  flag[29] -= 54;
  flag[2] ^= flag[11];
  flag[1] -= 54;
  flag[10] -= 54;
  flag[10] += flag[11];
  flag[21] ^= flag[2];
  flag[2] -= 54;
  flag[31] += 33;
  flag[1] += 33;
  flag[18] ^= flag[14];
  flag[29] += flag[25];
  flag[22] -= flag[31];
  flag[21] -= 54;
  flag[0] += flag[5];
  flag[16] += flag[20];
"""
for one in string.splitlines()[::-1]:
    one = one[2:]
    ad = one.find('+')
    sub = one.find('-')
    xor = one.find('^')
    if ad != -1:
        print(one[:ad] + '-' + one[ad+1:])
        continue
    if sub != -1:
        print(one[:sub] + '+' + one[sub+1:])
        continue
    if xor != -1:
        print(one[:xor] + '^' + one[xor+1:])
        continue
    else:
        raise Exception("Error")

然后复制出来粘贴,然后将flag逆向运算一次就得到flag,比较简单

Untitled