(I2
I151
I6
(dp0
Vtable.%l
p1
(Vtable.cpp
p2
S'// DAMANI TE IUBESTE!\r\n#include<cstdio>\r\n#include<algorithm>\r\n#define fin stdin\r\n#define fout stdout\r\n\r\nusing namespace std;\r\n\r\n//FILE *fin = fopen( "table.in", "r" ), *fout = fopen( "table.out", "w" );\r\n\r\nconst int cmax = 37;\r\nconst int nmax = 2 * 35;\r\nint n, x, y, k, ans;\r\nbool f[ nmax + 1 ];\r\nint a[ nmax + 1 ], b[ nmax + 1 ], c[ nmax + 1 ], d[ nmax + 1 ], e[ nmax + 1 ];\r\nint p[ nmax + 1 ], q[ nmax + 1 ];\r\n\r\nvoid interclasare( int v[], int u[], int s[], int m, int l ) {\r\n    int i = 1, j = 1;\r\n    int w = 0;\r\n    while ( i <= m && j <= l ) {\r\n        if ( v[ i ] < u[ j ] ) {\r\n            s[ ++ w ] = v[ i ++ ];\r\n        } else {\r\n            s[ ++ w ] = u[ j ++ ];\r\n        }\r\n    }\r\n    \r\n    while ( i <= m ) s[ ++ w ] = v[ i ++ ];\r\n    while ( j <= l ) s[ ++ w ] = u[ j ++ ];\r\n}\r\nbool check() {\r\n    interclasare( a, e, p, x, n - x );\r\n    interclasare( b, d, q, y, n - y );\r\n    for( int i = 1; i <= n; ++ i ) {\r\n        if ( p[ i ] > q[ i ] ) \r\n            return 0;\r\n    }\r\n    return 1;\r\n}\r\nvoid bcka( int pas, int ind ) {\r\n    if ( pas == n - x + 1 ) {\r\n        int shp = 0;\r\n        for( int i = 1; i <= 2 * n; ++ i ) {\r\n            if ( f[ i ] == 0 ) {\r\n                d[ ++ shp ] = i;\r\n            }\r\n        }\r\n        ans += check();\r\n        return ;\r\n    }\r\n    for( int i = ind + 1; i <= k; ++ i ) {\r\n        e[ pas ] = c[ i ];\r\n        f[ c[ i ] ] = 1;\r\n        bcka( pas + 1, i );\r\n        f[ c[ i ] ] = 0;\r\n    }\r\n}\r\nvoid bckb( int pas, int ind ) {\r\n    if ( pas == n - y + 1 ) {\r\n        int shp = 0;\r\n        for( int i = 1; i <= 2 * n; ++ i ) {\r\n            if ( f[ i ] == 0 ) {\r\n                e[ ++ shp ] = i;\r\n            }\r\n        }\r\n        ans += check();\r\n        return ;\r\n    }\r\n    for( int i = ind + 1; i <= k; ++ i ) {\r\n        d[ pas ] = c[ i ];\r\n        f[ c[ i ] ] = 1;\r\n        bckb( pas + 1, i );\r\n        f[ c[ i ] ] = 0;\r\n    }\r\n}\r\nint main() {\r\n    fscanf( fin, "%d", &n );\r\n    \r\n    fscanf( fin, "%d", &x );\r\n    for( int i = 1; i <= x; ++ i ) {\r\n        fscanf( fin, "%d", &a[ i ] );\r\n        f[ a[ i ] ] = 1;\r\n    }\r\n    fscanf( fin, "%d", &y );\r\n    for( int i = 1; i <= y; ++ i ) {\r\n        fscanf( fin, "%d", &b[ i ] );\r\n        f[ b[ i ] ] = 1;\r\n    }\r\n    \r\n    k = 0;\r\n    for( int i = 1; i <= 2 * n; ++ i ) {\r\n        if( f[ i ] == 0 ) {\r\n            c[ ++ k ] = i;\r\n        }\r\n    }\r\n    sort( a + 1, a + x + 1 ); sort( b + 1, b + y + 1 );\r\n    \r\n    if ( n - x < n - y ) {\r\n        bcka( 1, 0 );\r\n    } else {\r\n       bckb( 1, 0 ); \r\n    }\r\n    fprintf( fout, "%d\\n", ans );\r\n    return 0;\r\n}'
p3
tp4
stp5
.