#include <bits/stdc++.h>
long long rd() {
  long long da = 0;
  register char ch = 0, w = 1;
  while (ch != '-' && (ch > '9' || ch < '0')) ch = getchar();
  (ch == '-') && (w = -1, ch = getchar());
  while (ch >= '0' && ch <= '9') {
    da = da * 10 + ch - '0';
    ch = getchar();
  }
  return da * w;
}
void P(long long v) {
  if (v < 0) {
    putchar('-');
    v = -v;
  }
  if (v > 9) P(v / 10);
  putchar(v % 10 + '0');
}
long long n, f[2];
signed main() {
  n = rd();
  f[0] = 3;
  f[1] = 1;
  for (long long i = (3); i <= (n); i++)
    f[i & 1] = (f[!(i & 1)] + f[i & 1] + 2) % 1000000007;
  P(f[n & 1]);
}
