我的代码哪里错了,求详解

题目
图片说明
我的代码:
#include
int main()
{
__int64 n,i,j,k,l,a[4][3],s=0,s1=1;
a[1][1]=2;a[1][2]=3;a[2][1]=1;a[2][2]=4;
a[3][1]=6;a[3][2]=5;
scanf("%I64d",&n);
if(n<=3)
{
printf("%I64d\n%I64d\n",a[n-1][0],a[n-1][1]);
}
else
{
for(i=4;i<=n;i++)
{
k=i%3;
if(k==0)
{
s=(a[2][2]+2*a[3][1]+5)%9999999;
s1=(a[2][1]+3*a[3][1]+2*a[3][2]+3)%9999999;
a[3][1]=s;
a[3][2]=s1;
}
else if(k==1)
{
s=(a[3][2]+2*a[1][1]+5)%9999999;
s1=(a[3][1]+3*a[1][1]+2*a[1][2]+3)%9999999;
a[1][1]=s;
a[1][2]=s1;
}
else
{
s=(a[1][2]+2*a[2][1]+5)%9999999;
s1=(a[1][1]+3*a[2][1]+2*a[2][2]+3)%9999999;
a[2][1]=s;
a[2][2]=s1;
}
}
printf("%I64d\n%I64d\n",s,s1);
}
return 0;
}

#include后面应该还有