// ì°ìì´ë¼ë ì¡°ê±´ì´ ì¶ê°ë¨
// ì°ì, ì¦ê°, ê°ì--> ëê°ì© ë¹êµí ì ìë¤.
// D[i][j] = i ìì
// i를 1,2,3ì í©ì¼ë¡ ëíë´ë ë°©ë²ì ì
// j를 ë§ì§ë§ì ì¬ì©í ì
// ì´ê¸°íí´ì, ì¤ë³µì´ ë°ìí ê²½ì°, ìì¸ì²ë¦¬ í´ì£¼ì´ì¼ í¨.
#include
long long d[1000001][4];
const long long mod = 1000000009LL;
const int limit = 100000;
int main()
{
// ì´ê¸°ê° ì¤ì
d[1][1] = 1;
d[2][2] = 1;
d[3][3] = 1;
for (int i = 1; i <= limit; i++)
{
if (i - 1 > 0)
{
d[i][1] = d[i - 1][2] + d[i - 1][3];
// ì´ê¸°ê° ì¤ì ë°©ë²2
}
if (i - 2 > 0)
{
d[i][2] = d[i - 2][1] + d[i - 2][3];
}
if (i - 3 > 0)
{
d[i][3] = d[i - 3][1] + d[i - 3][2];
}
// ëë¨¸ì§ ê³ì°í ëë 미리 ê³ì°
d[i][1] %= mod;
d[i][2] %= mod;
d[i][3] %= mod;
}
int t;
scanf("%d", &t);
while(t--){
int n;
scanf("%d", &n);
printf("%lld\n", (d[n][1]+d[n][2]+d[n][3])%mod);
}
}