(I2
I104
I6
(dp0
Vtable.%l
p1
(Vtable.cpp
p2
S'#include<iostream>\r\n#include<algorithm>\r\nusing namespace std;\r\nint n,m,k,p,ans;\r\nint a[128],b[128],c[128];\r\nint used[128],t[4][128],sk[4][128];\r\nvoid f3(int br)\r\n{\r\n    if(br==p+1)\r\n    {\r\n        /*cout<<endl;\r\n        for(int i=1;i<=2;i++)\r\n        {\r\n            for(int j=1;j<=n;j++)\r\n            {\r\n                cout<<t[i][j]<<"  ";\r\n            }\r\n            cout<<endl;\r\n        }*/\r\n        ans++;\r\n        return;\r\n    }\r\n    int l=0;\r\n    for(int i=1;i<=2;i++)\r\n    {\r\n        for(int j=1;j<=n;j++)\r\n        {\r\n            if(t[i][j]==0)\r\n            {\r\n                for(int x=1;x<=p;x++)\r\n                {\r\n                    if(used[c[x]]==0&&(c[x]>t[i-1][j]||t[i-1][j]==0)&&(c[x]<t[i+1][j]||t[i+1][j]==0)&&(c[x]>t[i][j-1]||t[i][j-1]==0)&&(c[x]<sk[i][j+1]||sk[i][j+1]==0))\r\n                    {\r\n                        used[c[x]]=1;\r\n                        t[i][j]=c[x];\r\n                        f3(br+1);\r\n                        t[i][j]=0;\r\n                        used[c[x]]=0;\r\n                        l=1;\r\n                    }\r\n                }\r\n                if(l==1)return;\r\n            }\r\n            \r\n        }\r\n    }\r\n}\r\nvoid f2(int x,int br)\r\n{\r\n    if(br==k+1)\r\n    {\r\n        f3(1);\r\n        return;\r\n    }\r\n    if(x>n)return;\r\n    if(k-br+1<n-x+1)\r\n    {\r\n        sk[2][x]=b[br];\r\n        f2(x+1,br);\r\n        sk[2][x]=0;\r\n    }\r\n    t[2][x]=b[br];\r\n    sk[2][x]=b[br];\r\n    if(b[br]>t[1][x]) f2(x+1,br+1);\r\n    sk[2][x]=0;\r\n    t[2][x]=0;\r\n}\r\nvoid f1(int x,int br)\r\n{\r\n    if(br==m+1)\r\n    {\r\n        f2(1,1);\r\n        return;\r\n    }\r\n    if(x>n)return;\r\n    if(m-br+1<n-x+1)\r\n    {\r\n        sk[1][x]=a[br];\r\n        f1(x+1,br);\r\n        sk[1][x]=0;\r\n    }\r\n    t[1][x]=a[br];\r\n    sk[1][x]=a[br];\r\n    f1(x+1,br+1);\r\n    sk[1][x]=0;\r\n    t[1][x]=0;\r\n}\r\nint main()\r\n{\r\n    cin>>n;\r\n    cin>>m;\r\n    for(int i=1;i<=m;i++)\r\n    {\r\n        cin>>a[i];\r\n        used[a[i]]=1;\r\n    }\r\n    cin>>k;\r\n    for(int i=1;i<=k;i++)\r\n    {\r\n        cin>>b[i];\r\n        used[b[i]]=1;\r\n    }\r\n    for(int i=1;i<=n*2;i++)\r\n    {\r\n       // t[3][i]=10000;\r\n        if(used[i]==0)\r\n        {\r\n            p++;\r\n            c[p]=i;\r\n            //cout<<i<<endl;\r\n        }\r\n        used[i]=0;\r\n    }\r\n    /*t[3][n*2+1]=10000;\r\n    t[2][n*2+1]=10000;\r\n    t[1][n*2+1]=10000;\r\n    sk[1][n*2+1]=10000;\r\n    sk[1][n*2]=10000;\r\n    sk[2][n*2+1]=10000;\r\n    sk[2][n*2]=10000;\r\n    sk[0][n*2+1]=10000;\r\n    sk[0][n*2]=10000;*/\r\n    sort(a+1,a+1+m);\r\n    sort(b+1,b+1+k);\r\n    f1(1,1);\r\n    cout<<ans<<endl;\r\n    return 0;\r\n}'
p3
tp4
stp5
.