#include <iostream>
#include <cmath>
using namespace std;
// Funkcja obliczająca NWD dwóch liczb
int gcd(int a, int b) {
while (b != 0) {
int t = b;
b = a % b;
a = t;
}
return abs(a);
}
int main() {
int K, N;
int x1, y1, x2, y2;
int dx, dy,g,q;
// Wczytywanie danych
cin >> q;
for(int i = 0; i < q; i++){
cin >> K >> N;
cin >> x1 >> y1 >> x2 >> y2;
// Obliczanie różnic współrzędnych
dx = abs(x2 - x1);
dy = abs(y2 - y1);
// Obliczanie NWD dla K i N
int g = gcd(K, N);
cout << dx << " " << dy << " " << g << "\n";
// Sprawdzanie, czy można przejść z (x1, y1) do (x2, y2)
if (dx % g == 0 && dy % g == 0) {
cout << "TAK" << endl;
} else {
cout << "NIE" << endl;
}
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y21hdGg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgovLyBGdW5rY2phIG9ibGljemFqxIVjYSBOV0QgZHfDs2NoIGxpY3piCmludCBnY2QoaW50IGEsIGludCBiKSB7CiAgICB3aGlsZSAoYiAhPSAwKSB7CiAgICAgICAgaW50IHQgPSBiOwogICAgICAgIGIgPSBhICUgYjsKICAgICAgICBhID0gdDsKICAgIH0KICAgIHJldHVybiBhYnMoYSk7Cn0KCmludCBtYWluKCkgewogICAgaW50IEssIE47CiAgICBpbnQgeDEsIHkxLCB4MiwgeTI7CiAgICBpbnQgZHgsIGR5LGcscTsKICAgIC8vIFdjenl0eXdhbmllIGRhbnljaAogICAgY2luID4+IHE7CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgcTsgaSsrKXsKCSAgICBjaW4gPj4gSyA+PiBOOwoJICAgIGNpbiA+PiB4MSA+PiB5MSA+PiB4MiA+PiB5MjsKCSAgICAKCSAgICAvLyBPYmxpY3phbmllIHLDs8W8bmljIHdzcMOzxYJyesSZZG55Y2gKCSAgICBkeCA9IGFicyh4MiAtIHgxKTsKCSAgICBkeSA9IGFicyh5MiAtIHkxKTsKCSAgICAKCSAgICAvLyBPYmxpY3phbmllIE5XRCBkbGEgSyBpIE4KCSAgICBpbnQgZyA9IGdjZChLLCBOKTsKCSAgICBjb3V0IDw8IGR4IDw8ICIgIiA8PCBkeSA8PCAiICIgPDwgZyA8PCAiXG4iOwoJICAgIC8vIFNwcmF3ZHphbmllLCBjenkgbW/FvG5hIHByemVqxZvEhyB6ICh4MSwgeTEpIGRvICh4MiwgeTIpCgkgICAgaWYgKGR4ICUgZyA9PSAwICYmIGR5ICUgZyA9PSAwKSB7CgkgICAgICAgIGNvdXQgPDwgIlRBSyIgPDwgZW5kbDsKCSAgICB9IGVsc2UgewoJICAgICAgICBjb3V0IDw8ICJOSUUiIDw8IGVuZGw7CgkgICAgfQogICAgfQogICAgcmV0dXJuIDA7Cn0=