#include <string>
#include <iostream>

template<typename T>
T get(const std::string &prompt, T ret = T())
{
    std::cout << prompt;
    std::cin >> ret;
    return ret;
}

std::string get(const std::string &prompt)
{
    std::cout << prompt;
    std::string ret;
    std::getline(std::cin, ret);
    return ret;
}

int main() {
    get<int>("int: ");
    get<std::string>("string: ");
}