#include #include #include #include using namespace std; int N, M; int A[1002], B[1002]; set S; int pos[1002]; inline bool compare(const int& i1, const int& i2) { return A[i1] < A[i2]; } int main() { cin.sync_with_stdio(false); cin >> N >> M; for (int i = 1; i <= N; ++i) { cin >> A[i]; pos[i] = i; } for (int i = 1; i <= M; ++i) cin >> B[i]; sort(B + 1, B + M + 1, greater()); sort(pos + 1, pos + N + 1, compare); for (int i = 1; i <= N; ++i) { bool done = false; for (int j = 1; j <= M && !done; ++j) if (S.find(A[pos[i]] - B[j]) == S.end()) { A[pos[i]] -= B[j]; S.insert(A[pos[i]]); done = true; } if (!done) S.insert(A[pos[i]]); } cout << S.size() << '\n'; for (int i = 1; i <= N; ++i) cout << A[i] << ' '; cout << '\n'; }