#6994. 异或方程

异或方程

题目背景

\oplus 代表异或(xor)运算,运算规则为:

  • 当只有一位比特参与运算时,00=00\oplus0=001=10\oplus1=110=11\oplus0=111=01\oplus1=0(相同为00,相异为11);
  • 当有多位比特参与运算时,对每位比特分别取异或运算,如 01011011=11100101\oplus 1011=1110

题目描述

给定一个正整数 nn,求 002n12^n-1 中有多少个数 xx 满足以下方程:

x2x3x=0x \oplus 2x \oplus 3x=0

由于满足条件的 xx 可能很多,请将方案数对 109+910^9+9 取模。

输入格式

单个正整数:表示 nn

输出格式

单个自然数:表示方案数对 109+910^9+9 取模的余数。

3
5

样例解释 1

满足方程的数字有:000,001,010,100,101

数据范围

  • 对于 50%50\% 的数据,1n101\leq n\leq 10
  • 对于 100%100\% 的数据,1n1000001\leq n\leq 100000