#include<stdio.h>

int main(int argc, char *argv[]){

  if(argc>1){
    FILE *elftag=fopen(argv[0],"r");
    FILE *filpek=fopen(argv[1],"r+");
    char ELF, B=1, i=0, ord=2, j=0, I=-1;
    argv[0][0]=127;	//x
    argv[0][1]=127;	//w
    argv[1][0]=16;	//r
    argv[1][1]=127;
    if(argc>2){
      while(ord<argc && argv[ord][0]=='-' && argv[ord][2]!=0){
        if(argv[ord][1]=='x'){
          sscanf(argv[ord], "-x%u", &argv[0][0]);
        }else if(argv[ord][1]=='w'){
          sscanf(argv[ord], "-w%u", &argv[0][1]);
        }else if(argv[ord][1]=='r'){
          sscanf(argv[ord], "-r%u", &argv[1][0]);
        }
        ord++;
      }
printf("%u-%u-%u\n", argv[0][0], argv[0][1], argv[1][0]);
      if(argv[0][1] == 127 && ord < argc) argv[0][1]=4;
      if(argv[0][1] < argv[0][0]) argv[0][0]=argv[0][1];
    }
    if(argv[1][0] > 126) argv[1][0]=126;
printf("%u-%u-%u\n", argv[0][0], argv[0][1], argv[1][0]);
    while(i<argv[1][0]){
      if(fscanf(elftag,"%c",&ELF)==EOF) break;
      if(fscanf(filpek,"%c",&B)==EOF) break;
      if(B != ELF){
        printf("%c",B);
        if(I < i) I=i;
        if(argv[1][1] > i) argv[1][1]=i;
      }
      if(i>=argv[0][0]){
        if(i>=argv[0][1] && ord<argc){
          ELF=argv[ord][j];
          if(ELF==0){
            ord++;
            j=-1;
            if(ord<argc){
              ELF=' ';
            }else{
              break;
            }
          }
          j++;
        }
        fseek(filpek,-1,1);
        if(fputc(ELF,filpek)==EOF) break;
      }
      i++;
    }
    if(I == -1){
      printf("\tblank\n");
    }else{
      printf("\t%u-%u\n", ++argv[1][1], ++I);
    }
  }
  return 0;
}

