#include #define FOR(i,a,b) for (int i=(a);i<(b);i++) #define FORR(i,a,b) for (int i=(a);i>=(b);i--) #define pb push_back using namespace std; typedef long long ll; typedef pair pii; typedef vector vi; typedef set si; const int mod = 1e3; ll n, m; int a[2] = {1,0}, b[2] = {1,1}, c[2]; void merge(int (&a)[2], int (&b)[2]){ c[0] = (a[0] * b[0] + a[1] * b[1] * 3) % mod; c[1] = (a[0] * b[1] + a[1] * b[0]) % mod; a[0] = c[0]; a[1] = c[1]; } main(){ cin.tie(0); ios::sync_with_stdio(false); cin >> n; m = n; while (n > 0){ if (n & 1 > 0){ merge(a, b); } merge(b, b); n >>= 1; } a[0] *= 2; if(m%2 == 0)a[0] += mod - 1; cout << a[0] % mod << endl; }