#include <iostream>
#include <typeinfo>
int main()
{
std::cout << typeid(int *).name() << std::endl;
std::cout << typeid(int[]).name() << std::endl;
std::cout << typeid(int[0]).name() << std::endl;
std::cout << typeid(int[1]).name() << std::endl;
std::cout << typeid(int[5]).name() << std::endl;
std::cout << std::endl;
struct S
{
int *a;
int b[];
int c[0];
int d[1];
int e[5];
} s;
std::cout << typeid(s.a).name() << std::endl;
std::cout << typeid(s.b).name() << std::endl;
std::cout << typeid(s.c).name() << std::endl;
std::cout << typeid(s.d).name() << std::endl;
std::cout << typeid(s.e).name() << std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dHlwZWluZm8+CgppbnQgbWFpbigpCnsKICAgIHN0ZDo6Y291dCA8PCB0eXBlaWQoaW50ICopLm5hbWUoKSA8PCBzdGQ6OmVuZGw7CiAgICBzdGQ6OmNvdXQgPDwgdHlwZWlkKGludFtdKS5uYW1lKCkgPDwgc3RkOjplbmRsOwogICAgc3RkOjpjb3V0IDw8IHR5cGVpZChpbnRbMF0pLm5hbWUoKSA8PCBzdGQ6OmVuZGw7CiAgICBzdGQ6OmNvdXQgPDwgdHlwZWlkKGludFsxXSkubmFtZSgpIDw8IHN0ZDo6ZW5kbDsKICAgIHN0ZDo6Y291dCA8PCB0eXBlaWQoaW50WzVdKS5uYW1lKCkgPDwgc3RkOjplbmRsOwoKICAgIHN0ZDo6Y291dCA8PCBzdGQ6OmVuZGw7CgogICAgc3RydWN0IFMKICAgIHsKICAgICAgICBpbnQgKmE7CiAgICAgICAgaW50IGJbXTsKICAgICAgICBpbnQgY1swXTsKICAgICAgICBpbnQgZFsxXTsKICAgICAgICBpbnQgZVs1XTsKICAgIH0gczsKCiAgICBzdGQ6OmNvdXQgPDwgdHlwZWlkKHMuYSkubmFtZSgpIDw8IHN0ZDo6ZW5kbDsKICAgIHN0ZDo6Y291dCA8PCB0eXBlaWQocy5iKS5uYW1lKCkgPDwgc3RkOjplbmRsOwogICAgc3RkOjpjb3V0IDw8IHR5cGVpZChzLmMpLm5hbWUoKSA8PCBzdGQ6OmVuZGw7CiAgICBzdGQ6OmNvdXQgPDwgdHlwZWlkKHMuZCkubmFtZSgpIDw8IHN0ZDo6ZW5kbDsKICAgIHN0ZDo6Y291dCA8PCB0eXBlaWQocy5lKS5uYW1lKCkgPDwgc3RkOjplbmRsOwp9Cg==