import java.util.Scanner;

public class Main {


	public static void main(String[] args) {
		(new Main()).execute();
	}
	public void execute() {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		Long A = sc.nextLong();
		Long B = sc.nextLong();
		Long K = getK(A,B) ;
		if(K == null) {
			System.out.println("IMPOSSIBLE");
		}else {
			System.out.println(K);
		}
	}

	public Long getK(Long A, Long B) {

		Long K = null ;
		if((A+B)%2 == 0 ) {
			K = (A + B)/2 ;
		}

		return K ;
	}

} import java.util.Scanner; Scanner java.util public class Main {


	public static void main(String[] args) {
		(new Main()).execute();
	}
	public void execute() {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		Long A = sc.nextLong();
		Long B = sc.nextLong();
		Long K = getK(A,B) ;
		if(K == null) {
			System.out.println("IMPOSSIBLE");
		}else {
			System.out.println(K);
		}
	}

	public Long getK(Long A, Long B) {

		Long K = null ;
		if((A+B)%2 == 0 ) {
			K = (A + B)/2 ;
		}

		return K ;
	}

} Main public static void main(String[] args) {
		(new Main()).execute();
	} main {
		(new Main()).execute();
	} (new Main()).execute() (new Main()).execute (new Main()) String[] args args public void execute() {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		Long A = sc.nextLong();
		Long B = sc.nextLong();
		Long K = getK(A,B) ;
		if(K == null) {
			System.out.println("IMPOSSIBLE");
		}else {
			System.out.println(K);
		}
	} execute {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		Long A = sc.nextLong();
		Long B = sc.nextLong();
		Long K = getK(A,B) ;
		if(K == null) {
			System.out.println("IMPOSSIBLE");
		}else {
			System.out.println(K);
		}
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) Long A = sc.nextLong(); A sc.nextLong() sc.nextLong sc Long B = sc.nextLong(); B sc.nextLong() sc.nextLong sc Long K = getK(A,B) ; K getK(A,B) getK A B if(K == null) {
			System.out.println("IMPOSSIBLE");
		}else {
			System.out.println(K);
		} K == null K null {
			System.out.println("IMPOSSIBLE");
		} System.out.println("IMPOSSIBLE") System.out.println System.out System System.out "IMPOSSIBLE" {
			System.out.println(K);
		} System.out.println(K) System.out.println System.out System System.out K public Long getK(Long A, Long B) {

		Long K = null ;
		if((A+B)%2 == 0 ) {
			K = (A + B)/2 ;
		}

		return K ;
	} getK {

		Long K = null ;
		if((A+B)%2 == 0 ) {
			K = (A + B)/2 ;
		}

		return K ;
	} Long K = null ; K null if((A+B)%2 == 0 ) {
			K = (A + B)/2 ;
		} (A+B)%2 == 0 (A+B)%2 (A+B) A B 2 0 {
			K = (A + B)/2 ;
		} K = (A + B)/2 K (A + B)/2 (A + B) A B 2 return K ; K Long A A Long B B public class Main {


	public static void main(String[] args) {
		(new Main()).execute();
	}
	public void execute() {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		Long A = sc.nextLong();
		Long B = sc.nextLong();
		Long K = getK(A,B) ;
		if(K == null) {
			System.out.println("IMPOSSIBLE");
		}else {
			System.out.println(K);
		}
	}

	public Long getK(Long A, Long B) {

		Long K = null ;
		if((A+B)%2 == 0 ) {
			K = (A + B)/2 ;
		}

		return K ;
	}

} public class Main {


	public static void main(String[] args) {
		(new Main()).execute();
	}
	public void execute() {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		Long A = sc.nextLong();
		Long B = sc.nextLong();
		Long K = getK(A,B) ;
		if(K == null) {
			System.out.println("IMPOSSIBLE");
		}else {
			System.out.println(K);
		}
	}

	public Long getK(Long A, Long B) {

		Long K = null ;
		if((A+B)%2 == 0 ) {
			K = (A + B)/2 ;
		}

		return K ;
	}

} Main
import java.util.Scanner;

public class Main {


	public static void main(String[] args) {
		(new Main()).execute();
	}
	public void execute() {
		// TODO 自動生成されたメソッド・スタブ
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		Long A = sc.nextLong();
		Long B = sc.nextLong();
		Long K = getK(A,B) ;
		if(K == null) {
			System.out.println("IMPOSSIBLE");
		}else {
			System.out.println(K);
		}
	}

	public Long getK(Long A, Long B) {

		Long K = null ;
		if((A+B)%2 == 0 ) {
			K = (A + B)/2 ;
		}

		return K ;
	}

}
