#include <iostream>

struct final final
{
	int i;
	
	final() : i(0)
	{
	}
	
	virtual ~final () final
	{
		using final = final;
		{
			[[final]] final: final final {final};
			std::cout << "final " << i++ << std::endl;
		}
	}
};
 
int main ()
{
	final {};
	
 	std::cout << "It's a final countdown!" << std::endl;
	
	return 0;
}
