#include <iostream>
using namespace std;
template<int n>
struct fibbonacciNumber {
static const int value = fibbonacciNumber<n-1>::value + fibbonacciNumber<n-2>::value;
static const void print() {
std::cout<<value<<" ";
fibbonacciNumber<n-1>::print();
}
};
template<>
struct fibbonacciNumber<0> {
static const int value = 0;
static const void print() {
std::cout<<value<<" ";
}
};
template<>
struct fibbonacciNumber<1> {
static const int value = 1;
static const void print() {
std::cout<<value<<" ";
fibbonacciNumber<0>::print();
}
};
int main() {
fibbonacciNumber<10>::print();
}