A child is running up a staircase with n steps and can hop either 1 step, 2 steps, or 3 steps at a time. Implement a method to count how many possible ways the child can run up the stairs. The result may be large, so return it modulo 1000000007.

Example1:


 Input: n = 3 

 Output: 4

Example2:


 Input: n = 5

 Output: 13

Note:

  1. 1 <= n <= 1000000