#include <stdio.h>
const vamax = 256;
int main(){
  char va[vamax], res[vamax];
  int index, i, tmp, max; 
  for(i=1;i<vamax;i++)
    va[i] = -1;
  index = 1;
  va[1] = 1;
  max = 0;
  while(index>=0){
    if(index>=vamax){
      printf("overflow");
      return 1;
    }
    if(va[index] == -1){
      tmp = 0;
      i = 0;
      while(i <= index){
        while((tmp < (0x80000000 / 10)) && (i <= index)){
          tmp *= 10;
          tmp += va[i++];
        }
        tmp %= (index + 1);
      }
      tmp = index - tmp;
    }else{
      tmp = va[index] + index + 1;
    }
    if((0 <= tmp) && (tmp <= 9)){
      va[index++] = tmp;
    }else{
      if(index >= max){
        max = index;
        for(i=0;i<index;i++)
          res[i] = va[i] + 48;
        res[index] = 0;
      } 
      va[index--]= -1; 
    }
  }
  printf(res);
  return 0;
}
3608528850368400786036725