#define _CRT_SECURE_NO_WARNINGS #define _SILENCE_CXX17_C_HEADER_DEPRECATION_WARNING #include #include using namespace std; using ll = long long; const int N = 2e5 + 50; ll f[N][3], M[3], mod = 1e9 + 7; int main() { int n, l, r; scanf("%d%d%d", &n, &l, &r); f[0][0] = 1; M[0] = (r / 3) - ((l - 1) / 3); M[1] = ((r + 1) / 3) - ((l - 1 + 1) / 3); M[2] = ((r + 2) / 3) - ((l - 1 + 2) / 3); for (int i = 1; i <= n; i++) { f[i][0] = (f[i - 1][0] * M[0] % mod + f[i - 1][1] * M[2] % mod + f[i - 1][2] * M[1] % mod) % mod; f[i][1] = (f[i - 1][1] * M[0] % mod + f[i - 1][2] * M[2] % mod + f[i - 1][0] * M[1] % mod) % mod; f[i][2] = (f[i - 1][2] * M[0] % mod + f[i - 1][0] * M[2] % mod + f[i - 1][1] * M[1] % mod) % mod; } printf("%lld", f[n][0]); return 0; }