| 91 | } |
| 92 | |
| 93 | int main(){ |
| 94 | long long int n,m,q; |
| 95 | scanf("%lld %lld %lld",&n,&m,&q); |
| 96 | |
| 97 | for(int i=0;i<n;i++){ |
| 98 | scanf("%lld",&a[i]); |
| 99 | } |
| 100 | for(int i=0;i<m;i++){ |
| 101 | scanf("%lld",&b[i]); |
| 102 | } |
| 103 | for(int i=0;i<MAX;i++){ |
| 104 | A[i]=cd(0,0); |
| 105 | Amn[i]=cd(0,0); |
| 106 | Amx[i]=cd(0,0); |
| 107 | B[i]=cd(0,0); |
| 108 | Bmn[i]=cd(0,0); |
| 109 | Bmx[i]=cd(0,0); |
| 110 | } |
| 111 | for(int i=0;i<n;i++){ |
| 112 | A[a[i]]+=cd(1,0); |
| 113 | } |
| 114 | for(int i=0;i<n-1;i++){ |
| 115 | Amn[min(a[i],a[i+1])]+=cd(1,0); |
| 116 | } |
| 117 | for(int i=0;i<n-1;i++){ |
| 118 | Amx[max(a[i],a[i+1])]+=cd(1,0); |
| 119 | } |
| 120 | for(int i=0;i<m;i++){ |
| 121 | B[b[i]]+=cd(1,0); |
| 122 | } |
| 123 | for(int i=0;i<m-1;i++){ |
| 124 | Bmn[min(b[i],b[i+1])]+=cd(1,0); |
| 125 | } |
| 126 | for(int i=0;i<m-1;i++){ |
| 127 | Bmx[max(b[i],b[i+1])]+=cd(1,0); |
| 128 | } |
| 129 | |
| 130 | fft(A,0); |
| 131 | fft(Amn,0); |
| 132 | fft(Amx,0); |
| 133 | fft(B,0); |
| 134 | fft(Bmn,0); |
| 135 | fft(Bmx,0); |
| 136 | prod(A,Bmn,E11); |
| 137 | prod(Amn,B,E12); |
| 138 | prod(Amx,B,E21); |
| 139 | prod(A,Bmx,E22); |
| 140 | prod(Amn,Bmn,SQ1); |
| 141 | prod(Amx,Bmx,SQ2); |
| 142 | prod(A,B,V); |
| 143 | fft(E11,1); |
| 144 | fft(E12,1); |
| 145 | fft(E21,1); |
| 146 | fft(E22,1); |
| 147 | fft(SQ1,1); |
| 148 | fft(SQ2,1); |
| 149 | fft(V,1); |
| 150 | for(int i=0;i<MAX;i++){ |