(I2
I159
I6
(dp0
Vtable.%l
p1
(Vmain.c
p2
S'#include <stdio.h>\r\n#define MAX_N 35\r\n#define A 1\r\n#define B 2\r\n#define C 0\r\n\r\nint table[ 2 ][ MAX_N ];\r\nint f[ 1 + MAX_N ];\r\nint a[ 1 + MAX_N ];\r\nint b[ 1 + MAX_N ];\r\nint v[ 1 + MAX_N ];\r\n\r\nint iB;\r\n\r\nint inB( int e ) {\r\n  int i;\r\n  i = 0;\r\n  while( i < iB && b[ i ] != e )\r\n    i++;\r\n  return i < iB;\r\n}\r\n\r\nint bkt( int poz , int k , int n ,  int st) {\r\n  int i , j , s;\r\n  s = 0;\r\n  if( poz == k ) {\r\n    int corect;\r\n    for( i = 0 ; i < k ; i++ ) {\r\n      table[ 0 ][ i ] = a[ v[ i ] ];\r\n    }\r\n    j = 0;\r\n    corect = 1;\r\n    for( i = 1 ; i <= 2 * n ; i++ )\r\n      if( f[ i ] == 0 && inB( i )) {\r\n        table[ 1 ][ j ] = i;\r\n        if( table[ 1 ][ j ] < table[ 0 ][ j ] )\r\n          corect = 0;\r\n        j++;\r\n      }\r\n    s = ( corect && j == k );\r\n  } else {\r\n    for( v[ poz ] = st ; v[ poz ] < n ; v[ poz ]++ )\r\n      if( f [ a[ v[ poz ] ] ] == 0 ) {\r\n        f [ a[ v[ poz ] ] ] = 1;\r\n        s += bkt( poz + 1 , k , n , v[ poz ] + 1 );\r\n        f [ a[ v[ poz ] ] ] = 0;\r\n      }\r\n  }\r\n  return s;\r\n}\r\n\r\nint main(){\r\n  int n , nA , nB , i , x , sol , iA ;\r\n  scanf( "%d" , &n );\r\n\r\n  scanf( "%d" , &nA );\r\n  for( i = 0 ; i < nA ; i++ ) {\r\n    scanf( "%d" , &x );\r\n    f[ x ] = A;\r\n  }\r\n  scanf( "%d" , &nB );\r\n  for( i = 0 ; i < nB ; i++ ) {\r\n    scanf( "%d" , &x );\r\n    f[ x ] = B;\r\n  }\r\n\r\n  iA = iB = 0;\r\n  for( i = 1 ; i <= 2 * n ; i++ ) {\r\n    if( f[ i ] == A ) {\r\n      a[ iA ] = i;\r\n      iA++;\r\n    } else if( f[ i ] == B ) {\r\n      b[ iB ] = i;\r\n      iB++;\r\n    } else {\r\n      a[ iA ] = i;\r\n      b[ iB ] = i;\r\n      iA++;\r\n      iB++;\r\n    }\r\n  }\r\n\r\n  for( i = 1 ; i <= 2 * n ; i++ )\r\n    f[ i ] = 0;\r\n\r\n  sol = bkt( 0 , n , iA , 0 );\r\n  printf( "%d" , sol );\r\n\r\n  return 0;\r\n}\r\n'
p3
tp4
stp5
.