#include
using namespace std;
int tal,sum;
int n;
void dfs(int row,int ld,int rd,int deep)
{
int pos,p;
if(row!=tal)
{
pos=tal & ~(row | ld | rd);
while(pos!=0)
{
p=pos & -pos;
pos-=p;
dfs(row|p,(ld|p)<<1,(rd|p)>>1,deep+1);
}
}
else
sum++;
}
int main(void)
{
while(cin>>n,n)
{
sum=0;
tal=(1<