/*
裴蜀定理:对于任意整数a, b,都存在至少一对x, y, 使ax + by = gcd(a, b)
且gcd(a, b)是将a, b添上任意系数后能凑出来的最小的正整数
扩展欧几里得算法就是求x, y的过程
由欧几里得算法可知:gcd(a, b) = gcd(b, a mod b), gcd(a, 0) = a;
所以当b = 0时,x = 1, y = 0就是满足条件的一组解;(1 * a + 0 * b = 1 * a + 0 * 0 = a = gcd(a, 0))
当b != 0时, 设gcd(a, b) = d;
gcd(a, b) = gcd(b, a mod b)
by + (a mod b)x = d;
by + (a - ceil(a / b) * b)x = d (a mod b) = a - ceil(a / b) * b
by + ax - ceil(a / b) * b * x = d
ax + by - ceil(a / b) * bx = d
ax + b(y - ceil(a / b)x) = d
*/
#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;
int exgcd(int a, int b, int &x, int &y)
{
if (!b)
{
x = 1, y = 0;
return a;
}
int d = exgcd(b, a % b, y, x);
y -= a / b * x;
return d;
}
int main()
{
int t;
cin >> t;
while (t -- )
{
int a, b;
cin >> a >> b;
int x, y;
exgcd(a, b, x, y);
cout << x << ' ' << y << endl;
}
return 0;
}