#include <stdio.h>

main() {
    char *fmt =
"Content-type: text/vnd.wap.wml\n\n\
<?xml version=\"1.0\"?>\n\
<!DOCTYPE wml PUBLIC \"-//WAPFORUM//DTD WML 1.1//EN\" \"http://www.wapforum.org/DTD/wml_1.1.xml\">\n\
<wml>\n\
<card id=\"first\">\n\
<onevent type=\"onenterforward\">\n\
<go href=\"#guess\">\n\
<setvar name=\"s\" value=\"%s\"/>\n\
<setvar name=\"k\" value=\"@\"/>\n\
</go>\n\
</onevent>\n\
</card>\n\
<card id=\"guess\" title=\"guess\">\n\
<onevent type=\"onenterforward\">\n\
<go href=\"http://www.wapentake.net/hang.wmls#init()\"/>\n\
</onevent>\n\
<p>\n\
&nbsp;$(h)\n\
<br/>\n\
Word: <b>$(p)</b>\n\
<br/>\n\
Miss: $(t)\n\
<br/>\n\
Left: $n\n\
<br/>\n\
<input name=\"c\" title=\"c\" emptyok=\"false\" size=\"1\" maxlength=\"1\" format=\"A\"/>\n\
<do type=\"accept\" label=\"Guess\">\n\
<go href=\"http://www.wapentake.net/hang.wmls#select()\"/>\n\
</do>\n\
</p>\n\
</card>\n\
<card id=\"madeit\" title=\"Made it!\">\n\
<p>\n\
&nbsp;$(h)\n\
<br/>\n\
Word: <b>$(p)</b>\n\
<br/>\n\
Yes! You <b>MADE it!</b>\n\
<br/>\n\
Left: $n\n\
<do type=\"accept\" label=\"Again\">\n\
<go href=\"#guess\"/>\n\
</do>\n\
</p>\n\
</card>\n\
<card id=\"hanged\" title=\"Hanged!\">\n\
<p>\n\
&nbsp;$(h)\n\
<br/>\n\
Hang: $(p)\n\
<br/>\n\
Word: <b>$(f)</b>\n\
<br/>\n\
I.e. you're <b>HANGED!</b>\n\
<do type=\"accept\" label=\"Again\">\n\
<go href=\"#guess\"/>\n\
</do>\n\
</p>\n\
</card>\n\
<card id=\"new\">\n\
<onevent type=\"onenterforward\">\n\
<go href=\"?%08x\"/>\n\
</onevent>\n\
</card>\n\
</wml>";

#define N 20
#define M (N*20)

    static struct {
        char *w;
        int f;
    } a[] = {
#include "hang.i"
        {(void *)0, 0}
    };

    char s[M] = "";
    int i, l, k, x;
    FILE *fp;

    x = time(0);
    srand(x);

    for (l = 0; a[l].w; l++);

    for (i = 0; i < N; i++) {
        do
            k = rand() % l;
        while (a[k].f);
        a[k].f = 1;
        if (i)
            strcat(s,";");
        strcat(s,a[k].w);
    }

#if 0
    fp = fopen("__hang.wml","w");
    fprintf(fp,fmt,s,x);
    fclose(fp);
    printf("%s\n%08x\n",s,x);
#else
    printf(fmt,s,x);
#endif
}