(I2
I155
I6
(dp0
Vtable.%l
p1
(Vtable.cpp
p2
S'#include<iostream>\r\n#include<algorithm>\r\nusing namespace std;\r\nint n, m, k, u, i, nr;\r\nint a[100], b[100], c[100], v[100], f[100], f1[100];\r\nvoid sol(int x, int y){\r\n    if(x == m + 1 && y == k + 1){\r\n       int ok = 1;\r\n        for(int i = 1; i <= 2 * n; i++){\r\n            if(v[i] == 0){\r\n                ok = 0;\r\n                break;\r\n            }\r\n            if(i != n + 1 && v[i - 1] > v[i]){\r\n                ok = 0;\r\n                break;\r\n            }\r\n        }\r\n        nr += ok;\r\n    }\r\n}\r\nvoid back(int p, int x, int y){\r\n    if(p == 2 * n + 1){\r\n        sol(x, y);\r\n    }\r\n    else{\r\n        if(p <= n){\r\n            v[p] = a[x];\r\n            back(p + 1, x + 1, y);\r\n            for(int i = u; i >= 1; i--){\r\n                if(c[i] > v[p - 1]){\r\n                    if(f[c[i]] == 0){\r\n                        v[p] = c[i];\r\n                        f[ c[i] ] = 1;\r\n                        back(p + 1, x, y);\r\n                        f[ c[i] ] = 0;\r\n                    }\r\n                }\r\n                else{\r\n                    break;\r\n                }\r\n            }\r\n        }\r\n        else{\r\n            if(x == m + 1){\r\n                if(b[y] > v[p - n]){\r\n                    v[p] = b[y];\r\n                    back(p + 1, x, y + 1);\r\n                }\r\n                for(int i = u; i >= 1; i--){\r\n                    if(c[i] > v[p - 1] && c[i] > v[p - n]){\r\n                        if(f[c[i]] == 0){\r\n                            v[p] = c[i];\r\n                            f[ c[i] ] = 1;\r\n                            back(p + 1, x, y);\r\n                            f[ c[i] ] = 0;\r\n                        }\r\n                    }\r\n                    else{\r\n                        break;\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }\r\n}\r\nint main(){\r\n    cin>> n;\r\n    cin>> m;\r\n    for(i = 1; i <= m; i++){\r\n        cin>> a[i];\r\n        f1[ a[i] ] = 1;\r\n    }\r\n    cin>> k;\r\n    for(i = 1; i <= k; i++){\r\n        cin>> b[i];\r\n        f1[ b[i] ] = 1;\r\n    }\r\n    for(i = 1; i <= 2 * n; i++){\r\n        if(f1[i] == 0){\r\n            c[++u] = i;\r\n        }\r\n    }\r\n    sort(a + 1, a + m + 1);\r\n    sort(b + 1, b + k + 1);\r\n    back(1, 1, 1);\r\n    cout<< nr;\r\n    return 0;\r\n}'
p3
tp4
stp5
.