#include <iostream>
#include <cstdlib>

class A {public: ~A(){std::cout << "STATIC DESTRUCTOR\n";}} a;

int main() {
	class B {public: ~B(){std::cout << "STACK DESTRUCTOR\n";}} b;
	class C {public: ~C(){std::cout << "HEAP DESTRUCTOR\n";}}; new C;
	thread_local class D {public: ~D(){std::cout << "THREAD_LOCAL DESTRUCTOR\n";}} d;
	
	std::exit(0);
}