#include <bits/stdc++.h>
using namespace std;
int main()
{
cout << "bool = " << typeid(bool).name() << endl;
cout << "char = " << typeid(char).name() << endl;
cout << "unsigned char = " << typeid(unsigned char).name() << endl;
cout << "short = " << typeid(short).name() << endl;
cout << "unsigned short = " << typeid(unsigned short).name() << endl;
cout << "int = " << typeid(int).name() << endl;
cout << "unsigned int = " << typeid(unsigned int).name() << endl;
cout << "long = " << typeid(long).name() << endl;
cout << "unsigned long = " << typeid(unsigned long).name() << endl;
cout << "long long = " << typeid(long long).name() << endl;
cout << "unsigned long long = " << typeid(unsigned long long).name() << endl;
cout << "float = " << typeid(float).name() << endl;
cout << "double = " << typeid(double).name() << endl;
cout << "long double = " << typeid(long double).name() << endl;
cout << "string = " << typeid(string).name() << endl;
cout << "int[] = " << typeid(int[]).name() << endl;
cout << "double[] = " << typeid(double[]).name() << endl;
cout << "vector<int> = " << typeid(vector<int>).name() << endl;
cout << "set<int> = " << typeid(set<int>).name() << endl;
cout << "pair<int, int> = " << typeid(pair<int, int>).name() << endl;
cout << "map<int, int> = " << typeid(map<int, int>).name() << endl;
cout << "stack<int> = " << typeid(stack<int>).name() << endl;
cout << "queue<int> = " << typeid(queue<int>).name() << endl;
cout << "deque<int> = " << typeid(deque<int>).name() << endl;
cout << "priority_queue<int> = " << typeid(priority_queue<int>).name() << endl;
cout << "tuple<int, int, int, int> = " << typeid(tuple<int, int, int, int>).name() << endl;
cout << "map< pair<int, int>, vector< priority_queue<int> > > = " << typeid(map< pair<int, int>, vector< priority_queue<int> > >).name() << endl;
return 0;
}