#include <iostream>
#include <cstddef>
using namespace std;
struct Inner_S
{
double a;
double b[4][4];
};
#pragma pack(1)
struct Packed_S
{
uint8_t c;
Inner_S d;
};
int main() {
cout << "Size: " << sizeof(Packed_S) << endl;
cout << "c offset: " << offsetof(Packed_S, c) << endl;
cout << "d offset: " << offsetof(Packed_S, d) << endl;
cout << "a offset: " << offsetof(Packed_S, d.a) << endl;
cout << "b offset: " << offsetof(Packed_S, d.b) << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0ZGRlZj4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnN0cnVjdCBJbm5lcl9TCnsKICBkb3VibGUgYTsKICBkb3VibGUgYls0XVs0XTsKfTsKCiNwcmFnbWEgcGFjaygxKQpzdHJ1Y3QgUGFja2VkX1MKewogIHVpbnQ4X3QgYzsKICBJbm5lcl9TIGQ7Cn07CgppbnQgbWFpbigpIHsKCWNvdXQgPDwgIlNpemU6ICIgPDwgc2l6ZW9mKFBhY2tlZF9TKSA8PCBlbmRsOwoJY291dCA8PCAiYyBvZmZzZXQ6ICIgPDwgb2Zmc2V0b2YoUGFja2VkX1MsIGMpIDw8IGVuZGw7Cgljb3V0IDw8ICJkIG9mZnNldDogIiA8PCBvZmZzZXRvZihQYWNrZWRfUywgZCkgPDwgZW5kbDsKCWNvdXQgPDwgImEgb2Zmc2V0OiAiIDw8IG9mZnNldG9mKFBhY2tlZF9TLCBkLmEpIDw8IGVuZGw7Cgljb3V0IDw8ICJiIG9mZnNldDogIiA8PCBvZmZzZXRvZihQYWNrZWRfUywgZC5iKSA8PCBlbmRsOwoJcmV0dXJuIDA7Cn0=