#include <vector>
#include <cassert>
using namespace std;
struct Vec2
{
float a;
float b;
};
int main()
{
int assert_s[ sizeof(Vec2) == 2*sizeof(float) ? 1 : -1 ];
typedef vector<Vec2> Vector;
Vector v(32);
float *first=static_cast<float*>(static_cast<void*>(&v[0]));
for(Vector::size_type i,size=v.size();i!=size;++i)
{
assert((first+i*2) == (&(v[i].a)));
assert((first+i*2+1) == (&(v[i].b)));
}
assert(false != false);
}
I2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPGNhc3NlcnQ+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnN0cnVjdCBWZWMyCnsKICAgIGZsb2F0IGE7CiAgICBmbG9hdCBiOwp9OwoKaW50IG1haW4oKQp7CiAgICBpbnQgYXNzZXJ0X3NbIHNpemVvZihWZWMyKSA9PSAyKnNpemVvZihmbG9hdCkgPyAxIDogLTEgXTsKICAgIHR5cGVkZWYgdmVjdG9yPFZlYzI+IFZlY3RvcjsKICAgIFZlY3RvciB2KDMyKTsKICAgIGZsb2F0ICpmaXJzdD1zdGF0aWNfY2FzdDxmbG9hdCo+KHN0YXRpY19jYXN0PHZvaWQqPigmdlswXSkpOwogICAgZm9yKFZlY3Rvcjo6c2l6ZV90eXBlIGksc2l6ZT12LnNpemUoKTtpIT1zaXplOysraSkKICAgIHsKICAgICAgICBhc3NlcnQoKGZpcnN0K2kqMikgPT0gKCYodltpXS5hKSkpOwogICAgICAgIGFzc2VydCgoZmlyc3QraSoyKzEpID09ICgmKHZbaV0uYikpKTsKICAgIH0KICAgIGFzc2VydChmYWxzZSAhPSBmYWxzZSk7Cn0=