It is now the year 2200 and programming contest activities have spread around the world like never before. It has been estimated that there may be as many as 107 world class contestants in the world. Now your job is to form a team consisting of contestants only. Exactly one of the team members must be a team leader (TL), exactly one must be lead developer (LD), exactly one must be lead tester (LT), exactly one must be marketing manager (MM). Of course same person can hold more than one of these four posts. Anyone not holding any of these posts is an ordinary worker (OW). Given the total number of world class contestants N, your task is to find out in how many ways can you form such a team. Two teams are different, if any one of the following conditions is satisfied: i) Total number of contestants in the two teams is different. ii) Two teams have same number of contestants and at least one contestant is different. iii) Two teams have same contestants and at least one contestant plays different role. For example consider the following teams: Team A Team B Team C Team D Team E Member 1 Contestant A (TL) Contestant A (TL & MM) Contestant A (TL) Contestant A (TL) Contestant A (TL & LD && MM) Member 2 Contestant B (LD) Contestant B (LD) Contestant B (LD) Contestant B (LD) Contestant B (OW) Member 3 Contestant C (LT) Contestant C (LT) Contestant C (LT) Contestant D (MM) Contestant D (OW) Member 4 Contestant D(MM) Contestant D (OW) Contestant E(MM) Contestant C (LT) Contestant C (LT) Here Team A and Team B are different (although members are same) as contestant A and contestant D have difference in their roles, Team A and Team C are different because member 4 are two different persons, Team A and Team D is the same team as all members and their corresponding roles are same (only written in different order). Team E is valid because there can be more than one OW. Input The input file contains at most 10001 lines of input. Each line contains an integer N (0 < N < 10000001) denoting the total number of world class contestants. Input is terminated by a line containing a single zero. This line should not be processed. Output For each line of input produce one line of output. This line contains an integer W denoting the total number of ways to form a team. As this value can be too big, please output the modulo 100000007 (108 + 7) value of W (or W % 100000007). Sample Input 2 4 100 0
2/2 Sample Output 18 680 95856450