#include <iostream>
#include <iomanip>
#include <cassert>
#include <vector>
#include <algorithm>
#include <utility>
#include <numeric>
#include <bitset>
// #include "Src/Utility/BinarySearch.hpp"
// #include "Src/Sequence/CompressedSequence.hpp"
// #include "Src/Sequence/RunLengthEncoding.hpp"
// using namespace zawa;
// #include "atcoder/modint"
// using mint = atcoder::modint998244353;
const int MAX = 900000 + 100;
const int MAXN = 15000 + 10;
int N, F, A[MAXN], B[MAXN], C[MAXN];
int main() {
    std::cin.tie(nullptr);
    std::ios::sync_with_stdio(false);
    std::cout.tie(nullptr);
    std::cin >> N >> F;
    for (int i = 0 ; i < N ; i++) std::cin >> A[i];
    for (int i = 0 ; i < N ; i++) std::cin >> B[i];
    for (int i = 0 ; i < N ; i++) std::cin >> C[i];
    std::bitset<MAX> dp;
    dp[0] = 1;
    for (int i = 0 ; i < N ; i++) {
        dp = (dp << A[i]) | (dp << B[i]) | (dp << C[i]);
        std::cout << dp.count() << '\n';
    }
}