复现参考:https://tangcuxiaojikuai.xyz/post/b73949e0.html#more
加密代码:
1 | from random import randint, choice, shuffle |
这边的话看起来像是一个rlwe类型的,但是实际观察会发现,误差向量e相比于模数p来说并不是短向量,而是随机长度,而且e的选择每一次都在改变,这也增加了造格的难度,所以这题的考点显然不是rlwe了
这边我们只能往构造等式解矩阵方程的方向靠
首先是模数p的获取,这边肯定不是硬爆的,思路就是我们可以手机题目给出的数据中系数最大的值,这个肯定是和模数p相差不了多少的,然后对她进行nextprime的枚举,本地测试的话10次以内就可以拿到模数p,对于本题来说的话是4次
得到模数p之后很明显就是收集等式了
我们知道,对商环意义下的多项式的乘法,可以转化为矩阵-向量的形式,例如我们现在有如下的等式(这边我们先忽略误差向量e,就是为了讲解关于商环下多项式到矩阵的转换)
s和A都是度为13的多项式,可以表示为
然后他们都在对应的下,在本题的等式
也就是对应
1 | PR(list(b"DASCTF_XHLJ2025") |
那么他们相乘的结果对应的多项式也会限制他的度是13,也就是
转化为对应的矩阵-向量的形式
那么在sage中我们如何实现这个多项式A到矩阵A的转化呢,有如下的一句话代码
1 | mat = Matrix(ZZ, [(mult*x^i % mod).list() for i in range(mod.degree())]) |
mod为对应的模多项式,本题对应就是14
mult为要转为矩阵的多项式,注意是定义在多项式环下,不是商环
具体推导实现如下:
我们知道上面的矩阵运算可以形成14组等式
对于第一组
对于第二组
以此类推
对于都限制在,我们只要再模下mod就行了,让sage自己去计算
本地测试是成立的
1 | from random import randint, choice, shuffle |
那么实现了多项式相乘到矩阵的转换之后,现在就差等式中的误差e还没解决,我们假设最初始的seed里面的四个变量分别是
但是他选择误差的时候的e是随机选取的,那么这时候我们不知道他每一轮选取了哪些e,但是无论如下,我们都有如下的等式成立(对于第一组来说,这边我们开始考虑误差向量e了)
每一次交互我们可以拿到14组等式,对于第二次交互的e发生了改变,我们也只要在代码中顺便进行lcg的迭代就可以了
到这部分的实现代码如下:
1 | from Crypto.Util.number import long_to_bytes |
这边可以看到,即使是未知项最少的时候,也远比等式4914的数量还多,我们知道解方程最重要的就是我们等式的数量要大于或者等于未知量才有可能得到该方程组的唯一解,现在显然做不到,所以我们要利用到一个取消内部置换的技巧
我们先看如下的等式
可以看到我们要解的四部分的项,
我们做个转换,再看如下的等式
可以看到我们只要解的三部分的项,也就是
如果说我们只关心x的解,那么我们是不是就可以这样的内部置换来减少未知项的系数呢?
那么我们现在就把初始的未知向量直接当中是一个变量e就可以了
此时的等式就变为
现在我们只要对代码做下简单的修改就可以了
另外这边还有一个要注意的点,因为第一次交互是不包含变量b的,e是最初始的e,所以前14组的项会少一些,按理说这是好的,但是因为等式数量太少了,所以这边我们到时候构建新矩阵的时候就跳过这14项,这时候虽然少了14组等式,但是等式数量也有4900个,大于未知项数4845个
1 | from Crypto.Util.number import long_to_bytes |
每个多项式对应的项如下:
1 | [s0^4, s0^3*s1, s0^2*s1^2, s0*s1^3, s1^4, s0^3*s2, s0^2*s1*s2, s0*s1^2*s2, s1^3*s2, s0^2*s2^2, s0*s1*s2^2, s1^2*s2^2, s0*s2^3, s1*s2^3, s2^4, s0^3*s3, s0^2*s1*s3, s0*s1^2*s3, s1^3*s3, s0^2*s2*s3, s0*s1*s2*s3, s1^2*s2*s3, s0*s2^2*s3, s1*s2^2*s3, s2^3*s3, s0^2*s3^2, s0*s1*s3^2, s1^2*s3^2, s0*s2*s3^2, s1*s2*s3^2, s2^2*s3^2, s0*s3^3, s1*s3^3, s2*s3^3, s3^4, s0^3*s4, s0^2*s1*s4, s0*s1^2*s4, s1^3*s4, s0^2*s2*s4, s0*s1*s2*s4, s1^2*s2*s4, s0*s2^2*s4, s1*s2^2*s4, s2^3*s4, s0^2*s3*s4, s0*s1*s3*s4, s1^2*s3*s4, s0*s2*s3*s4, s1*s2*s3*s4, s2^2*s3*s4, s0*s3^2*s4, s1*s3^2*s4, s2*s3^2*s4, s3^3*s4, s0^2*s4^2, s0*s1*s4^2, s1^2*s4^2, s0*s2*s4^2, s1*s2*s4^2, s2^2*s4^2, s0*s3*s4^2, s1*s3*s4^2, s2*s3*s4^2, s3^2*s4^2, s0*s4^3, s1*s4^3, s2*s4^3, s3*s4^3, s4^4, s0^3*s5, s0^2*s1*s5, s0*s1^2*s5, s1^3*s5, s0^2*s2*s5, s0*s1*s2*s5, s1^2*s2*s5, s0*s2^2*s5, s1*s2^2*s5, s2^3*s5, s0^2*s3*s5, s0*s1*s3*s5, s1^2*s3*s5, s0*s2*s3*s5, s1*s2*s3*s5, s2^2*s3*s5, s0*s3^2*s5, s1*s3^2*s5, s2*s3^2*s5, s3^3*s5, s0^2*s4*s5, s0*s1*s4*s5, s1^2*s4*s5, s0*s2*s4*s5, s1*s2*s4*s5, s2^2*s4*s5, s0*s3*s4*s5, s1*s3*s4*s5, s2*s3*s4*s5, s3^2*s4*s5, s0*s4^2*s5, s1*s4^2*s5, s2*s4^2*s5, s3*s4^2*s5, s4^3*s5, s0^2*s5^2, s0*s1*s5^2, s1^2*s5^2, s0*s2*s5^2, s1*s2*s5^2, s2^2*s5^2, s0*s3*s5^2, s1*s3*s5^2, s2*s3*s5^2, s3^2*s5^2, s0*s4*s5^2, s1*s4*s5^2, s2*s4*s5^2, s3*s4*s5^2, s4^2*s5^2, s0*s5^3, s1*s5^3, s2*s5^3, s3*s5^3, s4*s5^3, s5^4, s0^3*s6, s0^2*s1*s6, s0*s1^2*s6, s1^3*s6, s0^2*s2*s6, s0*s1*s2*s6, s1^2*s2*s6, s0*s2^2*s6, s1*s2^2*s6, s2^3*s6, s0^2*s3*s6, s0*s1*s3*s6, s1^2*s3*s6, s0*s2*s3*s6, s1*s2*s3*s6, s2^2*s3*s6, s0*s3^2*s6, s1*s3^2*s6, s2*s3^2*s6, s3^3*s6, s0^2*s4*s6, s0*s1*s4*s6, s1^2*s4*s6, s0*s2*s4*s6, s1*s2*s4*s6, s2^2*s4*s6, s0*s3*s4*s6, s1*s3*s4*s6, s2*s3*s4*s6, s3^2*s4*s6, s0*s4^2*s6, s1*s4^2*s6, s2*s4^2*s6, s3*s4^2*s6, s4^3*s6, s0^2*s5*s6, s0*s1*s5*s6, s1^2*s5*s6, s0*s2*s5*s6, s1*s2*s5*s6, s2^2*s5*s6, s0*s3*s5*s6, s1*s3*s5*s6, s2*s3*s5*s6, s3^2*s5*s6, s0*s4*s5*s6, s1*s4*s5*s6, s2*s4*s5*s6, s3*s4*s5*s6, s4^2*s5*s6, s0*s5^2*s6, s1*s5^2*s6, s2*s5^2*s6, s3*s5^2*s6, s4*s5^2*s6, s5^3*s6, s0^2*s6^2, s0*s1*s6^2, s1^2*s6^2, s0*s2*s6^2, s1*s2*s6^2, s2^2*s6^2, s0*s3*s6^2, s1*s3*s6^2, s2*s3*s6^2, s3^2*s6^2, s0*s4*s6^2, s1*s4*s6^2, s2*s4*s6^2, s3*s4*s6^2, s4^2*s6^2, s0*s5*s6^2, s1*s5*s6^2, s2*s5*s6^2, s3*s5*s6^2, s4*s5*s6^2, s5^2*s6^2, s0*s6^3, s1*s6^3, s2*s6^3, s3*s6^3, s4*s6^3, s5*s6^3, s6^4, s0^3*s7, s0^2*s1*s7, s0*s1^2*s7, s1^3*s7, s0^2*s2*s7, s0*s1*s2*s7, s1^2*s2*s7, s0*s2^2*s7, s1*s2^2*s7, s2^3*s7, s0^2*s3*s7, s0*s1*s3*s7, s1^2*s3*s7, s0*s2*s3*s7, s1*s2*s3*s7, s2^2*s3*s7, s0*s3^2*s7, s1*s3^2*s7, s2*s3^2*s7, s3^3*s7, s0^2*s4*s7, s0*s1*s4*s7, s1^2*s4*s7, s0*s2*s4*s7, s1*s2*s4*s7, s2^2*s4*s7, s0*s3*s4*s7, s1*s3*s4*s7, s2*s3*s4*s7, s3^2*s4*s7, s0*s4^2*s7, s1*s4^2*s7, s2*s4^2*s7, s3*s4^2*s7, s4^3*s7, s0^2*s5*s7, s0*s1*s5*s7, s1^2*s5*s7, s0*s2*s5*s7, s1*s2*s5*s7, s2^2*s5*s7, s0*s3*s5*s7, s1*s3*s5*s7, s2*s3*s5*s7, s3^2*s5*s7, s0*s4*s5*s7, s1*s4*s5*s7, s2*s4*s5*s7, s3*s4*s5*s7, s4^2*s5*s7, s0*s5^2*s7, s1*s5^2*s7, s2*s5^2*s7, s3*s5^2*s7, s4*s5^2*s7, s5^3*s7, s0^2*s6*s7, s0*s1*s6*s7, s1^2*s6*s7, s0*s2*s6*s7, s1*s2*s6*s7, s2^2*s6*s7, s0*s3*s6*s7, s1*s3*s6*s7, s2*s3*s6*s7, s3^2*s6*s7, s0*s4*s6*s7, s1*s4*s6*s7, s2*s4*s6*s7, s3*s4*s6*s7, s4^2*s6*s7, s0*s5*s6*s7, s1*s5*s6*s7, s2*s5*s6*s7, s3*s5*s6*s7, s4*s5*s6*s7, s5^2*s6*s7, s0*s6^2*s7, s1*s6^2*s7, s2*s6^2*s7, s3*s6^2*s7, s4*s6^2*s7, s5*s6^2*s7, s6^3*s7, s0^2*s7^2, s0*s1*s7^2, s1^2*s7^2, s0*s2*s7^2, s1*s2*s7^2, s2^2*s7^2, s0*s3*s7^2, s1*s3*s7^2, s2*s3*s7^2, s3^2*s7^2, s0*s4*s7^2, s1*s4*s7^2, s2*s4*s7^2, s3*s4*s7^2, s4^2*s7^2, s0*s5*s7^2, s1*s5*s7^2, s2*s5*s7^2, s3*s5*s7^2, s4*s5*s7^2, s5^2*s7^2, s0*s6*s7^2, s1*s6*s7^2, s2*s6*s7^2, s3*s6*s7^2, s4*s6*s7^2, s5*s6*s7^2, s6^2*s7^2, s0*s7^3, s1*s7^3, s2*s7^3, s3*s7^3, s4*s7^3, s5*s7^3, s6*s7^3, s7^4, s0^3*s8, s0^2*s1*s8, s0*s1^2*s8, s1^3*s8, s0^2*s2*s8, s0*s1*s2*s8, s1^2*s2*s8, s0*s2^2*s8, s1*s2^2*s8, s2^3*s8, s0^2*s3*s8, s0*s1*s3*s8, s1^2*s3*s8, s0*s2*s3*s8, s1*s2*s3*s8, s2^2*s3*s8, s0*s3^2*s8, s1*s3^2*s8, s2*s3^2*s8, s3^3*s8, s0^2*s4*s8, s0*s1*s4*s8, s1^2*s4*s8, s0*s2*s4*s8, s1*s2*s4*s8, s2^2*s4*s8, s0*s3*s4*s8, s1*s3*s4*s8, s2*s3*s4*s8, s3^2*s4*s8, s0*s4^2*s8, s1*s4^2*s8, s2*s4^2*s8, s3*s4^2*s8, s4^3*s8, s0^2*s5*s8, s0*s1*s5*s8, s1^2*s5*s8, s0*s2*s5*s8, s1*s2*s5*s8, s2^2*s5*s8, s0*s3*s5*s8, s1*s3*s5*s8, s2*s3*s5*s8, s3^2*s5*s8, s0*s4*s5*s8, s1*s4*s5*s8, s2*s4*s5*s8, s3*s4*s5*s8, s4^2*s5*s8, s0*s5^2*s8, s1*s5^2*s8, s2*s5^2*s8, s3*s5^2*s8, s4*s5^2*s8, s5^3*s8, s0^2*s6*s8, s0*s1*s6*s8, s1^2*s6*s8, s0*s2*s6*s8, s1*s2*s6*s8, s2^2*s6*s8, s0*s3*s6*s8, s1*s3*s6*s8, s2*s3*s6*s8, s3^2*s6*s8, s0*s4*s6*s8, s1*s4*s6*s8, s2*s4*s6*s8, s3*s4*s6*s8, s4^2*s6*s8, s0*s5*s6*s8, s1*s5*s6*s8, s2*s5*s6*s8, s3*s5*s6*s8, s4*s5*s6*s8, s5^2*s6*s8, s0*s6^2*s8, s1*s6^2*s8, s2*s6^2*s8, s3*s6^2*s8, s4*s6^2*s8, s5*s6^2*s8, s6^3*s8, s0^2*s7*s8, s0*s1*s7*s8, s1^2*s7*s8, s0*s2*s7*s8, s1*s2*s7*s8, s2^2*s7*s8, s0*s3*s7*s8, s1*s3*s7*s8, s2*s3*s7*s8, s3^2*s7*s8, s0*s4*s7*s8, s1*s4*s7*s8, s2*s4*s7*s8, s3*s4*s7*s8, s4^2*s7*s8, s0*s5*s7*s8, s1*s5*s7*s8, s2*s5*s7*s8, s3*s5*s7*s8, s4*s5*s7*s8, s5^2*s7*s8, s0*s6*s7*s8, s1*s6*s7*s8, s2*s6*s7*s8, s3*s6*s7*s8, s4*s6*s7*s8, s5*s6*s7*s8, s6^2*s7*s8, s0*s7^2*s8, s1*s7^2*s8, s2*s7^2*s8, s3*s7^2*s8, s4*s7^2*s8, s5*s7^2*s8, s6*s7^2*s8, s7^3*s8, s0^2*s8^2, s0*s1*s8^2, s1^2*s8^2, s0*s2*s8^2, s1*s2*s8^2, s2^2*s8^2, s0*s3*s8^2, s1*s3*s8^2, s2*s3*s8^2, s3^2*s8^2, s0*s4*s8^2, s1*s4*s8^2, s2*s4*s8^2, s3*s4*s8^2, s4^2*s8^2, s0*s5*s8^2, s1*s5*s8^2, s2*s5*s8^2, s3*s5*s8^2, s4*s5*s8^2, s5^2*s8^2, s0*s6*s8^2, s1*s6*s8^2, s2*s6*s8^2, s3*s6*s8^2, s4*s6*s8^2, s5*s6*s8^2, s6^2*s8^2, s0*s7*s8^2, s1*s7*s8^2, s2*s7*s8^2, s3*s7*s8^2, s4*s7*s8^2, s5*s7*s8^2, s6*s7*s8^2, s7^2*s8^2, s0*s8^3, s1*s8^3, s2*s8^3, s3*s8^3, s4*s8^3, s5*s8^3, s6*s8^3, s7*s8^3, s8^4, s0^3*s9, s0^2*s1*s9, s0*s1^2*s9, s1^3*s9, s0^2*s2*s9, s0*s1*s2*s9, s1^2*s2*s9, s0*s2^2*s9, s1*s2^2*s9, s2^3*s9, s0^2*s3*s9, s0*s1*s3*s9, s1^2*s3*s9, s0*s2*s3*s9, s1*s2*s3*s9, s2^2*s3*s9, s0*s3^2*s9, s1*s3^2*s9, s2*s3^2*s9, s3^3*s9, s0^2*s4*s9, s0*s1*s4*s9, s1^2*s4*s9, s0*s2*s4*s9, s1*s2*s4*s9, s2^2*s4*s9, s0*s3*s4*s9, s1*s3*s4*s9, s2*s3*s4*s9, s3^2*s4*s9, s0*s4^2*s9, s1*s4^2*s9, s2*s4^2*s9, s3*s4^2*s9, s4^3*s9, s0^2*s5*s9, s0*s1*s5*s9, s1^2*s5*s9, s0*s2*s5*s9, s1*s2*s5*s9, s2^2*s5*s9, s0*s3*s5*s9, s1*s3*s5*s9, s2*s3*s5*s9, s3^2*s5*s9, s0*s4*s5*s9, s1*s4*s5*s9, s2*s4*s5*s9, s3*s4*s5*s9, s4^2*s5*s9, s0*s5^2*s9, s1*s5^2*s9, s2*s5^2*s9, s3*s5^2*s9, s4*s5^2*s9, s5^3*s9, s0^2*s6*s9, s0*s1*s6*s9, s1^2*s6*s9, s0*s2*s6*s9, s1*s2*s6*s9, s2^2*s6*s9, s0*s3*s6*s9, s1*s3*s6*s9, s2*s3*s6*s9, s3^2*s6*s9, s0*s4*s6*s9, s1*s4*s6*s9, s2*s4*s6*s9, s3*s4*s6*s9, s4^2*s6*s9, s0*s5*s6*s9, s1*s5*s6*s9, s2*s5*s6*s9, s3*s5*s6*s9, s4*s5*s6*s9, s5^2*s6*s9, s0*s6^2*s9, s1*s6^2*s9, s2*s6^2*s9, s3*s6^2*s9, s4*s6^2*s9, s5*s6^2*s9, s6^3*s9, s0^2*s7*s9, s0*s1*s7*s9, s1^2*s7*s9, s0*s2*s7*s9, s1*s2*s7*s9, s2^2*s7*s9, s0*s3*s7*s9, s1*s3*s7*s9, s2*s3*s7*s9, s3^2*s7*s9, s0*s4*s7*s9, s1*s4*s7*s9, s2*s4*s7*s9, s3*s4*s7*s9, s4^2*s7*s9, s0*s5*s7*s9, s1*s5*s7*s9, s2*s5*s7*s9, s3*s5*s7*s9, s4*s5*s7*s9, s5^2*s7*s9, s0*s6*s7*s9, s1*s6*s7*s9, s2*s6*s7*s9, s3*s6*s7*s9, s4*s6*s7*s9, s5*s6*s7*s9, s6^2*s7*s9, s0*s7^2*s9, s1*s7^2*s9, s2*s7^2*s9, s3*s7^2*s9, s4*s7^2*s9, s5*s7^2*s9, s6*s7^2*s9, s7^3*s9, s0^2*s8*s9, s0*s1*s8*s9, s1^2*s8*s9, s0*s2*s8*s9, s1*s2*s8*s9, s2^2*s8*s9, s0*s3*s8*s9, s1*s3*s8*s9, s2*s3*s8*s9, s3^2*s8*s9, s0*s4*s8*s9, s1*s4*s8*s9, s2*s4*s8*s9, s3*s4*s8*s9, s4^2*s8*s9, s0*s5*s8*s9, s1*s5*s8*s9, s2*s5*s8*s9, s3*s5*s8*s9, s4*s5*s8*s9, s5^2*s8*s9, s0*s6*s8*s9, s1*s6*s8*s9, s2*s6*s8*s9, s3*s6*s8*s9, s4*s6*s8*s9, s5*s6*s8*s9, s6^2*s8*s9, s0*s7*s8*s9, s1*s7*s8*s9, s2*s7*s8*s9, s3*s7*s8*s9, s4*s7*s8*s9, s5*s7*s8*s9, s6*s7*s8*s9, s7^2*s8*s9, s0*s8^2*s9, s1*s8^2*s9, s2*s8^2*s9, s3*s8^2*s9, s4*s8^2*s9, s5*s8^2*s9, s6*s8^2*s9, s7*s8^2*s9, s8^3*s9, s0^2*s9^2, s0*s1*s9^2, s1^2*s9^2, s0*s2*s9^2, s1*s2*s9^2, s2^2*s9^2, s0*s3*s9^2, s1*s3*s9^2, s2*s3*s9^2, s3^2*s9^2, s0*s4*s9^2, s1*s4*s9^2, s2*s4*s9^2, s3*s4*s9^2, s4^2*s9^2, s0*s5*s9^2, s1*s5*s9^2, s2*s5*s9^2, s3*s5*s9^2, s4*s5*s9^2, s5^2*s9^2, s0*s6*s9^2, s1*s6*s9^2, s2*s6*s9^2, s3*s6*s9^2, s4*s6*s9^2, s5*s6*s9^2, s6^2*s9^2, s0*s7*s9^2, s1*s7*s9^2, s2*s7*s9^2, s3*s7*s9^2, s4*s7*s9^2, s5*s7*s9^2, s6*s7*s9^2, s7^2*s9^2, s0*s8*s9^2, s1*s8*s9^2, s2*s8*s9^2, s3*s8*s9^2, s4*s8*s9^2, s5*s8*s9^2, s6*s8*s9^2, s7*s8*s9^2, s8^2*s9^2, s0*s9^3, s1*s9^3, s2*s9^3, s3*s9^3, s4*s9^3, s5*s9^3, s6*s9^3, s7*s9^3, s8*s9^3, s9^4, s0^3*s10, s0^2*s1*s10, s0*s1^2*s10, s1^3*s10, s0^2*s2*s10, s0*s1*s2*s10, s1^2*s2*s10, s0*s2^2*s10, s1*s2^2*s10, s2^3*s10, s0^2*s3*s10, s0*s1*s3*s10, s1^2*s3*s10, s0*s2*s3*s10, s1*s2*s3*s10, s2^2*s3*s10, s0*s3^2*s10, s1*s3^2*s10, s2*s3^2*s10, s3^3*s10, s0^2*s4*s10, s0*s1*s4*s10, s1^2*s4*s10, s0*s2*s4*s10, s1*s2*s4*s10, s2^2*s4*s10, s0*s3*s4*s10, s1*s3*s4*s10, s2*s3*s4*s10, s3^2*s4*s10, s0*s4^2*s10, s1*s4^2*s10, s2*s4^2*s10, s3*s4^2*s10, s4^3*s10, s0^2*s5*s10, s0*s1*s5*s10, s1^2*s5*s10, s0*s2*s5*s10, s1*s2*s5*s10, s2^2*s5*s10, s0*s3*s5*s10, s1*s3*s5*s10, s2*s3*s5*s10, s3^2*s5*s10, s0*s4*s5*s10, s1*s4*s5*s10, s2*s4*s5*s10, s3*s4*s5*s10, s4^2*s5*s10, s0*s5^2*s10, s1*s5^2*s10, s2*s5^2*s10, s3*s5^2*s10, s4*s5^2*s10, s5^3*s10, s0^2*s6*s10, s0*s1*s6*s10, s1^2*s6*s10, s0*s2*s6*s10, s1*s2*s6*s10, s2^2*s6*s10, s0*s3*s6*s10, s1*s3*s6*s10, s2*s3*s6*s10, s3^2*s6*s10, s0*s4*s6*s10, s1*s4*s6*s10, s2*s4*s6*s10, s3*s4*s6*s10, s4^2*s6*s10, s0*s5*s6*s10, s1*s5*s6*s10, s2*s5*s6*s10, s3*s5*s6*s10, s4*s5*s6*s10, s5^2*s6*s10, s0*s6^2*s10, s1*s6^2*s10, s2*s6^2*s10, s3*s6^2*s10, s4*s6^2*s10, s5*s6^2*s10, s6^3*s10, s0^2*s7*s10, s0*s1*s7*s10, s1^2*s7*s10, s0*s2*s7*s10, s1*s2*s7*s10, s2^2*s7*s10, s0*s3*s7*s10, s1*s3*s7*s10, s2*s3*s7*s10, s3^2*s7*s10, s0*s4*s7*s10, s1*s4*s7*s10, s2*s4*s7*s10, s3*s4*s7*s10, s4^2*s7*s10, s0*s5*s7*s10, s1*s5*s7*s10, s2*s5*s7*s10, s3*s5*s7*s10, s4*s5*s7*s10, s5^2*s7*s10, s0*s6*s7*s10, s1*s6*s7*s10, s2*s6*s7*s10, s3*s6*s7*s10, s4*s6*s7*s10, s5*s6*s7*s10, s6^2*s7*s10, s0*s7^2*s10, s1*s7^2*s10, s2*s7^2*s10, s3*s7^2*s10, s4*s7^2*s10, s5*s7^2*s10, s6*s7^2*s10, s7^3*s10, s0^2*s8*s10, s0*s1*s8*s10, s1^2*s8*s10, s0*s2*s8*s10, s1*s2*s8*s10, s2^2*s8*s10, s0*s3*s8*s10, s1*s3*s8*s10, s2*s3*s8*s10, s3^2*s8*s10, s0*s4*s8*s10, s1*s4*s8*s10, s2*s4*s8*s10, s3*s4*s8*s10, s4^2*s8*s10, s0*s5*s8*s10, s1*s5*s8*s10, s2*s5*s8*s10, s3*s5*s8*s10, s4*s5*s8*s10, s5^2*s8*s10, s0*s6*s8*s10, s1*s6*s8*s10, s2*s6*s8*s10, s3*s6*s8*s10, s4*s6*s8*s10, s5*s6*s8*s10, s6^2*s8*s10, s0*s7*s8*s10, s1*s7*s8*s10, s2*s7*s8*s10, s3*s7*s8*s10, s4*s7*s8*s10, s5*s7*s8*s10, s6*s7*s8*s10, s7^2*s8*s10, s0*s8^2*s10, s1*s8^2*s10, s2*s8^2*s10, s3*s8^2*s10, s4*s8^2*s10, s5*s8^2*s10, s6*s8^2*s10, s7*s8^2*s10, s8^3*s10, s0^2*s9*s10, s0*s1*s9*s10, s1^2*s9*s10, s0*s2*s9*s10, s1*s2*s9*s10, s2^2*s9*s10, s0*s3*s9*s10, s1*s3*s9*s10, s2*s3*s9*s10, s3^2*s9*s10, s0*s4*s9*s10, s1*s4*s9*s10, s2*s4*s9*s10, s3*s4*s9*s10, s4^2*s9*s10, s0*s5*s9*s10, s1*s5*s9*s10, s2*s5*s9*s10, s3*s5*s9*s10, s4*s5*s9*s10, s5^2*s9*s10, s0*s6*s9*s10, s1*s6*s9*s10, s2*s6*s9*s10, s3*s6*s9*s10, s4*s6*s9*s10, s5*s6*s9*s10, s6^2*s9*s10, s0*s7*s9*s10, s1*s7*s9*s10, s2*s7*s9*s10, s3*s7*s9*s10, s4*s7*s9*s10, s5*s7*s9*s10, s6*s7*s9*s10, s7^2*s9*s10, s0*s8*s9*s10, s1*s8*s9*s10, s2*s8*s9*s10, s3*s8*s9*s10, s4*s8*s9*s10, s5*s8*s9*s10, s6*s8*s9*s10, s7*s8*s9*s10, s8^2*s9*s10, s0*s9^2*s10, s1*s9^2*s10, s2*s9^2*s10, s3*s9^2*s10, s4*s9^2*s10, s5*s9^2*s10, s6*s9^2*s10, s7*s9^2*s10, s8*s9^2*s10, s9^3*s10, s0^2*s10^2, s0*s1*s10^2, s1^2*s10^2, s0*s2*s10^2, s1*s2*s10^2, s2^2*s10^2, s0*s3*s10^2, s1*s3*s10^2, s2*s3*s10^2, s3^2*s10^2, s0*s4*s10^2, s1*s4*s10^2, s2*s4*s10^2, s3*s4*s10^2, s4^2*s10^2, s0*s5*s10^2, s1*s5*s10^2, s2*s5*s10^2, s3*s5*s10^2, s4*s5*s10^2, s5^2*s10^2, s0*s6*s10^2, s1*s6*s10^2, s2*s6*s10^2, s3*s6*s10^2, s4*s6*s10^2, s5*s6*s10^2, s6^2*s10^2, s0*s7*s10^2, s1*s7*s10^2, s2*s7*s10^2, s3*s7*s10^2, s4*s7*s10^2, s5*s7*s10^2, s6*s7*s10^2, s7^2*s10^2, s0*s8*s10^2, s1*s8*s10^2, s2*s8*s10^2, s3*s8*s10^2, s4*s8*s10^2, s5*s8*s10^2, s6*s8*s10^2, s7*s8*s10^2, s8^2*s10^2, s0*s9*s10^2, s1*s9*s10^2, s2*s9*s10^2, s3*s9*s10^2, s4*s9*s10^2, s5*s9*s10^2, s6*s9*s10^2, s7*s9*s10^2, s8*s9*s10^2, s9^2*s10^2, s0*s10^3, s1*s10^3, s2*s10^3, s3*s10^3, s4*s10^3, s5*s10^3, s6*s10^3, s7*s10^3, s8*s10^3, s9*s10^3, s10^4, s0^3*s11, s0^2*s1*s11, s0*s1^2*s11, s1^3*s11, s0^2*s2*s11, s0*s1*s2*s11, s1^2*s2*s11, s0*s2^2*s11, s1*s2^2*s11, s2^3*s11, s0^2*s3*s11, s0*s1*s3*s11, s1^2*s3*s11, s0*s2*s3*s11, s1*s2*s3*s11, s2^2*s3*s11, s0*s3^2*s11, s1*s3^2*s11, s2*s3^2*s11, s3^3*s11, s0^2*s4*s11, s0*s1*s4*s11, s1^2*s4*s11, s0*s2*s4*s11, s1*s2*s4*s11, s2^2*s4*s11, s0*s3*s4*s11, s1*s3*s4*s11, s2*s3*s4*s11, s3^2*s4*s11, s0*s4^2*s11, s1*s4^2*s11, s2*s4^2*s11, s3*s4^2*s11, s4^3*s11, s0^2*s5*s11, s0*s1*s5*s11, s1^2*s5*s11, s0*s2*s5*s11, s1*s2*s5*s11, s2^2*s5*s11, s0*s3*s5*s11, s1*s3*s5*s11, s2*s3*s5*s11, s3^2*s5*s11, s0*s4*s5*s11, s1*s4*s5*s11, s2*s4*s5*s11, s3*s4*s5*s11, s4^2*s5*s11, s0*s5^2*s11, s1*s5^2*s11, s2*s5^2*s11, s3*s5^2*s11, s4*s5^2*s11, s5^3*s11, s0^2*s6*s11, s0*s1*s6*s11, s1^2*s6*s11, s0*s2*s6*s11, s1*s2*s6*s11, s2^2*s6*s11, s0*s3*s6*s11, s1*s3*s6*s11, s2*s3*s6*s11, s3^2*s6*s11, s0*s4*s6*s11, s1*s4*s6*s11, s2*s4*s6*s11, s3*s4*s6*s11, s4^2*s6*s11, s0*s5*s6*s11, s1*s5*s6*s11, s2*s5*s6*s11, s3*s5*s6*s11, s4*s5*s6*s11, s5^2*s6*s11, s0*s6^2*s11, s1*s6^2*s11, s2*s6^2*s11, s3*s6^2*s11, s4*s6^2*s11, s5*s6^2*s11, s6^3*s11, s0^2*s7*s11, s0*s1*s7*s11, s1^2*s7*s11, s0*s2*s7*s11, s1*s2*s7*s11, s2^2*s7*s11, s0*s3*s7*s11, s1*s3*s7*s11, s2*s3*s7*s11, s3^2*s7*s11, s0*s4*s7*s11, s1*s4*s7*s11, s2*s4*s7*s11, s3*s4*s7*s11, s4^2*s7*s11, s0*s5*s7*s11, s1*s5*s7*s11, s2*s5*s7*s11, s3*s5*s7*s11, s4*s5*s7*s11, s5^2*s7*s11, s0*s6*s7*s11, s1*s6*s7*s11, s2*s6*s7*s11, s3*s6*s7*s11, s4*s6*s7*s11, s5*s6*s7*s11, s6^2*s7*s11, s0*s7^2*s11, s1*s7^2*s11, s2*s7^2*s11, s3*s7^2*s11, s4*s7^2*s11, s5*s7^2*s11, s6*s7^2*s11, s7^3*s11, s0^2*s8*s11, s0*s1*s8*s11, s1^2*s8*s11, s0*s2*s8*s11, s1*s2*s8*s11, s2^2*s8*s11, s0*s3*s8*s11, s1*s3*s8*s11, s2*s3*s8*s11, s3^2*s8*s11, s0*s4*s8*s11, s1*s4*s8*s11, s2*s4*s8*s11, s3*s4*s8*s11, s4^2*s8*s11, s0*s5*s8*s11, s1*s5*s8*s11, s2*s5*s8*s11, s3*s5*s8*s11, s4*s5*s8*s11, s5^2*s8*s11, s0*s6*s8*s11, s1*s6*s8*s11, s2*s6*s8*s11, s3*s6*s8*s11, s4*s6*s8*s11, s5*s6*s8*s11, s6^2*s8*s11, s0*s7*s8*s11, s1*s7*s8*s11, s2*s7*s8*s11, s3*s7*s8*s11, s4*s7*s8*s11, s5*s7*s8*s11, s6*s7*s8*s11, s7^2*s8*s11, s0*s8^2*s11, s1*s8^2*s11, s2*s8^2*s11, s3*s8^2*s11, s4*s8^2*s11, s5*s8^2*s11, s6*s8^2*s11, s7*s8^2*s11, s8^3*s11, s0^2*s9*s11, s0*s1*s9*s11, s1^2*s9*s11, s0*s2*s9*s11, s1*s2*s9*s11, s2^2*s9*s11, s0*s3*s9*s11, s1*s3*s9*s11, s2*s3*s9*s11, s3^2*s9*s11, s0*s4*s9*s11, s1*s4*s9*s11, s2*s4*s9*s11, s3*s4*s9*s11, s4^2*s9*s11, s0*s5*s9*s11, s1*s5*s9*s11, s2*s5*s9*s11, s3*s5*s9*s11, s4*s5*s9*s11, s5^2*s9*s11, s0*s6*s9*s11, s1*s6*s9*s11, s2*s6*s9*s11, s3*s6*s9*s11, s4*s6*s9*s11, s5*s6*s9*s11, s6^2*s9*s11, s0*s7*s9*s11, s1*s7*s9*s11, s2*s7*s9*s11, s3*s7*s9*s11, s4*s7*s9*s11, s5*s7*s9*s11, s6*s7*s9*s11, s7^2*s9*s11, s0*s8*s9*s11, s1*s8*s9*s11, s2*s8*s9*s11, s3*s8*s9*s11, s4*s8*s9*s11, s5*s8*s9*s11, s6*s8*s9*s11, s7*s8*s9*s11, s8^2*s9*s11, s0*s9^2*s11, s1*s9^2*s11, s2*s9^2*s11, s3*s9^2*s11, s4*s9^2*s11, s5*s9^2*s11, s6*s9^2*s11, s7*s9^2*s11, s8*s9^2*s11, s9^3*s11, s0^2*s10*s11, s0*s1*s10*s11, s1^2*s10*s11, s0*s2*s10*s11, s1*s2*s10*s11, s2^2*s10*s11, s0*s3*s10*s11, s1*s3*s10*s11, s2*s3*s10*s11, s3^2*s10*s11, s0*s4*s10*s11, s1*s4*s10*s11, s2*s4*s10*s11, s3*s4*s10*s11, s4^2*s10*s11, s0*s5*s10*s11, s1*s5*s10*s11, s2*s5*s10*s11, s3*s5*s10*s11, s4*s5*s10*s11, s5^2*s10*s11, s0*s6*s10*s11, s1*s6*s10*s11, s2*s6*s10*s11, s3*s6*s10*s11, s4*s6*s10*s11, s5*s6*s10*s11, s6^2*s10*s11, s0*s7*s10*s11, s1*s7*s10*s11, s2*s7*s10*s11, s3*s7*s10*s11, s4*s7*s10*s11, s5*s7*s10*s11, s6*s7*s10*s11, s7^2*s10*s11, s0*s8*s10*s11, s1*s8*s10*s11, s2*s8*s10*s11, s3*s8*s10*s11, s4*s8*s10*s11, s5*s8*s10*s11, s6*s8*s10*s11, s7*s8*s10*s11, s8^2*s10*s11, s0*s9*s10*s11, s1*s9*s10*s11, s2*s9*s10*s11, s3*s9*s10*s11, s4*s9*s10*s11, s5*s9*s10*s11, s6*s9*s10*s11, s7*s9*s10*s11, s8*s9*s10*s11, s9^2*s10*s11, s0*s10^2*s11, s1*s10^2*s11, s2*s10^2*s11, s3*s10^2*s11, s4*s10^2*s11, s5*s10^2*s11, s6*s10^2*s11, s7*s10^2*s11, s8*s10^2*s11, s9*s10^2*s11, s10^3*s11, s0^2*s11^2, s0*s1*s11^2, s1^2*s11^2, s0*s2*s11^2, s1*s2*s11^2, s2^2*s11^2, s0*s3*s11^2, s1*s3*s11^2, s2*s3*s11^2, s3^2*s11^2, s0*s4*s11^2, s1*s4*s11^2, s2*s4*s11^2, s3*s4*s11^2, s4^2*s11^2, s0*s5*s11^2, s1*s5*s11^2, s2*s5*s11^2, s3*s5*s11^2, s4*s5*s11^2, s5^2*s11^2, s0*s6*s11^2, s1*s6*s11^2, s2*s6*s11^2, s3*s6*s11^2, s4*s6*s11^2, s5*s6*s11^2, s6^2*s11^2, s0*s7*s11^2, s1*s7*s11^2, s2*s7*s11^2, s3*s7*s11^2, s4*s7*s11^2, s5*s7*s11^2, s6*s7*s11^2, s7^2*s11^2, s0*s8*s11^2, s1*s8*s11^2, s2*s8*s11^2, s3*s8*s11^2, s4*s8*s11^2, s5*s8*s11^2, s6*s8*s11^2, s7*s8*s11^2, s8^2*s11^2, s0*s9*s11^2, s1*s9*s11^2, s2*s9*s11^2, s3*s9*s11^2, s4*s9*s11^2, s5*s9*s11^2, s6*s9*s11^2, s7*s9*s11^2, s8*s9*s11^2, s9^2*s11^2, s0*s10*s11^2, s1*s10*s11^2, s2*s10*s11^2, s3*s10*s11^2, s4*s10*s11^2, s5*s10*s11^2, s6*s10*s11^2, s7*s10*s11^2, s8*s10*s11^2, s9*s10*s11^2, s10^2*s11^2, s0*s11^3, s1*s11^3, s2*s11^3, s3*s11^3, s4*s11^3, s5*s11^3, s6*s11^3, s7*s11^3, s8*s11^3, s9*s11^3, s10*s11^3, s11^4, s0^3*s12, s0^2*s1*s12, s0*s1^2*s12, s1^3*s12, s0^2*s2*s12, s0*s1*s2*s12, s1^2*s2*s12, s0*s2^2*s12, s1*s2^2*s12, s2^3*s12, s0^2*s3*s12, s0*s1*s3*s12, s1^2*s3*s12, s0*s2*s3*s12, s1*s2*s3*s12, s2^2*s3*s12, s0*s3^2*s12, s1*s3^2*s12, s2*s3^2*s12, s3^3*s12, s0^2*s4*s12, s0*s1*s4*s12, s1^2*s4*s12, s0*s2*s4*s12, s1*s2*s4*s12, s2^2*s4*s12, s0*s3*s4*s12, s1*s3*s4*s12, s2*s3*s4*s12, s3^2*s4*s12, s0*s4^2*s12, s1*s4^2*s12, s2*s4^2*s12, s3*s4^2*s12, s4^3*s12, s0^2*s5*s12, s0*s1*s5*s12, s1^2*s5*s12, s0*s2*s5*s12, s1*s2*s5*s12, s2^2*s5*s12, s0*s3*s5*s12, s1*s3*s5*s12, s2*s3*s5*s12, s3^2*s5*s12, s0*s4*s5*s12, s1*s4*s5*s12, s2*s4*s5*s12, s3*s4*s5*s12, s4^2*s5*s12, s0*s5^2*s12, s1*s5^2*s12, s2*s5^2*s12, s3*s5^2*s12, s4*s5^2*s12, s5^3*s12, s0^2*s6*s12, s0*s1*s6*s12, s1^2*s6*s12, s0*s2*s6*s12, s1*s2*s6*s12, s2^2*s6*s12, s0*s3*s6*s12, s1*s3*s6*s12, s2*s3*s6*s12, s3^2*s6*s12, s0*s4*s6*s12, s1*s4*s6*s12, s2*s4*s6*s12, s3*s4*s6*s12, s4^2*s6*s12, s0*s5*s6*s12, s1*s5*s6*s12, s2*s5*s6*s12, s3*s5*s6*s12, s4*s5*s6*s12, s5^2*s6*s12, s0*s6^2*s12, s1*s6^2*s12, s2*s6^2*s12, s3*s6^2*s12, s4*s6^2*s12, s5*s6^2*s12, s6^3*s12, s0^2*s7*s12, s0*s1*s7*s12, s1^2*s7*s12, s0*s2*s7*s12, s1*s2*s7*s12, s2^2*s7*s12, s0*s3*s7*s12, s1*s3*s7*s12, s2*s3*s7*s12, s3^2*s7*s12, s0*s4*s7*s12, s1*s4*s7*s12, s2*s4*s7*s12, s3*s4*s7*s12, s4^2*s7*s12, s0*s5*s7*s12, s1*s5*s7*s12, s2*s5*s7*s12, s3*s5*s7*s12, s4*s5*s7*s12, s5^2*s7*s12, s0*s6*s7*s12, s1*s6*s7*s12, s2*s6*s7*s12, s3*s6*s7*s12, s4*s6*s7*s12, s5*s6*s7*s12, s6^2*s7*s12, s0*s7^2*s12, s1*s7^2*s12, s2*s7^2*s12, s3*s7^2*s12, s4*s7^2*s12, s5*s7^2*s12, s6*s7^2*s12, s7^3*s12, s0^2*s8*s12, s0*s1*s8*s12, s1^2*s8*s12, s0*s2*s8*s12, s1*s2*s8*s12, s2^2*s8*s12, s0*s3*s8*s12, s1*s3*s8*s12, s2*s3*s8*s12, s3^2*s8*s12, s0*s4*s8*s12, s1*s4*s8*s12, s2*s4*s8*s12, s3*s4*s8*s12, s4^2*s8*s12, s0*s5*s8*s12, s1*s5*s8*s12, s2*s5*s8*s12, s3*s5*s8*s12, s4*s5*s8*s12, s5^2*s8*s12, s0*s6*s8*s12, s1*s6*s8*s12, s2*s6*s8*s12, s3*s6*s8*s12, s4*s6*s8*s12, s5*s6*s8*s12, s6^2*s8*s12, s0*s7*s8*s12, s1*s7*s8*s12, s2*s7*s8*s12, s3*s7*s8*s12, s4*s7*s8*s12, s5*s7*s8*s12, s6*s7*s8*s12, s7^2*s8*s12, s0*s8^2*s12, s1*s8^2*s12, s2*s8^2*s12, s3*s8^2*s12, s4*s8^2*s12, s5*s8^2*s12, s6*s8^2*s12, s7*s8^2*s12, s8^3*s12, s0^2*s9*s12, s0*s1*s9*s12, s1^2*s9*s12, s0*s2*s9*s12, s1*s2*s9*s12, s2^2*s9*s12, s0*s3*s9*s12, s1*s3*s9*s12, s2*s3*s9*s12, s3^2*s9*s12, s0*s4*s9*s12, s1*s4*s9*s12, s2*s4*s9*s12, s3*s4*s9*s12, s4^2*s9*s12, s0*s5*s9*s12, s1*s5*s9*s12, s2*s5*s9*s12, s3*s5*s9*s12, s4*s5*s9*s12, s5^2*s9*s12, s0*s6*s9*s12, s1*s6*s9*s12, s2*s6*s9*s12, s3*s6*s9*s12, s4*s6*s9*s12, s5*s6*s9*s12, s6^2*s9*s12, s0*s7*s9*s12, s1*s7*s9*s12, s2*s7*s9*s12, s3*s7*s9*s12, s4*s7*s9*s12, s5*s7*s9*s12, s6*s7*s9*s12, s7^2*s9*s12, s0*s8*s9*s12, s1*s8*s9*s12, s2*s8*s9*s12, s3*s8*s9*s12, s4*s8*s9*s12, s5*s8*s9*s12, s6*s8*s9*s12, s7*s8*s9*s12, s8^2*s9*s12, s0*s9^2*s12, s1*s9^2*s12, s2*s9^2*s12, s3*s9^2*s12, s4*s9^2*s12, s5*s9^2*s12, s6*s9^2*s12, s7*s9^2*s12, s8*s9^2*s12, s9^3*s12, s0^2*s10*s12, s0*s1*s10*s12, s1^2*s10*s12, s0*s2*s10*s12, s1*s2*s10*s12, s2^2*s10*s12, s0*s3*s10*s12, s1*s3*s10*s12, s2*s3*s10*s12, s3^2*s10*s12, s0*s4*s10*s12, s1*s4*s10*s12, s2*s4*s10*s12, s3*s4*s10*s12, s4^2*s10*s12, s0*s5*s10*s12, s1*s5*s10*s12, s2*s5*s10*s12, s3*s5*s10*s12, s4*s5*s10*s12, s5^2*s10*s12, s0*s6*s10*s12, s1*s6*s10*s12, s2*s6*s10*s12, s3*s6*s10*s12, s4*s6*s10*s12, s5*s6*s10*s12, s6^2*s10*s12, s0*s7*s10*s12, s1*s7*s10*s12, s2*s7*s10*s12, s3*s7*s10*s12, s4*s7*s10*s12, s5*s7*s10*s12, s6*s7*s10*s12, s7^2*s10*s12, s0*s8*s10*s12, s1*s8*s10*s12, s2*s8*s10*s12, s3*s8*s10*s12, s4*s8*s10*s12, s5*s8*s10*s12, s6*s8*s10*s12, s7*s8*s10*s12, s8^2*s10*s12, s0*s9*s10*s12, s1*s9*s10*s12, s2*s9*s10*s12, s3*s9*s10*s12, s4*s9*s10*s12, s5*s9*s10*s12, s6*s9*s10*s12, s7*s9*s10*s12, s8*s9*s10*s12, s9^2*s10*s12, s0*s10^2*s12, s1*s10^2*s12, s2*s10^2*s12, s3*s10^2*s12, s4*s10^2*s12, s5*s10^2*s12, s6*s10^2*s12, s7*s10^2*s12, s8*s10^2*s12, s9*s10^2*s12, s10^3*s12, s0^2*s11*s12, s0*s1*s11*s12, s1^2*s11*s12, s0*s2*s11*s12, s1*s2*s11*s12, s2^2*s11*s12, s0*s3*s11*s12, s1*s3*s11*s12, s2*s3*s11*s12, s3^2*s11*s12, s0*s4*s11*s12, s1*s4*s11*s12, s2*s4*s11*s12, s3*s4*s11*s12, s4^2*s11*s12, s0*s5*s11*s12, s1*s5*s11*s12, s2*s5*s11*s12, s3*s5*s11*s12, s4*s5*s11*s12, s5^2*s11*s12, s0*s6*s11*s12, s1*s6*s11*s12, s2*s6*s11*s12, s3*s6*s11*s12, s4*s6*s11*s12, s5*s6*s11*s12, s6^2*s11*s12, s0*s7*s11*s12, s1*s7*s11*s12, s2*s7*s11*s12, s3*s7*s11*s12, s4*s7*s11*s12, s5*s7*s11*s12, s6*s7*s11*s12, s7^2*s11*s12, s0*s8*s11*s12, s1*s8*s11*s12, s2*s8*s11*s12, s3*s8*s11*s12, s4*s8*s11*s12, s5*s8*s11*s12, s6*s8*s11*s12, s7*s8*s11*s12, s8^2*s11*s12, s0*s9*s11*s12, s1*s9*s11*s12, s2*s9*s11*s12, s3*s9*s11*s12, s4*s9*s11*s12, s5*s9*s11*s12, s6*s9*s11*s12, s7*s9*s11*s12, s8*s9*s11*s12, s9^2*s11*s12, s0*s10*s11*s12, s1*s10*s11*s12, s2*s10*s11*s12, s3*s10*s11*s12, s4*s10*s11*s12, s5*s10*s11*s12, s6*s10*s11*s12, s7*s10*s11*s12, s8*s10*s11*s12, s9*s10*s11*s12, s10^2*s11*s12, s0*s11^2*s12, s1*s11^2*s12, s2*s11^2*s12, s3*s11^2*s12, s4*s11^2*s12, s5*s11^2*s12, s6*s11^2*s12, s7*s11^2*s12, s8*s11^2*s12, s9*s11^2*s12, s10*s11^2*s12, s11^3*s12, s0^2*s12^2, s0*s1*s12^2, s1^2*s12^2, s0*s2*s12^2, s1*s2*s12^2, s2^2*s12^2, s0*s3*s12^2, s1*s3*s12^2, s2*s3*s12^2, s3^2*s12^2, s0*s4*s12^2, s1*s4*s12^2, s2*s4*s12^2, s3*s4*s12^2, s4^2*s12^2, s0*s5*s12^2, s1*s5*s12^2, s2*s5*s12^2, s3*s5*s12^2, s4*s5*s12^2, s5^2*s12^2, s0*s6*s12^2, s1*s6*s12^2, s2*s6*s12^2, s3*s6*s12^2, s4*s6*s12^2, s5*s6*s12^2, s6^2*s12^2, s0*s7*s12^2, s1*s7*s12^2, s2*s7*s12^2, s3*s7*s12^2, s4*s7*s12^2, s5*s7*s12^2, s6*s7*s12^2, s7^2*s12^2, s0*s8*s12^2, s1*s8*s12^2, s2*s8*s12^2, s3*s8*s12^2, s4*s8*s12^2, s5*s8*s12^2, s6*s8*s12^2, s7*s8*s12^2, s8^2*s12^2, s0*s9*s12^2, s1*s9*s12^2, s2*s9*s12^2, s3*s9*s12^2, s4*s9*s12^2, s5*s9*s12^2, s6*s9*s12^2, s7*s9*s12^2, s8*s9*s12^2, s9^2*s12^2, s0*s10*s12^2, s1*s10*s12^2, s2*s10*s12^2, s3*s10*s12^2, s4*s10*s12^2, s5*s10*s12^2, s6*s10*s12^2, s7*s10*s12^2, s8*s10*s12^2, s9*s10*s12^2, s10^2*s12^2, s0*s11*s12^2, s1*s11*s12^2, s2*s11*s12^2, s3*s11*s12^2, s4*s11*s12^2, s5*s11*s12^2, s6*s11*s12^2, s7*s11*s12^2, s8*s11*s12^2, s9*s11*s12^2, s10*s11*s12^2, s11^2*s12^2, s0*s12^3, s1*s12^3, s2*s12^3, s3*s12^3, s4*s12^3, s5*s12^3, s6*s12^3, s7*s12^3, s8*s12^3, s9*s12^3, s10*s12^3, s11*s12^3, s12^4, s0^3*s13, s0^2*s1*s13, s0*s1^2*s13, s1^3*s13, s0^2*s2*s13, s0*s1*s2*s13, s1^2*s2*s13, s0*s2^2*s13, s1*s2^2*s13, s2^3*s13, s0^2*s3*s13, s0*s1*s3*s13, s1^2*s3*s13, s0*s2*s3*s13, s1*s2*s3*s13, s2^2*s3*s13, s0*s3^2*s13, s1*s3^2*s13, s2*s3^2*s13, s3^3*s13, s0^2*s4*s13, s0*s1*s4*s13, s1^2*s4*s13, s0*s2*s4*s13, s1*s2*s4*s13, s2^2*s4*s13, s0*s3*s4*s13, s1*s3*s4*s13, s2*s3*s4*s13, s3^2*s4*s13, s0*s4^2*s13, s1*s4^2*s13, s2*s4^2*s13, s3*s4^2*s13, s4^3*s13, s0^2*s5*s13, s0*s1*s5*s13, s1^2*s5*s13, s0*s2*s5*s13, s1*s2*s5*s13, s2^2*s5*s13, s0*s3*s5*s13, s1*s3*s5*s13, s2*s3*s5*s13, s3^2*s5*s13, s0*s4*s5*s13, s1*s4*s5*s13, s2*s4*s5*s13, s3*s4*s5*s13, s4^2*s5*s13, s0*s5^2*s13, s1*s5^2*s13, s2*s5^2*s13, s3*s5^2*s13, s4*s5^2*s13, s5^3*s13, s0^2*s6*s13, s0*s1*s6*s13, s1^2*s6*s13, s0*s2*s6*s13, s1*s2*s6*s13, s2^2*s6*s13, s0*s3*s6*s13, s1*s3*s6*s13, s2*s3*s6*s13, s3^2*s6*s13, s0*s4*s6*s13, s1*s4*s6*s13, s2*s4*s6*s13, s3*s4*s6*s13, s4^2*s6*s13, s0*s5*s6*s13, s1*s5*s6*s13, s2*s5*s6*s13, s3*s5*s6*s13, s4*s5*s6*s13, s5^2*s6*s13, s0*s6^2*s13, s1*s6^2*s13, s2*s6^2*s13, s3*s6^2*s13, s4*s6^2*s13, s5*s6^2*s13, s6^3*s13, s0^2*s7*s13, s0*s1*s7*s13, s1^2*s7*s13, s0*s2*s7*s13, s1*s2*s7*s13, s2^2*s7*s13, s0*s3*s7*s13, s1*s3*s7*s13, s2*s3*s7*s13, s3^2*s7*s13, s0*s4*s7*s13, s1*s4*s7*s13, s2*s4*s7*s13, s3*s4*s7*s13, s4^2*s7*s13, s0*s5*s7*s13, s1*s5*s7*s13, s2*s5*s7*s13, s3*s5*s7*s13, s4*s5*s7*s13, s5^2*s7*s13, s0*s6*s7*s13, s1*s6*s7*s13, s2*s6*s7*s13, s3*s6*s7*s13, s4*s6*s7*s13, s5*s6*s7*s13, s6^2*s7*s13, s0*s7^2*s13, s1*s7^2*s13, s2*s7^2*s13, s3*s7^2*s13, s4*s7^2*s13, s5*s7^2*s13, s6*s7^2*s13, s7^3*s13, s0^2*s8*s13, s0*s1*s8*s13, s1^2*s8*s13, s0*s2*s8*s13, s1*s2*s8*s13, s2^2*s8*s13, s0*s3*s8*s13, s1*s3*s8*s13, s2*s3*s8*s13, s3^2*s8*s13, s0*s4*s8*s13, s1*s4*s8*s13, s2*s4*s8*s13, s3*s4*s8*s13, s4^2*s8*s13, s0*s5*s8*s13, s1*s5*s8*s13, s2*s5*s8*s13, s3*s5*s8*s13, s4*s5*s8*s13, s5^2*s8*s13, s0*s6*s8*s13, s1*s6*s8*s13, s2*s6*s8*s13, s3*s6*s8*s13, s4*s6*s8*s13, s5*s6*s8*s13, s6^2*s8*s13, s0*s7*s8*s13, s1*s7*s8*s13, s2*s7*s8*s13, s3*s7*s8*s13, s4*s7*s8*s13, s5*s7*s8*s13, s6*s7*s8*s13, s7^2*s8*s13, s0*s8^2*s13, s1*s8^2*s13, s2*s8^2*s13, s3*s8^2*s13, s4*s8^2*s13, s5*s8^2*s13, s6*s8^2*s13, s7*s8^2*s13, s8^3*s13, s0^2*s9*s13, s0*s1*s9*s13, s1^2*s9*s13, s0*s2*s9*s13, s1*s2*s9*s13, s2^2*s9*s13, s0*s3*s9*s13, s1*s3*s9*s13, s2*s3*s9*s13, s3^2*s9*s13, s0*s4*s9*s13, s1*s4*s9*s13, s2*s4*s9*s13, s3*s4*s9*s13, s4^2*s9*s13, s0*s5*s9*s13, s1*s5*s9*s13, s2*s5*s9*s13, s3*s5*s9*s13, s4*s5*s9*s13, s5^2*s9*s13, s0*s6*s9*s13, s1*s6*s9*s13, s2*s6*s9*s13, s3*s6*s9*s13, s4*s6*s9*s13, s5*s6*s9*s13, s6^2*s9*s13, s0*s7*s9*s13, s1*s7*s9*s13, s2*s7*s9*s13, s3*s7*s9*s13, s4*s7*s9*s13, s5*s7*s9*s13, s6*s7*s9*s13, s7^2*s9*s13, s0*s8*s9*s13, s1*s8*s9*s13, s2*s8*s9*s13, s3*s8*s9*s13, s4*s8*s9*s13, s5*s8*s9*s13, s6*s8*s9*s13, s7*s8*s9*s13, s8^2*s9*s13, s0*s9^2*s13, s1*s9^2*s13, s2*s9^2*s13, s3*s9^2*s13, s4*s9^2*s13, s5*s9^2*s13, s6*s9^2*s13, s7*s9^2*s13, s8*s9^2*s13, s9^3*s13, s0^2*s10*s13, s0*s1*s10*s13, s1^2*s10*s13, s0*s2*s10*s13, s1*s2*s10*s13, s2^2*s10*s13, s0*s3*s10*s13, s1*s3*s10*s13, s2*s3*s10*s13, s3^2*s10*s13, s0*s4*s10*s13, s1*s4*s10*s13, s2*s4*s10*s13, s3*s4*s10*s13, s4^2*s10*s13, s0*s5*s10*s13, s1*s5*s10*s13, s2*s5*s10*s13, s3*s5*s10*s13, s4*s5*s10*s13, s5^2*s10*s13, s0*s6*s10*s13, s1*s6*s10*s13, s2*s6*s10*s13, s3*s6*s10*s13, s4*s6*s10*s13, s5*s6*s10*s13, s6^2*s10*s13, s0*s7*s10*s13, s1*s7*s10*s13, s2*s7*s10*s13, s3*s7*s10*s13, s4*s7*s10*s13, s5*s7*s10*s13, s6*s7*s10*s13, s7^2*s10*s13, s0*s8*s10*s13, s1*s8*s10*s13, s2*s8*s10*s13, s3*s8*s10*s13, s4*s8*s10*s13, s5*s8*s10*s13, s6*s8*s10*s13, s7*s8*s10*s13, s8^2*s10*s13, s0*s9*s10*s13, s1*s9*s10*s13, s2*s9*s10*s13, s3*s9*s10*s13, s4*s9*s10*s13, s5*s9*s10*s13, s6*s9*s10*s13, s7*s9*s10*s13, s8*s9*s10*s13, s9^2*s10*s13, s0*s10^2*s13, s1*s10^2*s13, s2*s10^2*s13, s3*s10^2*s13, s4*s10^2*s13, s5*s10^2*s13, s6*s10^2*s13, s7*s10^2*s13, s8*s10^2*s13, s9*s10^2*s13, s10^3*s13, s0^2*s11*s13, s0*s1*s11*s13, s1^2*s11*s13, s0*s2*s11*s13, s1*s2*s11*s13, s2^2*s11*s13, s0*s3*s11*s13, s1*s3*s11*s13, s2*s3*s11*s13, s3^2*s11*s13, s0*s4*s11*s13, s1*s4*s11*s13, s2*s4*s11*s13, s3*s4*s11*s13, s4^2*s11*s13, s0*s5*s11*s13, s1*s5*s11*s13, s2*s5*s11*s13, s3*s5*s11*s13, s4*s5*s11*s13, s5^2*s11*s13, s0*s6*s11*s13, s1*s6*s11*s13, s2*s6*s11*s13, s3*s6*s11*s13, s4*s6*s11*s13, s5*s6*s11*s13, s6^2*s11*s13, s0*s7*s11*s13, s1*s7*s11*s13, s2*s7*s11*s13, s3*s7*s11*s13, s4*s7*s11*s13, s5*s7*s11*s13, s6*s7*s11*s13, s7^2*s11*s13, s0*s8*s11*s13, s1*s8*s11*s13, s2*s8*s11*s13, s3*s8*s11*s13, s4*s8*s11*s13, s5*s8*s11*s13, s6*s8*s11*s13, s7*s8*s11*s13, s8^2*s11*s13, s0*s9*s11*s13, s1*s9*s11*s13, s2*s9*s11*s13, s3*s9*s11*s13, s4*s9*s11*s13, s5*s9*s11*s13, s6*s9*s11*s13, s7*s9*s11*s13, s8*s9*s11*s13, s9^2*s11*s13, s0*s10*s11*s13, s1*s10*s11*s13, s2*s10*s11*s13, s3*s10*s11*s13, s4*s10*s11*s13, s5*s10*s11*s13, s6*s10*s11*s13, s7*s10*s11*s13, s8*s10*s11*s13, s9*s10*s11*s13, s10^2*s11*s13, s0*s11^2*s13, s1*s11^2*s13, s2*s11^2*s13, s3*s11^2*s13, s4*s11^2*s13, s5*s11^2*s13, s6*s11^2*s13, s7*s11^2*s13, s8*s11^2*s13, s9*s11^2*s13, s10*s11^2*s13, s11^3*s13, s0^2*s12*s13, s0*s1*s12*s13, s1^2*s12*s13, s0*s2*s12*s13, s1*s2*s12*s13, s2^2*s12*s13, s0*s3*s12*s13, s1*s3*s12*s13, s2*s3*s12*s13, s3^2*s12*s13, s0*s4*s12*s13, s1*s4*s12*s13, s2*s4*s12*s13, s3*s4*s12*s13, s4^2*s12*s13, s0*s5*s12*s13, s1*s5*s12*s13, s2*s5*s12*s13, s3*s5*s12*s13, s4*s5*s12*s13, s5^2*s12*s13, s0*s6*s12*s13, s1*s6*s12*s13, s2*s6*s12*s13, s3*s6*s12*s13, s4*s6*s12*s13, s5*s6*s12*s13, s6^2*s12*s13, s0*s7*s12*s13, s1*s7*s12*s13, s2*s7*s12*s13, s3*s7*s12*s13, s4*s7*s12*s13, s5*s7*s12*s13, s6*s7*s12*s13, s7^2*s12*s13, s0*s8*s12*s13, s1*s8*s12*s13, s2*s8*s12*s13, s3*s8*s12*s13, s4*s8*s12*s13, s5*s8*s12*s13, s6*s8*s12*s13, s7*s8*s12*s13, s8^2*s12*s13, s0*s9*s12*s13, s1*s9*s12*s13, s2*s9*s12*s13, s3*s9*s12*s13, s4*s9*s12*s13, s5*s9*s12*s13, s6*s9*s12*s13, s7*s9*s12*s13, s8*s9*s12*s13, s9^2*s12*s13, s0*s10*s12*s13, s1*s10*s12*s13, s2*s10*s12*s13, s3*s10*s12*s13, s4*s10*s12*s13, s5*s10*s12*s13, s6*s10*s12*s13, s7*s10*s12*s13, s8*s10*s12*s13, s9*s10*s12*s13, s10^2*s12*s13, s0*s11*s12*s13, s1*s11*s12*s13, s2*s11*s12*s13, s3*s11*s12*s13, s4*s11*s12*s13, s5*s11*s12*s13, s6*s11*s12*s13, s7*s11*s12*s13, s8*s11*s12*s13, s9*s11*s12*s13, s10*s11*s12*s13, s11^2*s12*s13, s0*s12^2*s13, s1*s12^2*s13, s2*s12^2*s13, s3*s12^2*s13, s4*s12^2*s13, s5*s12^2*s13, s6*s12^2*s13, s7*s12^2*s13, s8*s12^2*s13, s9*s12^2*s13, s10*s12^2*s13, s11*s12^2*s13, s12^3*s13, s0^2*s13^2, s0*s1*s13^2, s1^2*s13^2, s0*s2*s13^2, s1*s2*s13^2, s2^2*s13^2, s0*s3*s13^2, s1*s3*s13^2, s2*s3*s13^2, s3^2*s13^2, s0*s4*s13^2, s1*s4*s13^2, s2*s4*s13^2, s3*s4*s13^2, s4^2*s13^2, s0*s5*s13^2, s1*s5*s13^2, s2*s5*s13^2, s3*s5*s13^2, s4*s5*s13^2, s5^2*s13^2, s0*s6*s13^2, s1*s6*s13^2, s2*s6*s13^2, s3*s6*s13^2, s4*s6*s13^2, s5*s6*s13^2, s6^2*s13^2, s0*s7*s13^2, s1*s7*s13^2, s2*s7*s13^2, s3*s7*s13^2, s4*s7*s13^2, s5*s7*s13^2, s6*s7*s13^2, s7^2*s13^2, s0*s8*s13^2, s1*s8*s13^2, s2*s8*s13^2, s3*s8*s13^2, s4*s8*s13^2, s5*s8*s13^2, s6*s8*s13^2, s7*s8*s13^2, s8^2*s13^2, s0*s9*s13^2, s1*s9*s13^2, s2*s9*s13^2, s3*s9*s13^2, s4*s9*s13^2, s5*s9*s13^2, s6*s9*s13^2, s7*s9*s13^2, s8*s9*s13^2, s9^2*s13^2, s0*s10*s13^2, s1*s10*s13^2, s2*s10*s13^2, s3*s10*s13^2, s4*s10*s13^2, s5*s10*s13^2, s6*s10*s13^2, s7*s10*s13^2, s8*s10*s13^2, s9*s10*s13^2, s10^2*s13^2, s0*s11*s13^2, s1*s11*s13^2, s2*s11*s13^2, s3*s11*s13^2, s4*s11*s13^2, s5*s11*s13^2, s6*s11*s13^2, s7*s11*s13^2, s8*s11*s13^2, s9*s11*s13^2, s10*s11*s13^2, s11^2*s13^2, s0*s12*s13^2, s1*s12*s13^2, s2*s12*s13^2, s3*s12*s13^2, s4*s12*s13^2, s5*s12*s13^2, s6*s12*s13^2, s7*s12*s13^2, s8*s12*s13^2, s9*s12*s13^2, s10*s12*s13^2, s11*s12*s13^2, s12^2*s13^2, s0*s13^3, s1*s13^3, s2*s13^3, s3*s13^3, s4*s13^3, s5*s13^3, s6*s13^3, s7*s13^3, s8*s13^3, s9*s13^3, s10*s13^3, s11*s13^3, s12*s13^3, s13^4, s0^3*e, s0^2*s1*e, s0*s1^2*e, s1^3*e, s0^2*s2*e, s0*s1*s2*e, s1^2*s2*e, s0*s2^2*e, s1*s2^2*e, s2^3*e, s0^2*s3*e, s0*s1*s3*e, s1^2*s3*e, s0*s2*s3*e, s1*s2*s3*e, s2^2*s3*e, s0*s3^2*e, s1*s3^2*e, s2*s3^2*e, s3^3*e, s0^2*s4*e, s0*s1*s4*e, s1^2*s4*e, s0*s2*s4*e, s1*s2*s4*e, s2^2*s4*e, s0*s3*s4*e, s1*s3*s4*e, s2*s3*s4*e, s3^2*s4*e, s0*s4^2*e, s1*s4^2*e, s2*s4^2*e, s3*s4^2*e, s4^3*e, s0^2*s5*e, s0*s1*s5*e, s1^2*s5*e, s0*s2*s5*e, s1*s2*s5*e, s2^2*s5*e, s0*s3*s5*e, s1*s3*s5*e, s2*s3*s5*e, s3^2*s5*e, s0*s4*s5*e, s1*s4*s5*e, s2*s4*s5*e, s3*s4*s5*e, s4^2*s5*e, s0*s5^2*e, s1*s5^2*e, s2*s5^2*e, s3*s5^2*e, s4*s5^2*e, s5^3*e, s0^2*s6*e, s0*s1*s6*e, s1^2*s6*e, s0*s2*s6*e, s1*s2*s6*e, s2^2*s6*e, s0*s3*s6*e, s1*s3*s6*e, s2*s3*s6*e, s3^2*s6*e, s0*s4*s6*e, s1*s4*s6*e, s2*s4*s6*e, s3*s4*s6*e, s4^2*s6*e, s0*s5*s6*e, s1*s5*s6*e, s2*s5*s6*e, s3*s5*s6*e, s4*s5*s6*e, s5^2*s6*e, s0*s6^2*e, s1*s6^2*e, s2*s6^2*e, s3*s6^2*e, s4*s6^2*e, s5*s6^2*e, s6^3*e, s0^2*s7*e, s0*s1*s7*e, s1^2*s7*e, s0*s2*s7*e, s1*s2*s7*e, s2^2*s7*e, s0*s3*s7*e, s1*s3*s7*e, s2*s3*s7*e, s3^2*s7*e, s0*s4*s7*e, s1*s4*s7*e, s2*s4*s7*e, s3*s4*s7*e, s4^2*s7*e, s0*s5*s7*e, s1*s5*s7*e, s2*s5*s7*e, s3*s5*s7*e, s4*s5*s7*e, s5^2*s7*e, s0*s6*s7*e, s1*s6*s7*e, s2*s6*s7*e, s3*s6*s7*e, s4*s6*s7*e, s5*s6*s7*e, s6^2*s7*e, s0*s7^2*e, s1*s7^2*e, s2*s7^2*e, s3*s7^2*e, s4*s7^2*e, s5*s7^2*e, s6*s7^2*e, s7^3*e, s0^2*s8*e, s0*s1*s8*e, s1^2*s8*e, s0*s2*s8*e, s1*s2*s8*e, s2^2*s8*e, s0*s3*s8*e, s1*s3*s8*e, s2*s3*s8*e, s3^2*s8*e, s0*s4*s8*e, s1*s4*s8*e, s2*s4*s8*e, s3*s4*s8*e, s4^2*s8*e, s0*s5*s8*e, s1*s5*s8*e, s2*s5*s8*e, s3*s5*s8*e, s4*s5*s8*e, s5^2*s8*e, s0*s6*s8*e, s1*s6*s8*e, s2*s6*s8*e, s3*s6*s8*e, s4*s6*s8*e, s5*s6*s8*e, s6^2*s8*e, s0*s7*s8*e, s1*s7*s8*e, s2*s7*s8*e, s3*s7*s8*e, s4*s7*s8*e, s5*s7*s8*e, s6*s7*s8*e, s7^2*s8*e, s0*s8^2*e, s1*s8^2*e, s2*s8^2*e, s3*s8^2*e, s4*s8^2*e, s5*s8^2*e, s6*s8^2*e, s7*s8^2*e, s8^3*e, s0^2*s9*e, s0*s1*s9*e, s1^2*s9*e, s0*s2*s9*e, s1*s2*s9*e, s2^2*s9*e, s0*s3*s9*e, s1*s3*s9*e, s2*s3*s9*e, s3^2*s9*e, s0*s4*s9*e, s1*s4*s9*e, s2*s4*s9*e, s3*s4*s9*e, s4^2*s9*e, s0*s5*s9*e, s1*s5*s9*e, s2*s5*s9*e, s3*s5*s9*e, s4*s5*s9*e, s5^2*s9*e, s0*s6*s9*e, s1*s6*s9*e, s2*s6*s9*e, s3*s6*s9*e, s4*s6*s9*e, s5*s6*s9*e, s6^2*s9*e, s0*s7*s9*e, s1*s7*s9*e, s2*s7*s9*e, s3*s7*s9*e, s4*s7*s9*e, s5*s7*s9*e, s6*s7*s9*e, s7^2*s9*e, s0*s8*s9*e, s1*s8*s9*e, s2*s8*s9*e, s3*s8*s9*e, s4*s8*s9*e, s5*s8*s9*e, s6*s8*s9*e, s7*s8*s9*e, s8^2*s9*e, s0*s9^2*e, s1*s9^2*e, s2*s9^2*e, s3*s9^2*e, s4*s9^2*e, s5*s9^2*e, s6*s9^2*e, s7*s9^2*e, s8*s9^2*e, s9^3*e, s0^2*s10*e, s0*s1*s10*e, s1^2*s10*e, s0*s2*s10*e, s1*s2*s10*e, s2^2*s10*e, s0*s3*s10*e, s1*s3*s10*e, s2*s3*s10*e, s3^2*s10*e, s0*s4*s10*e, s1*s4*s10*e, s2*s4*s10*e, s3*s4*s10*e, s4^2*s10*e, s0*s5*s10*e, s1*s5*s10*e, s2*s5*s10*e, s3*s5*s10*e, s4*s5*s10*e, s5^2*s10*e, s0*s6*s10*e, s1*s6*s10*e, s2*s6*s10*e, s3*s6*s10*e, s4*s6*s10*e, s5*s6*s10*e, s6^2*s10*e, s0*s7*s10*e, s1*s7*s10*e, s2*s7*s10*e, s3*s7*s10*e, s4*s7*s10*e, s5*s7*s10*e, s6*s7*s10*e, s7^2*s10*e, s0*s8*s10*e, s1*s8*s10*e, s2*s8*s10*e, s3*s8*s10*e, s4*s8*s10*e, s5*s8*s10*e, s6*s8*s10*e, s7*s8*s10*e, s8^2*s10*e, s0*s9*s10*e, s1*s9*s10*e, s2*s9*s10*e, s3*s9*s10*e, s4*s9*s10*e, s5*s9*s10*e, s6*s9*s10*e, s7*s9*s10*e, s8*s9*s10*e, s9^2*s10*e, s0*s10^2*e, s1*s10^2*e, s2*s10^2*e, s3*s10^2*e, s4*s10^2*e, s5*s10^2*e, s6*s10^2*e, s7*s10^2*e, s8*s10^2*e, s9*s10^2*e, s10^3*e, s0^2*s11*e, s0*s1*s11*e, s1^2*s11*e, s0*s2*s11*e, s1*s2*s11*e, s2^2*s11*e, s0*s3*s11*e, s1*s3*s11*e, s2*s3*s11*e, s3^2*s11*e, s0*s4*s11*e, s1*s4*s11*e, s2*s4*s11*e, s3*s4*s11*e, s4^2*s11*e, s0*s5*s11*e, s1*s5*s11*e, s2*s5*s11*e, s3*s5*s11*e, s4*s5*s11*e, s5^2*s11*e, s0*s6*s11*e, s1*s6*s11*e, s2*s6*s11*e, s3*s6*s11*e, s4*s6*s11*e, s5*s6*s11*e, s6^2*s11*e, s0*s7*s11*e, s1*s7*s11*e, s2*s7*s11*e, s3*s7*s11*e, s4*s7*s11*e, s5*s7*s11*e, s6*s7*s11*e, s7^2*s11*e, s0*s8*s11*e, s1*s8*s11*e, s2*s8*s11*e, s3*s8*s11*e, s4*s8*s11*e, s5*s8*s11*e, s6*s8*s11*e, s7*s8*s11*e, s8^2*s11*e, s0*s9*s11*e, s1*s9*s11*e, s2*s9*s11*e, s3*s9*s11*e, s4*s9*s11*e, s5*s9*s11*e, s6*s9*s11*e, s7*s9*s11*e, s8*s9*s11*e, s9^2*s11*e, s0*s10*s11*e, s1*s10*s11*e, s2*s10*s11*e, s3*s10*s11*e, s4*s10*s11*e, s5*s10*s11*e, s6*s10*s11*e, s7*s10*s11*e, s8*s10*s11*e, s9*s10*s11*e, s10^2*s11*e, s0*s11^2*e, s1*s11^2*e, s2*s11^2*e, s3*s11^2*e, s4*s11^2*e, s5*s11^2*e, s6*s11^2*e, s7*s11^2*e, s8*s11^2*e, s9*s11^2*e, s10*s11^2*e, s11^3*e, s0^2*s12*e, s0*s1*s12*e, s1^2*s12*e, s0*s2*s12*e, s1*s2*s12*e, s2^2*s12*e, s0*s3*s12*e, s1*s3*s12*e, s2*s3*s12*e, s3^2*s12*e, s0*s4*s12*e, s1*s4*s12*e, s2*s4*s12*e, s3*s4*s12*e, s4^2*s12*e, s0*s5*s12*e, s1*s5*s12*e, s2*s5*s12*e, s3*s5*s12*e, s4*s5*s12*e, s5^2*s12*e, s0*s6*s12*e, s1*s6*s12*e, s2*s6*s12*e, s3*s6*s12*e, s4*s6*s12*e, s5*s6*s12*e, s6^2*s12*e, s0*s7*s12*e, s1*s7*s12*e, s2*s7*s12*e, s3*s7*s12*e, s4*s7*s12*e, s5*s7*s12*e, s6*s7*s12*e, s7^2*s12*e, s0*s8*s12*e, s1*s8*s12*e, s2*s8*s12*e, s3*s8*s12*e, s4*s8*s12*e, s5*s8*s12*e, s6*s8*s12*e, s7*s8*s12*e, s8^2*s12*e, s0*s9*s12*e, s1*s9*s12*e, s2*s9*s12*e, s3*s9*s12*e, s4*s9*s12*e, s5*s9*s12*e, s6*s9*s12*e, s7*s9*s12*e, s8*s9*s12*e, s9^2*s12*e, s0*s10*s12*e, s1*s10*s12*e, s2*s10*s12*e, s3*s10*s12*e, s4*s10*s12*e, s5*s10*s12*e, s6*s10*s12*e, s7*s10*s12*e, s8*s10*s12*e, s9*s10*s12*e, s10^2*s12*e, s0*s11*s12*e, s1*s11*s12*e, s2*s11*s12*e, s3*s11*s12*e, s4*s11*s12*e, s5*s11*s12*e, s6*s11*s12*e, s7*s11*s12*e, s8*s11*s12*e, s9*s11*s12*e, s10*s11*s12*e, s11^2*s12*e, s0*s12^2*e, s1*s12^2*e, s2*s12^2*e, s3*s12^2*e, s4*s12^2*e, s5*s12^2*e, s6*s12^2*e, s7*s12^2*e, s8*s12^2*e, s9*s12^2*e, s10*s12^2*e, s11*s12^2*e, s12^3*e, s0^2*s13*e, s0*s1*s13*e, s1^2*s13*e, s0*s2*s13*e, s1*s2*s13*e, s2^2*s13*e, s0*s3*s13*e, s1*s3*s13*e, s2*s3*s13*e, s3^2*s13*e, s0*s4*s13*e, s1*s4*s13*e, s2*s4*s13*e, s3*s4*s13*e, s4^2*s13*e, s0*s5*s13*e, s1*s5*s13*e, s2*s5*s13*e, s3*s5*s13*e, s4*s5*s13*e, s5^2*s13*e, s0*s6*s13*e, s1*s6*s13*e, s2*s6*s13*e, s3*s6*s13*e, s4*s6*s13*e, s5*s6*s13*e, s6^2*s13*e, s0*s7*s13*e, s1*s7*s13*e, s2*s7*s13*e, s3*s7*s13*e, s4*s7*s13*e, s5*s7*s13*e, s6*s7*s13*e, s7^2*s13*e, s0*s8*s13*e, s1*s8*s13*e, s2*s8*s13*e, s3*s8*s13*e, s4*s8*s13*e, s5*s8*s13*e, s6*s8*s13*e, s7*s8*s13*e, s8^2*s13*e, s0*s9*s13*e, s1*s9*s13*e, s2*s9*s13*e, s3*s9*s13*e, s4*s9*s13*e, s5*s9*s13*e, s6*s9*s13*e, s7*s9*s13*e, s8*s9*s13*e, s9^2*s13*e, s0*s10*s13*e, s1*s10*s13*e, s2*s10*s13*e, s3*s10*s13*e, s4*s10*s13*e, s5*s10*s13*e, s6*s10*s13*e, s7*s10*s13*e, s8*s10*s13*e, s9*s10*s13*e, s10^2*s13*e, s0*s11*s13*e, s1*s11*s13*e, s2*s11*s13*e, s3*s11*s13*e, s4*s11*s13*e, s5*s11*s13*e, s6*s11*s13*e, s7*s11*s13*e, s8*s11*s13*e, s9*s11*s13*e, s10*s11*s13*e, s11^2*s13*e, s0*s12*s13*e, s1*s12*s13*e, s2*s12*s13*e, s3*s12*s13*e, s4*s12*s13*e, s5*s12*s13*e, s6*s12*s13*e, s7*s12*s13*e, s8*s12*s13*e, s9*s12*s13*e, s10*s12*s13*e, s11*s12*s13*e, s12^2*s13*e, s0*s13^2*e, s1*s13^2*e, s2*s13^2*e, s3*s13^2*e, s4*s13^2*e, s5*s13^2*e, s6*s13^2*e, s7*s13^2*e, s8*s13^2*e, s9*s13^2*e, s10*s13^2*e, s11*s13^2*e, s12*s13^2*e, s13^3*e, s0^2*e^2, s0*s1*e^2, s1^2*e^2, s0*s2*e^2, s1*s2*e^2, s2^2*e^2, s0*s3*e^2, s1*s3*e^2, s2*s3*e^2, s3^2*e^2, s0*s4*e^2, s1*s4*e^2, s2*s4*e^2, s3*s4*e^2, s4^2*e^2, s0*s5*e^2, s1*s5*e^2, s2*s5*e^2, s3*s5*e^2, s4*s5*e^2, s5^2*e^2, s0*s6*e^2, s1*s6*e^2, s2*s6*e^2, s3*s6*e^2, s4*s6*e^2, s5*s6*e^2, s6^2*e^2, s0*s7*e^2, s1*s7*e^2, s2*s7*e^2, s3*s7*e^2, s4*s7*e^2, s5*s7*e^2, s6*s7*e^2, s7^2*e^2, s0*s8*e^2, s1*s8*e^2, s2*s8*e^2, s3*s8*e^2, s4*s8*e^2, s5*s8*e^2, s6*s8*e^2, s7*s8*e^2, s8^2*e^2, s0*s9*e^2, s1*s9*e^2, s2*s9*e^2, s3*s9*e^2, s4*s9*e^2, s5*s9*e^2, s6*s9*e^2, s7*s9*e^2, s8*s9*e^2, s9^2*e^2, s0*s10*e^2, s1*s10*e^2, s2*s10*e^2, s3*s10*e^2, s4*s10*e^2, s5*s10*e^2, s6*s10*e^2, s7*s10*e^2, s8*s10*e^2, s9*s10*e^2, s10^2*e^2, s0*s11*e^2, s1*s11*e^2, s2*s11*e^2, s3*s11*e^2, s4*s11*e^2, s5*s11*e^2, s6*s11*e^2, s7*s11*e^2, s8*s11*e^2, s9*s11*e^2, s10*s11*e^2, s11^2*e^2, s0*s12*e^2, s1*s12*e^2, s2*s12*e^2, s3*s12*e^2, s4*s12*e^2, s5*s12*e^2, s6*s12*e^2, s7*s12*e^2, s8*s12*e^2, s9*s12*e^2, s10*s12*e^2, s11*s12*e^2, s12^2*e^2, s0*s13*e^2, s1*s13*e^2, s2*s13*e^2, s3*s13*e^2, s4*s13*e^2, s5*s13*e^2, s6*s13*e^2, s7*s13*e^2, s8*s13*e^2, s9*s13*e^2, s10*s13*e^2, s11*s13*e^2, s12*s13*e^2, s13^2*e^2, s0*e^3, s1*e^3, s2*e^3, s3*e^3, s4*e^3, s5*e^3, s6*e^3, s7*e^3, s8*e^3, s9*e^3, s10*e^3, s11*e^3, s12*e^3, s13*e^3, e^4, s0^3*b, s0^2*s1*b, s0*s1^2*b, s1^3*b, s0^2*s2*b, s0*s1*s2*b, s1^2*s2*b, s0*s2^2*b, s1*s2^2*b, s2^3*b, s0^2*s3*b, s0*s1*s3*b, s1^2*s3*b, s0*s2*s3*b, s1*s2*s3*b, s2^2*s3*b, s0*s3^2*b, s1*s3^2*b, s2*s3^2*b, s3^3*b, s0^2*s4*b, s0*s1*s4*b, s1^2*s4*b, s0*s2*s4*b, s1*s2*s4*b, s2^2*s4*b, s0*s3*s4*b, s1*s3*s4*b, s2*s3*s4*b, s3^2*s4*b, s0*s4^2*b, s1*s4^2*b, s2*s4^2*b, s3*s4^2*b, s4^3*b, s0^2*s5*b, s0*s1*s5*b, s1^2*s5*b, s0*s2*s5*b, s1*s2*s5*b, s2^2*s5*b, s0*s3*s5*b, s1*s3*s5*b, s2*s3*s5*b, s3^2*s5*b, s0*s4*s5*b, s1*s4*s5*b, s2*s4*s5*b, s3*s4*s5*b, s4^2*s5*b, s0*s5^2*b, s1*s5^2*b, s2*s5^2*b, s3*s5^2*b, s4*s5^2*b, s5^3*b, s0^2*s6*b, s0*s1*s6*b, s1^2*s6*b, s0*s2*s6*b, s1*s2*s6*b, s2^2*s6*b, s0*s3*s6*b, s1*s3*s6*b, s2*s3*s6*b, s3^2*s6*b, s0*s4*s6*b, s1*s4*s6*b, s2*s4*s6*b, s3*s4*s6*b, s4^2*s6*b, s0*s5*s6*b, s1*s5*s6*b, s2*s5*s6*b, s3*s5*s6*b, s4*s5*s6*b, s5^2*s6*b, s0*s6^2*b, s1*s6^2*b, s2*s6^2*b, s3*s6^2*b, s4*s6^2*b, s5*s6^2*b, s6^3*b, s0^2*s7*b, s0*s1*s7*b, s1^2*s7*b, s0*s2*s7*b, s1*s2*s7*b, s2^2*s7*b, s0*s3*s7*b, s1*s3*s7*b, s2*s3*s7*b, s3^2*s7*b, s0*s4*s7*b, s1*s4*s7*b, s2*s4*s7*b, s3*s4*s7*b, s4^2*s7*b, s0*s5*s7*b, s1*s5*s7*b, s2*s5*s7*b, s3*s5*s7*b, s4*s5*s7*b, s5^2*s7*b, s0*s6*s7*b, s1*s6*s7*b, s2*s6*s7*b, s3*s6*s7*b, s4*s6*s7*b, s5*s6*s7*b, s6^2*s7*b, s0*s7^2*b, s1*s7^2*b, s2*s7^2*b, s3*s7^2*b, s4*s7^2*b, s5*s7^2*b, s6*s7^2*b, s7^3*b, s0^2*s8*b, s0*s1*s8*b, s1^2*s8*b, s0*s2*s8*b, s1*s2*s8*b, s2^2*s8*b, s0*s3*s8*b, s1*s3*s8*b, s2*s3*s8*b, s3^2*s8*b, s0*s4*s8*b, s1*s4*s8*b, s2*s4*s8*b, s3*s4*s8*b, s4^2*s8*b, s0*s5*s8*b, s1*s5*s8*b, s2*s5*s8*b, s3*s5*s8*b, s4*s5*s8*b, s5^2*s8*b, s0*s6*s8*b, s1*s6*s8*b, s2*s6*s8*b, s3*s6*s8*b, s4*s6*s8*b, s5*s6*s8*b, s6^2*s8*b, s0*s7*s8*b, s1*s7*s8*b, s2*s7*s8*b, s3*s7*s8*b, s4*s7*s8*b, s5*s7*s8*b, s6*s7*s8*b, s7^2*s8*b, s0*s8^2*b, s1*s8^2*b, s2*s8^2*b, s3*s8^2*b, s4*s8^2*b, s5*s8^2*b, s6*s8^2*b, s7*s8^2*b, s8^3*b, s0^2*s9*b, s0*s1*s9*b, s1^2*s9*b, s0*s2*s9*b, s1*s2*s9*b, s2^2*s9*b, s0*s3*s9*b, s1*s3*s9*b, s2*s3*s9*b, s3^2*s9*b, s0*s4*s9*b, s1*s4*s9*b, s2*s4*s9*b, s3*s4*s9*b, s4^2*s9*b, s0*s5*s9*b, s1*s5*s9*b, s2*s5*s9*b, s3*s5*s9*b, s4*s5*s9*b, s5^2*s9*b, s0*s6*s9*b, s1*s6*s9*b, s2*s6*s9*b, s3*s6*s9*b, s4*s6*s9*b, s5*s6*s9*b, s6^2*s9*b, s0*s7*s9*b, s1*s7*s9*b, s2*s7*s9*b, s3*s7*s9*b, s4*s7*s9*b, s5*s7*s9*b, s6*s7*s9*b, s7^2*s9*b, s0*s8*s9*b, s1*s8*s9*b, s2*s8*s9*b, s3*s8*s9*b, s4*s8*s9*b, s5*s8*s9*b, s6*s8*s9*b, s7*s8*s9*b, s8^2*s9*b, s0*s9^2*b, s1*s9^2*b, s2*s9^2*b, s3*s9^2*b, s4*s9^2*b, s5*s9^2*b, s6*s9^2*b, s7*s9^2*b, s8*s9^2*b, s9^3*b, s0^2*s10*b, s0*s1*s10*b, s1^2*s10*b, s0*s2*s10*b, s1*s2*s10*b, s2^2*s10*b, s0*s3*s10*b, s1*s3*s10*b, s2*s3*s10*b, s3^2*s10*b, s0*s4*s10*b, s1*s4*s10*b, s2*s4*s10*b, s3*s4*s10*b, s4^2*s10*b, s0*s5*s10*b, s1*s5*s10*b, s2*s5*s10*b, s3*s5*s10*b, s4*s5*s10*b, s5^2*s10*b, s0*s6*s10*b, s1*s6*s10*b, s2*s6*s10*b, s3*s6*s10*b, s4*s6*s10*b, s5*s6*s10*b, s6^2*s10*b, s0*s7*s10*b, s1*s7*s10*b, s2*s7*s10*b, s3*s7*s10*b, s4*s7*s10*b, s5*s7*s10*b, s6*s7*s10*b, s7^2*s10*b, s0*s8*s10*b, s1*s8*s10*b, s2*s8*s10*b, s3*s8*s10*b, s4*s8*s10*b, s5*s8*s10*b, s6*s8*s10*b, s7*s8*s10*b, s8^2*s10*b, s0*s9*s10*b, s1*s9*s10*b, s2*s9*s10*b, s3*s9*s10*b, s4*s9*s10*b, s5*s9*s10*b, s6*s9*s10*b, s7*s9*s10*b, s8*s9*s10*b, s9^2*s10*b, s0*s10^2*b, s1*s10^2*b, s2*s10^2*b, s3*s10^2*b, s4*s10^2*b, s5*s10^2*b, s6*s10^2*b, s7*s10^2*b, s8*s10^2*b, s9*s10^2*b, s10^3*b, s0^2*s11*b, s0*s1*s11*b, s1^2*s11*b, s0*s2*s11*b, s1*s2*s11*b, s2^2*s11*b, s0*s3*s11*b, s1*s3*s11*b, s2*s3*s11*b, s3^2*s11*b, s0*s4*s11*b, s1*s4*s11*b, s2*s4*s11*b, s3*s4*s11*b, s4^2*s11*b, s0*s5*s11*b, s1*s5*s11*b, s2*s5*s11*b, s3*s5*s11*b, s4*s5*s11*b, s5^2*s11*b, s0*s6*s11*b, s1*s6*s11*b, s2*s6*s11*b, s3*s6*s11*b, s4*s6*s11*b, s5*s6*s11*b, s6^2*s11*b, s0*s7*s11*b, s1*s7*s11*b, s2*s7*s11*b, s3*s7*s11*b, s4*s7*s11*b, s5*s7*s11*b, s6*s7*s11*b, s7^2*s11*b, s0*s8*s11*b, s1*s8*s11*b, s2*s8*s11*b, s3*s8*s11*b, s4*s8*s11*b, s5*s8*s11*b, s6*s8*s11*b, s7*s8*s11*b, s8^2*s11*b, s0*s9*s11*b, s1*s9*s11*b, s2*s9*s11*b, s3*s9*s11*b, s4*s9*s11*b, s5*s9*s11*b, s6*s9*s11*b, s7*s9*s11*b, s8*s9*s11*b, s9^2*s11*b, s0*s10*s11*b, s1*s10*s11*b, s2*s10*s11*b, s3*s10*s11*b, s4*s10*s11*b, s5*s10*s11*b, s6*s10*s11*b, s7*s10*s11*b, s8*s10*s11*b, s9*s10*s11*b, s10^2*s11*b, s0*s11^2*b, s1*s11^2*b, s2*s11^2*b, s3*s11^2*b, s4*s11^2*b, s5*s11^2*b, s6*s11^2*b, s7*s11^2*b, s8*s11^2*b, s9*s11^2*b, s10*s11^2*b, s11^3*b, s0^2*s12*b, s0*s1*s12*b, s1^2*s12*b, s0*s2*s12*b, s1*s2*s12*b, s2^2*s12*b, s0*s3*s12*b, s1*s3*s12*b, s2*s3*s12*b, s3^2*s12*b, s0*s4*s12*b, s1*s4*s12*b, s2*s4*s12*b, s3*s4*s12*b, s4^2*s12*b, s0*s5*s12*b, s1*s5*s12*b, s2*s5*s12*b, s3*s5*s12*b, s4*s5*s12*b, s5^2*s12*b, s0*s6*s12*b, s1*s6*s12*b, s2*s6*s12*b, s3*s6*s12*b, s4*s6*s12*b, s5*s6*s12*b, s6^2*s12*b, s0*s7*s12*b, s1*s7*s12*b, s2*s7*s12*b, s3*s7*s12*b, s4*s7*s12*b, s5*s7*s12*b, s6*s7*s12*b, s7^2*s12*b, s0*s8*s12*b, s1*s8*s12*b, s2*s8*s12*b, s3*s8*s12*b, s4*s8*s12*b, s5*s8*s12*b, s6*s8*s12*b, s7*s8*s12*b, s8^2*s12*b, s0*s9*s12*b, s1*s9*s12*b, s2*s9*s12*b, s3*s9*s12*b, s4*s9*s12*b, s5*s9*s12*b, s6*s9*s12*b, s7*s9*s12*b, s8*s9*s12*b, s9^2*s12*b, s0*s10*s12*b, s1*s10*s12*b, s2*s10*s12*b, s3*s10*s12*b, s4*s10*s12*b, s5*s10*s12*b, s6*s10*s12*b, s7*s10*s12*b, s8*s10*s12*b, s9*s10*s12*b, s10^2*s12*b, s0*s11*s12*b, s1*s11*s12*b, s2*s11*s12*b, s3*s11*s12*b, s4*s11*s12*b, s5*s11*s12*b, s6*s11*s12*b, s7*s11*s12*b, s8*s11*s12*b, s9*s11*s12*b, s10*s11*s12*b, s11^2*s12*b, s0*s12^2*b, s1*s12^2*b, s2*s12^2*b, s3*s12^2*b, s4*s12^2*b, s5*s12^2*b, s6*s12^2*b, s7*s12^2*b, s8*s12^2*b, s9*s12^2*b, s10*s12^2*b, s11*s12^2*b, s12^3*b, s0^2*s13*b, s0*s1*s13*b, s1^2*s13*b, s0*s2*s13*b, s1*s2*s13*b, s2^2*s13*b, s0*s3*s13*b, s1*s3*s13*b, s2*s3*s13*b, s3^2*s13*b, s0*s4*s13*b, s1*s4*s13*b, s2*s4*s13*b, s3*s4*s13*b, s4^2*s13*b, s0*s5*s13*b, s1*s5*s13*b, s2*s5*s13*b, s3*s5*s13*b, s4*s5*s13*b, s5^2*s13*b, s0*s6*s13*b, s1*s6*s13*b, s2*s6*s13*b, s3*s6*s13*b, s4*s6*s13*b, s5*s6*s13*b, s6^2*s13*b, s0*s7*s13*b, s1*s7*s13*b, s2*s7*s13*b, s3*s7*s13*b, s4*s7*s13*b, s5*s7*s13*b, s6*s7*s13*b, s7^2*s13*b, s0*s8*s13*b, s1*s8*s13*b, s2*s8*s13*b, s3*s8*s13*b, s4*s8*s13*b, s5*s8*s13*b, s6*s8*s13*b, s7*s8*s13*b, s8^2*s13*b, s0*s9*s13*b, s1*s9*s13*b, s2*s9*s13*b, s3*s9*s13*b, s4*s9*s13*b, s5*s9*s13*b, s6*s9*s13*b, s7*s9*s13*b, s8*s9*s13*b, s9^2*s13*b, s0*s10*s13*b, s1*s10*s13*b, s2*s10*s13*b, s3*s10*s13*b, s4*s10*s13*b, s5*s10*s13*b, s6*s10*s13*b, s7*s10*s13*b, s8*s10*s13*b, s9*s10*s13*b, s10^2*s13*b, s0*s11*s13*b, s1*s11*s13*b, s2*s11*s13*b, s3*s11*s13*b, s4*s11*s13*b, s5*s11*s13*b, s6*s11*s13*b, s7*s11*s13*b, s8*s11*s13*b, s9*s11*s13*b, s10*s11*s13*b, s11^2*s13*b, s0*s12*s13*b, s1*s12*s13*b, s2*s12*s13*b, s3*s12*s13*b, s4*s12*s13*b, s5*s12*s13*b, s6*s12*s13*b, s7*s12*s13*b, s8*s12*s13*b, s9*s12*s13*b, s10*s12*s13*b, s11*s12*s13*b, s12^2*s13*b, s0*s13^2*b, s1*s13^2*b, s2*s13^2*b, s3*s13^2*b, s4*s13^2*b, s5*s13^2*b, s6*s13^2*b, s7*s13^2*b, s8*s13^2*b, s9*s13^2*b, s10*s13^2*b, s11*s13^2*b, s12*s13^2*b, s13^3*b, s0^2*e*b, s0*s1*e*b, s1^2*e*b, s0*s2*e*b, s1*s2*e*b, s2^2*e*b, s0*s3*e*b, s1*s3*e*b, s2*s3*e*b, s3^2*e*b, s0*s4*e*b, s1*s4*e*b, s2*s4*e*b, s3*s4*e*b, s4^2*e*b, s0*s5*e*b, s1*s5*e*b, s2*s5*e*b, s3*s5*e*b, s4*s5*e*b, s5^2*e*b, s0*s6*e*b, s1*s6*e*b, s2*s6*e*b, s3*s6*e*b, s4*s6*e*b, s5*s6*e*b, s6^2*e*b, s0*s7*e*b, s1*s7*e*b, s2*s7*e*b, s3*s7*e*b, s4*s7*e*b, s5*s7*e*b, s6*s7*e*b, s7^2*e*b, s0*s8*e*b, s1*s8*e*b, s2*s8*e*b, s3*s8*e*b, s4*s8*e*b, s5*s8*e*b, s6*s8*e*b, s7*s8*e*b, s8^2*e*b, s0*s9*e*b, s1*s9*e*b, s2*s9*e*b, s3*s9*e*b, s4*s9*e*b, s5*s9*e*b, s6*s9*e*b, s7*s9*e*b, s8*s9*e*b, s9^2*e*b, s0*s10*e*b, s1*s10*e*b, s2*s10*e*b, s3*s10*e*b, s4*s10*e*b, s5*s10*e*b, s6*s10*e*b, s7*s10*e*b, s8*s10*e*b, s9*s10*e*b, s10^2*e*b, s0*s11*e*b, s1*s11*e*b, s2*s11*e*b, s3*s11*e*b, s4*s11*e*b, s5*s11*e*b, s6*s11*e*b, s7*s11*e*b, s8*s11*e*b, s9*s11*e*b, s10*s11*e*b, s11^2*e*b, s0*s12*e*b, s1*s12*e*b, s2*s12*e*b, s3*s12*e*b, s4*s12*e*b, s5*s12*e*b, s6*s12*e*b, s7*s12*e*b, s8*s12*e*b, s9*s12*e*b, s10*s12*e*b, s11*s12*e*b, s12^2*e*b, s0*s13*e*b, s1*s13*e*b, s2*s13*e*b, s3*s13*e*b, s4*s13*e*b, s5*s13*e*b, s6*s13*e*b, s7*s13*e*b, s8*s13*e*b, s9*s13*e*b, s10*s13*e*b, s11*s13*e*b, s12*s13*e*b, s13^2*e*b, s0*e^2*b, s1*e^2*b, s2*e^2*b, s3*e^2*b, s4*e^2*b, s5*e^2*b, s6*e^2*b, s7*e^2*b, s8*e^2*b, s9*e^2*b, s10*e^2*b, s11*e^2*b, s12*e^2*b, s13*e^2*b, e^3*b, s0^2*b^2, s0*s1*b^2, s1^2*b^2, s0*s2*b^2, s1*s2*b^2, s2^2*b^2, s0*s3*b^2, s1*s3*b^2, s2*s3*b^2, s3^2*b^2, s0*s4*b^2, s1*s4*b^2, s2*s4*b^2, s3*s4*b^2, s4^2*b^2, s0*s5*b^2, s1*s5*b^2, s2*s5*b^2, s3*s5*b^2, s4*s5*b^2, s5^2*b^2, s0*s6*b^2, s1*s6*b^2, s2*s6*b^2, s3*s6*b^2, s4*s6*b^2, s5*s6*b^2, s6^2*b^2, s0*s7*b^2, s1*s7*b^2, s2*s7*b^2, s3*s7*b^2, s4*s7*b^2, s5*s7*b^2, s6*s7*b^2, s7^2*b^2, s0*s8*b^2, s1*s8*b^2, s2*s8*b^2, s3*s8*b^2, s4*s8*b^2, s5*s8*b^2, s6*s8*b^2, s7*s8*b^2, s8^2*b^2, s0*s9*b^2, s1*s9*b^2, s2*s9*b^2, s3*s9*b^2, s4*s9*b^2, s5*s9*b^2, s6*s9*b^2, s7*s9*b^2, s8*s9*b^2, s9^2*b^2, s0*s10*b^2, s1*s10*b^2, s2*s10*b^2, s3*s10*b^2, s4*s10*b^2, s5*s10*b^2, s6*s10*b^2, s7*s10*b^2, s8*s10*b^2, s9*s10*b^2, s10^2*b^2, s0*s11*b^2, s1*s11*b^2, s2*s11*b^2, s3*s11*b^2, s4*s11*b^2, s5*s11*b^2, s6*s11*b^2, s7*s11*b^2, s8*s11*b^2, s9*s11*b^2, s10*s11*b^2, s11^2*b^2, s0*s12*b^2, s1*s12*b^2, s2*s12*b^2, s3*s12*b^2, s4*s12*b^2, s5*s12*b^2, s6*s12*b^2, s7*s12*b^2, s8*s12*b^2, s9*s12*b^2, s10*s12*b^2, s11*s12*b^2, s12^2*b^2, s0*s13*b^2, s1*s13*b^2, s2*s13*b^2, s3*s13*b^2, s4*s13*b^2, s5*s13*b^2, s6*s13*b^2, s7*s13*b^2, s8*s13*b^2, s9*s13*b^2, s10*s13*b^2, s11*s13*b^2, s12*s13*b^2, s13^2*b^2, s0*e*b^2, s1*e*b^2, s2*e*b^2, s3*e*b^2, s4*e*b^2, s5*e*b^2, s6*e*b^2, s7*e*b^2, s8*e*b^2, s9*e*b^2, s10*e*b^2, s11*e*b^2, s12*e*b^2, s13*e*b^2, e^2*b^2, s0*b^3, s1*b^3, s2*b^3, s3*b^3, s4*b^3, s5*b^3, s6*b^3, s7*b^3, s8*b^3, s9*b^3, s10*b^3, s11*b^3, s12*b^3, s13*b^3, e*b^3, b^4, s0^3, s0^2*s1, s0*s1^2, s1^3, s0^2*s2, s0*s1*s2, s1^2*s2, s0*s2^2, s1*s2^2, s2^3, s0^2*s3, s0*s1*s3, s1^2*s3, s0*s2*s3, s1*s2*s3, s2^2*s3, s0*s3^2, s1*s3^2, s2*s3^2, s3^3, s0^2*s4, s0*s1*s4, s1^2*s4, s0*s2*s4, s1*s2*s4, s2^2*s4, s0*s3*s4, s1*s3*s4, s2*s3*s4, s3^2*s4, s0*s4^2, s1*s4^2, s2*s4^2, s3*s4^2, s4^3, s0^2*s5, s0*s1*s5, s1^2*s5, s0*s2*s5, s1*s2*s5, s2^2*s5, s0*s3*s5, s1*s3*s5, s2*s3*s5, s3^2*s5, s0*s4*s5, s1*s4*s5, s2*s4*s5, s3*s4*s5, s4^2*s5, s0*s5^2, s1*s5^2, s2*s5^2, s3*s5^2, s4*s5^2, s5^3, s0^2*s6, s0*s1*s6, s1^2*s6, s0*s2*s6, s1*s2*s6, s2^2*s6, s0*s3*s6, s1*s3*s6, s2*s3*s6, s3^2*s6, s0*s4*s6, s1*s4*s6, s2*s4*s6, s3*s4*s6, s4^2*s6, s0*s5*s6, s1*s5*s6, s2*s5*s6, s3*s5*s6, s4*s5*s6, s5^2*s6, s0*s6^2, s1*s6^2, s2*s6^2, s3*s6^2, s4*s6^2, s5*s6^2, s6^3, s0^2*s7, s0*s1*s7, s1^2*s7, s0*s2*s7, s1*s2*s7, s2^2*s7, s0*s3*s7, s1*s3*s7, s2*s3*s7, s3^2*s7, s0*s4*s7, s1*s4*s7, s2*s4*s7, s3*s4*s7, s4^2*s7, s0*s5*s7, s1*s5*s7, s2*s5*s7, s3*s5*s7, s4*s5*s7, s5^2*s7, s0*s6*s7, s1*s6*s7, s2*s6*s7, s3*s6*s7, s4*s6*s7, s5*s6*s7, s6^2*s7, s0*s7^2, s1*s7^2, s2*s7^2, s3*s7^2, s4*s7^2, s5*s7^2, s6*s7^2, s7^3, s0^2*s8, s0*s1*s8, s1^2*s8, s0*s2*s8, s1*s2*s8, s2^2*s8, s0*s3*s8, s1*s3*s8, s2*s3*s8, s3^2*s8, s0*s4*s8, s1*s4*s8, s2*s4*s8, s3*s4*s8, s4^2*s8, s0*s5*s8, s1*s5*s8, s2*s5*s8, s3*s5*s8, s4*s5*s8, s5^2*s8, s0*s6*s8, s1*s6*s8, s2*s6*s8, s3*s6*s8, s4*s6*s8, s5*s6*s8, s6^2*s8, s0*s7*s8, s1*s7*s8, s2*s7*s8, s3*s7*s8, s4*s7*s8, s5*s7*s8, s6*s7*s8, s7^2*s8, s0*s8^2, s1*s8^2, s2*s8^2, s3*s8^2, s4*s8^2, s5*s8^2, s6*s8^2, s7*s8^2, s8^3, s0^2*s9, s0*s1*s9, s1^2*s9, s0*s2*s9, s1*s2*s9, s2^2*s9, s0*s3*s9, s1*s3*s9, s2*s3*s9, s3^2*s9, s0*s4*s9, s1*s4*s9, s2*s4*s9, s3*s4*s9, s4^2*s9, s0*s5*s9, s1*s5*s9, s2*s5*s9, s3*s5*s9, s4*s5*s9, s5^2*s9, s0*s6*s9, s1*s6*s9, s2*s6*s9, s3*s6*s9, s4*s6*s9, s5*s6*s9, s6^2*s9, s0*s7*s9, s1*s7*s9, s2*s7*s9, s3*s7*s9, s4*s7*s9, s5*s7*s9, s6*s7*s9, s7^2*s9, s0*s8*s9, s1*s8*s9, s2*s8*s9, s3*s8*s9, s4*s8*s9, s5*s8*s9, s6*s8*s9, s7*s8*s9, s8^2*s9, s0*s9^2, s1*s9^2, s2*s9^2, s3*s9^2, s4*s9^2, s5*s9^2, s6*s9^2, s7*s9^2, s8*s9^2, s9^3, s0^2*s10, s0*s1*s10, s1^2*s10, s0*s2*s10, s1*s2*s10, s2^2*s10, s0*s3*s10, s1*s3*s10, s2*s3*s10, s3^2*s10, s0*s4*s10, s1*s4*s10, s2*s4*s10, s3*s4*s10, s4^2*s10, s0*s5*s10, s1*s5*s10, s2*s5*s10, s3*s5*s10, s4*s5*s10, s5^2*s10, s0*s6*s10, s1*s6*s10, s2*s6*s10, s3*s6*s10, s4*s6*s10, s5*s6*s10, s6^2*s10, s0*s7*s10, s1*s7*s10, s2*s7*s10, s3*s7*s10, s4*s7*s10, s5*s7*s10, s6*s7*s10, s7^2*s10, s0*s8*s10, s1*s8*s10, s2*s8*s10, s3*s8*s10, s4*s8*s10, s5*s8*s10, s6*s8*s10, s7*s8*s10, s8^2*s10, s0*s9*s10, s1*s9*s10, s2*s9*s10, s3*s9*s10, s4*s9*s10, s5*s9*s10, s6*s9*s10, s7*s9*s10, s8*s9*s10, s9^2*s10, s0*s10^2, s1*s10^2, s2*s10^2, s3*s10^2, s4*s10^2, s5*s10^2, s6*s10^2, s7*s10^2, s8*s10^2, s9*s10^2, s10^3, s0^2*s11, s0*s1*s11, s1^2*s11, s0*s2*s11, s1*s2*s11, s2^2*s11, s0*s3*s11, s1*s3*s11, s2*s3*s11, s3^2*s11, s0*s4*s11, s1*s4*s11, s2*s4*s11, s3*s4*s11, s4^2*s11, s0*s5*s11, s1*s5*s11, s2*s5*s11, s3*s5*s11, s4*s5*s11, s5^2*s11, s0*s6*s11, s1*s6*s11, s2*s6*s11, s3*s6*s11, s4*s6*s11, s5*s6*s11, s6^2*s11, s0*s7*s11, s1*s7*s11, s2*s7*s11, s3*s7*s11, s4*s7*s11, s5*s7*s11, s6*s7*s11, s7^2*s11, s0*s8*s11, s1*s8*s11, s2*s8*s11, s3*s8*s11, s4*s8*s11, s5*s8*s11, s6*s8*s11, s7*s8*s11, s8^2*s11, s0*s9*s11, s1*s9*s11, s2*s9*s11, s3*s9*s11, s4*s9*s11, s5*s9*s11, s6*s9*s11, s7*s9*s11, s8*s9*s11, s9^2*s11, s0*s10*s11, s1*s10*s11, s2*s10*s11, s3*s10*s11, s4*s10*s11, s5*s10*s11, s6*s10*s11, s7*s10*s11, s8*s10*s11, s9*s10*s11, s10^2*s11, s0*s11^2, s1*s11^2, s2*s11^2, s3*s11^2, s4*s11^2, s5*s11^2, s6*s11^2, s7*s11^2, s8*s11^2, s9*s11^2, s10*s11^2, s11^3, s0^2*s12, s0*s1*s12, s1^2*s12, s0*s2*s12, s1*s2*s12, s2^2*s12, s0*s3*s12, s1*s3*s12, s2*s3*s12, s3^2*s12, s0*s4*s12, s1*s4*s12, s2*s4*s12, s3*s4*s12, s4^2*s12, s0*s5*s12, s1*s5*s12, s2*s5*s12, s3*s5*s12, s4*s5*s12, s5^2*s12, s0*s6*s12, s1*s6*s12, s2*s6*s12, s3*s6*s12, s4*s6*s12, s5*s6*s12, s6^2*s12, s0*s7*s12, s1*s7*s12, s2*s7*s12, s3*s7*s12, s4*s7*s12, s5*s7*s12, s6*s7*s12, s7^2*s12, s0*s8*s12, s1*s8*s12, s2*s8*s12, s3*s8*s12, s4*s8*s12, s5*s8*s12, s6*s8*s12, s7*s8*s12, s8^2*s12, s0*s9*s12, s1*s9*s12, s2*s9*s12, s3*s9*s12, s4*s9*s12, s5*s9*s12, s6*s9*s12, s7*s9*s12, s8*s9*s12, s9^2*s12, s0*s10*s12, s1*s10*s12, s2*s10*s12, s3*s10*s12, s4*s10*s12, s5*s10*s12, s6*s10*s12, s7*s10*s12, s8*s10*s12, s9*s10*s12, s10^2*s12, s0*s11*s12, s1*s11*s12, s2*s11*s12, s3*s11*s12, s4*s11*s12, s5*s11*s12, s6*s11*s12, s7*s11*s12, s8*s11*s12, s9*s11*s12, s10*s11*s12, s11^2*s12, s0*s12^2, s1*s12^2, s2*s12^2, s3*s12^2, s4*s12^2, s5*s12^2, s6*s12^2, s7*s12^2, s8*s12^2, s9*s12^2, s10*s12^2, s11*s12^2, s12^3, s0^2*s13, s0*s1*s13, s1^2*s13, s0*s2*s13, s1*s2*s13, s2^2*s13, s0*s3*s13, s1*s3*s13, s2*s3*s13, s3^2*s13, s0*s4*s13, s1*s4*s13, s2*s4*s13, s3*s4*s13, s4^2*s13, s0*s5*s13, s1*s5*s13, s2*s5*s13, s3*s5*s13, s4*s5*s13, s5^2*s13, s0*s6*s13, s1*s6*s13, s2*s6*s13, s3*s6*s13, s4*s6*s13, s5*s6*s13, s6^2*s13, s0*s7*s13, s1*s7*s13, s2*s7*s13, s3*s7*s13, s4*s7*s13, s5*s7*s13, s6*s7*s13, s7^2*s13, s0*s8*s13, s1*s8*s13, s2*s8*s13, s3*s8*s13, s4*s8*s13, s5*s8*s13, s6*s8*s13, s7*s8*s13, s8^2*s13, s0*s9*s13, s1*s9*s13, s2*s9*s13, s3*s9*s13, s4*s9*s13, s5*s9*s13, s6*s9*s13, s7*s9*s13, s8*s9*s13, s9^2*s13, s0*s10*s13, s1*s10*s13, s2*s10*s13, s3*s10*s13, s4*s10*s13, s5*s10*s13, s6*s10*s13, s7*s10*s13, s8*s10*s13, s9*s10*s13, s10^2*s13, s0*s11*s13, s1*s11*s13, s2*s11*s13, s3*s11*s13, s4*s11*s13, s5*s11*s13, s6*s11*s13, s7*s11*s13, s8*s11*s13, s9*s11*s13, s10*s11*s13, s11^2*s13, s0*s12*s13, s1*s12*s13, s2*s12*s13, s3*s12*s13, s4*s12*s13, s5*s12*s13, s6*s12*s13, s7*s12*s13, s8*s12*s13, s9*s12*s13, s10*s12*s13, s11*s12*s13, s12^2*s13, s0*s13^2, s1*s13^2, s2*s13^2, s3*s13^2, s4*s13^2, s5*s13^2, s6*s13^2, s7*s13^2, s8*s13^2, s9*s13^2, s10*s13^2, s11*s13^2, s12*s13^2, s13^3, s0^2*e, s0*s1*e, s1^2*e, s0*s2*e, s1*s2*e, s2^2*e, s0*s3*e, s1*s3*e, s2*s3*e, s3^2*e, s0*s4*e, s1*s4*e, s2*s4*e, s3*s4*e, s4^2*e, s0*s5*e, s1*s5*e, s2*s5*e, s3*s5*e, s4*s5*e, s5^2*e, s0*s6*e, s1*s6*e, s2*s6*e, s3*s6*e, s4*s6*e, s5*s6*e, s6^2*e, s0*s7*e, s1*s7*e, s2*s7*e, s3*s7*e, s4*s7*e, s5*s7*e, s6*s7*e, s7^2*e, s0*s8*e, s1*s8*e, s2*s8*e, s3*s8*e, s4*s8*e, s5*s8*e, s6*s8*e, s7*s8*e, s8^2*e, s0*s9*e, s1*s9*e, s2*s9*e, s3*s9*e, s4*s9*e, s5*s9*e, s6*s9*e, s7*s9*e, s8*s9*e, s9^2*e, s0*s10*e, s1*s10*e, s2*s10*e, s3*s10*e, s4*s10*e, s5*s10*e, s6*s10*e, s7*s10*e, s8*s10*e, s9*s10*e, s10^2*e, s0*s11*e, s1*s11*e, s2*s11*e, s3*s11*e, s4*s11*e, s5*s11*e, s6*s11*e, s7*s11*e, s8*s11*e, s9*s11*e, s10*s11*e, s11^2*e, s0*s12*e, s1*s12*e, s2*s12*e, s3*s12*e, s4*s12*e, s5*s12*e, s6*s12*e, s7*s12*e, s8*s12*e, s9*s12*e, s10*s12*e, s11*s12*e, s12^2*e, s0*s13*e, s1*s13*e, s2*s13*e, s3*s13*e, s4*s13*e, s5*s13*e, s6*s13*e, s7*s13*e, s8*s13*e, s9*s13*e, s10*s13*e, s11*s13*e, s12*s13*e, s13^2*e, s0*e^2, s1*e^2, s2*e^2, s3*e^2, s4*e^2, s5*e^2, s6*e^2, s7*e^2, s8*e^2, s9*e^2, s10*e^2, s11*e^2, s12*e^2, s13*e^2, e^3, s0^2*b, s0*s1*b, s1^2*b, s0*s2*b, s1*s2*b, s2^2*b, s0*s3*b, s1*s3*b, s2*s3*b, s3^2*b, s0*s4*b, s1*s4*b, s2*s4*b, s3*s4*b, s4^2*b, s0*s5*b, s1*s5*b, s2*s5*b, s3*s5*b, s4*s5*b, s5^2*b, s0*s6*b, s1*s6*b, s2*s6*b, s3*s6*b, s4*s6*b, s5*s6*b, s6^2*b, s0*s7*b, s1*s7*b, s2*s7*b, s3*s7*b, s4*s7*b, s5*s7*b, s6*s7*b, s7^2*b, s0*s8*b, s1*s8*b, s2*s8*b, s3*s8*b, s4*s8*b, s5*s8*b, s6*s8*b, s7*s8*b, s8^2*b, s0*s9*b, s1*s9*b, s2*s9*b, s3*s9*b, s4*s9*b, s5*s9*b, s6*s9*b, s7*s9*b, s8*s9*b, s9^2*b, s0*s10*b, s1*s10*b, s2*s10*b, s3*s10*b, s4*s10*b, s5*s10*b, s6*s10*b, s7*s10*b, s8*s10*b, s9*s10*b, s10^2*b, s0*s11*b, s1*s11*b, s2*s11*b, s3*s11*b, s4*s11*b, s5*s11*b, s6*s11*b, s7*s11*b, s8*s11*b, s9*s11*b, s10*s11*b, s11^2*b, s0*s12*b, s1*s12*b, s2*s12*b, s3*s12*b, s4*s12*b, s5*s12*b, s6*s12*b, s7*s12*b, s8*s12*b, s9*s12*b, s10*s12*b, s11*s12*b, s12^2*b, s0*s13*b, s1*s13*b, s2*s13*b, s3*s13*b, s4*s13*b, s5*s13*b, s6*s13*b, s7*s13*b, s8*s13*b, s9*s13*b, s10*s13*b, s11*s13*b, s12*s13*b, s13^2*b, s0*e*b, s1*e*b, s2*e*b, s3*e*b, s4*e*b, s5*e*b, s6*e*b, s7*e*b, s8*e*b, s9*e*b, s10*e*b, s11*e*b, s12*e*b, s13*e*b, e^2*b, s0*b^2, s1*b^2, s2*b^2, s3*b^2, s4*b^2, s5*b^2, s6*b^2, s7*b^2, s8*b^2, s9*b^2, s10*b^2, s11*b^2, s12*b^2, s13*b^2, e*b^2, b^3, s0^2, s0*s1, s1^2, s0*s2, s1*s2, s2^2, s0*s3, s1*s3, s2*s3, s3^2, s0*s4, s1*s4, s2*s4, s3*s4, s4^2, s0*s5, s1*s5, s2*s5, s3*s5, s4*s5, s5^2, s0*s6, s1*s6, s2*s6, s3*s6, s4*s6, s5*s6, s6^2, s0*s7, s1*s7, s2*s7, s3*s7, s4*s7, s5*s7, s6*s7, s7^2, s0*s8, s1*s8, s2*s8, s3*s8, s4*s8, s5*s8, s6*s8, s7*s8, s8^2, s0*s9, s1*s9, s2*s9, s3*s9, s4*s9, s5*s9, s6*s9, s7*s9, s8*s9, s9^2, s0*s10, s1*s10, s2*s10, s3*s10, s4*s10, s5*s10, s6*s10, s7*s10, s8*s10, s9*s10, s10^2, s0*s11, s1*s11, s2*s11, s3*s11, s4*s11, s5*s11, s6*s11, s7*s11, s8*s11, s9*s11, s10*s11, s11^2, s0*s12, s1*s12, s2*s12, s3*s12, s4*s12, s5*s12, s6*s12, s7*s12, s8*s12, s9*s12, s10*s12, s11*s12, s12^2, s0*s13, s1*s13, s2*s13, s3*s13, s4*s13, s5*s13, s6*s13, s7*s13, s8*s13, s9*s13, s10*s13, s11*s13, s12*s13, s13^2, s0*e, s1*e, s2*e, s3*e, s4*e, s5*e, s6*e, s7*e, s8*e, s9*e, s10*e, s11*e, s12*e, s13*e, e^2, s0*b, s1*b, s2*b, s3*b, s4*b, s5*b, s6*b, s7*b, s8*b, s9*b, s10*b, s11*b, s12*b, s13*b, e*b, b^2, s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, e, b, 1] |
这边我们可以看到最后几项就包含了我们需要的secret,也就是向量s,同时我们还可以拿到b,有了s和b之后拿最后一组数据,再反向解出那组对应的向量
这时候根据等式我们可以构造出如下的矩阵
这边的L中包含着每组等式对应项对应的系数,R是每个多项式对应的常数项移到等式右边也可以构成一个列向量
然后再进行一次迭代就拿到最后用于AES加密的seed,虽然顺序不确定,但是我们简单进行组合一下(去掉4次都是一样)即可拿到flag
完整exp:
1 | from Crypto.Util.number import long_to_bytes |