#include <iostream>
using namespace std;
//计算机科学的尽头是数学
//计算最大公约数
long long gcd(long long a,long long b){
if(b==0)return a;
else return gcd(b,a%b);
}
int main() {
int n;
long long h;
while (cin >> n >> h) { // 注意 while 处理多个 case
long long x,y,z;
while(n--){
cin>>x>>y>>z;
//坐标关于水面对称的点高是2*h-z,x和y坐标都相等
long long max=gcd(gcd(x,y),2*h-z);
cout<<x/max<<" "<<y/max<<" "<<(2*h-z)/max<<endl;
}
}
return 0;
}
// 64 位输出请用 printf("%lld")

京公网安备 11010502036488号