const int N = 20; int c[N]; // graph int end[1 << N]; // 2^n * n бит памяти void calc() { forn(i, n) end[1 << i] = 1 << i; forn(A, 1 << n) forn(j, n) if (c[j] & end[A]) is[A | (1 << j)] |= 1 << j; }