#include <stdio.h>
#include <math.h>
const long long mod = 1e9 + 9;
long long F[2][2], M[2][2];
long long n;
void Mul(long long f[2][2], long long m[2][2]) {
long long x = (f[0][0]*m[0][0] % mod + f[0][1]*m[1][0] % mod) % mod;
long long y = (f[0][0]*m[0][1] % mod + f[0][1]*m[1][1] % mod) % mod;
long long z = (f[1][0]*m[0][0] % mod + f[1][1]*m[1][0] % mod) % mod;
long long t = (f[1][0]*m[0][1] % mod + f[1][1]*m[1][1] % mod) % mod;
f[0][0] = x; f[0][1] = y;
f[1][0] = z; f[1][1] = t;
}
void Pow(long long f[2][2], long long n) {
if (n <= 1) return;
Pow(f, n/2);
Mul(f, f);
if (n % 2 == 1) Mul(f, M);
}
void solve() {
F[0][0] = F[0][1]= F[1][0] = 1;
F[1][1] = 0;
M[0][0] = M[0][1]= M[1][0] = 1;
M[1][1] = 0;
else {
Pow(F, n + 1);
}
}
int main() {
solve();
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+Cgpjb25zdCBsb25nIGxvbmcgbW9kID0gMWU5ICsgOTsKbG9uZyBsb25nIEZbMl1bMl0sIE1bMl1bMl07CmxvbmcgbG9uZyBuOwoKdm9pZCBNdWwobG9uZyBsb25nIGZbMl1bMl0sIGxvbmcgbG9uZyBtWzJdWzJdKSB7Cglsb25nIGxvbmcgeCA9IChmWzBdWzBdKm1bMF1bMF0gJSBtb2QgKyBmWzBdWzFdKm1bMV1bMF0gJSBtb2QpICUgbW9kOwoJbG9uZyBsb25nIHkgPSAoZlswXVswXSptWzBdWzFdICUgbW9kICsgZlswXVsxXSptWzFdWzFdICUgbW9kKSAlIG1vZDsKCWxvbmcgbG9uZyB6ID0gKGZbMV1bMF0qbVswXVswXSAlIG1vZCArIGZbMV1bMV0qbVsxXVswXSAlIG1vZCkgJSBtb2Q7Cglsb25nIGxvbmcgdCA9IChmWzFdWzBdKm1bMF1bMV0gJSBtb2QgKyBmWzFdWzFdKm1bMV1bMV0gJSBtb2QpICUgbW9kOwoJZlswXVswXSA9IHg7IGZbMF1bMV0gPSB5OwoJZlsxXVswXSA9IHo7IGZbMV1bMV0gPSB0Owp9Cgp2b2lkIFBvdyhsb25nIGxvbmcgZlsyXVsyXSwgbG9uZyBsb25nIG4pIHsKCWlmIChuIDw9IDEpIHJldHVybjsKCVBvdyhmLCBuLzIpOwoJTXVsKGYsIGYpOwoJaWYgKG4gJSAyID09IDEpIE11bChmLCBNKTsKfQoKdm9pZCBzb2x2ZSgpIHsKCUZbMF1bMF0gPSBGWzBdWzFdPSBGWzFdWzBdID0gMTsKCUZbMV1bMV0gPSAwOwoJTVswXVswXSA9IE1bMF1bMV09IE1bMV1bMF0gPSAxOwoJTVsxXVsxXSA9IDA7CglzY2FuZigiJWxsZCIsICZuKTsKCWlmIChuIDw9IDApIHByaW50ZigiMCIpOwoJZWxzZSB7CgkJUG93KEYsIG4gKyAxKTsKCQlwcmludGYoIiVsbGQiLCBGWzBdWzBdIC0gMSk7Cgl9Cn0KaW50IG1haW4oKSB7Cglzb2x2ZSgpOwp9