import java.util.Scanner;
import java.util.List;
import java.util.ArrayList;
import java.util.Objects;

public class Main {
  public static void main(String[] args ){

    Scanner sc = new Scanner(System.in);

    int A = sc.nextInt();
    int B = sc.nextInt();

    long result = -1;
    if (A % 2 == B % 2){
      result =(A + B) / 2;
    }

    System.out.println(result < 0 ? "IMPOSSIBLE" : Objects.toString(result, ""));

  }
} import java.util.Scanner; Scanner java.util import java.util.List; List java.util import java.util.ArrayList; ArrayList java.util import java.util.Objects; Objects java.util public class Main {
  public static void main(String[] args ){

    Scanner sc = new Scanner(System.in);

    int A = sc.nextInt();
    int B = sc.nextInt();

    long result = -1;
    if (A % 2 == B % 2){
      result =(A + B) / 2;
    }

    System.out.println(result < 0 ? "IMPOSSIBLE" : Objects.toString(result, ""));

  }
} Main public static void main(String[] args ){

    Scanner sc = new Scanner(System.in);

    int A = sc.nextInt();
    int B = sc.nextInt();

    long result = -1;
    if (A % 2 == B % 2){
      result =(A + B) / 2;
    }

    System.out.println(result < 0 ? "IMPOSSIBLE" : Objects.toString(result, ""));

  } main {

    Scanner sc = new Scanner(System.in);

    int A = sc.nextInt();
    int B = sc.nextInt();

    long result = -1;
    if (A % 2 == B % 2){
      result =(A + B) / 2;
    }

    System.out.println(result < 0 ? "IMPOSSIBLE" : Objects.toString(result, ""));

  } Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int A = sc.nextInt(); A sc.nextInt() sc.nextInt sc int B = sc.nextInt(); B sc.nextInt() sc.nextInt sc long result = -1; result -1 1 if (A % 2 == B % 2){
      result =(A + B) / 2;
    } A % 2 == B % 2 A % 2 A 2 B % 2 B 2 {
      result =(A + B) / 2;
    } result =(A + B) / 2 result (A + B) / 2 (A + B) A B 2 System.out.println(result < 0 ? "IMPOSSIBLE" : Objects.toString(result, "")) System.out.println System.out System System.out result < 0 ? "IMPOSSIBLE" : Objects.toString(result, "") result < 0 result 0 "IMPOSSIBLE" Objects.toString(result, "") Objects.toString Objects result "" String[] args args public class Main {
  public static void main(String[] args ){

    Scanner sc = new Scanner(System.in);

    int A = sc.nextInt();
    int B = sc.nextInt();

    long result = -1;
    if (A % 2 == B % 2){
      result =(A + B) / 2;
    }

    System.out.println(result < 0 ? "IMPOSSIBLE" : Objects.toString(result, ""));

  }
} public class Main {
  public static void main(String[] args ){

    Scanner sc = new Scanner(System.in);

    int A = sc.nextInt();
    int B = sc.nextInt();

    long result = -1;
    if (A % 2 == B % 2){
      result =(A + B) / 2;
    }

    System.out.println(result < 0 ? "IMPOSSIBLE" : Objects.toString(result, ""));

  }
} Main
import java.util.Scanner;
import java.util.List;
import java.util.ArrayList;
import java.util.Objects;

public class Main {
  public static void main(String[] args ){

    Scanner sc = new Scanner(System.in);

    int A = sc.nextInt();
    int B = sc.nextInt();

    long result = -1;
    if (A % 2 == B % 2){
      result =(A + B) / 2;
    }

    System.out.println(result < 0 ? "IMPOSSIBLE" : Objects.toString(result, ""));

  }
}
