MOD = 10**9 + 7 N = int(input()) if N == 1: print(1) exit() total = 0 for x in range(1, N+1): dp = [[0]*(N+2) for _ in range(N+1)] dp[1][x] = 1 for i in range(2, N+1): # Precompute cumulative sum cum = [0]*(N+2) for y in range(1, N+1): cum[y] = (cum[y-1] + dp[i-1][y]) % MOD # Update dp[i][y] for y in range(1, N+1): prev_max = min(N, y + (i-1 -1)) # since x_prev < y + (i-1) if prev_max >= 1: dp[i][y] = cum[prev_max] else: dp[i][y] = 0 # After processing all steps, check y <= x sum_y = 0 for y in range(1, x + 1): sum_y = (sum_y + dp[N][y]) % MOD total = (total + sum_y) % MOD print(total % MOD)