Language: C

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

#define MAX(a,b) ((a) > (b) ? (a) : (b))
#define MIN(a,b) ((a) < (b) ? (a) : (b))

int main(void) {
	int n, a, b;
	
	scanf("%d %d %d", &n, &a, &b);
	if (a % 2 == b % 2) {
		printf("1\n");
	} else {
		printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
	}
	
	return 0;
}

Compiler output:
main.c: In function 'main':
main.c:15:58: error: expected expression before ']' token
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                                          ^
main.c:5:26: note: in definition of macro 'MAX'
    5 | #define MAX(a,b) ((a) > (b) ? (a) : (b))
      |                          ^
main.c:15:50: note: in expansion of macro 'MIN'
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                                  ^~~
main.c:15:58: error: expected ')' before ']' token
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                                          ^
main.c:5:26: note: in definition of macro 'MAX'
    5 | #define MAX(a,b) ((a) > (b) ? (a) : (b))
      |                          ^
main.c:15:50: note: in expansion of macro 'MIN'
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                                  ^~~
main.c:6:18: note: to match this '('
    6 | #define MIN(a,b) ((a) < (b) ? (a) : (b))
      |                  ^
main.c:5:26: note: in definition of macro 'MAX'
    5 | #define MAX(a,b) ((a) > (b) ? (a) : (b))
      |                          ^
main.c:15:50: note: in expansion of macro 'MIN'
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                                  ^~~
main.c:15:58: error: expected ')' before ']' token
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                                          ^
main.c:5:26: note: in definition of macro 'MAX'
    5 | #define MAX(a,b) ((a) > (b) ? (a) : (b))
      |                          ^
main.c:15:50: note: in expansion of macro 'MIN'
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                                  ^~~
main.c:5:25: note: to match this '('
    5 | #define MAX(a,b) ((a) > (b) ? (a) : (b))
      |                         ^
main.c:15:32: note: in expansion of macro 'MAX'
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                ^~~
main.c:15:58: error: expected ')' before ']' token
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                                          ^
main.c:5:26: note: in definition of macro 'MAX'
    5 | #define MAX(a,b) ((a) > (b) ? (a) : (b))
      |                          ^
main.c:15:50: note: in expansion of macro 'MIN'
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                                  ^~~
main.c:5:18: note: to match this '('
    5 | #define MAX(a,b) ((a) > (b) ? (a) : (b))
      |                  ^
main.c:15:32: note: in expansion of macro 'MAX'
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                ^~~
main.c:15:58: error: expected ')' before ']' token
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                                          ^
main.c:5:26: note: in definition of macro 'MAX'
    5 | #define MAX(a,b) ((a) > (b) ? (a) : (b))
      |                          ^
main.c:15:50: note: in expansion of macro 'MIN'
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                                  ^~~
main.c:15:23: note: to match this '('
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                       ^
main.c:15:58: error: expected ';' before ']' token
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                                          ^
main.c:5:26: note: in definition of macro 'MAX'
    5 | #define MAX(a,b) ((a) > (b) ? (a) : (b))
      |                          ^
main.c:15:50: note: in expansion of macro 'MIN'
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                                  ^~~
main.c:15:58: error: expected statement before ']' token
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                                          ^
main.c:5:26: note: in definition of macro 'MAX'
    5 | #define MAX(a,b) ((a) > (b) ? (a) : (b))
      |                          ^
main.c:15:50: note: in expansion of macro 'MIN'
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                                  ^~~
main.c:6:27: error: expected ';' before ')' token
    6 | #define MIN(a,b) ((a) < (b) ? (a) : (b))
      |                           ^
main.c:5:26: note: in definition of macro 'MAX'
    5 | #define MAX(a,b) ((a) > (b) ? (a) : (b))
      |                          ^
main.c:15:50: note: in expansion of macro 'MIN'
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                                  ^~~
main.c:6:27: error: expected statement before ')' token
    6 | #define MIN(a,b) ((a) < (b) ? (a) : (b))
      |                           ^
main.c:5:26: note: in definition of macro 'MAX'
    5 | #define MAX(a,b) ((a) > (b) ? (a) : (b))
      |                          ^
main.c:15:50: note: in expansion of macro 'MIN'
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                                  ^~~
main.c:6:29: error: expected expression before '?' token
    6 | #define MIN(a,b) ((a) < (b) ? (a) : (b))
      |                             ^
main.c:5:26: note: in definition of macro 'MAX'
    5 | #define MAX(a,b) ((a) > (b) ? (a) : (b))
      |                          ^
main.c:15:50: note: in expansion of macro 'MIN'
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                                  ^~~
main.c:15:58: error: expected expression before ']' token
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                                          ^
main.c:5:26: note: in definition of macro 'MAX'
    5 | #define MAX(a,b) ((a) > (b) ? (a) : (b))
      |                          ^
main.c:15:50: note: in expansion of macro 'MIN'
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                                  ^~~
main.c:15:58: error: expected ';' before ']' token
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                                          ^
main.c:5:26: note: in definition of macro 'MAX'
    5 | #define MAX(a,b) ((a) > (b) ? (a) : (b))
      |                          ^
main.c:15:50: note: in expansion of macro 'MIN'
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                                  ^~~
main.c:15:58: error: expected statement before ']' token
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                                          ^
main.c:5:26: note: in definition of macro 'MAX'
    5 | #define MAX(a,b) ((a) > (b) ? (a) : (b))
      |                          ^
main.c:15:50: note: in expansion of macro 'MIN'
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                                  ^~~
main.c:6:39: error: expected ';' before ')' token
    6 | #define MIN(a,b) ((a) < (b) ? (a) : (b))
      |                                       ^
main.c:5:26: note: in definition of macro 'MAX'
    5 | #define MAX(a,b) ((a) > (b) ? (a) : (b))
      |                          ^
main.c:15:50: note: in expansion of macro 'MIN'
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                                  ^~~
main.c:6:39: error: expected statement before ')' token
    6 | #define MIN(a,b) ((a) < (b) ? (a) : (b))
      |                                       ^
main.c:5:26: note: in definition of macro 'MAX'
    5 | #define MAX(a,b) ((a) > (b) ? (a) : (b))
      |                          ^
main.c:15:50: note: in expansion of macro 'MIN'
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                                  ^~~
main.c:6:40: error: expected statement before ')' token
    6 | #define MIN(a,b) ((a) < (b) ? (a) : (b))
      |                                        ^
main.c:5:26: note: in definition of macro 'MAX'
    5 | #define MAX(a,b) ((a) > (b) ? (a) : (b))
      |                          ^
main.c:15:50: note: in expansion of macro 'MIN'
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                                  ^~~
main.c:5:27: error: expected statement before ')' token
    5 | #define MAX(a,b) ((a) > (b) ? (a) : (b))
      |                           ^
main.c:15:32: note: in expansion of macro 'MAX'
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                ^~~
main.c:5:29: error: expected expression before '?' token
    5 | #define MAX(a,b) ((a) > (b) ? (a) : (b))
      |                             ^
main.c:15:32: note: in expansion of macro 'MAX'
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                ^~~
main.c:15:58: error: expected expression before ']' token
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                                          ^
main.c:5:38: note: in definition of macro 'MAX'
    5 | #define MAX(a,b) ((a) > (b) ? (a) : (b))
      |                                      ^
main.c:15:50: note: in expansion of macro 'MIN'
   15 |                 printf("%d\n", MAX(MIN(n-a,a-1), MIN(n-b,]b-1)));
      |                                                  ^~~
main.c:15:58: error: expected ')' before ']' token
   15 |                 pr