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

#include "../../lib/aoc.h"

bool fully_contain(char *line) {
  int a, b, c, d;
  int y = sscanf(line, "%d-%d,%d-%d", &a, &b, &c, &d);
  return ((a <= c && b >= d) ||
	  (c <= a && d >= b));
}

bool overlap(char *line) {
  int a, b, c, d;
  int y = sscanf(line, "%d-%d,%d-%d", &a, &b, &c, &d);
  return ((a <= c && b >= c) ||
	  (a <= d && b >= d) ||
	  (c <= a && d >= a) ||
	  (c <= b && d >= b));
}

int main() {
  char *line;

  int contain_sum = 0;
  int overlap_sum = 0;
  while ((line = aoc_read_line()) != NULL) {
    if (fully_contain(line)) contain_sum++;
    if (overlap(line)) overlap_sum++;
  }

  printf("Part 1: %d\n", contain_sum);
  printf("Part 2: %d\n", overlap_sum);

  aoc_free();
  return 0;
}