(I2
I103
I6
(dp0
Vtable.%l
p1
(Vtable_dumbest.cpp
p2
S'#include <bits/stdc++.h>\r\nusing namespace std;\r\n\r\nvector<int> subset(vector <int> &v, int len)\r\n{\r\n    vector<int> rt;\r\n    for(int i=0;i<len;i++)rt.push_back(v[i]);\r\n    return rt;\r\n}\r\n\r\nint n, m, k;\r\nint main()\r\n{\r\n    ios::sync_with_stdio(false);\r\n    cin.tie(nullptr);\r\n    int n;\r\n    cin>>n;\r\n    vector<bool> isA(n*2, false), isB(n*2, false), isC(n*2, true);\r\n\r\n    cin>>m;\r\n    for(int i=0;i<m;i++)\r\n    {\r\n        int j;\r\n        cin>>j;\r\n        isA[j]=true;\r\n        isC[j]=false;\r\n    }\r\n\r\n    cin>>k;\r\n    for(int i=0;i<k;i++)\r\n    {\r\n        int j;\r\n        cin>>j;\r\n        isB[j]=true;\r\n        isC[j]=true;\r\n    }\r\n\r\n    vector<int> a, b;\r\n    for(int i=1;i<=n*2;i++)\r\n    {\r\n        if(isA[i]||isC[i])a.push_back(i);\r\n        if(isB[i]||isC[i])b.push_back(i);\r\n    }\r\n\r\n    int answer=0;\r\n\r\n    vector<bool> used(n*2+1, false);\r\n    do\r\n    {\r\n        for(int i=0, prev=-1;i<n;i++)\r\n        {\r\n            if(a[i]<prev)goto nxt1;\r\n            if(isB[a[i]])goto nxt1;\r\n            if(used[a[i]])goto nxt1;\r\n            prev=a[i];\r\n        }\r\n        for(int i=0;i<n;i++)used[a[i]]=true;\r\n        do\r\n        {\r\n            for(int i=0, prev=-1;i<n;i++)\r\n            {\r\n                if(b[i]<a[i])goto nxt2;\r\n                if(b[i]<prev)goto nxt2;\r\n                if(isA[b[i]])goto nxt2;\r\n                if(used[b[i]])goto nxt2;\r\n                prev=b[i];\r\n            }\r\n\r\n            answer++;\r\n\r\n            nxt2:;\r\n\r\n        }while(next_permutation(b.begin(), b.end()));\r\n\r\n        for(int i=0;i<n;i++)used[a[i]]=false;\r\n        sort(b.begin(), b.end());\r\n\r\n        nxt1:;\r\n    }while(next_permutation(a.begin(), a.end()));\r\n\r\n    printf("%d\\n", answer/((2*n-1)*(2*n-1)-1));\r\n}\r\n/*\r\n4\r\n2 3 2\r\n3 4 8 7\r\n*/\r\n'
p3
tp4
stp5
.