#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';
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dHlwZV90cmFpdHM+CgppbnQgbWFpbigpIHsKCXN0ZDo6YWxpZ25lZF9zdG9yYWdlPHNpemVvZihkb3VibGUpLCBhbGlnbm9mKGRvdWJsZSk+IHN0b3JhZ2U7CglzdGQ6OmFsaWduZWRfdW5pb248c2l6ZW9mKGRvdWJsZSksIGRvdWJsZT4gdW5pb25fc3RvcmFnZTsKCXN0ZDo6Y291dCA8PCBzaXplb2Yoc3RvcmFnZSkgPDwgJ1xuJzsKCXN0ZDo6Y291dCA8PCBzaXplb2YodW5pb25fc3RvcmFnZSkgPDwgJ1xuJzsKCXN0ZDo6Y291dCA8PCBzaXplb2YoZG91YmxlKSA8PCAnXG4nOwp9