#include <iostream>
using namespace std;
pair<int, int> dp[1000];
int main() {
for (int i = 1; i < 453; i++){
int counter = 1;
for (int j = 1; j <= i; j++){
if (counter > i){
dp[i].first = 0;
break;
}
if (dp[i - counter].first == 0){
dp[i].first = 1;
dp[i].second = i-counter;
break;
}
counter*=2;
}
}
for (int i=0; i<100; i++){
cout<<i<<" "<<dp[i].first<<" "<<dp[i].second<<endl;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwpwYWlyPGludCwgaW50PiBkcFsxMDAwXTsKaW50IG1haW4oKSB7Cglmb3IgKGludCBpID0gMTsgaSA8IDQ1MzsgaSsrKXsKCQlpbnQgY291bnRlciA9IDE7CgkJZm9yIChpbnQgaiA9IDE7IGogPD0gaTsgaisrKXsKCQkJaWYgKGNvdW50ZXIgPiBpKXsKCQkJCWRwW2ldLmZpcnN0ID0gMDsKCQkJCWJyZWFrOwoJCQl9CgkJCWlmIChkcFtpIC0gY291bnRlcl0uZmlyc3QgPT0gMCl7CgkJCQlkcFtpXS5maXJzdCA9IDE7CgkJCQlkcFtpXS5zZWNvbmQgPSBpLWNvdW50ZXI7CgkJCQlicmVhazsKCQkJfQoJCQljb3VudGVyKj0yOwoJCX0KCX0KCWZvciAoaW50IGk9MDsgaTwxMDA7IGkrKyl7CgkJY291dDw8aTw8IiAiPDxkcFtpXS5maXJzdDw8IiAiPDxkcFtpXS5zZWNvbmQ8PGVuZGw7Cgl9Cn0=