#include <stdio.h>
#include <vector>
using namespace std;
int n;
vector <char> ans;
bool flag;
void Print(int x, int y, int w){
if(x + y > n)return ;
else if(x + y == n){
flag = true;
for(int i=0; i<ans.size(); i++)printf("%c", ans[i]);
// last character is always X
printf("X\n");
}
if(w == 1 || w == -1){
ans.push_back('X');
Print(x+y, y, 0);
ans.pop_back();
ans.push_back('Y');
Print(x, x+y, 1);
ans.pop_back();
}else{
ans.push_back('Y');
Print(x, x+y, 1);
ans.pop_back();
ans.push_back('X');
Print(x+y, y, 0);
ans.pop_back();
}
}
int main()
{
int t;
scanf("%d", &t);
while(t--){
scanf("%d", &n);
flag = false;
Print(1, 1, -1);
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDx2ZWN0b3I+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG47CnZlY3RvciA8Y2hhcj4gYW5zOwoKYm9vbCBmbGFnOwoKdm9pZCBQcmludChpbnQgeCwgaW50IHksIGludCB3KXsKCWlmKHggKyB5ID4gbilyZXR1cm4gOwoJZWxzZSBpZih4ICsgeSA9PSBuKXsKCQlmbGFnID0gdHJ1ZTsKCQlmb3IoaW50IGk9MDsgaTxhbnMuc2l6ZSgpOyBpKyspcHJpbnRmKCIlYyIsIGFuc1tpXSk7CgkJLy8gbGFzdCBjaGFyYWN0ZXIgaXMgYWx3YXlzIFgKCQlwcmludGYoIlhcbiIpOwoJfQoJaWYodyA9PSAxIHx8IHcgPT0gLTEpewoJCWFucy5wdXNoX2JhY2soJ1gnKTsKCQlQcmludCh4K3ksIHksIDApOwoJCWFucy5wb3BfYmFjaygpOwoJCWFucy5wdXNoX2JhY2soJ1knKTsKCQlQcmludCh4LCB4K3ksIDEpOwoJCWFucy5wb3BfYmFjaygpOwoJfWVsc2V7CgkJYW5zLnB1c2hfYmFjaygnWScpOwoJCVByaW50KHgsIHgreSwgMSk7CgkJYW5zLnBvcF9iYWNrKCk7CQoJCWFucy5wdXNoX2JhY2soJ1gnKTsKCQlQcmludCh4K3ksIHksIDApOwoJCWFucy5wb3BfYmFjaygpOwoJfQp9CgppbnQgbWFpbigpCnsKCWludCB0OwoJc2NhbmYoIiVkIiwgJnQpOwoJCgl3aGlsZSh0LS0pewoJCXNjYW5mKCIlZCIsICZuKTsKCQkKCQlmbGFnID0gZmFsc2U7CgkKCQlQcmludCgxLCAxLCAtMSk7Cgl9Cn0=