#include <bits/stdc++.h>
using namespace std;
const int NMAX = 2e5;
const int MOD = 1e9 + 7;
int N, L, R, nr[3], dp[NMAX + 2][3];
inline void add(int &a, int b) {
  a += b;
  if (a >= MOD) a -= MOD;
}
inline int gg(int lg, int r) { return lg / 3 + (lg % 3 >= r); }
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> N >> L >> R;
  for (int i = 0; i < 3; ++i) {
    nr[i] = gg(R, i) - gg(L - 1, i);
  }
  dp[0][0] = 1;
  for (int i = 1; i <= N; ++i) {
    for (int j = 0; j < 3; ++j) {
      for (int k = 0; k < 3; ++k) {
        add(dp[i][(j + k) % 3], 1LL * dp[i - 1][j] * nr[k] % MOD);
      }
    }
  }
  cout << dp[N][0] << '\n';
  return 0;
}
