#include <iostream>
using namespace std;


#include <iostream>

class MyClass {
public:
    MyClass() { std::cout << "Default constructor called" << std::endl; }
    MyClass(const MyClass& other) { std::cout << "Copy constructor called" << std::endl; }
    MyClass(MyClass&& other) { std::cout << "Move constructor called" << std::endl; }

    MyClass& operator=(const MyClass& other) {
        std::cout << "Copy assignment operator called" << std::endl;
        return *this;
    }

    MyClass& operator=(MyClass&& other) {
        std::cout << "Move assignment operator called" << std::endl;
        return *this;
    }
};



int main() {
	MyClass a;
	MyClass& a_ref = a;
	MyClass b;
	a_ref = b;
	return 0;
}