#include <stdio.h>
#include <string.h>
char *strrev(char *str)
{
char *p1, *p2;
if (! str || ! *str)
return str;
for (p1 = str, p2 = str + strlen(str) - 1; p2 > p1; ++p1, --p2)
{
*p1 ^= *p2;
*p2 ^= *p1;
*p1 ^= *p2;
}
return str;
}
int main()
{
FILE *x=fopen("/tmp/abc123", "w");
fputs("10000 07/01/1986 OPTIMUM MANUFACTURING INC OMFGA -2.56250 . 1.00000\n10000 08/01/1986 OPTIMUM MANUFACTURING INC OMFGA -2.50000 . 1.00000\n",x);
fclose(x);
x=fopen("/tmp/abc123","r");
char s[1000],a[1000],b[1000],c[1000],d[1000],e[1000],f[1000],g[1000];
while( fgets(s,1000,x) )
{
int n1,n2;
char t[1000];
if( 2==sscanf(s,"%s%s%n",a,b,&n1) )
if( 4==sscanf(strrev(strcpy(t,s)),"%s%s%s%s%n",g,f,e,d,&n2) )
if( 1==sscanf(s+n1+1,"%[^\n]",c) )
c[strlen(c)-n2]=0,printf("%s\n%s\n%s\n%s\n%s\n%s\n%s\n",a,b,c,strrev(d),strrev(e),strrev(f),strrev(g));
}
fclose(x);
return 0;
}