#pragma GCC target("avx2") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #include int main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); int N, F; std::cin >> N >> F; std::vector A(N), B(N), C(N); for (auto &a : A) { std::cin >> a; } for (auto &b : B) { std::cin >> b; } for (auto &c : C) { std::cin >> c; } int now = 0; std::unordered_set St[2]; for (int i = 0; i < N; i++) { int nxt = 1 - now; for (auto p : St[now]) { St[nxt].insert(p); St[nxt].insert(p + A[i]); St[nxt].insert(p + B[i]); St[nxt].insert(p + C[i]); } St[nxt].insert(A[i]); St[nxt].insert(B[i]); St[nxt].insert(C[i]); now = nxt; std::cout << St[now].size() << '\n'; } }