//yukicoder contest 458 G #include using namespace std; using ll = long long; int main() { int N, F; cin >> N >> F; vector A(N), B(N), C(N); for(int i = 0; i < N; i ++) cin >> A[i]; for(int i = 0; i < N; i ++) cin >> B[i]; for(int i = 0; i < N; i ++) cin >> C[i]; map lastFk; for(int k = 0; k < N; k ++) { map fk; if(k == 0) { fk[A[k]] = true, fk[B[k]] = true, fk[C[k]] = true; } else { for(auto i: lastFk) { fk[i.first + A[k]] = true, fk[i.first + B[k]] = true, fk[i.first + C[k]] = true; } } cout << fk.size() << endl; lastFk = fk; } return 0; }