#include <iostream>
#include <iomanip>
using namespace std;
#define DBG(x) { cout << left << setw(30) << #x << (x) << endl; }
typedef unsigned long long u64;
constexpr u64 ct_pow(u64 base, u64 exp){
return exp ? base * ct_pow(base,exp-1): 1;
}
template<typename... Os>
int f(int first, Os... o)
{
return first* ct_pow(10,sizeof...(Os)) + f(o...);
}
template<>
int f(int last){
return last;
}
auto main() -> int
{
DBG(f(1));
DBG(f(1,0));
DBG(f(5,1));
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9tYW5pcD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIERCRyh4KSB7IGNvdXQgPDwgbGVmdCA8PCBzZXR3KDMwKSA8PCAjeCA8PCAoeCkgPDwgZW5kbDsgfQoKdHlwZWRlZiB1bnNpZ25lZCBsb25nIGxvbmcgdTY0OwoKY29uc3RleHByIHU2NCBjdF9wb3codTY0IGJhc2UsIHU2NCBleHApewoJcmV0dXJuIGV4cCA/IGJhc2UgKiBjdF9wb3coYmFzZSxleHAtMSk6IDE7Cn0KCnRlbXBsYXRlPHR5cGVuYW1lLi4uIE9zPgppbnQgZihpbnQgZmlyc3QsIE9zLi4uIG8pCnsKCXJldHVybiBmaXJzdCogY3RfcG93KDEwLHNpemVvZi4uLihPcykpICsgZihvLi4uKTsKfQoKdGVtcGxhdGU8PgppbnQgZihpbnQgbGFzdCl7CglyZXR1cm4gbGFzdDsKfQoKYXV0byBtYWluKCkgLT4gaW50CnsKCURCRyhmKDEpKTsKCURCRyhmKDEsMCkpOwoJREJHKGYoNSwxKSk7Cn0KCgo=