#include <iostream>
using namespace std;

struct A {
	char * data;
	A() {
		data = new char[10000];
		std::cout << "A()" << std::endl;
	}

	~A() {
		if(data != nullptr) {
			delete data;
			std::cout << "Deleted Data!" << std::endl;
		}
		std::cout << "~A() " << std::endl;
	}
};

void aDo2(A && a) {
	cout << "Do2" << endl;
}

void aDo(A && a) {
	cout << "Do" << endl;
	aDo2(A(a));
}



int main() {
	{
	A a;
	{
	aDo(move(a));
	}
	
	cout << "why" << endl;
	}
	cout << "here?" << endl;
	// your code goes here
	return 0;
}