#include <stdio.h>
#include <stdlib.h>
void chain(int value) {
while (value > 1) {
if (!(value % 2)) {
value /= 2;
} else {
value *= 3;
value += 1;
}
}
}
int main(int argc, char *argv[]) {
int i;
for (i = 1; i < argc; i++) {
int value
= strtol(argv
[i
], NULL
, 10); if (value > 0) {
chain(value);
}
}
return EXIT_SUCCESS;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCnZvaWQgY2hhaW4oaW50IHZhbHVlKSB7CglwcmludGYoIlsiKTsKCXByaW50ZigiICVkIiwgdmFsdWUpOwoJd2hpbGUgKHZhbHVlID4gMSkgewoJCWlmICghKHZhbHVlICUgMikpIHsKCQkJdmFsdWUgLz0gMjsKCQl9IGVsc2UgewoJCQl2YWx1ZSAqPSAzOwoJCQl2YWx1ZSArPSAxOwoJCX0KCQlwcmludGYoIiwgJWQiLCB2YWx1ZSk7Cgl9CglwcmludGYoIiBdXG4iKTsKfQoKaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkgewoJaW50IGk7CgoJZm9yIChpID0gMTsgaSA8IGFyZ2M7IGkrKykgewoJCWludCB2YWx1ZSA9IHN0cnRvbChhcmd2W2ldLCBOVUxMLCAxMCk7CgkJaWYgKHZhbHVlID4gMCkgewoJCQljaGFpbih2YWx1ZSk7CgkJfQoJfQoJcHJpbnRmKCJcbiIpOwoKCXJldHVybiBFWElUX1NVQ0NFU1M7Cn0KCg==