import java.util.*;

public class Main {

  long INF = Long.MAX_VALUE;
  long[][] dp;

  public static void main(String[] args) {
    new Main().solve();
  }

  void solve() {
    Scanner sc = new Scanner(System.in);
    int A = sc.nextInt();
    int B = sc.nextInt();
    System.out.println((A + B) % 2 == 1 ? "IMPOSSIBLE" : (A + B) / 2);
  }
} import java.util.*; util.* java public class Main {

  long INF = Long.MAX_VALUE;
  long[][] dp;

  public static void main(String[] args) {
    new Main().solve();
  }

  void solve() {
    Scanner sc = new Scanner(System.in);
    int A = sc.nextInt();
    int B = sc.nextInt();
    System.out.println((A + B) % 2 == 1 ? "IMPOSSIBLE" : (A + B) / 2);
  }
} Main long INF = Long.MAX_VALUE; INF Long.MAX_VALUE Long Long.MAX_VALUE long[][] dp; dp public static void main(String[] args) {
    new Main().solve();
  } main {
    new Main().solve();
  } new Main().solve() new Main().solve new Main() String[] args args void solve() {
    Scanner sc = new Scanner(System.in);
    int A = sc.nextInt();
    int B = sc.nextInt();
    System.out.println((A + B) % 2 == 1 ? "IMPOSSIBLE" : (A + B) / 2);
  } solve {
    Scanner sc = new Scanner(System.in);
    int A = sc.nextInt();
    int B = sc.nextInt();
    System.out.println((A + B) % 2 == 1 ? "IMPOSSIBLE" : (A + B) / 2);
  } 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 System.out.println((A + B) % 2 == 1 ? "IMPOSSIBLE" : (A + B) / 2) System.out.println System.out System System.out (A + B) % 2 == 1 ? "IMPOSSIBLE" : (A + B) / 2 (A + B) % 2 == 1 (A + B) % 2 (A + B) A B 2 1 "IMPOSSIBLE" (A + B) / 2 (A + B) A B 2 public class Main {

  long INF = Long.MAX_VALUE;
  long[][] dp;

  public static void main(String[] args) {
    new Main().solve();
  }

  void solve() {
    Scanner sc = new Scanner(System.in);
    int A = sc.nextInt();
    int B = sc.nextInt();
    System.out.println((A + B) % 2 == 1 ? "IMPOSSIBLE" : (A + B) / 2);
  }
} public class Main {

  long INF = Long.MAX_VALUE;
  long[][] dp;

  public static void main(String[] args) {
    new Main().solve();
  }

  void solve() {
    Scanner sc = new Scanner(System.in);
    int A = sc.nextInt();
    int B = sc.nextInt();
    System.out.println((A + B) % 2 == 1 ? "IMPOSSIBLE" : (A + B) / 2);
  }
} Main
import java.util.*;

public class Main {

  long INF = Long.MAX_VALUE;
  long[][] dp;

  public static void main(String[] args) {
    new Main().solve();
  }

  void solve() {
    Scanner sc = new Scanner(System.in);
    int A = sc.nextInt();
    int B = sc.nextInt();
    System.out.println((A + B) % 2 == 1 ? "IMPOSSIBLE" : (A + B) / 2);
  }
}
