#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#define ar array
#define vt vector
#define pq priority_queue
#define pu push
#define pub push_back
#define em emplace
#define emb emplace_back
#define all(x) x.begin(), x.end()
#define allr(x) x.rbegin(), x.rend()
#define allp(x, l, r) x.begin() + l, x.begin() + r
#define len(x) (int)x.size()
using namespace std;
using namespace __gnu_pbds;
using ll = long long;
using ld = long double;
using ull = unsigned long long;
template <class T, size_t N>
void re(array <T, N>& x);
template <class T>
void re(vt <T>& x);
template <class T>
void re(T& x) {
cin >> x;
}
template <class T, class... M>
void re(T& x, M&... args) {
re(x); re(args...);
}
template <class T>
void re(vt <T>& x) {
for(auto& it : x)
re(it);
}
template <class T, size_t N>
void re(array <T, N>& x) {
for(auto& it : x)
re(it);
}
template <class T, size_t N>
void wr(array <T, N> x);
template <class T>
void wr(vt <T> x);
template <class T>
void wr(T x) {
cout << x;
}
template <class T, class ...M> void wr(T x, M... args) {
wr(x), wr(args...);
}
template <class T>
void wr(vt <T> x) {
for(auto it : x)
wr(it, ' ');
}
template <class T, size_t N>
void wr(array <T, N> x) {
for(auto it : x)
wr(it, ' ');
}
inline void Open(const string Name) {
#ifndef ONLINE_JUDGE
(void)!freopen((Name + ".in").c_str(), "r", stdin);
(void)!freopen((Name + ".out").c_str(), "w", stdout);
#endif
}
void solve() {
/* Not: gcd(a, b) = g */
/* There is always: a * x + b * y = g */
/* gcd(m * a, m * b) = m * g */
function <ll(ll, ll, ll&, ll&)> gcd;
ll a, b, c; re(a, b, c);
gcd = [&](ll a, ll b, ll& x, ll& y) {
if (b == 0) {
/* g * 1 + 0 * 0 = g */
x = 1;
y = 0;
return a;
}
/* Let's assume we found the coefficients (x1, y1) for (b, a mod b);
and we want to find the pair (x, y) for (a, b): */
ll x1, y1;
ll d = gcd(b, a % b, x1, y1);
/* a mod b = a - floor(a / b) * b =>
g = b * x1 + (a mod b) * y1 = b * x1 + (a - floor(a / b) * b) * y1 => after rearranging the terms
g = a * y1 + b * (x1 - y1 * floor(a / b))
-------------------------------------------
x = y1 and y = x1 - y1 * floor(a / b)
*/
x = y1;
y = x1 - y1 * floor(a / b);
return d;
};
ll x, y;
ll d = gcd(a, b, x, y);
if(c % d == 0) {
wr(x * c / d, ' ', y * c / d, '\n');
return;
}
wr("0 0\n");
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
Open("euclid3");
int t; re(t);
for(;t;t--) {
solve();
}
return 0;
}