func_code_string: #include <bits/stdc++.h>   using namespace std;   const int maxn = 200010;   const int mod = 1e9 + 7;   inline int cal(int x, int y) {     int l = 0, r = 1e9;     while (l < r) {       int mid = l + r + 1 >> 1;       if (3ll * mid + y <= x)         l = mid;       else         r = mid - 1;     }     if (y > x) return 0;     return l + 1;   }   int main() {     int n, l, r;     while (~scanf( %d%d%d , &n, &l, &r)) {       int cnt[5] = {0}, dp[2][5] = {0}, t = 0;       for (int i = 0; i < 3; i++) {         cnt[i] = cal(r, i) - cal(l - 1, i);       }       dp[0][0] = 1;       for (int i = 1; i <= n; i++) {         t ^= 1;         for (int j = 0; j < 3; j++) {           dp[t][j] = 0;           for (int k = 0; k < 3; k++) {             dp[t][j] += 1ll * cnt[k] * dp[t ^ 1][(j - k + 3) % 3] % mod;             if (dp[t][j] >= mod) dp[t][j] -= mod;           }         }       }       printf( %d n , dp[t][0]);     }     return 0;   }   