EduBrick

Беззнаковая арифметика

2000 мс · 256 МБ · всё или ничего

Даны два беззнаковых 64-битных числа. Выведите их сумму и разность, посчитанные в типе unsigned long long.

Беззнаковое переполнение не считается ошибкой: результат берётся по модулю 2642^{64}. Именно это и надо воспроизвести.

Формат ввода

Одна строка: aa и bb от 00 до 1844674407370955161518446744073709551615.

Формат вывода

Два числа через пробел: (a+b)mod264(a + b) \bmod 2^{64} и (ab)mod264(a - b) \bmod 2^{64}.

Примеры

ввод
3 4
вывод
7 18446744073709551615

Примечание

Для знаковых типов переполнение — неопределённое поведение, и компилятор вправе считать, что его не бывает. Для беззнаковых оно определено стандартом: результат берётся по модулю 2642^{64}. Поэтому 0u - 1 — это не ошибка, а 42949672954294967295 для unsigned int.

Войдите, чтобы отправлять решения.