#include <stdio.h>
long get_max_profit(long n){
if(n%4 != 0 || n%3 != 0) return n;
return get_max_profit(n/4) + get_max_profit(n/3) + get_max_profit(n/2);
}
int main(void) {
long n;
long *dp
= malloc(sizeof(long) * 250000000); for(long i = 0; i < 250000000; i += 1) dp[i] = 0;
while(scanf("%ld", &n
) == 1){ printf("%ld\n", get_max_profit
(n
)); }
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgpsb25nIGdldF9tYXhfcHJvZml0KGxvbmcgbil7CglpZihuJTQgIT0gMCB8fCBuJTMgIT0gMCkgcmV0dXJuIG47CglyZXR1cm4gZ2V0X21heF9wcm9maXQobi80KSArIGdldF9tYXhfcHJvZml0KG4vMykgKyBnZXRfbWF4X3Byb2ZpdChuLzIpOwp9CgppbnQgbWFpbih2b2lkKSB7Cglsb25nIG47Cglsb25nICpkcCA9IG1hbGxvYyhzaXplb2YobG9uZykgKiAyNTAwMDAwMDApOwoJZm9yKGxvbmcgaSA9IDA7IGkgPCAyNTAwMDAwMDA7IGkgKz0gMSkgZHBbaV0gPSAwOwoJd2hpbGUoc2NhbmYoIiVsZCIsICZuKSA9PSAxKXsKCQlwcmludGYoIiVsZFxuIiwgZ2V0X21heF9wcm9maXQobikpOwoJfQoKCXJldHVybiAwOwp9