#include <iostream>
using namespace std;

struct Cat
{
	static void play(int value)
	{
		std::cout << "cat plays with int " << value;
	}
	
	static void play(std::string value)
	{
		std::cout << "cat plays with string " << value;
	}
};

struct Dog
{
	static void play(Dog &value)
	{
		std::cout << "cat plays with dog";
	}
};

int main() {
	// your code goes here
	Cat cat;
	Dog dog;
	//cat.play(1);
	cat.play(dog);
	return 0;
}