(I2
I147
I6
(dp0
Vtable.%l
p1
(Vmain.c
p2
S'#include <stdio.h>\r\n#include <stdlib.h>\r\n#define MAXN 40\r\n\r\nint frecv[2*MAXN], mat[2][MAXN];\r\nint A[MAXN], B[MAXN], C[MAXN], x, y, z, n;\r\n\r\nvoid myqsort(int *v, int be, int en){\r\n  int b=be, e=en, aux, piv=v[be+rand()%(en-be+1)];\r\n  while(b<=e){\r\n    while(v[b]<piv)\r\n      ++b;\r\n    while(v[e]>piv)\r\n      --e;\r\n    if(b<=e){\r\n      aux=v[b]; v[b]=v[e]; v[e]=aux;\r\n      ++b; --e;\r\n    }\r\n  }\r\n  if(be<e)\r\n    myqsort(v, be, e);\r\n  if(b<en)\r\n    myqsort(v, b, en);\r\n}\r\n\r\nint comp(int val1, int val2, int val3){\r\n  int ans=0;\r\n  if(val1>val2)\r\n    ++ans;\r\n  if(val1>val3)\r\n    ++ans;\r\n  return ans;\r\n}\r\n\r\nint posib(int a, int b, int c, int l1, int l2){\r\n  int ans=0;\r\n  if(l1>n && l2>n)\r\n    return 1;\r\n  if(a<x && l1<=n && A[a]>mat[0][l1-1] && A[a]<mat[1][l2]){\r\n    mat[0][l1]=A[a];\r\n    ans+=posib(a+1, b, c, l1+1, l2);\r\n    mat[0][l1]=-20000;\r\n  }\r\n  if(b<y && l2<=n && B[b]>mat[1][l2-1] && B[b]>mat[0][l1]){\r\n    mat[1][l2]=B[b];\r\n    ans+=posib(a, b+1, c, l1, l2+1);\r\n    mat[1][l2]=200000;\r\n  }\r\n  if(c<z && l1<=n && C[c]>mat[0][l1-1] && C[c]<mat[1][l2]){\r\n    mat[0][l1]=C[c];\r\n    ans+=posib(a, b, c+1, l1+1, l2);\r\n    mat[0][l1]=-20000;\r\n  }\r\n  if(c<z && l2<=n && C[c]>mat[1][l2-1] && C[c]>mat[0][l1]){\r\n    mat[1][l2]=C[c];\r\n    ans+=posib(a, b, c+1, l1, l2+1);\r\n    mat[1][l2]=200000;\r\n  }\r\n  return ans;\r\n}\r\n\r\nint main()\r\n{\r\n//    freopen("b3.in", "r", stdin);\r\n//    freopen("b3.out", "w", stdout);\r\n    int i;\r\n    scanf("%d", &n);\r\n    scanf("%d", &x);\r\n    for(i=0; i<x; i++){\r\n      scanf("%d", &A[i]);\r\n      frecv[A[i]]=1;\r\n    }\r\n    scanf("%d", &y);\r\n    for(i=0; i<y; i++){\r\n      scanf("%d", &B[i]);\r\n      frecv[B[i]]=1;\r\n    }\r\n    z=0;\r\n    for(i=1; i<=2*n; i++)\r\n      if(frecv[i]==0)\r\n        C[z++]=i;\r\n    A[x]=B[y]=C[z]=2000000;\r\n    myqsort(A, 0, x-1);\r\n    myqsort(B, 0, y-1);\r\n    for(i=0; i<MAXN; i++){\r\n      mat[0][i]=-200000;\r\n      mat[1][i]=200000;\r\n    }\r\n    printf("%d\\n", posib(0, 0, 0, 1, 1));\r\n    return 0;\r\n}\r\n'
p3
tp4
stp5
.