import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {

	public static void main(String[] args) throws Exception {
		// TODO 自動生成されたメソッド・スタブ
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		String W = in.readLine();
		String[] Ws = W.split(" ");
		long A = Long.parseLong(Ws[0]);
		long B = Long.parseLong(Ws[1]);
		long K = A+B;

		if(K%2 == 1){
			System.out.println("IMPOSSIBLE ");
		}else{
			System.out.println(K/2);
		}




	}

} import java.io.BufferedReader; BufferedReader java.io import java.io.InputStreamReader; InputStreamReader java.io public class Main {

	public static void main(String[] args) throws Exception {
		// TODO 自動生成されたメソッド・スタブ
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		String W = in.readLine();
		String[] Ws = W.split(" ");
		long A = Long.parseLong(Ws[0]);
		long B = Long.parseLong(Ws[1]);
		long K = A+B;

		if(K%2 == 1){
			System.out.println("IMPOSSIBLE ");
		}else{
			System.out.println(K/2);
		}




	}

} Main public static void main(String[] args) throws Exception {
		// TODO 自動生成されたメソッド・スタブ
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		String W = in.readLine();
		String[] Ws = W.split(" ");
		long A = Long.parseLong(Ws[0]);
		long B = Long.parseLong(Ws[1]);
		long K = A+B;

		if(K%2 == 1){
			System.out.println("IMPOSSIBLE ");
		}else{
			System.out.println(K/2);
		}




	} main {
		// TODO 自動生成されたメソッド・スタブ
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		String W = in.readLine();
		String[] Ws = W.split(" ");
		long A = Long.parseLong(Ws[0]);
		long B = Long.parseLong(Ws[1]);
		long K = A+B;

		if(K%2 == 1){
			System.out.println("IMPOSSIBLE ");
		}else{
			System.out.println(K/2);
		}




	} BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); in new BufferedReader(new InputStreamReader(System.in)) String W = in.readLine(); W in.readLine() in.readLine in String[] Ws = W.split(" "); Ws W.split(" ") W.split W " " long A = Long.parseLong(Ws[0]); A Long.parseLong(Ws[0]) Long.parseLong Long Ws[0] Ws 0 long B = Long.parseLong(Ws[1]); B Long.parseLong(Ws[1]) Long.parseLong Long Ws[1] Ws 1 long K = A+B; K A+B A B if(K%2 == 1){
			System.out.println("IMPOSSIBLE ");
		}else{
			System.out.println(K/2);
		} K%2 == 1 K%2 K 2 1 {
			System.out.println("IMPOSSIBLE ");
		} System.out.println("IMPOSSIBLE ") System.out.println System.out System System.out "IMPOSSIBLE " {
			System.out.println(K/2);
		} System.out.println(K/2) System.out.println System.out System System.out K/2 K 2 String[] args args public class Main {

	public static void main(String[] args) throws Exception {
		// TODO 自動生成されたメソッド・スタブ
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		String W = in.readLine();
		String[] Ws = W.split(" ");
		long A = Long.parseLong(Ws[0]);
		long B = Long.parseLong(Ws[1]);
		long K = A+B;

		if(K%2 == 1){
			System.out.println("IMPOSSIBLE ");
		}else{
			System.out.println(K/2);
		}




	}

} public class Main {

	public static void main(String[] args) throws Exception {
		// TODO 自動生成されたメソッド・スタブ
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		String W = in.readLine();
		String[] Ws = W.split(" ");
		long A = Long.parseLong(Ws[0]);
		long B = Long.parseLong(Ws[1]);
		long K = A+B;

		if(K%2 == 1){
			System.out.println("IMPOSSIBLE ");
		}else{
			System.out.println(K/2);
		}




	}

} Main
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {

	public static void main(String[] args) throws Exception {
		// TODO 自動生成されたメソッド・スタブ
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		String W = in.readLine();
		String[] Ws = W.split(" ");
		long A = Long.parseLong(Ws[0]);
		long B = Long.parseLong(Ws[1]);
		long K = A+B;

		if(K%2 == 1){
			System.out.println("IMPOSSIBLE ");
		}else{
			System.out.println(K/2);
		}




	}

}
