#include <stdio.h>
#include <stdlib.h>


int main(int argc, char* argv[]){
  FILE* fp = fopen(argv[1],"r");
  char header[54];
  fread(header,54,1,fp);
  for (int i=0; i<54; i++)
    printf("%x",header[i]);
  printf("\n"); 
  unsigned int* ptr=(int*)(header+2);
  printf("The size of the file is %u\n", *ptr);
  char* imgbuffer = malloc(*ptr-54);
  fread(imgbuffer,*ptr-54, 1, fp);
  for (int j=0; j<*ptr-54; j+=1)
    imgbuffer[j] = ~imgbuffer[j] ;

  FILE* fout = fopen("out.bmp", "w");
  fwrite(header, 54, 1, fout);
  fwrite(imgbuffer, *ptr-54, 1, fout);

  fclose(fout);  
  return EXIT_SUCCESS;
}
