#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")