← Home
For problem statement at 0-999/500-599/570-579/575/problemH.txt this is a correct solution, but verifier at 0-999/500-599/570-579/575/verifierH.go ends with reference failed: exec: "refH_bin": executable file not found in $PATH can you fix the verifier? package main

import (
	"fmt"
)

const MOD = 1000000007

func power(base, exp int64) int64 {
	res := int64(1)
	base %= MOD
	for exp > 0 {
		if exp%2 == 1 {
			res = (res * base) % MOD
		}
		base = (base * base) % MOD
		exp /= 2
	}
	return res
}

func main() {
	var n int
	if _, err := fmt.Scan(&n); err != nil {
		return
	}

	limit := 2*n + 2
	fact := make([]int64, limit+1)
	fact[0] = 1
	for i := 1; i <= limit; i++ {
		fact[i] = (fact[i-1] * int64(i)) % MOD
	}

	invFact := make([]int64, limit+1)
	invFact[limit] = power(fact[limit], MOD-2)
	for i := limit - 1; i >= 0; i-- {
		invFact[i] = (invFact[i+1] * int64(i+1)) % MOD
	}

	num := fact[2*n+2]
	den := (invFact[n+1] * invFact[n+1]) % MOD
	comb := (num * den) % MOD

	ans := (comb - 1 + MOD) % MOD
	fmt.Println(ans)
}