#include <iostream>
#include <cstdlib>
template<size_t N> struct S {
S() { std::cout << N << std::endl; }
};
template<size_t N> void create() { new S<N>(); }
void doCreate(size_t n) {
typedef void (*CreateFn)();
CreateFn fn[] = {
create<0>, create<1>, create<2>, create<3>, create<4>
};
fn[n]();
}
int main() {
std::srand(time(0));
doCreate(std::rand() % 5);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0ZGxpYj4KCnRlbXBsYXRlPHNpemVfdCBOPiBzdHJ1Y3QgUyB7CiAgICBTKCkgeyBzdGQ6OmNvdXQgPDwgTiA8PCBzdGQ6OmVuZGw7IH0KfTsKdGVtcGxhdGU8c2l6ZV90IE4+IHZvaWQgY3JlYXRlKCkgeyBuZXcgUzxOPigpOyB9CnZvaWQgZG9DcmVhdGUoc2l6ZV90IG4pIHsgCiAgICB0eXBlZGVmIHZvaWQgKCpDcmVhdGVGbikoKTsKICAgIENyZWF0ZUZuIGZuW10gPSB7CiAgICAgIGNyZWF0ZTwwPiwgY3JlYXRlPDE+LCBjcmVhdGU8Mj4sIGNyZWF0ZTwzPiwgY3JlYXRlPDQ+ICAKICAgIH07CiAgICBmbltuXSgpOwp9CgppbnQgbWFpbigpIHsKICAgIHN0ZDo6c3JhbmQodGltZSgwKSk7CiAgICBkb0NyZWF0ZShzdGQ6OnJhbmQoKSAlIDUpOwp9Cg==