#include using namespace std; #define NMAX 100000 int A[NMAX]; int main() { A[0] = 0; A[1] = 1; for ( int n = 2; n < NMAX; n++ ) if ( n % 2 == 0 ) A[n] = A[n/2]; else A[n] = A[n/2] + A[n/2+1]; int maxValue = 0; for ( int n = 0; n < NMAX; n++ ) { if ( maxValue < A[n] ) maxValue = A[n]; A[n] = maxValue; } int n; while ( cin >> n, n ) cout << A[n] << endl; return 0; }