(I2
I105
I6
(dp0
Vtable.%l
p1
(Vtable.cpp
p2
S'#include<iostream>\r\n#include<algorithm>\r\n#include<cstring>\r\n#include<queue>\r\nusing namespace std;\r\nint a[100],b[100],c[100];\r\nint used[100];\r\nint n;\r\nint m1,m2,m3=0;\r\nint t1,t2;\r\nlong long ans=0;\r\npriority_queue <int> pq1;\r\npriority_queue <int> pq2;\r\nvoid ppp ()\r\n{\r\n     for (int i=0; i<m1; i++)\r\n    {\r\n        pq1.push(a[i]);\r\n    }\r\n     for (int i=0; i<m2; i++)\r\n    {\r\n        pq2.push(b[i]);\r\n    }\r\n    for (int i=0; i<m3; i++)\r\n    {\r\n        if (used[i]==1) {pq1.push(c[i]);}\r\n        else {pq2.push(c[i]);}\r\n    }\r\n    int l=0;\r\n    while (pq1.empty()!=true) \r\n        {\r\n            if (pq1.top()>pq2.top()) {l=1; break;}\r\n            pq1.pop();\r\n            pq2.pop();\r\n        }\r\n        if (l==0) {ans++;}\r\n}\r\nvoid rec (int p,int d1, int d2)\r\n{\r\n    if (p==m3) {ppp(); return;}\r\n    if (d1!=0) {used[p]=1; rec (p+1, d1-1, d2);}\r\n    if (d2!=0) {used[p]=2; rec (p+1, d1, d2-1);}\r\n}\r\n\r\nint main ()\r\n{\r\n    cin>>n;\r\n    cin>>m1;\r\n    for (int i=0; i<m1; i++)\r\n    {\r\n        cin>>a[i];\r\n        used[a[i]]=1;\r\n        if (a[i]==n*2) {cout<<"0"<<endl; return 0;}\r\n    }\r\n    cin>>m2;\r\n    for (int i=0; i<m2; i++)\r\n    {\r\n        cin>>b[i];\r\n        used[b[i]]=1;\r\n        if (b[i]==1) {cout<<"0"<<endl; return 0;}\r\n    }\r\n    for (int i=1; i<=2*n; i++)\r\n    {\r\n        if (used[i]==0) \r\n        {\r\n            if (i==1) {a[m1]=1; m1++;}\r\n            else\r\n            if (i==2*n) {b[m2]=2*n; m2++;}\r\n            else {c[m3]=i; m3++;}\r\n            \r\n        }\r\n    t1=n-m1; \r\n    t2=n-m2;\r\n    }\r\n    memset (used,0,sizeof(used));\r\n    rec (0,t1,t2);\r\n    cout<<ans<<endl;\r\n    return 0;\r\n}'
p3
tp4
stp5
.