template<template<typename, typename> class T>
struct Process
{
};
template<int Value>
struct MakeTemplate
{
template<typename T, typename U>
struct Template
{
};
};
template<int Value>
struct Combine : Process<template MakeTemplate<Value>::Template>
{
};
int main()
{
Combine<0>();
}
dGVtcGxhdGU8dGVtcGxhdGU8dHlwZW5hbWUsIHR5cGVuYW1lPiBjbGFzcyBUPgpzdHJ1Y3QgUHJvY2Vzcwp7Cn07Cgp0ZW1wbGF0ZTxpbnQgVmFsdWU+CnN0cnVjdCBNYWtlVGVtcGxhdGUKewoJdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4KCXN0cnVjdCBUZW1wbGF0ZQoJewoJfTsKfTsKCnRlbXBsYXRlPGludCBWYWx1ZT4Kc3RydWN0IENvbWJpbmUgOiBQcm9jZXNzPHRlbXBsYXRlIE1ha2VUZW1wbGF0ZTxWYWx1ZT46OlRlbXBsYXRlPgp7Cn07CgppbnQgbWFpbigpCnsKCUNvbWJpbmU8MD4oKTsKfQ==