import java.io.*;
import java.util.ArrayList;
public class Main{
  public static void main(String args[]){
    String str;
          int limit=(int)Math.pow(10,9);
    try{
      BufferedReader br=new BufferedReader(new InputStreamReader(System.in,"UTF-8"));
      str=br.readLine();
      String[] numstr = str.split(" ");
      int[] num=new int[2];
      for(int i=0;i<2;i++){
        num[i]=Integer.parseInt(numstr[i]);
      }
      int ans=calAbs(num);
      if(ans==limit){
        System.out.println("IMPOSSIBLE");
      }else{
      System.out.println(ans);
    }
    }catch(IOException e){
      e.printStackTrace();
    }
  }

    public static int calAbs(int[] num){
      int i=Integer.MIN_VALUE;
      int a,b;
      int limit=(int)Math.pow(10,9);
      if((num[0]+num[1])%2!=0)return limit;
      int ave=(num[0]+num[1])/2;
      return ave;
    }

} import java.io.*; io.* java import java.util.ArrayList; ArrayList java.util public class Main{
  public static void main(String args[]){
    String str;
          int limit=(int)Math.pow(10,9);
    try{
      BufferedReader br=new BufferedReader(new InputStreamReader(System.in,"UTF-8"));
      str=br.readLine();
      String[] numstr = str.split(" ");
      int[] num=new int[2];
      for(int i=0;i<2;i++){
        num[i]=Integer.parseInt(numstr[i]);
      }
      int ans=calAbs(num);
      if(ans==limit){
        System.out.println("IMPOSSIBLE");
      }else{
      System.out.println(ans);
    }
    }catch(IOException e){
      e.printStackTrace();
    }
  }

    public static int calAbs(int[] num){
      int i=Integer.MIN_VALUE;
      int a,b;
      int limit=(int)Math.pow(10,9);
      if((num[0]+num[1])%2!=0)return limit;
      int ave=(num[0]+num[1])/2;
      return ave;
    }

} Main public static void main(String args[]){
    String str;
          int limit=(int)Math.pow(10,9);
    try{
      BufferedReader br=new BufferedReader(new InputStreamReader(System.in,"UTF-8"));
      str=br.readLine();
      String[] numstr = str.split(" ");
      int[] num=new int[2];
      for(int i=0;i<2;i++){
        num[i]=Integer.parseInt(numstr[i]);
      }
      int ans=calAbs(num);
      if(ans==limit){
        System.out.println("IMPOSSIBLE");
      }else{
      System.out.println(ans);
    }
    }catch(IOException e){
      e.printStackTrace();
    }
  } main {
    String str;
          int limit=(int)Math.pow(10,9);
    try{
      BufferedReader br=new BufferedReader(new InputStreamReader(System.in,"UTF-8"));
      str=br.readLine();
      String[] numstr = str.split(" ");
      int[] num=new int[2];
      for(int i=0;i<2;i++){
        num[i]=Integer.parseInt(numstr[i]);
      }
      int ans=calAbs(num);
      if(ans==limit){
        System.out.println("IMPOSSIBLE");
      }else{
      System.out.println(ans);
    }
    }catch(IOException e){
      e.printStackTrace();
    }
  } String str; str int limit=(int)Math.pow(10,9); limit (int)Math.pow(10,9) Math.pow Math 10 9 try{
      BufferedReader br=new BufferedReader(new InputStreamReader(System.in,"UTF-8"));
      str=br.readLine();
      String[] numstr = str.split(" ");
      int[] num=new int[2];
      for(int i=0;i<2;i++){
        num[i]=Integer.parseInt(numstr[i]);
      }
      int ans=calAbs(num);
      if(ans==limit){
        System.out.println("IMPOSSIBLE");
      }else{
      System.out.println(ans);
    }
    }catch(IOException e){
      e.printStackTrace();
    } catch(IOException e){
      e.printStackTrace();
    } IOException e {
      e.printStackTrace();
    } e.printStackTrace() e.printStackTrace e {
      BufferedReader br=new BufferedReader(new InputStreamReader(System.in,"UTF-8"));
      str=br.readLine();
      String[] numstr = str.split(" ");
      int[] num=new int[2];
      for(int i=0;i<2;i++){
        num[i]=Integer.parseInt(numstr[i]);
      }
      int ans=calAbs(num);
      if(ans==limit){
        System.out.println("IMPOSSIBLE");
      }else{
      System.out.println(ans);
    }
    } BufferedReader br=new BufferedReader(new InputStreamReader(System.in,"UTF-8")); br new BufferedReader(new InputStreamReader(System.in,"UTF-8")) str=br.readLine() str br.readLine() br.readLine br String[] numstr = str.split(" "); numstr str.split(" ") str.split str " " int[] num=new int[2]; num new int[2] 2 for(int i=0;i<2;i++){
        num[i]=Integer.parseInt(numstr[i]);
      } int i=0; int i=0; i 0 i<2 i 2 i++ i++ i {
        num[i]=Integer.parseInt(numstr[i]);
      } {
        num[i]=Integer.parseInt(numstr[i]);
      } num[i]=Integer.parseInt(numstr[i]) num[i] num i Integer.parseInt(numstr[i]) Integer.parseInt Integer numstr[i] numstr i int ans=calAbs(num); ans calAbs(num) calAbs num if(ans==limit){
        System.out.println("IMPOSSIBLE");
      }else{
      System.out.println(ans);
    } ans==limit ans limit {
        System.out.println("IMPOSSIBLE");
      } System.out.println("IMPOSSIBLE") System.out.println System.out System System.out "IMPOSSIBLE" {
      System.out.println(ans);
    } System.out.println(ans) System.out.println System.out System System.out ans String args[] args public static int calAbs(int[] num){
      int i=Integer.MIN_VALUE;
      int a,b;
      int limit=(int)Math.pow(10,9);
      if((num[0]+num[1])%2!=0)return limit;
      int ave=(num[0]+num[1])/2;
      return ave;
    } calAbs {
      int i=Integer.MIN_VALUE;
      int a,b;
      int limit=(int)Math.pow(10,9);
      if((num[0]+num[1])%2!=0)return limit;
      int ave=(num[0]+num[1])/2;
      return ave;
    } int i=Integer.MIN_VALUE; i Integer.MIN_VALUE Integer Integer.MIN_VALUE int a a b; b int limit=(int)Math.pow(10,9); limit (int)Math.pow(10,9) Math.pow Math 10 9 if((num[0]+num[1])%2!=0)return limit; (num[0]+num[1])%2!=0 (num[0]+num[1])%2 (num[0]+num[1]) num[0] num 0 num[1] num 1 2 0 return limit; limit int ave=(num[0]+num[1])/2; ave (num[0]+num[1])/2 (num[0]+num[1]) num[0] num 0 num[1] num 1 2 return ave; ave int[] num num public class Main{
  public static void main(String args[]){
    String str;
          int limit=(int)Math.pow(10,9);
    try{
      BufferedReader br=new BufferedReader(new InputStreamReader(System.in,"UTF-8"));
      str=br.readLine();
      String[] numstr = str.split(" ");
      int[] num=new int[2];
      for(int i=0;i<2;i++){
        num[i]=Integer.parseInt(numstr[i]);
      }
      int ans=calAbs(num);
      if(ans==limit){
        System.out.println("IMPOSSIBLE");
      }else{
      System.out.println(ans);
    }
    }catch(IOException e){
      e.printStackTrace();
    }
  }

    public static int calAbs(int[] num){
      int i=Integer.MIN_VALUE;
      int a,b;
      int limit=(int)Math.pow(10,9);
      if((num[0]+num[1])%2!=0)return limit;
      int ave=(num[0]+num[1])/2;
      return ave;
    }

} public class Main{
  public static void main(String args[]){
    String str;
          int limit=(int)Math.pow(10,9);
    try{
      BufferedReader br=new BufferedReader(new InputStreamReader(System.in,"UTF-8"));
      str=br.readLine();
      String[] numstr = str.split(" ");
      int[] num=new int[2];
      for(int i=0;i<2;i++){
        num[i]=Integer.parseInt(numstr[i]);
      }
      int ans=calAbs(num);
      if(ans==limit){
        System.out.println("IMPOSSIBLE");
      }else{
      System.out.println(ans);
    }
    }catch(IOException e){
      e.printStackTrace();
    }
  }

    public static int calAbs(int[] num){
      int i=Integer.MIN_VALUE;
      int a,b;
      int limit=(int)Math.pow(10,9);
      if((num[0]+num[1])%2!=0)return limit;
      int ave=(num[0]+num[1])/2;
      return ave;
    }

} Main
import java.io.*;
import java.util.ArrayList;
public class Main{
  public static void main(String args[]){
    String str;
          int limit=(int)Math.pow(10,9);
    try{
      BufferedReader br=new BufferedReader(new InputStreamReader(System.in,"UTF-8"));
      str=br.readLine();
      String[] numstr = str.split(" ");
      int[] num=new int[2];
      for(int i=0;i<2;i++){
        num[i]=Integer.parseInt(numstr[i]);
      }
      int ans=calAbs(num);
      if(ans==limit){
        System.out.println("IMPOSSIBLE");
      }else{
      System.out.println(ans);
    }
    }catch(IOException e){
      e.printStackTrace();
    }
  }

    public static int calAbs(int[] num){
      int i=Integer.MIN_VALUE;
      int a,b;
      int limit=(int)Math.pow(10,9);
      if((num[0]+num[1])%2!=0)return limit;
      int ave=(num[0]+num[1])/2;
      return ave;
    }

}
