Подвоєна сума квадратів
Обмеження: 2 сек., 256 МіБ
Задано qq пар цілих чисел aiai та bibi.
Для кожної пари знайдіть два цілі числа xixi та yiyi такі, що:
x2i+y2i=2⋅(a2i+b2i)x2i+y2i=2⋅(a2i+b2i)
0≤xi,yi≤2⋅1090≤xi,yi≤2⋅109
Можна довести, що такі числа завжди існують.
«А куди ж ділися Зеник і Марічка?» — спитаєте ви. Зараз вони зайняті своїми справами, а поки ви розв’яжете цю задачу, вони встигнуть повернутися.
Вхідні дані
У першому рядку задано qq — кількість запитів, на які необхідно відповісти.
У наступних qq рядках задано по два цілі числа aiai та bibi.
Вихідні дані
У qq рядках виведіть по два цілі числа xixi та yiyi.
Обмеження
1≤q≤1051≤q≤105,
0≤ai,bi≤1090≤ai,bi≤109.
Приклади
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
2 0 5 1 2 | 1 7 1 3 |
Примітки
12+72=50=2⋅(02+52)=2⋅2512+72=50=2⋅(02+52)=2⋅25.
12+32=10=2⋅(12+22)=2⋅512+32=10=2⋅(12+22)=2⋅5.
Джерело: The Algo Battles 2023 - Етап 4