#include <iostream>
#include <cstdio>
#include <cctype>
#include <vector>
#include <cstdint>
#include <string>
#include <limits>
//test data.
// 10 -10 1.1 -1.1 1234567890 -1234567890 1.234567890
//
bool IsNeeded(int ch) {

	if (std::isdigit(ch)) return true;
	if (ch == 'e') return true;
	if (ch == '+') return true;
	if (ch == '-') return true;
	if (ch == '.') return true;
	return false;
}

bool Info(std::vector<char>& SS, bool IsFloat) {

	if (IsFloat) {

		double D = atof(SS.data());
		if (!(std::numeric_limits<float>::max() >=D || std::numeric_limits<float>::min() <= D)) {
			std::cout << "double " <<" raw:"<< D << ' ' << sizeof(D)<<"byte" << std::endl;
		}
		else {
			std::cout << "float " <<" raw:"<< (float)D << ' ' << sizeof(float)<<"byte"  << std::endl;
		}
	}
	else {
		std::intmax_t X = atoll(SS.data());
		std::intmax_t N = X;
		std::size_t B = 0;
		if (X < 0) {
			X = (~X) + 1;
		}
		for (std::size_t i = 0; i < std::numeric_limits < std::intmax_t > ::digits; i++) {
			if ((X & (1ll << i)) > 0) B = i;
		}
		std::cout << "int" << B+1 << "_t " <<"raw:"<< N << ' ' << (B / 8) + 1 <<"byte"<<" ???? "<< std::endl;

	}

	return true;
}

int main() {

	std::vector<char> S;
	int o = 0;
	std::vector<char> SS;
	bool F = false;
	bool IsFloat = false;
	bool IsDot = false;
	while (( o= std::getchar()) != EOF) {//tape sequence??
		
		if (F == false && (o == '+' || o == '-')) {
			SS.push_back(o);
			continue;
		}
		if (o == '.' && IsDot == false) {
			IsFloat = true;
			IsDot = true;
			SS.push_back(o);
			continue;

		}
		if (o == 'e' && IsFloat) {
			F = false;
			SS.push_back(o);
		}

		if (o == ' ') {
			SS.push_back('\0');
			Info(SS, IsFloat);
			IsFloat = false;
			IsDot = false;
			SS.clear();
		}
		if (IsNeeded(o)) {
			SS.push_back(o);
		}

	}
	if (SS.size()) { Info(SS, IsFloat); }

	SS.clear();

	return 0;
}
