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

int main()

{
FILE	*fpt;
char	filename[650][80],mealname[650][12],sub[80];
int	imu[650],cgm[650];
int	t,i,j,k,day_imu,day_cgm,days;

fpt=fopen("meals-nyu.txt","r");
t=0;
while (1)
  {
  i=fscanf(fpt,"%s %s %d %d",filename[t],mealname[t],&imu[t],&cgm[t]);
  if (i != 4)
    break;
  t++;
  }


	/* identify IMU files with no valid IMU data at any PNP meals */
if (0) {
for (i=0; i<t; i++)
  {
  day_imu=imu[i];
  j=i+1;
  while (strcmp(filename[i],filename[j]) == 0)
    {
    if (imu[j] == 1)
      day_imu=1;
    j++;
    }
  if (day_imu == 1)
    {
    for (k=i; k<j; k++)
      printf("%s %s %d %d\n",filename[k],mealname[k],imu[k],cgm[k]);
    }
  i=j-1;
  }
}


	/* find #days of IMU+PNP per subject */
if (0) {
days=0;
strncpy(sub,filename[0],17);
for (i=0; i<t; i++)
  {
  j=i+1;
  while (strcmp(filename[i],filename[j]) == 0  &&  j < t)
    j++;
  days++;
  if (j == t  ||  (strncmp(sub,filename[j],17) != 0))
    {
    printf("%s,%d\n",sub,days);
    days=0;
    strncpy(sub,filename[j],17);
    }
  i=j-1;
  }
}
      

	/* identify useful IMU files with any PNP meals */
if (0) {
for (i=0; i<t; i++)
  {
  day_imu=imu[i];
  j=i+1;
  while (strcmp(filename[i],filename[j]) == 0)
    {
    if (imu[j] == 1)
      day_imu=1;
    j++;
    }
  if (day_imu == 1)
    {
    printf("%s\n",filename[i]);
    }
  i=j-1;
  }
}


	/* identify IMU files with any PNP+CGM meals */
if (0) {
for (i=0; i<t; i++)
  {
  day_imu=imu[i];
  day_cgm=cgm[i];
  j=i+1;
  while (strcmp(filename[i],filename[j]) == 0)
    {
    if (imu[j] == 1)
      day_imu=1;
    if (cgm[j] == 1)
      day_cgm=1;
    j++;
    }
  if (day_imu == 1  &&  day_cgm == 1)
    {
    for (k=i; k<j; k++)
      printf("%s %s %d %d\n",filename[k],mealname[k],imu[k],cgm[k]);
    }
  i=j-1;
  }
}


	/* identify useful IMU files with any PNP+CGM meals */
if (1) {
for (i=0; i<t; i++)
  {
  day_imu=imu[i];
  day_cgm=cgm[i];
  j=i+1;
  while (strcmp(filename[i],filename[j]) == 0)
    {
    if (imu[j] == 1)
      day_imu=1;
    if (cgm[j] == 1)
      day_cgm=1;
    j++;
    }
  if (day_imu == 1  &&  day_cgm == 1)
    {
    printf("%s\n",filename[i]);
    }
  i=j-1;
  }



}


}
