#include <stdio.h>
#include <string.h>

i;f(char *s){for(i=8;i<24;i+=5)s[i]=s[i]-45?1:s[i]+3;for(i=0;isxdigit(s[i]);i++);return i==36&&!s[i];}

int main (int argc, char **argv) {
  int j;
  char *t[] = {
    "0FCE98AC-1326-4C79-8EBC-94908DA8B034",
    "00000000-0000-0000-0000-000000000000",
    "0fce98ac-1326-4c79-8ebc-94908da8b034",
    "0FCE98ac-1326-4c79-8EBC-94908da8B034",

    "0FCE98AC-1326-4C79-8EBC-94908DA8B034\n",
    "{0FCE98AC-1326-4C79-8EBC-94908DA8B034}",
    "0GCE98AC-1326-4C79-8EBC-94908DA8B034",
    "0FCE98AC 1326-4C79-8EBC-94908DA8B034",
    "0FCE98AC-13264C79-8EBC-94908DA8B034",
    "0FCE98AC-13264-C79-8EBC-94908DA8B034",
    "0FCE98ACD-1326-4C79-8EBC-94908DA8B034",
    "0FCE98AC-1326-4C79-8EBC-94908DA8B034-",
    "0FCE98AC-1326-4C79-8EBC-94908DA8B034-123",
    "0FCE98AC13264C798EBC94908DA8B034",
    "",
  };

  for (j = 0; j < sizeof(t)/sizeof(t[0]); j++) {
    char *s = strdup(t[j]);
    printf("%d\n", f(s));
    free(s);
  }

  return 0;
}
