#include <iostream>
#include <type_traits>

int main() {
	std::aligned_storage<sizeof(double), alignof(double)> storage;
	std::aligned_union<sizeof(double), double> union_storage;
	std::cout << sizeof(storage) << '\n';
	std::cout << sizeof(union_storage) << '\n';
	std::cout << sizeof(double) << '\n';
}