import java.util.*;

public class Main {

    public static void main(String[] args) {
        //Compute c1 = new Compute();//calc

        int count = 0;
        boolean sw = false;
        int max = Integer.MIN_VALUE;
        int min = Integer.MAX_VALUE;
        double dMax = Double.MIN_VALUE;
        double dMin = Double.MAX_VALUE;
        //StringBuilder answer=new StringBuilder();

        //input
        Scanner sc = new Scanner(System.in);
        int a=sc.nextInt();
        int b=sc.nextInt();
        boolean flag=false;
        int ans=0;
        if (a%2!=b%2) System.out.println("IMPOSSIBLE");
        else 
        {
            for (int i=1;i<1000000000;++i)
            {
                if (Math.abs(a-i)==Math.abs(b-i))
                {
                    ans=i;
                    flag=true;
                    break;
                }
            }
            if (flag) System.out.println(ans);
            else System.out.println("IMPOSSIBLE");
        }
        //output
        //System.out.println(String.format("%.0f",answer));
    }
} import java.util.*; util.* java public class Main {

    public static void main(String[] args) {
        //Compute c1 = new Compute();//calc

        int count = 0;
        boolean sw = false;
        int max = Integer.MIN_VALUE;
        int min = Integer.MAX_VALUE;
        double dMax = Double.MIN_VALUE;
        double dMin = Double.MAX_VALUE;
        //StringBuilder answer=new StringBuilder();

        //input
        Scanner sc = new Scanner(System.in);
        int a=sc.nextInt();
        int b=sc.nextInt();
        boolean flag=false;
        int ans=0;
        if (a%2!=b%2) System.out.println("IMPOSSIBLE");
        else 
        {
            for (int i=1;i<1000000000;++i)
            {
                if (Math.abs(a-i)==Math.abs(b-i))
                {
                    ans=i;
                    flag=true;
                    break;
                }
            }
            if (flag) System.out.println(ans);
            else System.out.println("IMPOSSIBLE");
        }
        //output
        //System.out.println(String.format("%.0f",answer));
    }
} Main public static void main(String[] args) {
        //Compute c1 = new Compute();//calc

        int count = 0;
        boolean sw = false;
        int max = Integer.MIN_VALUE;
        int min = Integer.MAX_VALUE;
        double dMax = Double.MIN_VALUE;
        double dMin = Double.MAX_VALUE;
        //StringBuilder answer=new StringBuilder();

        //input
        Scanner sc = new Scanner(System.in);
        int a=sc.nextInt();
        int b=sc.nextInt();
        boolean flag=false;
        int ans=0;
        if (a%2!=b%2) System.out.println("IMPOSSIBLE");
        else 
        {
            for (int i=1;i<1000000000;++i)
            {
                if (Math.abs(a-i)==Math.abs(b-i))
                {
                    ans=i;
                    flag=true;
                    break;
                }
            }
            if (flag) System.out.println(ans);
            else System.out.println("IMPOSSIBLE");
        }
        //output
        //System.out.println(String.format("%.0f",answer));
    } main {
        //Compute c1 = new Compute();//calc

        int count = 0;
        boolean sw = false;
        int max = Integer.MIN_VALUE;
        int min = Integer.MAX_VALUE;
        double dMax = Double.MIN_VALUE;
        double dMin = Double.MAX_VALUE;
        //StringBuilder answer=new StringBuilder();

        //input
        Scanner sc = new Scanner(System.in);
        int a=sc.nextInt();
        int b=sc.nextInt();
        boolean flag=false;
        int ans=0;
        if (a%2!=b%2) System.out.println("IMPOSSIBLE");
        else 
        {
            for (int i=1;i<1000000000;++i)
            {
                if (Math.abs(a-i)==Math.abs(b-i))
                {
                    ans=i;
                    flag=true;
                    break;
                }
            }
            if (flag) System.out.println(ans);
            else System.out.println("IMPOSSIBLE");
        }
        //output
        //System.out.println(String.format("%.0f",answer));
    } int count = 0; count 0 boolean sw = false; sw false int max = Integer.MIN_VALUE; max Integer.MIN_VALUE Integer Integer.MIN_VALUE int min = Integer.MAX_VALUE; min Integer.MAX_VALUE Integer Integer.MAX_VALUE double dMax = Double.MIN_VALUE; dMax Double.MIN_VALUE Double Double.MIN_VALUE double dMin = Double.MAX_VALUE; dMin Double.MAX_VALUE Double Double.MAX_VALUE 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 boolean flag=false; flag false int ans=0; ans 0 if (a%2!=b%2) System.out.println("IMPOSSIBLE");
        else 
        {
            for (int i=1;i<1000000000;++i)
            {
                if (Math.abs(a-i)==Math.abs(b-i))
                {
                    ans=i;
                    flag=true;
                    break;
                }
            }
            if (flag) System.out.println(ans);
            else System.out.println("IMPOSSIBLE");
        } a%2!=b%2 a%2 a 2 b%2 b 2 System.out.println("IMPOSSIBLE") System.out.println System.out System System.out "IMPOSSIBLE" {
            for (int i=1;i<1000000000;++i)
            {
                if (Math.abs(a-i)==Math.abs(b-i))
                {
                    ans=i;
                    flag=true;
                    break;
                }
            }
            if (flag) System.out.println(ans);
            else System.out.println("IMPOSSIBLE");
        } for (int i=1;i<1000000000;++i)
            {
                if (Math.abs(a-i)==Math.abs(b-i))
                {
                    ans=i;
                    flag=true;
                    break;
                }
            } int i=1; int i=1; i 1 i<1000000000 i 1000000000 ++i ++i i {
                if (Math.abs(a-i)==Math.abs(b-i))
                {
                    ans=i;
                    flag=true;
                    break;
                }
            } {
                if (Math.abs(a-i)==Math.abs(b-i))
                {
                    ans=i;
                    flag=true;
                    break;
                }
            } if (Math.abs(a-i)==Math.abs(b-i))
                {
                    ans=i;
                    flag=true;
                    break;
                } Math.abs(a-i)==Math.abs(b-i) Math.abs(a-i) Math.abs Math a-i a i Math.abs(b-i) Math.abs Math b-i b i {
                    ans=i;
                    flag=true;
                    break;
                } ans=i ans i flag=true flag true break; if (flag) System.out.println(ans);
            else System.out.println("IMPOSSIBLE"); flag System.out.println(ans) System.out.println System.out System System.out ans System.out.println("IMPOSSIBLE") System.out.println System.out System System.out "IMPOSSIBLE" String[] args args public class Main {

    public static void main(String[] args) {
        //Compute c1 = new Compute();//calc

        int count = 0;
        boolean sw = false;
        int max = Integer.MIN_VALUE;
        int min = Integer.MAX_VALUE;
        double dMax = Double.MIN_VALUE;
        double dMin = Double.MAX_VALUE;
        //StringBuilder answer=new StringBuilder();

        //input
        Scanner sc = new Scanner(System.in);
        int a=sc.nextInt();
        int b=sc.nextInt();
        boolean flag=false;
        int ans=0;
        if (a%2!=b%2) System.out.println("IMPOSSIBLE");
        else 
        {
            for (int i=1;i<1000000000;++i)
            {
                if (Math.abs(a-i)==Math.abs(b-i))
                {
                    ans=i;
                    flag=true;
                    break;
                }
            }
            if (flag) System.out.println(ans);
            else System.out.println("IMPOSSIBLE");
        }
        //output
        //System.out.println(String.format("%.0f",answer));
    }
} public class Main {

    public static void main(String[] args) {
        //Compute c1 = new Compute();//calc

        int count = 0;
        boolean sw = false;
        int max = Integer.MIN_VALUE;
        int min = Integer.MAX_VALUE;
        double dMax = Double.MIN_VALUE;
        double dMin = Double.MAX_VALUE;
        //StringBuilder answer=new StringBuilder();

        //input
        Scanner sc = new Scanner(System.in);
        int a=sc.nextInt();
        int b=sc.nextInt();
        boolean flag=false;
        int ans=0;
        if (a%2!=b%2) System.out.println("IMPOSSIBLE");
        else 
        {
            for (int i=1;i<1000000000;++i)
            {
                if (Math.abs(a-i)==Math.abs(b-i))
                {
                    ans=i;
                    flag=true;
                    break;
                }
            }
            if (flag) System.out.println(ans);
            else System.out.println("IMPOSSIBLE");
        }
        //output
        //System.out.println(String.format("%.0f",answer));
    }
} Main
import java.util.*;

public class Main {

    public static void main(String[] args) {
        //Compute c1 = new Compute();//calc

        int count = 0;
        boolean sw = false;
        int max = Integer.MIN_VALUE;
        int min = Integer.MAX_VALUE;
        double dMax = Double.MIN_VALUE;
        double dMin = Double.MAX_VALUE;
        //StringBuilder answer=new StringBuilder();

        //input
        Scanner sc = new Scanner(System.in);
        int a=sc.nextInt();
        int b=sc.nextInt();
        boolean flag=false;
        int ans=0;
        if (a%2!=b%2) System.out.println("IMPOSSIBLE");
        else 
        {
            for (int i=1;i<1000000000;++i)
            {
                if (Math.abs(a-i)==Math.abs(b-i))
                {
                    ans=i;
                    flag=true;
                    break;
                }
            }
            if (flag) System.out.println(ans);
            else System.out.println("IMPOSSIBLE");
        }
        //output
        //System.out.println(String.format("%.0f",answer));
    }
}