#include <array>
#include <fstream>
#include <iostream>
#include <tuple>
using uint = unsigned int;
int cmmdc_extins(int a, int b, int &x, int &y) {
if (b == 0) {
x = 1;
y = 0;
return a;
}
int x1, y1;
int d = cmmdc_extins(b, a % b, x1, y1);
x = y1;
y = x1 - y1 * (a / b);
return d;
}
int main() {
// Deschidem fișierul și în caz de succes, continuăm cu restul
// operațiilor de citire.
std::ifstream inFile;
inFile.open("euclid3.in", std::ios::in);
if (inFile.is_open()) {
uint numarDeLinii;
inFile >> numarDeLinii;
std::ofstream outFile;
outFile.open("euclid3.out", std::ios::out);
if (outFile.is_open()) {
int a, b, c, x, y;
for (uint i = 0; i < numarDeLinii; i++) {
inFile >> a >> b >> c;
int cmmdc = cmmdc_extins(a, b, x, y);
if (c % cmmdc == 0)
outFile << x * (c / cmmdc) << " " << y * (c / cmmdc) << '\n';
else
outFile << "0 0\n";
}
outFile.close();
} else
std::cout << "Nu s-a putut scrie in fisier!" << std::endl;
inFile.close();
} else
std::cout << "Nu s-a putut deschide fisierul!" << std::endl;
return 0;
}