#include <map>
#include <iostream>
template<class Range>
void go(Range &r)
{
std::cout << "First" << std::endl;
}
template<class K, class V>
void go(const std::map<K, V> &m)
{
std::cout << "Second" << std::endl;
}
int main()
{
const std::map<int, int> m;
//^^^^^ note the const.
go(m);
}
I2luY2x1ZGUgPG1hcD4KI2luY2x1ZGUgPGlvc3RyZWFtPgoKdGVtcGxhdGU8Y2xhc3MgUmFuZ2U+CnZvaWQgZ28oUmFuZ2UgJnIpCnsKICBzdGQ6OmNvdXQgPDwgIkZpcnN0IiA8PCBzdGQ6OmVuZGw7Cn0KCnRlbXBsYXRlPGNsYXNzIEssIGNsYXNzIFY+CnZvaWQgZ28oY29uc3Qgc3RkOjptYXA8SywgVj4gJm0pCnsKICBzdGQ6OmNvdXQgPDwgIlNlY29uZCIgPDwgc3RkOjplbmRsOwp9CgoKaW50IG1haW4oKQp7CiAgY29uc3Qgc3RkOjptYXA8aW50LCBpbnQ+IG07Ci8vXl5eXl4gbm90ZSB0aGUgY29uc3QuICAKICBnbyhtKTsKfQ==