#include <bits/stdc++.h>
using namespace std;
int q;
int mon1[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
int mon2[13] = {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
void solve1(int k) {
int y = -4713, m = 1, d = 1;
if (k >= 366) k -= 366, y++;
y += k / 1461 * 4, k %= 1461;
y += k / 365, k %= 365;
if ((y + 1) % 4 == 0) {
for (int i = 1; i <= 12; i++) {
if (k >= mon2[i]) k -= mon2[i], m++;
else break;
}
cout << 1 + k << " " << m << " " << y * (-1) << " BC" << endl;
return;
} else {
for (int i = 1; i <= 12; i++) {
if (k >= mon1[i]) k -= mon1[i], m++;
else break;
}
cout << 1 + k << " " << m << " " << y * (-1) << " BC" << endl;
return;
}
}
void solve2(int k) {
int y = 1, m = 1, d = 1;
y += k / 1461 * 4, k %= 1461;
y += k / 365, k %= 365;
if (y % 4 == 0) {
for (int i = 1; i <= 12; i++) {
if (k >= mon2[i]) k -= mon2[i], m++;
else break;
}
cout << 1 + k << " " << m << " " << y << endl;
return;
} else {
for (int i = 1; i <= 12; i++) {
if (k >= mon1[i]) k -= mon1[i], m++;
else break;
}
cout << 1 + k << " " << m << " " << y << endl;
return;
}
}
void solve3(int k) {
if (k < 78) {
if (k <= 16) cout << 15 + k << " " << 10 << " " << 1582 << endl;
else if (k <= 16 + 30) cout << 1 + k - 17 << " " << 11 << " " << 1582 << endl;
else cout << 1 + k - 47 << " " << 12 << " " << 1582 << endl;
return;
}
int y = 1583, m = 1, d = 1;
k -= 77;
int cnt = 0;
if (k < 6576) {
for (int i = 0; i <= 17; i++) {
int t = y + i;
if (t % 4 == 0) {
if (k >= 366) cnt++, k -= 366;
else break;
} else {
if (k >= 365) cnt++, k -= 365;
else break;
}
}
y = y + cnt;
if (y % 4 == 0) {
for (int i = 1; i <= 12; i++) {
if (k >= mon2[i]) k -= mon2[i], m++;
else break;
}
cout << 1 + k << " " << m << " " << y << endl;
return;
} else {
for (int i = 1; i <= 12; i++) {
if (k >= mon1[i]) k -= mon1[i], m++;
else break;
}
cout << 1 + k << " " << m << " " << y << endl;
return;
}
}
y = 1601; k-= 6576;
y += k / 146097 * 400, k %= 146097;
y += k / 36524 * 100, k %= 36524;
y += k / 1461 * 4, k %= 1461;
y += k / 365, k %= 365;
if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0) {
for (int i = 1; i <= 12; i++) {
if (k >= mon2[i]) k -= mon2[i], m++;
else break;
}
cout << 1 + k << " " << m << " " << y << endl;
return;
} else {
for (int i = 1; i <= 12; i++) {
if (k >= mon1[i]) k -= mon1[i], m++;
else break;
}
cout << 1 + k << " " << m << " " << y << endl;
return;
}
}
int main() {
cin >> q;
while (q--) {
int r;
cin >> r;
if (r < 1721424) solve1(r);
else if (r < 1721424 + 577737) solve2(r - 1721424);
else solve3(r - 1721424 - 577737);
}
return 0;
}