#include <iostream>
#include <typeinfo> 
using namespace std;

template<bool NewBool, template<bool> typename ClassName, bool TheBool>
ClassName<NewBool> FT(const ClassName<TheBool>&);

template<bool X>
struct T {};

int main() {

	T<true> t;
	decltype(FT<false>(t)) f;

	cout << typeid(t).name() << endl;
	cout << typeid(f).name() << endl;
}