Дії над множинами
Перегляд у форматі PDFЯк відомо, множина — це сукупність елементів, що розглядається (вся сукупність) як єдине ціле. Зазвичай вважають, що множина не може містити один і той самий елемент кілька разів (лише або містить, або ні). Взагалі кажучи, елементи можуть бути різної природи, але у цій задачі елементами будуть лише цілі невід'ємні числа. Для множин відомі деякі стандартні операції. Ми розглянемо лише три найстандартніші з них:
Об'єднання (математичне позначення ⋃, воно ж ~\cup~, у нас позначається UNION) двох множин ~A~ та ~B~ — це множина всіх елементів, що належать хоча б одній з множин ~A~ або ~B~. Якщо елемент належить обом множинам, він все одно враховується один раз.
Перетин (математичне позначення ⋂, воно ж ~\cap~, у нас позначається INTERSECTION) двох множин ~A~ та ~B~ — це множина всіх елементів, що належать обом множинам ~A~ та ~B~ одночасно.
Різниця (математичне позначення \ (зворотня коса риска), у нас позначається DIFFERENCE) двох множин ~A~ та ~B~ — це множина всіх елементів, що належать множині ~A~, але не належать ~B~. Ця операція, єдина з трьох згаданих, несиметрична (не комутативна).
Напишіть програму, яка виконуватиме ці операції над множинами цілих невід'ємних чисел, поданих у вигляді монотонно зростаючих послідовностей, формуючи результат теж у вигляді монотонно зростаючої послідовності.
Вхідні дані
Вхідні дані завжди містять рівно 5 рядків.
1-ий: одне з трьох слів UNION або INTERSECTION або DIFFERENCE.
2-ий: єдине ціле число ~N~ (~1 \leqslant N \leqslant 123456~), що задає кількість елементів множини ~A~.
3-ій: послідовність з рівно ~N~ розділених одинарними пробілами чисел-елементів множини ~A~; ~0 \leqslant a_1 < a_2 < \dots < a_N \leqslant 10^9~.
4-ий та 5-ий рядки задають множину ~B~ у такому ж форматі, як 2-ий і 3-ій множину ~A~.
Результати
Виведіть у один рядок, розділяючи пробілами, усі елементи множини-відповіді. Рядок завершити символом переведення рядка.
Якщо результат не містить жодного елементу (наприклад, дія INTERSECTION, а ~A~ та ~B~ не мають спільних елементів), виведення повинно не містити жодного видимого символу, але містити переведення рядка.
Приклади
Вхід 1
UNION
3
2 3 5
3
1 2 4
Результат 1
1 2 3 4 5
Вхід 2
INTERSECTION
3
2 3 5
3
1 2 4
Результат 2
2
Вхід 3
DIFFERENCE
3
2 3 5
3
1 2 4
Результат 3
3 5
Коментарі