#include <iostream>
#include <utility>
using namespace std;

class A
{
	int data;
public:
   A(): data{0}
   {
   	
   }
   
   A(const A& other)
   {
   	   print(other);
   }
   

   A(A&& other)
   {
   	   print(other);
   }

   void print(const A& other) const
   {
   	  cout << "In print 1" << endl;
   }
   
   void print(const A&& other) const
   {
   	  cout << "In print 2" << endl;
   }
	
};


int main() {
	A a0;
	A a1(a0);
	A a2(std::move(a1));
	
	return 0;
}