#include <iostream>
#include <type_traits>
template <typename T>
void func(T value)
{
if (std::is_pointer<T>::value)
std::cout << "Pointer\n";
else
std::cout << "No Pointer\n";
}
int main()
{
int a;
int *b = &a;
int &c = a;
func(a);
func(b);
func(c);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dHlwZV90cmFpdHM+Cgp0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4Kdm9pZCBmdW5jKFQgdmFsdWUpCnsKICAgIGlmIChzdGQ6OmlzX3BvaW50ZXI8VD46OnZhbHVlKQogICAgICAgIHN0ZDo6Y291dCA8PCAiUG9pbnRlclxuIjsKICAgIGVsc2UKICAgICAgICBzdGQ6OmNvdXQgPDwgIk5vIFBvaW50ZXJcbiI7Cn0KCmludCBtYWluKCkKewogICAgaW50IGE7CiAgICBpbnQgKmIgPSAmYTsKICAgIGludCAmYyA9IGE7CiAgICAKICAgIGZ1bmMoYSk7CiAgICBmdW5jKGIpOwogICAgZnVuYyhjKTsKfQo=