#include <bits/stdc++.h>
using namespace std;

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int n, m;
    cin >> n >> m;
    vector<int> as(n), bs(m), isec;
    set<int> ss;
    for (int i = 0; i < n; i++) {
        cin >> as[i];
        ss.insert(as[i]);
    }
    for (int i = 0; i < m; i++) {
        cin >> bs[i];
        ss.insert(bs[i]);
    }
    sort(as.begin(), as.end());
    sort(bs.begin(), bs.end());
    set_intersection(as.begin(), as.end(), bs.begin(), bs.end(), back_inserter(isec));
    cout << isec.size() << ' ' << ss.size() << endl;
    for (int c : isec) {
        cout << c << '\n';
    }
    for (int s : ss) {
        cout << s << '\n';
    }
}
