template <int i>
inline void func(int a[])
{
func<i - 1>(a);
a[i] = i;
}
template <>
inline void func<0>(int a[])
{
a[0] = 0;
}
int a[10];
int main()
{
func<9>(a);
return 0;
}
CnRlbXBsYXRlIDxpbnQgaT4KaW5saW5lIHZvaWQgZnVuYyhpbnQgYVtdKQp7CiAgZnVuYzxpIC0gMT4oYSk7CiAgYVtpXSA9IGk7Cn0KCnRlbXBsYXRlIDw+CmlubGluZSB2b2lkIGZ1bmM8MD4oaW50IGFbXSkKewogIGFbMF0gPSAwOwp9CgppbnQgYVsxMF07CmludCBtYWluKCkKewogIGZ1bmM8OT4oYSk7CiAgcmV0dXJuIDA7Cn0K