import java.io.OutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.Scanner;

/**
 * Built using CHelper plug-in
 * Actual solution is at the top
 */
public class Main {
    public static void main(String[] args) {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        Scanner in = new Scanner(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        A solver = new A();
        solver.solve(1, in, out);
        out.close();
    }

    static class A {
        public void solve(int testNumber, Scanner in, PrintWriter out) {
            // 入力
            long a = Long.parseLong(in.next());
            long b = Long.parseLong(in.next());

            long k = (a * a - b * b) / (2 * (a - b));
            if (Math.abs(a - k) == Math.abs(b - k)) {
                // 出力
                out.println(k);
            } else {
                out.println("IMPOSSIBLE");
            }

        }

    }
}
 import java.io.OutputStream; OutputStream java.io import java.io.IOException; IOException java.io import java.io.InputStream; InputStream java.io import java.io.PrintWriter; PrintWriter java.io import java.util.Scanner; Scanner java.util public class Main {
    public static void main(String[] args) {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        Scanner in = new Scanner(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        A solver = new A();
        solver.solve(1, in, out);
        out.close();
    }

    static class A {
        public void solve(int testNumber, Scanner in, PrintWriter out) {
            // 入力
            long a = Long.parseLong(in.next());
            long b = Long.parseLong(in.next());

            long k = (a * a - b * b) / (2 * (a - b));
            if (Math.abs(a - k) == Math.abs(b - k)) {
                // 出力
                out.println(k);
            } else {
                out.println("IMPOSSIBLE");
            }

        }

    }
} Main public static void main(String[] args) {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        Scanner in = new Scanner(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        A solver = new A();
        solver.solve(1, in, out);
        out.close();
    } main {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        Scanner in = new Scanner(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        A solver = new A();
        solver.solve(1, in, out);
        out.close();
    } InputStream inputStream = System.in; inputStream System.in System System.in OutputStream outputStream = System.out; outputStream System.out System System.out Scanner in = new Scanner(inputStream); in new Scanner(inputStream) PrintWriter out = new PrintWriter(outputStream); out new PrintWriter(outputStream) A solver = new A(); solver new A() solver.solve(1, in, out) solver.solve solver 1 in out out.close() out.close out String[] args args static class A {
        public void solve(int testNumber, Scanner in, PrintWriter out) {
            // 入力
            long a = Long.parseLong(in.next());
            long b = Long.parseLong(in.next());

            long k = (a * a - b * b) / (2 * (a - b));
            if (Math.abs(a - k) == Math.abs(b - k)) {
                // 出力
                out.println(k);
            } else {
                out.println("IMPOSSIBLE");
            }

        }

    } A public void solve(int testNumber, Scanner in, PrintWriter out) {
            // 入力
            long a = Long.parseLong(in.next());
            long b = Long.parseLong(in.next());

            long k = (a * a - b * b) / (2 * (a - b));
            if (Math.abs(a - k) == Math.abs(b - k)) {
                // 出力
                out.println(k);
            } else {
                out.println("IMPOSSIBLE");
            }

        } solve {
            // 入力
            long a = Long.parseLong(in.next());
            long b = Long.parseLong(in.next());

            long k = (a * a - b * b) / (2 * (a - b));
            if (Math.abs(a - k) == Math.abs(b - k)) {
                // 出力
                out.println(k);
            } else {
                out.println("IMPOSSIBLE");
            }

        } long a = Long.parseLong(in.next()); a Long.parseLong(in.next()) Long.parseLong Long in.next() in.next in long b = Long.parseLong(in.next()); b Long.parseLong(in.next()) Long.parseLong Long in.next() in.next in long k = (a * a - b * b) / (2 * (a - b)); k (a * a - b * b) / (2 * (a - b)) (a * a - b * b) a * a a a b * b b b (2 * (a - b)) 2 (a - b) a b if (Math.abs(a - k) == Math.abs(b - k)) {
                // 出力
                out.println(k);
            } else {
                out.println("IMPOSSIBLE");
            } Math.abs(a - k) == Math.abs(b - k) Math.abs(a - k) Math.abs Math a - k a k Math.abs(b - k) Math.abs Math b - k b k {
                // 出力
                out.println(k);
            } out.println(k) out.println out k {
                out.println("IMPOSSIBLE");
            } out.println("IMPOSSIBLE") out.println out "IMPOSSIBLE" int testNumber testNumber Scanner in in PrintWriter out out public class Main {
    public static void main(String[] args) {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        Scanner in = new Scanner(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        A solver = new A();
        solver.solve(1, in, out);
        out.close();
    }

    static class A {
        public void solve(int testNumber, Scanner in, PrintWriter out) {
            // 入力
            long a = Long.parseLong(in.next());
            long b = Long.parseLong(in.next());

            long k = (a * a - b * b) / (2 * (a - b));
            if (Math.abs(a - k) == Math.abs(b - k)) {
                // 出力
                out.println(k);
            } else {
                out.println("IMPOSSIBLE");
            }

        }

    }
} public class Main {
    public static void main(String[] args) {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        Scanner in = new Scanner(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        A solver = new A();
        solver.solve(1, in, out);
        out.close();
    }

    static class A {
        public void solve(int testNumber, Scanner in, PrintWriter out) {
            // 入力
            long a = Long.parseLong(in.next());
            long b = Long.parseLong(in.next());

            long k = (a * a - b * b) / (2 * (a - b));
            if (Math.abs(a - k) == Math.abs(b - k)) {
                // 出力
                out.println(k);
            } else {
                out.println("IMPOSSIBLE");
            }

        }

    }
} Main
import java.io.OutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.Scanner;

/**
 * Built using CHelper plug-in
 * Actual solution is at the top
 */
public class Main {
    public static void main(String[] args) {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        Scanner in = new Scanner(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        A solver = new A();
        solver.solve(1, in, out);
        out.close();
    }

    static class A {
        public void solve(int testNumber, Scanner in, PrintWriter out) {
            // 入力
            long a = Long.parseLong(in.next());
            long b = Long.parseLong(in.next());

            long k = (a * a - b * b) / (2 * (a - b));
            if (Math.abs(a - k) == Math.abs(b - k)) {
                // 出力
                out.println(k);
            } else {
                out.println("IMPOSSIBLE");
            }

        }

    }
}

