#include <iostream>
using namespace std;

struct A {
    static int b;
    A() { std::cout << "A() "; }
    A(const A& a){ std::cout << "A(const A&) ";}
    A(A && a) { std::cout << "A(A&&) "; }
    ~A() { std::cout << "~A() "; }
};

int A::b = 3;


A f(A a) { 
       std::cout << a.b << " "; 
       return a; 
  }

int main() {
	 A a1, a2;
	 ++a1.b;
	 f(a2);
	 return 0;
  }
