总结
先把总结放前面。从这次比赛到现在自我反思的几个问题:
- 向全栈安全方向学习。跟大佬聊,做二进制还是要懂web。比如桌面平台的二进制,移动安全,iot安全,都是会涉及到web安全。如今混合开发也非常流行,唯有全栈才是出路。
- 慢即是快。比赛中有几个低级失误导致白给多题。其实如果细心应该能发现问题。python3默认输出大数会使用科学计数法,此时直接用int只会让低位信息直接丢失,不会产生正确的结果。
- 别用volatility3。版本太新,和2的版本有很多改变的地方,导致使用方法和2有区别。血的教训。
PNGCracker
首先看到图片的高度不对,怀疑是高度隐写,用010edit打开修改图片的高度。后面发现得到了一个密码。猜测是压缩包密码
尝试用binwalk分离,得到一个压缩包,用之前得到的密码可以解开
将图片用set 打开, 发现在red、green和bule的图片下面存在一行模糊的内容,lsb隐写,(red、green、Bule为1)
ZIPCracker2
下载下来是个伪加密,直接用7zip解压了,有一张著名音乐家piazzolla的照片,然后还有一个加密压缩包,里面有一张照片和flag.txt
然后发现加密的照片与已有的照片源文件大小一样,猜测已知明文攻击,用ARCHPR破解:
获得解压密码:
解压后里面的flag.txt就是flag:
crackme2
是一个apk,用jadx打开,查看入口函数:
反编译java代码如下:
1 | package com.example.CrackMe2; |
可以分析输入flag,check()函数检查输入,首先必须被 flag{}
包起来,然后经过一个encode要和target相同。
查看encode,发现是典型的rc4,但是不同的是在第三次循环中j的值多加了136。所以解密时也要加上这个136。
解密脚本:
1 |
|
flag{2fd3d38b20b7bae1f6ed0d70a7df345e}
meikyu(二血)
解压有个py文件、pyd文件、dll文件。pyd是二进制库,因此无法直接反编译,但是我们可以导入之后用help查看:
1 | Help on module mylib: |
然后结合题目的脚本,很明显是个迷宫,对应的墙、路、终点、起点的值都给出。等他生成map后输出,可以得到如下列表:
1 | map = [35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 83, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32,32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 32, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 35, 35, 35, 32, 35, 32, 35, 32, 35, 35, 35, 32, 35, 35, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 35, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 32, 32, 32, 32, 32, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 32, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 32, 32, 35, 32, 35, 32, 35, 32, 35, 32, 69, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35] |
长度10201,经过因式分解只有101*101的情况。而具体的走法、按键我们其实不知道,大胆猜测在还没有看的dll里,因此使用ida打开:
很明显是wasd控制上左下右。使用dfs深搜路径:
1 | import copy |
然后md5就是flag(这个脚本最后还要加一步d才是正确的)。