/* 
 * This code is from "Algorithms in C, Third Edition,"
 * by Robert Sedgewick, Addison Wesley Longman, 1998.
 */
void hanoi(int N, int d)
  {
    if (N == 0) return;
    hanoi(N-1, -d);
    printf("%d ", d*N);
    /* shift(N, d); */
    hanoi(N-1, -d);
  }  

main(int argc, char *argv[])
{
  int N=atoi(argv[1]);
  hanoi(N,1);
  putchar('\n');
}


