#include <type_traits>

struct Test{
	template<class T>
	Test(T &t) : Test<T, typename std::is_const<T>::type>(t){}
	
	template<class T, class D>
	Test(T &t){ "t ist irgendwas!"; }
	
	template<class T, std::true_type>
	Test(T &t){ "t ist const!"; }
	
	template<class T, std::false_type>
	Test(T &t){ "t ist nicht const!"; }
};

int main() {
	// your code goes here
}