#include <stdio.h>
#include <stdlib.h>
#define FileSize 5311918

int Int_Number = 1;
FILE *Target_File;
unsigned int Sum( int);
int Position;
int  Recurse( void );

main( int argc , char **argv )
{ 
  if(argc==1)
     {
      printf("Need A File Name\n");
      exit(0);
     }
    else
     {    
      printf("Cray-1's CheckSum(er) StandBy....\n\n");
      Target_File = fopen(argv[1],"r");
      if(!Target_File)
         {    
          printf("Failed To Open The File %s\n",argv[1]);
         }
        else
         {
          Recurse();     
          printf("Finished Nicly\n");
          fclose(Target_File);
         }  
     }
}


int Recurse( void )
{
    char Input_Character;
    unsigned int Part_1,Part_2;

    
    unsigned int Old_Size=0;
    
here:    
    Part_1   = FileSize/(2*Int_Number);
    Part_2   = FileSize/(2*Int_Number);
    Old_Size = FileSize/(2*Int_Number);
    
    printf("Check1 - %d, Check2 - %d - Rec %d Leng - %d Pos - %d\n",Sum(Part_1),Sum(Part_2),Int_Number,Part_1,ftell(Target_File));
    
input: 
    printf("Explore Part 1 or 2?");
    Input_Character = getchar();
    if(Input_Character=='1')
       {
        fseek(Target_File,-(2*Old_Size),SEEK_CUR);
        Int_Number++;
        goto here;
       }
    if(Input_Character=='2')
       {
        fseek(Target_File,-Old_Size,SEEK_CUR);
        Int_Number++;
        goto here;
       }
    if(Input_Character=='q')
       {
        return(0);
        }
    goto input;
}        
unsigned int Sum( int Length )
{
    
unsigned int    Check=0;
unsigned char   Single;

    while(Length!=0)
          {
            Single = fgetc(Target_File);
            Check = Check + Single;
            Length--;
          }
     return(Check);
}
    