Latex代码测试

【Latex】数学建模论文常用代码(插入和引用定理、三线表、插入代码文件、展示伪代码) 插入和引用定理三线表插入代码文件、展示伪代码在需要的时候可以直接复制下来进行修改使用。 阅读详情

#include&lt;queue&gt;\#include&lt;queue&gt;#include<queue>
#include&lt;stdio.h&gt;\#include&lt;stdio.h&gt;#include<stdio.h>
#include&lt;string.h&gt;\#include&lt;string.h&gt;#include<string.h>
#include&lt;algorithm&gt;\#include&lt;algorithm&gt;#include<algorithm>
#define N 4010\#define\ N\ 4010#define N 4010
using namespace std;using\ namespace\ std;using namespace std;
struct V{ int x,y,d; } z;struct\ V\{\ int\ x,y,d;\ \}\ z;struct V{ int x,y,d; } z;
char A[N],B[N]; int n,m,l[N],f[N][N]; queue&lt;V&gt; q;char\ A[N],B[N];\ int\ n,m,l[N],f[N][N];\ queue&lt;V&gt;\ q;char A[N],B[N]; int n,m,l[N],f[N][N]; queue<V> q;
namespace SAM{namespace\ SAM\{namespace SAM{
int s[N][26],mx[N],f[N],cnt=1,lst=1;\quad int\ s[N][26],mx[N],f[N],cnt=1,lst=1;int s[N][26],mx[N],f[N],cnt=1,lst=1;
inline int extend(int c){\quad inline\ int\ extend(int\ c)\{inline int extend(int c){
int p=lst,np=lst=++cnt,q,nq;\quad \quad int\ p=lst,np=lst=++cnt,q,nq;int p=lst,np=lst=++cnt,q,nq;
mx[np]=mx[p]+1;\quad \quad mx[np]=mx[p]+1;mx[np]=mx[p]+1;
for(;p&amp;&amp;!s[p][c];p=f[p]) s[p][c]=np;\quad \quad for(;p\&amp;\&amp;!s[p][c];p=f[p])\ s[p][c]=np;for(;p&&!s[p][c];p=f[p]) s[p][c]=np;
if(!p) return f[np]=1;\quad \quad if(!p)\ return\ f[np]=1;if(!p) return f[np]=1;
q=s[p][c];\quad \quad q=s[p][c];q=s[p][c];
if(mx[q]==mx[p]+1) f[np]=q;\quad \quad if(mx[q]==mx[p]+1)\ f[np]=q;if(mx[q]==mx[p]+1) f[np]=q;
else{\quad \quad else\{else{
nq=++cnt;\quad \quad \quad nq=++cnt;nq=++cnt;
mx[nq]=mx[p]+1;\quad \quad \quad mx[nq]=mx[p]+1;mx[nq]=mx[p]+1;
f[nq]=f[q]; f[q]=f[np]=nq;\quad \quad \quad f[nq]=f[q];\ f[q]=f[np]=nq;f[nq]=f[q]; f[q]=f[np]=nq;
memcpy(s[nq],s[q],26&lt;&lt;2);\quad \quad \quad memcpy(s[nq],s[q],26&lt;&lt;2);memcpy(s[nq],s[q],26<<2);
for(;p&amp;&amp;s[p][c]==q;p=f[p]) s[p][c]=nq;\quad \quad \quad for(;p\&amp;\&amp;s[p][c]==q;p=f[p])\ s[p][c]=nq;for(;p&&s[p][c]==q;p=f[p]) s[p][c]=nq;
}\quad \quad \}}
}\quad \}}
inline void match(){\quad inline\ void\ match()\{inline void match(){
for(int x=1,i=1,c=0;i&lt;=n;++i){\quad \quad for(int\ x=1,i=1,c=0;i&lt;=n;++i)\{for(int x=1,i=1,c=0;i<=n;++i){
for(;x&gt;1 &amp;&amp; !s[x][A[i]−′a′];x=f[x]);\quad \quad \quad for(;x&gt;1\ \&amp;\&amp;\ !s[x][A[i]-&#x27;a&#x27;];x=f[x]);for(;x>1 && !s[x][A[i]−′a′];x=f[x]);
c=mx[x];\quad \quad \quad c=mx[x];c=mx[x];
if(!s[x][A[i]−′a′]) l[i]=0; else{\quad \quad \quad if(!s[x][A[i]-&#x27;a&#x27;])\ l[i]=0;\ else\{if(!s[x][A[i]−′a′]) l[i]=0; else{
x=s[x][A[i]−′a′]; l[i]=++c;\quad \quad \quad \quad x=s[x][A[i]-&#x27;a&#x27;];\ l[i]=++c;x=s[x][A[i]−′a′]; l[i]=++c;
}\quad \quad \quad \}}
}\quad \quad \}}
}\quad \}}
}\}}
namespace AAM{namespace\ AAM\{namespace AAM{
int s[N][26];\quad int\ s[N][26];int s[N][26];
inline void build(){\quad inline\ void\ build()\{inline void build(){
for(int i=1;i&lt;=n;++i)\quad \quad for(int\ i=1;i&lt;=n;++i)for(int i=1;i<=n;++i)
for(int j=i−1;;−−j){\quad \quad \quad for(int\ j=i-1;;--j)\{for(int j=i−1;;−−j){
s[j][A[i]−′a′]=i;\quad \quad \quad \quad s[j][A[i]-&#x27;a&#x27;]=i;s[j][A[i]−′a′]=i;
if(A[j]==A[i] ∣∣ !j) break;\quad \quad \quad \quad if(A[j]==A[i]\ ||\ !j)\ break;if(A[j]==A[i] ∣∣ !j) break;
}\quad \quad \quad \}}
}\quad \}}
}\}}
namespace BAM{namespace\ BAM\{namespace BAM{
int s[N][26];\quad int\ s[N][26];int s[N][26];
inline void build(){\quad inline\ void\ build()\{inline void build(){
for(int i=1;i&lt;=m;++i)\quad \quad for(int\ i=1;i&lt;=m;++i)for(int i=1;i<=m;++i)
for(int j=i−1;;−−j){\quad \quad \quad for(int\ j=i-1;;--j)\{for(int j=i−1;;−−j){
s[j][B[i]−′a′]=i;\quad \quad \quad \quad s[j][B[i]-&#x27;a&#x27;]=i;s[j][B[i]−′a′]=i;
if(B[j]==B[i] ∣∣ !j) break;\quad \quad \quad \quad if(B[j]==B[i]\ ||\ !j)\ break;if(B[j]==B[i] ∣∣ !j) break;
}\quad \quad \quad \}}
}\quad \}}
}\}}
inline void dfs(int x,int y,int d){inline\ void\ dfs(int\ x,int\ y,int\ d)\{inline void dfs(int x,int y,int d){
for(int i=0;i&lt;26;++i)\quad for(int\ i=0;i&lt;26;++i)for(int i=0;i<26;++i)
if(AAM::s[x][i]&amp;&amp;!SAM::s[y][i]){\quad \quad if(AAM::s[x][i]\&amp;\&amp;!SAM::s[y][i])\{if(AAM::s[x][i]&&!SAM::s[y][i]){
∗l=min(∗l,d+1); return;\quad \quad \quad *l=min(*l,d+1);\ return;∗l=min(∗l,d+1); return;
}\quad \quad \}}
for(int i=0;i&lt;26;++i)\quad for(int\ i=0;i&lt;26;++i)for(int i=0;i<26;++i)
if(AAM::s[x][i]&amp;&amp;SAM::s[y][i])\quad \quad if(AAM::s[x][i]\&amp;\&amp;SAM::s[y][i])if(AAM::s[x][i]&&SAM::s[y][i])
dfs(AAM::s[x][i],SAM::s[y][i],d+1);\quad \quad \quad dfs(AAM::s[x][i],SAM::s[y][i],d+1);dfs(AAM::s[x][i],SAM::s[y][i],d+1);
}\}}
int main(){int\ main()\{int main(){
scanf(&quot;%s%s&quot;,A+1,B+1);\quad scanf(&quot;\%s\%s&quot;,A+1,B+1);scanf("%s%s",A+1,B+1);
n=strlen(A+1); m=strlen(B+1);\quad n=strlen(A+1);\ m=strlen(B+1);n=strlen(A+1); m=strlen(B+1);
for(int i=1;i&lt;=n;++i) SAM::extend(B[i]−′a′);\quad for(int\ i=1;i&lt;=n;++i)\ SAM::extend(B[i]-&#x27;a&#x27;);for(int i=1;i<=n;++i) SAM::extend(B[i]−′a′);
SAM::match();\quad SAM::match();SAM::match();
AAM::build(); BAM::build();\quad AAM::build();\ BAM::build();AAM::build(); BAM::build();
∗l=n; for(int i=1;i&lt;=n;++i) if(l[i]&lt;i) ∗l=min(∗l,l[i]+1);\quad *l=n;\ for(int\ i=1;i&lt;=n;++i)\ if(l[i]&lt;i)\ *l=min(*l,l[i]+1);∗l=n; for(int i=1;i<=n;++i) if(l[i]<i) ∗l=min(∗l,l[i]+1);
printf(&quot;%d\n&quot;,∗l); ∗l=n;\quad printf(&quot;\%d\backslash n&quot;,*l);\ *l=n;printf("%d\n",∗l); ∗l=n;
for(int i=1;i&lt;=n;++i){\quad for(int\ i=1;i&lt;=n;++i)\{for(int i=1;i<=n;++i){
int x=0;\quad \quad int\ x=0;int x=0;
for(int j=i;j&lt;=n;++j){\quad \quad for(int\ j=i;j&lt;=n;++j)\{for(int j=i;j<=n;++j){
x=BAM::s[x][A[j]−′a′];\quad \quad \quad x=BAM::s[x][A[j]-&#x27;a&#x27;];x=BAM::s[x][A[j]−′a′];
if(!x){ ∗l=min(∗l,j−i+1); break; }\quad \quad \quad if(!x)\{\ *l=min(*l,j-i+1);\ break;\ \}if(!x){ ∗l=min(∗l,j−i+1); break; }
}\quad \quad \}}
}\quad \}}
printf(&quot;%d\n&quot;,∗l); dfs(0,1,0);\quad printf(&quot;\%d\backslash n&quot;,*l);\ dfs(0,1,0);printf("%d\n",∗l); dfs(0,1,0);
printf(&quot;%d\n&quot;,∗l); ∗l=n;\quad printf(&quot;\%d\backslash n&quot;,*l);\ *l=n;printf("%d\n",∗l); ∗l=n;
q.push((V){0,0,0});\quad q.push((V)\{0,0,0\});q.push((V){0,0,0});
for(int x,y,d;!q.empty();q.pop()){\quad for(int\ x,y,d;!q.empty();q.pop())\{for(int x,y,d;!q.empty();q.pop()){
z=q.front();\quad \quad z=q.front();z=q.front();
for(int i=0;i&lt;26;++i)if(x=AAM::s[z.x][i]){\quad \quad for(int\ i=0;i&lt;26;++i)if(x=AAM::s[z.x][i])\{for(int i=0;i<26;++i)if(x=AAM::s[z.x][i]){
if(!(y=BAM::s[z.y][i])){ printf(&quot;%d\n&quot;,z.d+1); return 0; }\quad \quad \quad if(!(y=BAM::s[z.y][i]))\{\ printf(&quot;\%d\backslash n&quot;,z.d+1);\ return\ 0;\ \}if(!(y=BAM::s[z.y][i])){ printf("%d\n",z.d+1); return 0; }
else if(!f[x][y]){ f[x][y]=1; q.push((V){x,y,z.d+1}); }\quad \quad \quad else\ if(!f[x][y])\{\ f[x][y]=1;\ q.push((V)\{x,y,z.d+1\});\ \}else if(!f[x][y]){ f[x][y]=1; q.push((V){x,y,z.d+1}); }
}\quad \quad \}}
}\quad \}}
}\}}


#include &lt;cstdio&gt;\#include\ &lt;cstdio&gt;#include <cstdio>
#include &lt;iostream&gt;\#include\ &lt;iostream&gt;#include <iostream>
#include &lt;algorithm&gt;\#include\ &lt;algorithm&gt;#include <algorithm>
#include &lt;cstring&gt;\#include\ &lt;cstring&gt;#include <cstring>
#include &lt;cstring&gt;\#include\ &lt;cstring&gt;#include <cstring>
#include &lt;cmath&gt;\#include\ &lt;cmath&gt;#include <cmath>

typedef long long ll;typedef\ long\ long\ ll;typedef long long ll;

int powermod(int a, int exp, int moder)int\ powermod(int\ a,\ int\ exp,\ int\ moder)int powermod(int a, int exp, int moder)
{\{{
    int ret = 1;\ \ \ \ int\ ret\ =\ 1;    int ret = 1;
    for (; exp; exp &gt;&gt;= 1)\ \ \ \ for\ (;\ exp;\ exp\ &gt;&gt;=\ 1)    for (; exp; exp >>= 1)
    {\ \ \ \ \{    {
        if (exp &amp; 1)\ \ \ \ \ \ \ \ if\ (exp\ \&amp;\ 1)        if (exp & 1)
        {\ \ \ \ \ \ \ \ \{        {
            ret = 1ll ∗ ret ∗ a % moder;\ \ \ \ \ \ \ \ \ \ \ \ ret\ =\ 1ll\ *\ ret\ *\ a\ \%\ moder;            ret = 1ll ∗ ret ∗ a % moder;
        }\ \ \ \ \ \ \ \ \}        }
        a = 1ll ∗ a ∗ a % moder;\ \ \ \ \ \ \ \ a\ =\ 1ll\ *\ a\ *\ a\ \%\ moder;        a = 1ll ∗ a ∗ a % moder;
    }\ \ \ \ \}    }
    return ret;\ \ \ \ return\ ret;    return ret;
}\}}

void addminus(int ∗a, int ∗b, int &amp;lengtha, int &amp;lengthb, int type)void\ addminus(int\ *a,\ int\ *b,\ int\ \&amp;lengtha,\ int\ \&amp;lengthb,\ int\ type)void addminus(int ∗a, int ∗b, int &lengtha, int &lengthb, int type)
{\{{
    int length = std::max(lengtha, lengthb);\ \ \ \ int\ length\ =\ std::max(lengtha,\ lengthb);    int length = std::max(lengtha, lengthb);
    for (int i = 0; i &lt; length; ++i)\ \ \ \ for\ (int\ i\ =\ 0;\ i\ &lt;\ length;\ ++i)    for (int i = 0; i < length; ++i)
    {\ \ \ \ \{    {
        a[i] += type == 1 ? b[i] : −b[i];\ \ \ \ \ \ \ \ a[i]\ +=\ type\ ==\ 1\ ?\ b[i]\ :\ -b[i];        a[i] += type == 1 ? b[i] : −b[i];
        a[i] &gt;= 10 ? (a[i] −= 10, ++a[i + 1]) : a[i] &lt; 0 ? (a[i] += 10, −−a[i + 1]) : 0;\ \ \ \ \ \ \ \ a[i]\ &gt;=\ 10\ ?\ (a[i]\ -=\ 10,\ ++a[i\ +\ 1])\ :\ a[i]\ &lt;\ 0\ ?\ (a[i]\ +=\ 10,\ --a[i\ +\ 1])\ :\ 0;        a[i] >= 10 ? (a[i] −= 10, ++a[i + 1]) : a[i] < 0 ? (a[i] += 10, −−a[i + 1]) : 0;
    }\ \ \ \ \}    }
    for (lengtha = length + 1; lengtha &amp;&amp; !a[lengtha − 1]; −−lengtha) ;\ \ \ \ for\ (lengtha\ =\ length\ +\ 1;\ lengtha\ \&amp;\&amp;\ !a[lengtha\ -\ 1];\ --lengtha)\ ;    for (lengtha = length + 1; lengtha && !a[lengtha − 1]; −−lengtha) ;
}\}}

struct BigIntegerstruct\ BigIntegerstruct BigInteger
{\{{
    const static int MAXN = 19;\ \ \ \ const\ static\ int\ MAXN\ =\ 19;    const static int MAXN = 19;
    const static int MOD = (119 &lt;&lt; 23) + 1;   //  998244353\ \ \ \ const\ static\ int\ MOD\ =\ (119\ &lt;&lt;\ 23)\ +\ 1;\ \ \ //\ \ 998244353    const static int MOD = (119 << 23) + 1;   //  998244353
    const static int root = 3;\ \ \ \ const\ static\ int\ root\ =\ 3;    const static int root = 3;
    const static int invroot = 332748118;\ \ \ \ const\ static\ int\ invroot\ =\ 332748118;    const static int invroot = 332748118;

    int a[1 &lt;&lt; MAXN];\ \ \ \ int\ a[1\ &lt;&lt;\ MAXN];    int a[1 << MAXN];
    int length, sig;\ \ \ \ int\ length,\ sig;    int length, sig;

    BigInteger()\ \ \ \ BigInteger()    BigInteger()
    {\ \ \ \ \{    {
        memset(a, 0, sizeof(a));\ \ \ \ \ \ \ \ memset(a,\ 0,\ sizeof(a));        memset(a, 0, sizeof(a));
        length = sig = 0;\ \ \ \ \ \ \ \ length\ =\ sig\ =\ 0;        length = sig = 0;
    }\ \ \ \ \}    }

    void clear()\ \ \ \ void\ clear()    void clear()
    {\ \ \ \ \{    {
        memset(a, 0, sizeof(int) ∗ length);\ \ \ \ \ \ \ \ memset(a,\ 0,\ sizeof(int)\ *\ length);        memset(a, 0, sizeof(int) ∗ length);
        length = sig = 0;\ \ \ \ \ \ \ \ length\ =\ sig\ =\ 0;        length = sig = 0;
    }\ \ \ \ \}    }

    void read()\ \ \ \ void\ read()    void read()
    {\ \ \ \ \{    {
        clear();\ \ \ \ \ \ \ \ clear();        clear();
        char ch = getchar();\ \ \ \ \ \ \ \ char\ ch\ =\ getchar();        char ch = getchar();
        for (; (ch &lt; ′0′ ∣∣ ch &gt; ′9′) &amp;&amp; ch != ′−′; ch = getchar()) ;\ \ \ \ \ \ \ \ for\ (;\ (ch\ &lt;\ &#x27;0&#x27;\ ||\ ch\ &gt;\ &#x27;9&#x27;)\ \&amp;\&amp;\ ch\ !=\ &#x27;-&#x27;;\ ch\ =\ getchar())\ ;        for (; (ch < ′0′ ∣∣ ch > ′9′) && ch != ′−′; ch = getchar()) ;
        ch == ′−′ ? (sig = −1, ch = getchar()) : sig = 1;\ \ \ \ \ \ \ \ ch\ ==\ &#x27;-&#x27;\ ?\ (sig\ =\ -1,\ ch\ =\ getchar())\ :\ sig\ =\ 1;        ch == ′−′ ? (sig = −1, ch = getchar()) : sig = 1;
        for (; ch &gt;= ′0′ &amp;&amp; ch &lt;= ′9′; ch = getchar())\ \ \ \ \ \ \ \ for\ (;\ ch\ &gt;=\ &#x27;0&#x27;\ \&amp;\&amp;\ ch\ &lt;=\ &#x27;9&#x27;;\ ch\ =\ getchar())        for (; ch >= ′0′ && ch <= ′9′; ch = getchar())
        {\ \ \ \ \ \ \ \ \{        {
            a[length ++] = ch − ′0′;\ \ \ \ \ \ \ \ \ \ \ \ a[length\ ++]\ =\ ch\ -\ &#x27;0&#x27;;            a[length ++] = ch − ′0′;
        }\ \ \ \ \ \ \ \ \}        }
        std::reverse(a, a + length);\ \ \ \ \ \ \ \ std::reverse(a,\ a\ +\ length);        std::reverse(a, a + length);
        for (; length &amp;&amp; !a[length − 1]; −−length) ;\ \ \ \ \ \ \ \ for\ (;\ length\ \&amp;\&amp;\ !a[length\ -\ 1];\ --length)\ ;        for (; length && !a[length − 1]; −−length) ;
        sig = length ? sig : 0;\ \ \ \ \ \ \ \ sig\ =\ length\ ?\ sig\ :\ 0;        sig = length ? sig : 0;
    }\ \ \ \ \}    }

    void write()\ \ \ \ void\ write()    void write()
    {\ \ \ \ \{    {
        if (!sig)\ \ \ \ \ \ \ \ if\ (!sig)        if (!sig)
        {\ \ \ \ \ \ \ \ \{        {
            return (void)putchar(′0′);\ \ \ \ \ \ \ \ \ \ \ \ return\ (void)putchar(&#x27;0&#x27;);            return (void)putchar(′0′);
        }\ \ \ \ \ \ \ \ \}        }
        if (sig &lt; 0)\ \ \ \ \ \ \ \ if\ (sig\ &lt;\ 0)        if (sig < 0)
        {\ \ \ \ \ \ \ \ \{        {
            putchar(′−′);\ \ \ \ \ \ \ \ \ \ \ \ putchar(&#x27;-&#x27;);            putchar(′−′);
        }\ \ \ \ \ \ \ \ \}        }
        for (int i = length − 1; i &gt;= 0; i−−)\ \ \ \ \ \ \ \ for\ (int\ i\ =\ length\ -\ 1;\ i\ &gt;=\ 0;\ i--)        for (int i = length − 1; i >= 0; i−−)
        {\ \ \ \ \ \ \ \ \{        {
            putchar(a[i] + ′0′);\ \ \ \ \ \ \ \ \ \ \ \ putchar(a[i]\ +\ &#x27;0&#x27;);            putchar(a[i] + ′0′);
        }\ \ \ \ \ \ \ \ \}        }
    }\ \ \ \ \}    }

    template &lt;typename T&gt;\ \ \ \ template\ &lt;typename\ T&gt;    template <typename T>
    T tointeger()\ \ \ \ T\ tointeger()    T tointeger()
    {\ \ \ \ \{    {
        T ret = 0;\ \ \ \ \ \ \ \ T\ ret\ =\ 0;        T ret = 0;
        for (int i = length − 1; i &gt;= 0; ++i)\ \ \ \ \ \ \ \ for\ (int\ i\ =\ length\ -\ 1;\ i\ &gt;=\ 0;\ ++i)        for (int i = length − 1; i >= 0; ++i)
        {\ \ \ \ \ \ \ \ \{        {
            ret = ret ∗ 10 + a[i];\ \ \ \ \ \ \ \ \ \ \ \ ret\ =\ ret\ *\ 10\ +\ a[i];            ret = ret ∗ 10 + a[i];
        }\ \ \ \ \ \ \ \ \}        }
        return ret ∗ sig;\ \ \ \ \ \ \ \ return\ ret\ *\ sig;        return ret ∗ sig;
    }\ \ \ \ \}    }

    bool equal(const BigInteger &amp;p)\ \ \ \ bool\ equal(const\ BigInteger\ \&amp;p)    bool equal(const BigInteger &p)
    {\ \ \ \ \{    {
        if (sig != p.sig ∣∣ length != p.length)\ \ \ \ \ \ \ \ if\ (sig\ !=\ p.sig\ ||\ length\ !=\ p.length)        if (sig != p.sig ∣∣ length != p.length)
        {\ \ \ \ \ \ \ \ \{        {
            return false;\ \ \ \ \ \ \ \ \ \ \ \ return\ false;            return false;
        }\ \ \ \ \ \ \ \ \}        }
        for (int i = 0; i &lt; length; ++i)\ \ \ \ \ \ \ \ for\ (int\ i\ =\ 0;\ i\ &lt;\ length;\ ++i)        for (int i = 0; i < length; ++i)
        {\ \ \ \ \ \ \ \ \{        {
            if (a[i] != p.a[i])\ \ \ \ \ \ \ \ \ \ \ \ if\ (a[i]\ !=\ p.a[i])            if (a[i] != p.a[i])
            {\ \ \ \ \ \ \ \ \ \ \ \ \{            {
                return false;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ return\ false;                return false;
            }\ \ \ \ \ \ \ \ \ \ \ \ \}            }
        }\ \ \ \ \ \ \ \ \}        }
        return true;\ \ \ \ \ \ \ \ return\ true;        return true;
    }\ \ \ \ \}    }

    bool greater(const BigInteger &amp;p)\ \ \ \ bool\ greater(const\ BigInteger\ \&amp;p)    bool greater(const BigInteger &p)
    {\ \ \ \ \{    {
        if (sig != p.sig)\ \ \ \ \ \ \ \ if\ (sig\ !=\ p.sig)        if (sig != p.sig)
        {\ \ \ \ \ \ \ \ \{        {
            return sig &gt; p.sig;\ \ \ \ \ \ \ \ \ \ \ \ return\ sig\ &gt;\ p.sig;            return sig > p.sig;
        }\ \ \ \ \ \ \ \ \}        }
        if (length != p.length)\ \ \ \ \ \ \ \ if\ (length\ !=\ p.length)        if (length != p.length)
        {\ \ \ \ \ \ \ \ \{        {
            return length &gt; p.length ∧ sig == −1;\ \ \ \ \ \ \ \ \ \ \ \ return\ length\ &gt;\ p.length\ \wedge \ sig\ ==\ -1;            return length > p.length ∧ sig == −1;
        }\ \ \ \ \ \ \ \ \}        }
        for (int i = length − 1; i &gt;= 0; −−i)\ \ \ \ \ \ \ \ for\ (int\ i\ =\ length\ -\ 1;\ i\ &gt;=\ 0;\ --i)        for (int i = length − 1; i >= 0; −−i)
        {\ \ \ \ \ \ \ \ \{        {
            if (a[i] &gt; p.a[i])\ \ \ \ \ \ \ \ \ \ \ \ if\ (a[i]\ &gt;\ p.a[i])            if (a[i] > p.a[i])
            {\ \ \ \ \ \ \ \ \ \ \ \ \{            {
                return sig &gt; 0;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ return\ sig\ &gt;\ 0;                return sig > 0;
            }\ \ \ \ \ \ \ \ \ \ \ \ \}            }
            else if (a[i] &lt; p.a[i])\ \ \ \ \ \ \ \ \ \ \ \ else\ if\ (a[i]\ &lt;\ p.a[i])            else if (a[i] < p.a[i])
            {\ \ \ \ \ \ \ \ \ \ \ \ \{            {
                return sig &lt; 0;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ return\ sig\ &lt;\ 0;                return sig < 0;
            }\ \ \ \ \ \ \ \ \ \ \ \ \}            }
        }\ \ \ \ \ \ \ \ \}        }
        return false;\ \ \ \ \ \ \ \ return\ false;        return false;
    }\ \ \ \ \}    }

    void leftshift(int dis)\ \ \ \ void\ leftshift(int\ dis)    void leftshift(int dis)
    {\ \ \ \ \{    {
        for (int i = length + dis − 1; i &gt;= dis; −−i)\ \ \ \ \ \ \ \ for\ (int\ i\ =\ length\ +\ dis\ -\ 1;\ i\ &gt;=\ dis;\ --i)        for (int i = length + dis − 1; i >= dis; −−i)
        {\ \ \ \ \ \ \ \ \{        {
            a[i] = a[i − dis];\ \ \ \ \ \ \ \ \ \ \ \ a[i]\ =\ a[i\ -\ dis];            a[i] = a[i − dis];
        }\ \ \ \ \ \ \ \ \}        }
        memset(a, 0, sizeof(int) ∗ dis);\ \ \ \ \ \ \ \ memset(a,\ 0,\ sizeof(int)\ *\ dis);        memset(a, 0, sizeof(int) ∗ dis);
        length += dis;\ \ \ \ \ \ \ \ length\ +=\ dis;        length += dis;
    }\ \ \ \ \}    }

    void rightshift(int dis)\ \ \ \ void\ rightshift(int\ dis)    void rightshift(int dis)
    {\ \ \ \ \{    {
        if (dis &gt;= length)\ \ \ \ \ \ \ \ if\ (dis\ &gt;=\ length)        if (dis >= length)
        {\ \ \ \ \ \ \ \ \{        {
            return clear();\ \ \ \ \ \ \ \ \ \ \ \ return\ clear();            return clear();
        }\ \ \ \ \ \ \ \ \}        }
        for (int i = 0; i &lt; length − dis; ++i)\ \ \ \ \ \ \ \ for\ (int\ i\ =\ 0;\ i\ &lt;\ length\ -\ dis;\ ++i)        for (int i = 0; i < length − dis; ++i)
        {\ \ \ \ \ \ \ \ \{        {
            a[i] = a[i + dis];\ \ \ \ \ \ \ \ \ \ \ \ a[i]\ =\ a[i\ +\ dis];            a[i] = a[i + dis];
        }\ \ \ \ \ \ \ \ \}        }
        memset(a + length − dis, 0, sizeof(int) ∗ dis);\ \ \ \ \ \ \ \ memset(a\ +\ length\ -\ dis,\ 0,\ sizeof(int)\ *\ dis);        memset(a + length − dis, 0, sizeof(int) ∗ dis);
        length = length − dis &gt; 0 ? length − dis : 0;\ \ \ \ \ \ \ \ length\ =\ length\ -\ dis\ &gt;\ 0\ ?\ length\ -\ dis\ :\ 0;        length = length − dis > 0 ? length − dis : 0;
    }\ \ \ \ \}    }

    void addone()\ \ \ \ void\ addone()    void addone()
    {\ \ \ \ \{    {
        sig &gt;= 0 ? ++ a[0] : −−a[0];\ \ \ \ \ \ \ \ sig\ &gt;=\ 0\ ?\ ++\ a[0]\ :\ --a[0];        sig >= 0 ? ++ a[0] : −−a[0];
        for (int i = 0; i &lt; length; ++i)\ \ \ \ \ \ \ \ for\ (int\ i\ =\ 0;\ i\ &lt;\ length;\ ++i)        for (int i = 0; i < length; ++i)
        {\ \ \ \ \ \ \ \ \{        {
            if (a[i] &lt; 10 &amp;&amp; a[i] &gt;= 0)\ \ \ \ \ \ \ \ \ \ \ \ if\ (a[i]\ &lt;\ 10\ \&amp;\&amp;\ a[i]\ &gt;=\ 0)            if (a[i] < 10 && a[i] >= 0)
            {\ \ \ \ \ \ \ \ \ \ \ \ \{            {
                break;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ break;                break;
            }\ \ \ \ \ \ \ \ \ \ \ \ \}            }
            a[i] &gt;= 10 ? (a[i] −= 10, ++a[i + 1]) : (a[i] += 10, −−a[i + 1]);\ \ \ \ \ \ \ \ \ \ \ \ a[i]\ &gt;=\ 10\ ?\ (a[i]\ -=\ 10,\ ++a[i\ +\ 1])\ :\ (a[i]\ +=\ 10,\ --a[i\ +\ 1]);            a[i] >= 10 ? (a[i] −= 10, ++a[i + 1]) : (a[i] += 10, −−a[i + 1]);
        }\ \ \ \ \ \ \ \ \}        }
        if (a[length])\ \ \ \ \ \ \ \ if\ (a[length])        if (a[length])
        {\ \ \ \ \ \ \ \ \{        {
            ++length;\ \ \ \ \ \ \ \ \ \ \ \ ++length;            ++length;
        }\ \ \ \ \ \ \ \ \}        }
        if (!a[length − 1])\ \ \ \ \ \ \ \ if\ (!a[length\ -\ 1])        if (!a[length − 1])
        {\ \ \ \ \ \ \ \ \{        {
            −−length;\ \ \ \ \ \ \ \ \ \ \ \ --length;            −−length;
        }\ \ \ \ \ \ \ \ \}        }
        sig = length ? (sig &gt;= 0 ? 1 : −1) : 0;\ \ \ \ \ \ \ \ sig\ =\ length\ ?\ (sig\ &gt;=\ 0\ ?\ 1\ :\ -1)\ :\ 0;        sig = length ? (sig >= 0 ? 1 : −1) : 0;
    }\ \ \ \ \}    }

    void minusone()\ \ \ \ void\ minusone()    void minusone()
    {\ \ \ \ \{    {
        sig = −sig;\ \ \ \ \ \ \ \ sig\ =\ -sig;        sig = −sig;
        addone();\ \ \ \ \ \ \ \ addone();        addone();
        sig = −sig;\ \ \ \ \ \ \ \ sig\ =\ -sig;        sig = −sig;
    }\ \ \ \ \}    }

    bool absgreaterequal(BigInteger &amp;q)\ \ \ \ bool\ absgreaterequal(BigInteger\ \&amp;q)    bool absgreaterequal(BigInteger &q)
    {\ \ \ \ \{    {
        if (length != q.length)\ \ \ \ \ \ \ \ if\ (length\ !=\ q.length)        if (length != q.length)
        {\ \ \ \ \ \ \ \ \{        {
            return length &gt; q.length;\ \ \ \ \ \ \ \ \ \ \ \ return\ length\ &gt;\ q.length;            return length > q.length;
        }\ \ \ \ \ \ \ \ \}        }
        for (int i = length − 1; i &gt;= 0; −− i)\ \ \ \ \ \ \ \ for\ (int\ i\ =\ length\ -\ 1;\ i\ &gt;=\ 0;\ --\ i)        for (int i = length − 1; i >= 0; −− i)
        {\ \ \ \ \ \ \ \ \{        {
            if (a[i] &gt; q.a[i])\ \ \ \ \ \ \ \ \ \ \ \ if\ (a[i]\ &gt;\ q.a[i])            if (a[i] > q.a[i])
            {\ \ \ \ \ \ \ \ \ \ \ \ \{            {
                return true;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ return\ true;                return true;
            }\ \ \ \ \ \ \ \ \ \ \ \ \}            }
            if (a[i] &lt; q.a[i])\ \ \ \ \ \ \ \ \ \ \ \ if\ (a[i]\ &lt;\ q.a[i])            if (a[i] < q.a[i])
            {\ \ \ \ \ \ \ \ \ \ \ \ \{            {
                return false;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ return\ false;                return false;
            }\ \ \ \ \ \ \ \ \ \ \ \ \}            }
        }\ \ \ \ \ \ \ \ \}        }
        return true;\ \ \ \ \ \ \ \ return\ true;        return true;
    }\ \ \ \ \}    }

    void abs()\ \ \ \ void\ abs()    void abs()
    {\ \ \ \ \{    {
        sig = std::abs(sig);\ \ \ \ \ \ \ \ sig\ =\ std::abs(sig);        sig = std::abs(sig);
    }\ \ \ \ \}    }

    void neg()\ \ \ \ void\ neg()    void neg()
    {\ \ \ \ \{    {
        sig = −sig;\ \ \ \ \ \ \ \ sig\ =\ -sig;        sig = −sig;
    }\ \ \ \ \}    }

    void assign(BigInteger &amp;q)\ \ \ \ void\ assign(BigInteger\ \&amp;q)    void assign(BigInteger &q)
    {\ \ \ \ \{    {
        memset(a, 0, sizeof(int) ∗ length);\ \ \ \ \ \ \ \ memset(a,\ 0,\ sizeof(int)\ *\ length);        memset(a, 0, sizeof(int) ∗ length);
        memcpy(a, q.a, sizeof(int) ∗ q.length);\ \ \ \ \ \ \ \ memcpy(a,\ q.a,\ sizeof(int)\ *\ q.length);        memcpy(a, q.a, sizeof(int) ∗ q.length);
        length = q.length;\ \ \ \ \ \ \ \ length\ =\ q.length;        length = q.length;
        sig = q.sig;\ \ \ \ \ \ \ \ sig\ =\ q.sig;        sig = q.sig;
    }\ \ \ \ \}    }

    template &lt;typename T&gt;\ \ \ \ template\ &lt;typename\ T&gt;    template <typename T>
    void assign(T q)\ \ \ \ void\ assign(T\ q)    void assign(T q)
    {\ \ \ \ \{    {
        memset(a, 0, sizeof(int) ∗ length);\ \ \ \ \ \ \ \ memset(a,\ 0,\ sizeof(int)\ *\ length);        memset(a, 0, sizeof(int) ∗ length);
        if (!q)\ \ \ \ \ \ \ \ if\ (!q)        if (!q)
        {\ \ \ \ \ \ \ \ \{        {
            return (void)(sig = length = 0);\ \ \ \ \ \ \ \ \ \ \ \ return\ (void)(sig\ =\ length\ =\ 0);            return (void)(sig = length = 0);
        }\ \ \ \ \ \ \ \ \}        }
        q &lt; 0 ? sig = −1, q = −q : sig = 1;\ \ \ \ \ \ \ \ q\ &lt;\ 0\ ?\ sig\ =\ -1,\ q\ =\ -q\ :\ sig\ =\ 1;        q < 0 ? sig = −1, q = −q : sig = 1;
        length = 0;\ \ \ \ \ \ \ \ length\ =\ 0;        length = 0;
        for (; q; q /= 10)\ \ \ \ \ \ \ \ for\ (;\ q;\ q\ /=\ 10)        for (; q; q /= 10)
        {\ \ \ \ \ \ \ \ \{        {
            a[length++] = q % 10;\ \ \ \ \ \ \ \ \ \ \ \ a[length++]\ =\ q\ \%\ 10;            a[length++] = q % 10;
        }\ \ \ \ \ \ \ \ \}        }
    }\ \ \ \ \}    }

    void add(BigInteger &amp;q)\ \ \ \ void\ add(BigInteger\ \&amp;q)    void add(BigInteger &q)
    {\ \ \ \ \{    {
        static BigInteger aux;\ \ \ \ \ \ \ \ static\ BigInteger\ aux;        static BigInteger aux;
        if (!q.sig)\ \ \ \ \ \ \ \ if\ (!q.sig)        if (!q.sig)
        {\ \ \ \ \ \ \ \ \{        {
            return ;\ \ \ \ \ \ \ \ \ \ \ \ return\ ;            return ;
        }\ \ \ \ \ \ \ \ \}        }
        if (!sig)\ \ \ \ \ \ \ \ if\ (!sig)        if (!sig)
        {\ \ \ \ \ \ \ \ \{        {
            assign(q);\ \ \ \ \ \ \ \ \ \ \ \ assign(q);            assign(q);
            return ;\ \ \ \ \ \ \ \ \ \ \ \ return\ ;            return ;
        }\ \ \ \ \ \ \ \ \}        }
        if (sig == q.sig)\ \ \ \ \ \ \ \ if\ (sig\ ==\ q.sig)        if (sig == q.sig)
        {\ \ \ \ \ \ \ \ \{        {
            addminus(a, q.a, length, q.length, 1);\ \ \ \ \ \ \ \ \ \ \ \ addminus(a,\ q.a,\ length,\ q.length,\ 1);            addminus(a, q.a, length, q.length, 1);
            return ;\ \ \ \ \ \ \ \ \ \ \ \ return\ ;            return ;
        }\ \ \ \ \ \ \ \ \}        }
        if (absgreaterequal(q))\ \ \ \ \ \ \ \ if\ (absgreaterequal(q))        if (absgreaterequal(q))
        {\ \ \ \ \ \ \ \ \{        {
            addminus(a, q.a, length, q.length, −1);\ \ \ \ \ \ \ \ \ \ \ \ addminus(a,\ q.a,\ length,\ q.length,\ -1);            addminus(a, q.a, length, q.length, −1);
            sig = length ? sig : 0;\ \ \ \ \ \ \ \ \ \ \ \ sig\ =\ length\ ?\ sig\ :\ 0;            sig = length ? sig : 0;
            return ;\ \ \ \ \ \ \ \ \ \ \ \ return\ ;            return ;
        }\ \ \ \ \ \ \ \ \}        }
        aux.assign(q);\ \ \ \ \ \ \ \ aux.assign(q);        aux.assign(q);
        addminus(q.a, a, q.length, length, −1);\ \ \ \ \ \ \ \ addminus(q.a,\ a,\ q.length,\ length,\ -1);        addminus(q.a, a, q.length, length, −1);
        assign(q);\ \ \ \ \ \ \ \ assign(q);        assign(q);
        q.assign(aux);\ \ \ \ \ \ \ \ q.assign(aux);        q.assign(aux);
    }\ \ \ \ \}    }

    void minus(BigInteger &amp;q)\ \ \ \ void\ minus(BigInteger\ \&amp;q)    void minus(BigInteger &q)
    {\ \ \ \ \{    {
        q.neg();\ \ \ \ \ \ \ \ q.neg();        q.neg();
        add(q);\ \ \ \ \ \ \ \ add(q);        add(q);
        q.neg();\ \ \ \ \ \ \ \ q.neg();        q.neg();
    }\ \ \ \ \}    }

    void NTT(int ∗a, int length, int type)\ \ \ \ void\ NTT(int\ *a,\ int\ length,\ int\ type)    void NTT(int ∗a, int length, int type)
    {\ \ \ \ \{    {
        int len = −1;\ \ \ \ \ \ \ \ int\ len\ =\ -1;        int len = −1;
        for (int x = length; x; ++len, x &gt;&gt;= 1) ;\ \ \ \ \ \ \ \ for\ (int\ x\ =\ length;\ x;\ ++len,\ x\ &gt;&gt;=\ 1)\ ;        for (int x = length; x; ++len, x >>= 1) ;
        for (int i = 1, j = 0; i &lt; length − 1; ++i)\ \ \ \ \ \ \ \ for\ (int\ i\ =\ 1,\ j\ =\ 0;\ i\ &lt;\ length\ -\ 1;\ ++i)        for (int i = 1, j = 0; i < length − 1; ++i)
        {\ \ \ \ \ \ \ \ \{        {
            for (int s = length; j ∧= s &gt;&gt;= 1,  j &amp; s; ) ;\ \ \ \ \ \ \ \ \ \ \ \ for\ (int\ s\ =\ length;\ j\ \wedge =\ s\ &gt;&gt;=\ 1,\ ~j\ \&amp;\ s;\ )\ ;            for (int s = length; j ∧= s >>= 1,  j & s; ) ;
            if (i &lt; j)\ \ \ \ \ \ \ \ \ \ \ \ if\ (i\ &lt;\ j)            if (i < j)
            {\ \ \ \ \ \ \ \ \ \ \ \ \{            {
                std::swap(a[i], a[j]);\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ std::swap(a[i],\ a[j]);                std::swap(a[i], a[j]);
            }\ \ \ \ \ \ \ \ \ \ \ \ \}            }
        }\ \ \ \ \ \ \ \ \}        }

        for (int i = 1; i &lt;= len; ++ i)\ \ \ \ \ \ \ \ for\ (int\ i\ =\ 1;\ i\ &lt;=\ len;\ ++\ i)        for (int i = 1; i <= len; ++ i)
        {\ \ \ \ \ \ \ \ \{        {
            int unit = powermod(type == 1 ? root : invroot, (MOD − 1) &gt;&gt; i, MOD), szk = 1 &lt;&lt; (i − 1);\ \ \ \ \ \ \ \ \ \ \ \ int\ unit\ =\ powermod(type\ ==\ 1\ ?\ root\ :\ invroot,\ (MOD\ -\ 1)\ &gt;&gt;\ i,\ MOD),\ szk\ =\ 1\ &lt;&lt;\ (i\ -\ 1);            int unit = powermod(type == 1 ? root : invroot, (MOD − 1) >> i, MOD), szk = 1 << (i − 1);
            for (int j = 0; j &lt; length; j += 1 &lt;&lt; i)\ \ \ \ \ \ \ \ \ \ \ \ for\ (int\ j\ =\ 0;\ j\ &lt;\ length;\ j\ +=\ 1\ &lt;&lt;\ i)            for (int j = 0; j < length; j += 1 << i)
            {\ \ \ \ \ \ \ \ \ \ \ \ \{            {
                for (int k = j, w = 1; k &lt; j + szk; ++k)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ for\ (int\ k\ =\ j,\ w\ =\ 1;\ k\ &lt;\ j\ +\ szk;\ ++k)                for (int k = j, w = 1; k < j + szk; ++k)
                {\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \{                {
                    int s = a[k], t = 1ll ∗ w ∗ a[k + szk] % MOD;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ int\ s\ =\ a[k],\ t\ =\ 1ll\ *\ w\ *\ a[k\ +\ szk]\ \%\ MOD;                    int s = a[k], t = 1ll ∗ w ∗ a[k + szk] % MOD;
                    a[k] = s + t &gt;= MOD ? s + t − MOD : s + t;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ a[k]\ =\ s\ +\ t\ &gt;=\ MOD\ ?\ s\ +\ t\ -\ MOD\ :\ s\ +\ t;                    a[k] = s + t >= MOD ? s + t − MOD : s + t;
                    a[k + szk] = s − t &lt; 0 ? s − t + MOD : s − t;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ a[k\ +\ szk]\ =\ s\ -\ t\ &lt;\ 0\ ?\ s\ -\ t\ +\ MOD\ :\ s\ -\ t;                    a[k + szk] = s − t < 0 ? s − t + MOD : s − t;
                    w = 1ll ∗ w ∗ unit % MOD;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ w\ =\ 1ll\ *\ w\ *\ unit\ \%\ MOD;                    w = 1ll ∗ w ∗ unit % MOD;
                }\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \}                }
            }\ \ \ \ \ \ \ \ \ \ \ \ \}            }
        }\ \ \ \ \ \ \ \ \}        }
        if (type == 1)\ \ \ \ \ \ \ \ if\ (type\ ==\ 1)        if (type == 1)
        {\ \ \ \ \ \ \ \ \{        {
            return ;\ \ \ \ \ \ \ \ \ \ \ \ return\ ;            return ;
        }\ \ \ \ \ \ \ \ \}        }
        int inv = powermod(length, MOD − 2, MOD);\ \ \ \ \ \ \ \ int\ inv\ =\ powermod(length,\ MOD\ -\ 2,\ MOD);        int inv = powermod(length, MOD − 2, MOD);
        for (int i = 0; i &lt; length; ++ i)\ \ \ \ \ \ \ \ for\ (int\ i\ =\ 0;\ i\ &lt;\ length;\ ++\ i)        for (int i = 0; i < length; ++ i)
        {\ \ \ \ \ \ \ \ \{        {
            a[i] = 1ll ∗ a[i] ∗ inv % MOD;\ \ \ \ \ \ \ \ \ \ \ \ a[i]\ =\ 1ll\ *\ a[i]\ *\ inv\ \%\ MOD;            a[i] = 1ll ∗ a[i] ∗ inv % MOD;
        }\ \ \ \ \ \ \ \ \}        }
    }\ \ \ \ \}    }

    void mult(BigInteger &amp;q)\ \ \ \ void\ mult(BigInteger\ \&amp;q)    void mult(BigInteger &q)
    {\ \ \ \ \{    {
        static int aux[1 &lt;&lt; MAXN];\ \ \ \ \ \ \ \ static\ int\ aux[1\ &lt;&lt;\ MAXN];        static int aux[1 << MAXN];
        if (!sig ∣∣ !q.sig)\ \ \ \ \ \ \ \ if\ (!sig\ ||\ !q.sig)        if (!sig ∣∣ !q.sig)
        {\ \ \ \ \ \ \ \ \{        {
            return clear();\ \ \ \ \ \ \ \ \ \ \ \ return\ clear();            return clear();
        }\ \ \ \ \ \ \ \ \}        }
        int n = length + q.length;\ \ \ \ \ \ \ \ int\ n\ =\ length\ +\ q.length;        int n = length + q.length;
        int lengthans = 1;\ \ \ \ \ \ \ \ int\ lengthans\ =\ 1;        int lengthans = 1;
        for (; lengthans &lt; n; lengthans &lt;&lt;= 1) ;\ \ \ \ \ \ \ \ for\ (;\ lengthans\ &lt;\ n;\ lengthans\ &lt;&lt;=\ 1)\ ;        for (; lengthans < n; lengthans <<= 1) ;
        memcpy(aux, q.a, sizeof(int) ∗ lengthans);\ \ \ \ \ \ \ \ memcpy(aux,\ q.a,\ sizeof(int)\ *\ lengthans);        memcpy(aux, q.a, sizeof(int) ∗ lengthans);
        NTT(a, lengthans, 1);\ \ \ \ \ \ \ \ NTT(a,\ lengthans,\ 1);        NTT(a, lengthans, 1);
        NTT(aux, lengthans, 1);\ \ \ \ \ \ \ \ NTT(aux,\ lengthans,\ 1);        NTT(aux, lengthans, 1);
        for (int i = 0; i &lt; lengthans; i++)\ \ \ \ \ \ \ \ for\ (int\ i\ =\ 0;\ i\ &lt;\ lengthans;\ i++)        for (int i = 0; i < lengthans; i++)
        {\ \ \ \ \ \ \ \ \{        {
            a[i] = 1ll ∗ a[i] ∗ aux[i] % MOD;\ \ \ \ \ \ \ \ \ \ \ \ a[i]\ =\ 1ll\ *\ a[i]\ *\ aux[i]\ \%\ MOD;            a[i] = 1ll ∗ a[i] ∗ aux[i] % MOD;
        }\ \ \ \ \ \ \ \ \}        }
        NTT(a, lengthans, −1);\ \ \ \ \ \ \ \ NTT(a,\ lengthans,\ -1);        NTT(a, lengthans, −1);
        for (int i = 0; i &lt; n − 1; i++)\ \ \ \ \ \ \ \ for\ (int\ i\ =\ 0;\ i\ &lt;\ n\ -\ 1;\ i++)        for (int i = 0; i < n − 1; i++)
        {\ \ \ \ \ \ \ \ \{        {
            a[i + 1] += a[i] / 10;\ \ \ \ \ \ \ \ \ \ \ \ a[i\ +\ 1]\ +=\ a[i]\ /\ 10;            a[i + 1] += a[i] / 10;
            a[i] %= 10;\ \ \ \ \ \ \ \ \ \ \ \ a[i]\ \%=\ 10;            a[i] %= 10;
        }\ \ \ \ \ \ \ \ \}        }
        length = n;\ \ \ \ \ \ \ \ length\ =\ n;        length = n;
        for (; length &amp;&amp; !a[length − 1]; −−length) ;\ \ \ \ \ \ \ \ for\ (;\ length\ \&amp;\&amp;\ !a[length\ -\ 1];\ --length)\ ;        for (; length && !a[length − 1]; −−length) ;
        sig ∗= q.sig;\ \ \ \ \ \ \ \ sig\ *=\ q.sig;        sig ∗= q.sig;
    }\ \ \ \ \}    }

    void mult(int q)\ \ \ \ void\ mult(int\ q)    void mult(int q)
    {\ \ \ \ \{    {
        if (!q ∣∣ !sig)\ \ \ \ \ \ \ \ if\ (!q\ ||\ !sig)        if (!q ∣∣ !sig)
        {\ \ \ \ \ \ \ \ \{        {
            return clear();\ \ \ \ \ \ \ \ \ \ \ \ return\ clear();            return clear();
        }\ \ \ \ \ \ \ \ \}        }
        ll x = std::abs(q), remain = 0;\ \ \ \ \ \ \ \ ll\ x\ =\ std::abs(q),\ remain\ =\ 0;        ll x = std::abs(q), remain = 0;
        for (int i = 0; i &lt; length; ++i)\ \ \ \ \ \ \ \ for\ (int\ i\ =\ 0;\ i\ &lt;\ length;\ ++i)        for (int i = 0; i < length; ++i)
        {\ \ \ \ \ \ \ \ \{        {
            remain += a[i] ∗ x;\ \ \ \ \ \ \ \ \ \ \ \ remain\ +=\ a[i]\ *\ x;            remain += a[i] ∗ x;
            a[i] = remain % 10;\ \ \ \ \ \ \ \ \ \ \ \ a[i]\ =\ remain\ \%\ 10;            a[i] = remain % 10;
            remain /= 10;\ \ \ \ \ \ \ \ \ \ \ \ remain\ /=\ 10;            remain /= 10;
        }\ \ \ \ \ \ \ \ \}        }
        a[length] = (int)remain;\ \ \ \ \ \ \ \ a[length]\ =\ (int)remain;        a[length] = (int)remain;
        for (; a[length]; ++length)\ \ \ \ \ \ \ \ for\ (;\ a[length];\ ++length)        for (; a[length]; ++length)
        {\ \ \ \ \ \ \ \ \{        {
            a[length + 1] = a[length] / 10;\ \ \ \ \ \ \ \ \ \ \ \ a[length\ +\ 1]\ =\ a[length]\ /\ 10;            a[length + 1] = a[length] / 10;
            a[length] %= 10;\ \ \ \ \ \ \ \ \ \ \ \ a[length]\ \%=\ 10;            a[length] %= 10;
        }\ \ \ \ \ \ \ \ \}        }
        for (; length &amp;&amp; !a[length − 1]; −−length) ;\ \ \ \ \ \ \ \ for\ (;\ length\ \&amp;\&amp;\ !a[length\ -\ 1];\ --length)\ ;        for (; length && !a[length − 1]; −−length) ;
        sig ∗= q &lt; 0 ? −1 : 1;\ \ \ \ \ \ \ \ sig\ *=\ q\ &lt;\ 0\ ?\ -1\ :\ 1;        sig ∗= q < 0 ? −1 : 1;
    }\ \ \ \ \}    }

    void power(int exp)\ \ \ \ void\ power(int\ exp)    void power(int exp)
    {\ \ \ \ \{    {
        static BigInteger aux;\ \ \ \ \ \ \ \ static\ BigInteger\ aux;        static BigInteger aux;
        if (!sig)\ \ \ \ \ \ \ \ if\ (!sig)        if (!sig)
        {\ \ \ \ \ \ \ \ \{        {
            return ;\ \ \ \ \ \ \ \ \ \ \ \ return\ ;            return ;
        }\ \ \ \ \ \ \ \ \}        }
        aux.assign&lt;int&gt; (1);\ \ \ \ \ \ \ \ aux.assign&lt;int&gt;\ (1);        aux.assign<int> (1);
        for (; exp; exp &gt;&gt;= 1)\ \ \ \ \ \ \ \ for\ (;\ exp;\ exp\ &gt;&gt;=\ 1)        for (; exp; exp >>= 1)
        {\ \ \ \ \ \ \ \ \{        {
            if (exp &amp; 1)\ \ \ \ \ \ \ \ \ \ \ \ if\ (exp\ \&amp;\ 1)            if (exp & 1)
            {\ \ \ \ \ \ \ \ \ \ \ \ \{            {
                aux.mult(∗this);\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ aux.mult(*this);                aux.mult(∗this);
            }\ \ \ \ \ \ \ \ \ \ \ \ \}            }
            aux.mult(aux);\ \ \ \ \ \ \ \ \ \ \ \ aux.mult(aux);            aux.mult(aux);
        }\ \ \ \ \ \ \ \ \}        }
        assign(aux);\ \ \ \ \ \ \ \ assign(aux);        assign(aux);
    }\ \ \ \ \}    }

    void divide(BigInteger &amp;q)\ \ \ \ void\ divide(BigInteger\ \&amp;q)    void divide(BigInteger &q)
    {\ \ \ \ \{    {
        static BigInteger aux, aux1;\ \ \ \ \ \ \ \ static\ BigInteger\ aux,\ aux1;        static BigInteger aux, aux1;
        if (!sig ∣∣ !q.sig)\ \ \ \ \ \ \ \ if\ (!sig\ ||\ !q.sig)        if (!sig ∣∣ !q.sig)
        {\ \ \ \ \ \ \ \ \{        {
            return ;\ \ \ \ \ \ \ \ \ \ \ \ return\ ;            return ;
        }\ \ \ \ \ \ \ \ \}        }
        if (length &lt; q.length)\ \ \ \ \ \ \ \ if\ (length\ &lt;\ q.length)        if (length < q.length)
        {\ \ \ \ \ \ \ \ \{        {
            return clear();\ \ \ \ \ \ \ \ \ \ \ \ return\ clear();            return clear();
        }\ \ \ \ \ \ \ \ \}        }
        bool neg1 = sig == 1, neg2 = q.sig == 1;\ \ \ \ \ \ \ \ bool\ neg1\ =\ sig\ ==\ 1,\ neg2\ =\ q.sig\ ==\ 1;        bool neg1 = sig == 1, neg2 = q.sig == 1;
        abs(), q.abs();\ \ \ \ \ \ \ \ abs(),\ q.abs();        abs(), q.abs();
        int num = 0;\ \ \ \ \ \ \ \ int\ num\ =\ 0;        int num = 0;
        for (int i = q.length − 1; i &gt;= q.length − 3; −−i)\ \ \ \ \ \ \ \ for\ (int\ i\ =\ q.length\ -\ 1;\ i\ &gt;=\ q.length\ -\ 3;\ --i)        for (int i = q.length − 1; i >= q.length − 3; −−i)
        {\ \ \ \ \ \ \ \ \{        {
            (num ∗= 10) += i &gt;= 0 ? q.a[i] : 0;\ \ \ \ \ \ \ \ \ \ \ \ (num\ *=\ 10)\ +=\ i\ &gt;=\ 0\ ?\ q.a[i]\ :\ 0;            (num ∗= 10) += i >= 0 ? q.a[i] : 0;
        }\ \ \ \ \ \ \ \ \}        }
        num = 100000 / num;\ \ \ \ \ \ \ \ num\ =\ 100000\ /\ num;        num = 100000 / num;
        int nowprecision = 1;\ \ \ \ \ \ \ \ int\ nowprecision\ =\ 1;        int nowprecision = 1;
        aux.assign&lt;int&gt; (num);\ \ \ \ \ \ \ \ aux.assign&lt;int&gt;\ (num);        aux.assign<int> (num);
        for (; nowprecision &lt;= length − q.length; nowprecision &lt;&lt;= 1)\ \ \ \ \ \ \ \ for\ (;\ nowprecision\ &lt;=\ length\ -\ q.length;\ nowprecision\ &lt;&lt;=\ 1)        for (; nowprecision <= length − q.length; nowprecision <<= 1)
        {\ \ \ \ \ \ \ \ \{        {
            aux1.clear();\ \ \ \ \ \ \ \ \ \ \ \ aux1.clear();            aux1.clear();
            aux1.length = (nowprecision &lt;&lt; 1) + 3, aux1.sig = 1;\ \ \ \ \ \ \ \ \ \ \ \ aux1.length\ =\ (nowprecision\ &lt;&lt;\ 1)\ +\ 3,\ aux1.sig\ =\ 1;            aux1.length = (nowprecision << 1) + 3, aux1.sig = 1;
            for (int i = q.length − aux1.length; i &lt; q.length; ++i)\ \ \ \ \ \ \ \ \ \ \ \ for\ (int\ i\ =\ q.length\ -\ aux1.length;\ i\ &lt;\ q.length;\ ++i)            for (int i = q.length − aux1.length; i < q.length; ++i)
            {\ \ \ \ \ \ \ \ \ \ \ \ \{            {
                aux1.a[i − q.length + aux1.length] = i &gt;= 0 ? q.a[i] : 0;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ aux1.a[i\ -\ q.length\ +\ aux1.length]\ =\ i\ &gt;=\ 0\ ?\ q.a[i]\ :\ 0;                aux1.a[i − q.length + aux1.length] = i >= 0 ? q.a[i] : 0;
            }\ \ \ \ \ \ \ \ \ \ \ \ \}            }
            aux1.mult(aux), aux1.rightshift(nowprecision + 2);\ \ \ \ \ \ \ \ \ \ \ \ aux1.mult(aux),\ aux1.rightshift(nowprecision\ +\ 2);            aux1.mult(aux), aux1.rightshift(nowprecision + 2);
            aux1.mult(aux), aux1.rightshift(nowprecision + 2);\ \ \ \ \ \ \ \ \ \ \ \ aux1.mult(aux),\ aux1.rightshift(nowprecision\ +\ 2);            aux1.mult(aux), aux1.rightshift(nowprecision + 2);
            aux.mult(2);\ \ \ \ \ \ \ \ \ \ \ \ aux.mult(2);            aux.mult(2);
            aux.leftshift(nowprecision);\ \ \ \ \ \ \ \ \ \ \ \ aux.leftshift(nowprecision);            aux.leftshift(nowprecision);
            aux.minus(aux1);\ \ \ \ \ \ \ \ \ \ \ \ aux.minus(aux1);            aux.minus(aux1);
        }\ \ \ \ \ \ \ \ \}        }
        aux.mult(∗this);\ \ \ \ \ \ \ \ aux.mult(*this);        aux.mult(∗this);
        aux.rightshift(q.length + nowprecision + 1);\ \ \ \ \ \ \ \ aux.rightshift(q.length\ +\ nowprecision\ +\ 1);        aux.rightshift(q.length + nowprecision + 1);
        aux1.assign(aux);\ \ \ \ \ \ \ \ aux1.assign(aux);        aux1.assign(aux);
        aux1.mult(q);\ \ \ \ \ \ \ \ aux1.mult(q);        aux1.mult(q);
        minus(aux1);\ \ \ \ \ \ \ \ minus(aux1);        minus(aux1);
        int flag = absgreaterequal(q) ? 2 : sig &lt; 0 ? 1 : 0;\ \ \ \ \ \ \ \ int\ flag\ =\ absgreaterequal(q)\ ?\ 2\ :\ sig\ &lt;\ 0\ ?\ 1\ :\ 0;        int flag = absgreaterequal(q) ? 2 : sig < 0 ? 1 : 0;
        assign(aux);\ \ \ \ \ \ \ \ assign(aux);        assign(aux);
        if (flag)\ \ \ \ \ \ \ \ if\ (flag)        if (flag)
        {\ \ \ \ \ \ \ \ \{        {
            flag == 1 ? minusone() : addone();\ \ \ \ \ \ \ \ \ \ \ \ flag\ ==\ 1\ ?\ minusone()\ :\ addone();            flag == 1 ? minusone() : addone();
        }\ \ \ \ \ \ \ \ \}        }
        if (!neg2)\ \ \ \ \ \ \ \ if\ (!neg2)        if (!neg2)
        {\ \ \ \ \ \ \ \ \{        {
            q.neg();\ \ \ \ \ \ \ \ \ \ \ \ q.neg();            q.neg();
        }\ \ \ \ \ \ \ \ \}        }
        sig ∗= neg1 ∧ neg2 ? −1 : 1;\ \ \ \ \ \ \ \ sig\ *=\ neg1\ \wedge \ neg2\ ?\ -1\ :\ 1;        sig ∗= neg1 ∧ neg2 ? −1 : 1;
    }\ \ \ \ \}    }

    int divide(int q)\ \ \ \ int\ divide(int\ q)    int divide(int q)
    {\ \ \ \ \{    {
        if (!sig ∣∣ !q)\ \ \ \ \ \ \ \ if\ (!sig\ ||\ !q)        if (!sig ∣∣ !q)
        {\ \ \ \ \ \ \ \ \{        {
            return 0;\ \ \ \ \ \ \ \ \ \ \ \ return\ 0;            return 0;
        }\ \ \ \ \ \ \ \ \}        }
        ll remain = 0, x = std::abs(q);\ \ \ \ \ \ \ \ ll\ remain\ =\ 0,\ x\ =\ std::abs(q);        ll remain = 0, x = std::abs(q);
        for (int i = length − 1; i &gt;= 0; −−i)\ \ \ \ \ \ \ \ for\ (int\ i\ =\ length\ -\ 1;\ i\ &gt;=\ 0;\ --i)        for (int i = length − 1; i >= 0; −−i)
        {\ \ \ \ \ \ \ \ \{        {
            remain = remain ∗ 10 + a[i];\ \ \ \ \ \ \ \ \ \ \ \ remain\ =\ remain\ *\ 10\ +\ a[i];            remain = remain ∗ 10 + a[i];
            a[i] = (int)(remain / x);\ \ \ \ \ \ \ \ \ \ \ \ a[i]\ =\ (int)(remain\ /\ x);            a[i] = (int)(remain / x);
            remain %= x;\ \ \ \ \ \ \ \ \ \ \ \ remain\ \%=\ x;            remain %= x;
        }\ \ \ \ \ \ \ \ \}        }
        for (; length &amp;&amp; !a[length − 1]; −−length) ;\ \ \ \ \ \ \ \ for\ (;\ length\ \&amp;\&amp;\ !a[length\ -\ 1];\ --length)\ ;        for (; length && !a[length − 1]; −−length) ;
        remain ∗= sig;\ \ \ \ \ \ \ \ remain\ *=\ sig;        remain ∗= sig;
        sig ∗= q &lt; 0 ? −1 : 1;\ \ \ \ \ \ \ \ sig\ *=\ q\ &lt;\ 0\ ?\ -1\ :\ 1;        sig ∗= q < 0 ? −1 : 1;
        if (!length)\ \ \ \ \ \ \ \ if\ (!length)        if (!length)
        {\ \ \ \ \ \ \ \ \{        {
            sig = 0;\ \ \ \ \ \ \ \ \ \ \ \ sig\ =\ 0;            sig = 0;
        }\ \ \ \ \ \ \ \ \}        }
        return (int)remain;\ \ \ \ \ \ \ \ return\ (int)remain;        return (int)remain;
    }\ \ \ \ \}    }

    void sqrt()\ \ \ \ void\ sqrt()    void sqrt()
    {\ \ \ \ \{    {
        static BigInteger aux, aux1, aux2;\ \ \ \ \ \ \ \ static\ BigInteger\ aux,\ aux1,\ aux2;        static BigInteger aux, aux1, aux2;
        if (sig &lt;= 0)\ \ \ \ \ \ \ \ if\ (sig\ &lt;=\ 0)        if (sig <= 0)
        {\ \ \ \ \ \ \ \ \{        {
            return ;\ \ \ \ \ \ \ \ \ \ \ \ return\ ;            return ;
        }\ \ \ \ \ \ \ \ \}        }
        int num = 0;\ \ \ \ \ \ \ \ int\ num\ =\ 0;        int num = 0;
        for (int i = length − 1; i &gt;= length − 8; −−i)\ \ \ \ \ \ \ \ for\ (int\ i\ =\ length\ -\ 1;\ i\ &gt;=\ length\ -\ 8;\ --i)        for (int i = length − 1; i >= length − 8; −−i)
        {\ \ \ \ \ \ \ \ \{        {
            (num ∗= 10) += i &gt;= 0 ? a[i] : 0;\ \ \ \ \ \ \ \ \ \ \ \ (num\ *=\ 10)\ +=\ i\ &gt;=\ 0\ ?\ a[i]\ :\ 0;            (num ∗= 10) += i >= 0 ? a[i] : 0;
        }\ \ \ \ \ \ \ \ \}        }
        ll x = length &amp; 1 ? 10000000000000ll : 100000000000000ll;\ \ \ \ \ \ \ \ ll\ x\ =\ length\ \&amp;\ 1\ ?\ 10000000000000ll\ :\ 100000000000000ll;        ll x = length & 1 ? 10000000000000ll : 100000000000000ll;
        num = std::sqrt(1.0 ∗ x / num);\ \ \ \ \ \ \ \ num\ =\ std::sqrt(1.0\ *\ x\ /\ num);        num = std::sqrt(1.0 ∗ x / num);
        int nowprecision = 2;\ \ \ \ \ \ \ \ int\ nowprecision\ =\ 2;        int nowprecision = 2;
        aux.assign&lt;int&gt; (num);\ \ \ \ \ \ \ \ aux.assign&lt;int&gt;\ (num);        aux.assign<int> (num);
        for (; nowprecision &lt;= (length &gt;&gt; 1) + 1; nowprecision = (nowprecision &lt;&lt; 1) − 1)\ \ \ \ \ \ \ \ for\ (;\ nowprecision\ &lt;=\ (length\ &gt;&gt;\ 1)\ +\ 1;\ nowprecision\ =\ (nowprecision\ &lt;&lt;\ 1)\ -\ 1)        for (; nowprecision <= (length >> 1) + 1; nowprecision = (nowprecision << 1) − 1)
        {\ \ \ \ \ \ \ \ \{        {
            aux1.clear(), aux2.clear();\ \ \ \ \ \ \ \ \ \ \ \ aux1.clear(),\ aux2.clear();            aux1.clear(), aux2.clear();
            aux1.length = (nowprecision &lt;&lt; 1) + 1 + (length &amp; 1), aux1.sig = 1;\ \ \ \ \ \ \ \ \ \ \ \ aux1.length\ =\ (nowprecision\ &lt;&lt;\ 1)\ +\ 1\ +\ (length\ \&amp;\ 1),\ aux1.sig\ =\ 1;            aux1.length = (nowprecision << 1) + 1 + (length & 1), aux1.sig = 1;
            for (int i = length − aux1.length; i &lt; length; ++i)\ \ \ \ \ \ \ \ \ \ \ \ for\ (int\ i\ =\ length\ -\ aux1.length;\ i\ &lt;\ length;\ ++i)            for (int i = length − aux1.length; i < length; ++i)
            {\ \ \ \ \ \ \ \ \ \ \ \ \{            {
                aux1.a[i − length + aux1.length] = i &gt;= 0 ? a[i] : 0;\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ aux1.a[i\ -\ length\ +\ aux1.length]\ =\ i\ &gt;=\ 0\ ?\ a[i]\ :\ 0;                aux1.a[i − length + aux1.length] = i >= 0 ? a[i] : 0;
            }\ \ \ \ \ \ \ \ \ \ \ \ \}            }
            aux1.mult(aux), aux1.rightshift(nowprecision + 1);\ \ \ \ \ \ \ \ \ \ \ \ aux1.mult(aux),\ aux1.rightshift(nowprecision\ +\ 1);            aux1.mult(aux), aux1.rightshift(nowprecision + 1);
            aux1.mult(aux), aux1.rightshift(nowprecision + 1);\ \ \ \ \ \ \ \ \ \ \ \ aux1.mult(aux),\ aux1.rightshift(nowprecision\ +\ 1);            aux1.mult(aux), aux1.rightshift(nowprecision + 1);
            aux1.divide(2);\ \ \ \ \ \ \ \ \ \ \ \ aux1.divide(2);            aux1.divide(2);
            aux2.length = (nowprecision + 1) &lt;&lt; 1, aux2.sig = 1;\ \ \ \ \ \ \ \ \ \ \ \ aux2.length\ =\ (nowprecision\ +\ 1)\ &lt;&lt;\ 1,\ aux2.sig\ =\ 1;            aux2.length = (nowprecision + 1) << 1, aux2.sig = 1;
            aux2.a[aux2.length − 1] = 1, aux2.a[aux2.length − 2] = 5;\ \ \ \ \ \ \ \ \ \ \ \ aux2.a[aux2.length\ -\ 1]\ =\ 1,\ aux2.a[aux2.length\ -\ 2]\ =\ 5;            aux2.a[aux2.length − 1] = 1, aux2.a[aux2.length − 2] = 5;
            aux2.minus(aux1);\ \ \ \ \ \ \ \ \ \ \ \ aux2.minus(aux1);            aux2.minus(aux1);
            aux.mult(aux2);\ \ \ \ \ \ \ \ \ \ \ \ aux.mult(aux2);            aux.mult(aux2);
            aux.rightshift(nowprecision + 2);\ \ \ \ \ \ \ \ \ \ \ \ aux.rightshift(nowprecision\ +\ 2);            aux.rightshift(nowprecision + 2);
        }\ \ \ \ \ \ \ \ \}        }
        aux.mult(∗this);\ \ \ \ \ \ \ \ aux.mult(*this);        aux.mult(∗this);
        aux.rightshift((length &gt;&gt; 1) + nowprecision + 1);\ \ \ \ \ \ \ \ aux.rightshift((length\ &gt;&gt;\ 1)\ +\ nowprecision\ +\ 1);        aux.rightshift((length >> 1) + nowprecision + 1);
        aux1.assign(aux);\ \ \ \ \ \ \ \ aux1.assign(aux);        aux1.assign(aux);
        aux1.mult(aux1);\ \ \ \ \ \ \ \ aux1.mult(aux1);        aux1.mult(aux1);
        aux2.assign(∗this);\ \ \ \ \ \ \ \ aux2.assign(*this);        aux2.assign(∗this);
        aux2.mult(2);\ \ \ \ \ \ \ \ aux2.mult(2);        aux2.mult(2);
        minus(aux1);\ \ \ \ \ \ \ \ minus(aux1);        minus(aux1);
        int flag = greater(aux2) ? 2 : sig &lt; 0 ? 1 : 0;\ \ \ \ \ \ \ \ int\ flag\ =\ greater(aux2)\ ?\ 2\ :\ sig\ &lt;\ 0\ ?\ 1\ :\ 0;        int flag = greater(aux2) ? 2 : sig < 0 ? 1 : 0;
        assign(aux);\ \ \ \ \ \ \ \ assign(aux);        assign(aux);
        if (flag)\ \ \ \ \ \ \ \ if\ (flag)        if (flag)
        {\ \ \ \ \ \ \ \ \{        {
            flag == 1 ? minusone() : addone();\ \ \ \ \ \ \ \ \ \ \ \ flag\ ==\ 1\ ?\ minusone()\ :\ addone();            flag == 1 ? minusone() : addone();
        }\ \ \ \ \ \ \ \ \}        }
    }\ \ \ \ \}    }
};\};};

BigInteger a, b, c;BigInteger\ a,\ b,\ c;BigInteger a, b, c;

int main()int\ main()int main()
{\{{
    a.read();\ \ \ \ a.read();    a.read();
    b.read();\ \ \ \ b.read();    b.read();

    c.assign(a);\ \ \ \ c.assign(a);    c.assign(a);
    a.divide(b);\ \ \ \ a.divide(b);    a.divide(b);
    a.write();\ \ \ \ a.write();    a.write();
    putchar(′\n′);\ \ \ \ putchar(&#x27;\backslash n&#x27;);    putchar(′\n′);

    a.mult(b);\ \ \ \ a.mult(b);    a.mult(b);
    c.minus(a);\ \ \ \ c.minus(a);    c.minus(a);
    c.write();\ \ \ \ c.write();    c.write();
    putchar(′\n′);\ \ \ \ putchar(&#x27;\backslash n&#x27;);    putchar(′\n′);

    return 0;\ \ \ \ return\ 0;    return 0;
}\}}
$

LaTeX新手必看:TexLive2024与TexStudio4.8.5安装配置全攻略(含测试代码) 本文为LaTeX新手提供TexLive2024与TexStudio4.8.5的详细安装配置指南,涵盖下载源选择、环境验证及首个文档编写。通过分步教程和测试代码,帮助用户快速搭建LaTeX环境,避免常见安装问题,提升学术排版效率。 阅读详情

相关推荐

2024年 latex 下载与安装:texlive、texstudio

双击下载后的texlive,双击“install-tl-windows.bat"文件可以修改安装路径,不修改则是默认的安装路径。安装大概需要1小时。点击“texstudio-4.8.5-win-qt6-signed.exe”下载。“.iso”结尾的都行,我选的是texlive2024.iso。

暗o星 9559

latex示例代码

LaTeX 是一种文本排版系统,常用于数学公式和科学文章的排版。以下是 LaTeX 代码示例: \documentclass{article} \begin{document} 这是一个 LaTeX 文档。 数学公式示例:$x^2 + y^2 = z^2$ \begin{equation} \frac{n!}{k!(n-k)!} = \binom{n}{k} \end{equation} ...

weixin_42577735的博客 944

测试代码文件

这是一个测试

【Cheatsheet】LaTeX的常用代码、常见问题解决

用LaTeX很久了,感觉经常会反复用到一些操作,有时候记不住,所以在这里写一个cheatsheet,记录一些常用的操作。

the Blog of 等不到天亮丶等时光 5201

生成对抗网络(GAN、DCGAN、ACGAN)-----学习笔记

生成对抗网络学习笔记 生成对抗网络有两个关键结构:生成模型、判别模型。 生成模型:输入是一个服从正态分布的N维向量,利用这个N维向量生成一张图片。 判别模型:对于生成模型输出的图像判别它是不是真的图像。 生成模型和判别模型的博弈关系在于:生成模型的目的是生成让判别模型无法判别真伪的图像,而判别模型的目的是判断输入图像的真伪。 结合代码来看生成对抗网络中,生成器和判别器的训练过程: 判别模型的训...

weixin_43227526的博客 5489

Obsidian的Git插件设置配置全流程 -- 简单的电脑端多平台同步方案及常见问题

Git同步obsidian的保姆级教程和常见问题

weixin_44370439的博客 1万+

Latex常用代码

字母名称大写markdown小写markdownalphaAAα\alphabetaBBβ\betagammaΓ\Gammaγ\gammadeltaΔ\Deltaδ\deltaepsilonEEϵ\epsilonεzetaZZζ\zetaetaEEη\etathetaΘ\Thetaθ\thetaiotaIIι\iotakappaKKκ\kappalambdaΛ\Lambdaλ。

m0_49448331的博客 968

STM32 USART高级功能全解析:IrDA、DMA、硬件流控与低功耗唤醒

USART是嵌入式系统中最基础的串行通信外设,其核心原理在于同步/异步时序控制与数据帧收发机制。现代MCU如STM32通过深度集成IrDA调制解调、DMA直传通道、RS232/RS485硬件流控及Stop模式唤醒等扩展能力,显著提升通信可靠性、吞吐效率与能效比。其中,IrDA SIR采用RZI编码实现抗干扰红外传输,DMA通过TXE/RXNE事件驱动实现零CPU干预的连续数据流,而硬件流控(RTS/CTS/DE)和低功耗唤醒(WUF+UESM)则分别保障工业现场鲁棒性与电池级超长待机。本文围绕STM32平台

weixin_28922227的博客 211

latex bmatrix_测试LaTeX代码

摘抄网站:Latex:微积分【大学常用公式】-LaTex在线编辑|91数学网LaTeX技巧10:LaTeX数学公式输入初级入门_LaTeX_Fun_新浪博客一、矩阵行列式: begin{gather*} begin{matrix} 0 & 1 1 & 0 end{matrix}quad begin{pmatrix} 0 & -i i & 0 end{pmatri...

weixin_39623355的博客 422

【福建dem】原始高程数据tif格式

DEM(Digital Elevation Model,数字高程模型)是一种地理信息系统中的关键数据集,它提供了地表地形的三维信息,通常用于分析地貌特征、模拟水文过程、规划建设、灾害预警等多个领域。这种数据对于地理分析非常有价值,例如,它可以用于计算坡度、坡向、地形粗糙度等地形特征,或者进行洪水模拟、地质灾害评估、太阳能辐射分析等。“福建dem原始高程数据tif格式”是研究和理解福建省地形地貌的重要资源,结合GIS工具,可以揭示丰富的地理信息,为科研、工程和决策提供有力支持。

鸿业远图科技 943

别再只用CANape测数据了!手把手教你用ASAP2 Studio编辑A2L文件(附MAP文件更新避坑指南)

本文深入探讨ASAP2 Studio在ECU开发中的高阶应用,特别是如何利用其编辑A2L文件并同步更新MAP文件,提升测量标定效率。文章详细解析了ASAP2 Studio的双向同步能力、MAP文件更新全流程及变量管理技巧,帮助工程师避免常见错误,优化工作流程。

weixin_26833939的博客 506

arXiv LaTeX Cleaner 测试框架解析:确保代码质量与功能稳定性

arXiv LaTeX Cleaner 是一个专门为学术论文作者设计的强大工具,能够自动清理LaTeX代码以满足arXiv的提交要求。作为开源项目,其测试框架的设计与实现对于保障代码质量和功能稳定性至关重要。本文将深入解析该项目的测试架构,帮助用户理解如何通过完善的测试体系确保工具可靠性。 ## 📊 测试框架整体架构 arXiv LaTeX Cleaner 采用分层测试策略,主要包含以下几个

gitblog_00948的博客 955

QMI8658A与QMC5883L(9轴)评估板实战指南:从硬件连接到数据校准

本文提供了QMI8658A与QMC5883L九轴传感器评估板的完整实战指南。详细介绍了从硬件I2C/USART连接到传感器零偏与地磁校准的关键步骤,并利用上位机实现数据可视化,帮助开发者快速上手9轴姿态传感技术,应用于无人机、机器人等领域。

metaverse5vr的博客 477

关于使用texstudio进行latex测试代码的说明

源文件也一样,因为是测试,这里自定义为test→。因为studio编译会吐出一堆文件,而最根本的是源文件(论文文本→latx代码)和要显示的图片(如果有的话),所以建议分类放置。当然如果视窗右侧能够看到,说明是编译成功的了,pdf文件保存在studio路径中了。1、运行studio,打开test的源代码,然后修改配置器设置。路径是默认texstudio里头的,不建议改,且不要出现中文。5、编译后会吐出PDF文件,也是在studio路径中。其中,texlive是配置文件,不用管。4、这里修改图片路径↓。

2401_84428384的博客 352

图像特征(一)——颜色特征(颜色直方图,颜色矩,颜色集,颜色聚合向量和颜色相关图)

本文主要是为了更好地理解图像特征,理解各方法的原理。转载请注明出处https://mp.youkuaiyun.com/console/editor/html/105090183 图像模式识别的一般步骤为:输入图像--图像预处理--特征提取--特征选择--图像分类--输出结果。 图像特征主要有:颜色特征、形状特征、纹理特征和空间关系特征。 本文主要介绍颜色特征,并给出matlab上实现的demo。 颜...

gloria_iris的博客 3万+

别再为调试发愁!STM32CubeMX+FreeRTOS下,串口printf打印的保姆级配置指南(基于STM32F429)

本文详细介绍了在STM32CubeMX和FreeRTOS环境下实现稳定串口printf打印的配置方法。通过硬件选型、基础配置、线程安全的重定向实现以及高级调试技巧,帮助开发者解决多任务环境下的串口输出问题,提升调试效率。特别适用于STM32F429开发板用户。

weixin_42527401的博客 272

latex中怎样写上标_测试LaTeX代码

摘抄网站:Latex:微积分【大学常用公式】-LaTex在线编辑|91数学网LaTeX技巧10:LaTeX数学公式输入初级入门_LaTeX_Fun_新浪博客一、矩阵行列式: begin{gather*} begin{matrix} 0 & 1 1 & 0 end{matrix}quad begin{pmatrix} 0 & -i i & 0 end{pmatri...

weixin_29928971的博客 610

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Latex测试代码

http://hwiechern.blog.163.com/blog/static/10679662201511293555279/ 下面的这段代码应该显示为${\rm \LaTeX}$数学公式:$$\begin{align*} &\int{\frac{dx}{\sin x(1+\cos x)}}\\ &=\int{\frac{\sin xdx}{\sin^2 x(1+\cos x)}}

aazilch的博客 3436

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

图片转换为 latex 公式,识别图片中Latex公式,支持数学公式,化学公式,物理公式和生物公式,附Java代码和测试效果

目 录 1.编写Java代码实现识别图片中Latex公式 2.测试结果 ​3.源码下载 1.编写Java代码实现识别图片中Latex公式 直接上代码: public static String serverUrl = "http://open.zrscsoft.com:81/routerjson"; public static String accessToken = "***"; public static String appKey = "您的appKey"; .

一火的专栏 4834

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

LaTeX-Workshop单元测试终极指南:提升代码质量的10个关键方法

LaTeX-Workshop是一款强大的LaTeX编辑工具,通过预览、编译、自动补全和语法高亮等功能提升排版效率。单元测试是确保其功能稳定性和代码质量的核心环节。本文将分享10个关键方法,帮助开发者构建可靠的测试体系,轻松应对复杂场景。 ## 1. 搭建完整的测试环境 LaTeX-Workshop的测试框架基于VS Code测试环境构建,通过`test/runTest.ts`脚本统一管理测试流

gitblog_00246的博客 697

如何用Latex写伪代码等

如何用Latex写伪代码等Aurora无法使用,使用在线Latex网站编写Overleaf以一个例子说明一些测试算例可学习Latex还是强大 还有很多要学 Aurora无法使用,使用在线Latex网站编写 由于本人用Aurora一直probleming running,试过网站上各种方法实在无奈最终选择用在线Latex编写 主要以下网站,而且也不需要各种查找如何加入中文的方法: http://la...

qq_42891559的博客 8801

LaTex中文显示及listings宏包的使用

\documentclass[11pt,a4paper]{article} \usepackage{xltxtra} \usepackage{fontspec} \usepackage{float} \usepackage{listings} \usepackage{xcolor} \usepackage{color} \usepackage[top=0.8in,botto...

weixin_30279671的博客 1153

l3build:为LaTeX开发提供高效的测试与构建系统

l3build:为LaTeX开发提供高效的测试与构建系统 项目介绍 l3build 是一款面向 LaTeX 开发者的专业测试和构建系统。它旨在通过以下功能帮助开发者创作高质量的 LaTeX 代码: 单元测试系统:确保代码的每个部分都能按照预期工作。 自动化排版:自动将代码源文件转换成格式化的文档。 可靠的打包系统:为 CTAN(Comprehensive TeX Archive Network)...

gitblog_00733的博客 899

手把手教你安装Latex(保姆级教程)

手把手教你安装Latex(保姆级教程)

wzk4869的博客 2万+

【记录】LaTex|LaTex调整算法、公式、表格内的字体大小(10种内置字号)

包含示例和对应的代码。

shandianchengzi的博客 9201

(13)Latex:基于ΤΕΧ的自动排版系统——写论文必备

到以下链接中安装【推荐镜像网站,官网会比较慢】,选择最新的版本。

Netceor的博客 2140
上一篇: 字符串专题1
下一篇: ETT模板
扩展的灰
博客等级 码龄12年 60粉丝 342原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值