#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define READ(c,f) fread(&c, sizeof(char), 1, f)
int main() {
FILE *f = fopen("convertor.in", "r"), *g = fopen("convertor.out", "w");
char *line1, *c, a[100], b[100], *p, *line2;
int i, ok = 0, nr = 0, k;
line1 = calloc(1024, 1);
line2 = calloc(1024, 1);
memset(a, 0, 100);
memset(b, 0, 100);
while(fread(line1 + 500, 1, 524, f)) {
c = strchr(line1 + 500, ':');
while(c) {
for(i = 0; c[i] != '"'; i--);
p = c + i - 1;
for(i = 0; p[i] != '"'; i--);
p = p + i;
if(!nr) {
strncpy(a, p + 1, -i);
nr ++;
fprintf(g, "%s,", a);
}
else {
strncpy(b, p + 1, -i);
if(strcmp(a, b) == 0) {
ok = -1;
break;
}
nr ++;
fprintf(g, "%s,", b);
memset(b, 0, 100);
}
c = strchr(c + 1, ':');
}
memcpy(line1, line1 + 524, 500);
memset(line1 + 500, 0, 524);
if(ok == -1)
break;
}
fprintf(g, "\n");
fseek(f, 0, 0);
k = 0;
ok = fread(line1, 1, 1024, f);
while(ok) {
//printf("\n\n****%s\n\n", line1);
c = strchr(line1, ':');
while(c && c < line1 + 512) {
for(i = 1; c[i] < 33; i++);
if(c[i] == '"') {
i++;
while(c[i] != '"') {
fprintf(g, "%c", c[i]);
i++;
}
}
else
while(c[i] > 33 && c[i] != ',') {
fprintf(g, "%c", c[i]);
i++;
}
k++;
fprintf(g, ",");
if(k == nr) {
k = 0;
fprintf(g, "\n");
}
c = strchr(c + i, ':');
}
memcpy(line2, line1, 1024);
memcpy(line1, line1 + 512, 512);
memset(line1 + 512, 0, 512);
ok = fread(line1 + 512, 1, 512, f);
}
//printf("%s\n", line2);
c = strchr(line2 + 512, ':');
while(c) {
for(i = 1; c[i] < 33; i++);
if(c[i] == '"') {
i++;
while(c[i] != '"') {
fprintf(g, "%c", c[i]);
i++;
}
}
else
while(c[i] > 33 && c[i] != ',') {
fprintf(g, "%c", c[i]);
i++;
}
k++;
fprintf(g, ",");
if(k == nr) {
k = 0;
fprintf(g, "\n");
}
c = strchr(c + i, ':');
}
free(line1);
free(line2);
fclose(f);
fclose(g);
return 0;
}