#include <stdio.h>
void doit(int i)
{ printf("%d\n", i);}
template<int N> void FFS()
{ FFS<N-1>(); doit(N); FFS<N-1>();}
template<> void FFS<2>( )
{ doit(0); doit(1); doit(0); doit(2); doit(0); doit(1); doit(0);}
int main()
{ FFS<16>();}

ビット演算関係ないけど(w