#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char *number_format(char *n, char *f)
{
int d = 1;
char *c, *q = f;
while (*++f) d++;
while (*c++, *q) do while (*q == 35 ? *c != *n : *c != *q) (*c)++; while (q++, *c == *n && ++n == d);
return c - d;
}
int main(void)
{
char *result = number_format("1234567890", "(###) ###-####");
char *result2 = number_format("01189998819991197253", "#### ### ### ### ### ### #");
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KI2luY2x1ZGUgPHN0ZGxpYi5oPgoKY2hhciAqbnVtYmVyX2Zvcm1hdChjaGFyICpuLCBjaGFyICpmKQp7CiAgICBpbnQgZCA9IDE7CiAgICBjaGFyICpjLCAqcSA9IGY7CiAgICB3aGlsZSAoKisrZikgZCsrOwogICAgYyA9IG1hbGxvYyhkKSAtIDE7CiAgICB3aGlsZSAoKmMrKywgKnEpIGRvIHdoaWxlICgqcSA9PSAzNSA/ICpjICE9ICpuIDogKmMgIT0gKnEpICgqYykrKzsgd2hpbGUgKHErKywgKmMgPT0gKm4gJiYgKytuID09IGQpOwogICAgcmV0dXJuIGMgLSBkOwp9CgppbnQgbWFpbih2b2lkKQp7CiAgICBjaGFyICpyZXN1bHQgPSBudW1iZXJfZm9ybWF0KCIxMjM0NTY3ODkwIiwgIigjIyMpICMjIy0jIyMjIik7CiAgICBjaGFyICpyZXN1bHQyID0gbnVtYmVyX2Zvcm1hdCgiMDExODk5OTg4MTk5OTExOTcyNTMiLCAiIyMjIyAjIyMgIyMjICMjIyAjIyMgIyMjICMiKTsKICAgIHByaW50ZigiJXNcbiIsIHJlc3VsdCk7CiAgICBwcmludGYoIiVzXG4iLCByZXN1bHQyKTsKICAgIHJldHVybiAwOwp9