import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNextInt()) {
            int number = in.nextInt();
            int total = total(number);
            System.out.println(total);
        }
    }

    // 数值很大会栈溢出
//    static int total2(int num){
//        if (num == 1) {
//            return 1;
//        }
//        if (num % 2 == 0) {
//            return total2(num - 1) + total2(num / 2);
//        }else{
//            return total2(num - 1);
//        }
//    }

    static int total(int num) {
        List<Integer> list = new ArrayList<>();
        list.add(1);
        for (int i = 1; i <= num; i++) {
            if (i % 2 == 0) {
                list.add((list.get(i - 1) + list.get(i / 2)) % 1000000000);
            } else {
                list.add((list.get(i - 1)) % 1000000000);
            }
        }
        return list.get(num);
    }
}