#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char **argv) {
if (argc != 2) {
fprintf(stderr
, "argc must be 2\n"); return 1;
}
const size_t len
= strlen(argv
[1]); char * const s
= malloc(len
* 1000 + 1); if (!s) {
fprintf(stderr
, "too long string\n"); return 1;
}
for (char *t = s; t < s + len * 1000; t += len)
size_t c[4] = { 0 };
for (char *t = s; *t; ++t) {
switch (*t) {
case 'o': ++c[0]; break;
case 'd': c[1] += c[0]; break;
case 'a': c[2] += c[1]; break;
case 'i': c[3] += c[2]; break;
}
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN0cmluZy5oPgoKaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CiAgaWYgKGFyZ2MgIT0gMikgewogICAgZnByaW50ZihzdGRlcnIsICJhcmdjIG11c3QgYmUgMlxuIik7CiAgICByZXR1cm4gMTsKICB9CgogIGNvbnN0IHNpemVfdCBsZW4gPSBzdHJsZW4oYXJndlsxXSk7CiAgY2hhciAqIGNvbnN0IHMgPSBtYWxsb2MobGVuICogMTAwMCArIDEpOwogIGlmICghcykgewogICAgZnByaW50ZihzdGRlcnIsICJ0b28gbG9uZyBzdHJpbmdcbiIpOwogICAgcmV0dXJuIDE7CiAgfQoKICBmb3IgKGNoYXIgKnQgPSBzOyB0IDwgcyArIGxlbiAqIDEwMDA7IHQgKz0gbGVuKQogICAgc3RyY3B5KHQsIGFyZ3ZbMV0pOwoKICBzaXplX3QgY1s0XSA9IHsgMCB9OwogIGZvciAoY2hhciAqdCA9IHM7ICp0OyArK3QpIHsKICAgIHN3aXRjaCAoKnQpIHsKICAgIGNhc2UgJ28nOiArK2NbMF07IGJyZWFrOwogICAgY2FzZSAnZCc6IGNbMV0gKz0gY1swXTsgYnJlYWs7CiAgICBjYXNlICdhJzogY1syXSArPSBjWzFdOyBicmVhazsKICAgIGNhc2UgJ2knOiBjWzNdICs9IGNbMl07IGJyZWFrOwogICAgfQogIH0KICBmcmVlKHMpOwogIHByaW50ZigiJXp1XG4iLCBjWzNdKTsKfQo=