#include <iostream>
#include <array>
using namespace std;
struct A1 {
int a[10];
};
struct B1 {
int a[10];
B1() {}
};
struct C1 {
int a[10];
C1() : a() {}
};
struct D1 {
int a[10];
D1() : a{} {}
};
struct A2 {
array<int, 10> a;
};
struct B2 {
array<int, 10> a;
B2() {}
};
struct C2 {
array<int, 10> a;
C2() : a() {}
};
struct D2 {
array<int, 10> a;
D2() : a{} {}
};
int main()
{
A1 a1a; B1 b1a; C1 c1a; D1 d1a;
A2 a2a; B2 b2a; C2 c2a; D2 d2a;
cout << a1a.a[7] << " " << b1a.a[7] << " " << c1a.a[7] << " " << d1a.a[7] << endl;
cout << a2a.a[7] << " " << b2a.a[7] << " " << c2a.a[7] << " " << d2a.a[7] << endl;
cout << endl;
A1 a1b{}; B1 b1b{}; C1 c1b{}; D1 d1b{};
A2 a2b{}; B2 b2b{}; C2 c2b{}; D2 d2b{};
cout << a1b.a[7] << " " << b1b.a[7] << " " << c1b.a[7] << " " << d1b.a[7] << endl;
cout << a2b.a[7] << " " << b2b.a[7] << " " << c2b.a[7] << " " << d2b.a[7] << endl;
cout << endl;
A1 a1c = A1(); B1 b1c = B1(); C1 c1c = C1(); D1 d1c = D1();
A2 a2c = A2(); B2 b2c = B2(); C2 c2c = C2(); D2 d2c = D2();
cout << a1c.a[7] << " " << b1c.a[7] << " " << c1c.a[7] << " " << d1c.a[7] << endl;
cout << a2c.a[7] << " " << b2c.a[7] << " " << c2c.a[7] << " " << d2c.a[7] << endl;
cout << endl;
A1 a1d = {}; B1 b1d = {}; C1 c1d = {}; D1 d1d = {};
A2 a2d = {}; B2 b2d = {}; C2 c2d = {}; D2 d2d = {};
cout << a1d.a[7] << " " << b1d.a[7] << " " << c1d.a[7] << " " << d1d.a[7] << endl;
cout << a2d.a[7] << " " << b2d.a[7] << " " << c2d.a[7] << " " << d2d.a[7] << endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YXJyYXk+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IEExIHsKICAgIGludCBhWzEwXTsKfTsKc3RydWN0IEIxIHsKCWludCBhWzEwXTsKCUIxKCkge30KfTsKc3RydWN0IEMxIHsKCWludCBhWzEwXTsKCUMxKCkgOiBhKCkge30KfTsKc3RydWN0IEQxIHsKCWludCBhWzEwXTsKCUQxKCkgOiBhe30ge30KfTsKCnN0cnVjdCBBMiB7CglhcnJheTxpbnQsIDEwPiBhOwp9OwpzdHJ1Y3QgQjIgewoJYXJyYXk8aW50LCAxMD4gYTsKCUIyKCkge30KfTsKc3RydWN0IEMyIHsKCWFycmF5PGludCwgMTA+IGE7CglDMigpIDogYSgpIHt9Cn07CnN0cnVjdCBEMiB7CglhcnJheTxpbnQsIDEwPiBhOwoJRDIoKSA6IGF7fSB7fQp9OwoKaW50IG1haW4oKQp7CglBMSBhMWE7IEIxIGIxYTsgQzEgYzFhOyBEMSBkMWE7CglBMiBhMmE7IEIyIGIyYTsgQzIgYzJhOyBEMiBkMmE7Cgljb3V0IDw8IGExYS5hWzddIDw8ICIgIiA8PCBiMWEuYVs3XSA8PCAiICIgPDwgYzFhLmFbN10gPDwgIiAiIDw8IGQxYS5hWzddIDw8IGVuZGw7Cgljb3V0IDw8IGEyYS5hWzddIDw8ICIgIiA8PCBiMmEuYVs3XSA8PCAiICIgPDwgYzJhLmFbN10gPDwgIiAiIDw8IGQyYS5hWzddIDw8IGVuZGw7CgkKCWNvdXQgPDwgZW5kbDsKCQoJQTEgYTFie307IEIxIGIxYnt9OyBDMSBjMWJ7fTsgRDEgZDFie307CglBMiBhMmJ7fTsgQjIgYjJie307IEMyIGMyYnt9OyBEMiBkMmJ7fTsKCWNvdXQgPDwgYTFiLmFbN10gPDwgIiAiIDw8IGIxYi5hWzddIDw8ICIgIiA8PCBjMWIuYVs3XSA8PCAiICIgPDwgZDFiLmFbN10gPDwgZW5kbDsKCWNvdXQgPDwgYTJiLmFbN10gPDwgIiAiIDw8IGIyYi5hWzddIDw8ICIgIiA8PCBjMmIuYVs3XSA8PCAiICIgPDwgZDJiLmFbN10gPDwgZW5kbDsKCQoJY291dCA8PCBlbmRsOwoJCglBMSBhMWMgPSBBMSgpOyBCMSBiMWMgPSBCMSgpOyBDMSBjMWMgPSBDMSgpOyBEMSBkMWMgPSBEMSgpOwoJQTIgYTJjID0gQTIoKTsgQjIgYjJjID0gQjIoKTsgQzIgYzJjID0gQzIoKTsgRDIgZDJjID0gRDIoKTsKCWNvdXQgPDwgYTFjLmFbN10gPDwgIiAiIDw8IGIxYy5hWzddIDw8ICIgIiA8PCBjMWMuYVs3XSA8PCAiICIgPDwgZDFjLmFbN10gPDwgZW5kbDsKCWNvdXQgPDwgYTJjLmFbN10gPDwgIiAiIDw8IGIyYy5hWzddIDw8ICIgIiA8PCBjMmMuYVs3XSA8PCAiICIgPDwgZDJjLmFbN10gPDwgZW5kbDsKCQoJY291dCA8PCBlbmRsOwoJCglBMSBhMWQgPSB7fTsgQjEgYjFkID0ge307IEMxIGMxZCA9IHt9OyBEMSBkMWQgPSB7fTsKCUEyIGEyZCA9IHt9OyBCMiBiMmQgPSB7fTsgQzIgYzJkID0ge307IEQyIGQyZCA9IHt9OwoJY291dCA8PCBhMWQuYVs3XSA8PCAiICIgPDwgYjFkLmFbN10gPDwgIiAiIDw8IGMxZC5hWzddIDw8ICIgIiA8PCBkMWQuYVs3XSA8PCBlbmRsOwoJY291dCA8PCBhMmQuYVs3XSA8PCAiICIgPDwgYjJkLmFbN10gPDwgIiAiIDw8IGMyZC5hWzddIDw8ICIgIiA8PCBkMmQuYVs3XSA8PCBlbmRsOwp9