(I2
I165
I6
(dp0
Vtable.%l
p1
(Vmain.cpp
p2
S'#include <iostream>\r\n#include <vector>\r\n#include <set>\r\n#include <algorithm>\r\nusing namespace std;\r\nvector<int> a;\r\nvector<int> b;\r\nset<int> as;\r\nset<int> bs;\r\nvector<int> g;\r\nvector<int> d;\r\nvector<int> c;\r\nvector<int> niz;\r\nset<vector<int> > res;\r\nint n,m,k,gn,dn, bn,bk;\r\n\r\nvoid proveri()\r\n{\r\n    for(int i=1; i<=2*n; i++)\r\n        {\r\n            if(niz[i]==1)\r\n                g.push_back(i);\r\n            else\r\n                d.push_back(i);\r\n        }\r\n        sort(g.begin(), g.end());\r\n        sort(d.begin(), d.end());\r\n        bool ok = true;\r\n        for(int i=0; i<n && ok; i++)\r\n        {\r\n            if(g[i] >= d[i])\r\n                ok = false;\r\n        }\r\n\r\n        if(ok)\r\n           {\r\n            if(res.count(g))\r\n                {g.clear();\r\n                d.clear();\r\n                    return;}\r\n              res.insert(g);\r\n              bn++;\r\n//              for(int i=0; i<n; i++)\r\n//                cerr << g[i];\r\n//              cerr << endl;\r\n//              for(int i=0; i<n; i++)\r\n//                cerr << d[i];\r\n//                cerr << endl;\r\n                g.clear();\r\n                d.clear();\r\n              return;\r\n           }\r\n}\r\n\r\n\r\nvoid popuni()\r\n{\r\n    if(bk > 100000000)\r\n        return;\r\n    if(gn == n-m)\r\n    {\r\n        proveri();\r\n        return;\r\n    }\r\n    bk++;\r\n    for(int j=0; j<2*n-m-k; j++)\r\n    {\r\n        int i = c[j];\r\n        if(gn<n && niz[i] == 0)\r\n       {\r\n        gn++;\r\n        niz[i] = 1;\r\n        popuni();\r\n        niz[i] = 0;\r\n        gn--;\r\n       }\r\n//        if(dn < n && niz[i] == 0)\r\n//       {\r\n//        dn++;\r\n//        niz[i] = 2;\r\n//        popuni();\r\n//        niz[i] = 0;\r\n//        dn--;\r\n//       }\r\n    }\r\n}\r\n\r\nint main()\r\n{\r\n\r\n    bk=0;\r\n    cin >> n;\r\n    cin >> m;\r\n    bn = 0;\r\n    a.resize(m);\r\n    niz.resize(2*n+5,0);\r\n    for(int i=0; i<m; i++)\r\n        {\r\n            cin >> a[i];\r\n            as.insert(a[i]);\r\n            niz[a[i]]=1;\r\n\r\n        }\r\n    cin >> k;\r\n    b.resize(k);\r\n    for(int i=0; i<k; i++)\r\n       {\r\n          cin >> b[i];\r\n          //cerr << "stigao";\r\n          bs.insert(b[i]);\r\n\r\n          niz[b[i]] = 2;\r\n       }\r\n\r\n    sort(a.begin(), a.end());\r\n    sort(b.begin(), b.end());\r\n\r\n    for(int i=1; i<2*n; i++)\r\n    {\r\n        if(!bs.count(i)&&!as.count(i))\r\n            c.push_back(i);\r\n    }\r\n    sort(c.begin(), c.end());\r\n    popuni();\r\n    cout << bn;\r\n    return 0;\r\n}\r\n'
p3
tp4
stp5
.