#include <iostream>
using namespace std;
template <typename T>
void func(const T &x)
{
cout << "const " << x << '\n';
}
template <typename T>
void func(T &x)
{
cout << "non-const " << x << '\n';
}
int three() { return 3; }
int main()
{
int x = 1;
const int y = 2;
func(x);
func(y);
func(three());
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CnZvaWQgZnVuYyhjb25zdCBUICZ4KQp7CiAgICBjb3V0IDw8ICJjb25zdCAiIDw8IHggPDwgJ1xuJzsKfQoKdGVtcGxhdGUgPHR5cGVuYW1lIFQ+CnZvaWQgZnVuYyhUICZ4KQp7CiAgICBjb3V0IDw8ICJub24tY29uc3QgIiA8PCB4IDw8ICdcbic7Cn0KCmludCB0aHJlZSgpIHsgcmV0dXJuIDM7IH0KCmludCBtYWluKCkKewogICAgaW50IHggPSAxOwogICAgY29uc3QgaW50IHkgPSAyOwogICAgZnVuYyh4KTsKICAgIGZ1bmMoeSk7CiAgICBmdW5jKHRocmVlKCkpOwp9