import java.util.Scanner;
左神书上的解法
public class Main {

    //判断输入是否符合标准
    public static boolean isValid(char[] chas) {
        if (chas[0] != '-' && (chas[0] < '0' || chas[0] > '9')) {
            return false;
        }
        if (chas[0] == '-' && (chas.length == 1 || chas[1] == '0')) {
            return false;
        }
        if (chas[0] == '0' && chas.length > 1) {
            return false;
        }
        for (int i = 1; i < chas.length; i++) {
            if (chas[i] < '0' || chas[i] > '9') {
                return false;
            }
        }

        return true;
    }

    public static int convert(String str) {
        if (str == null || str.equals("")) {
            return 0;//不能转
        }
        char[] chas = str.toCharArray();
        if (!isValid(chas)) {
            return 0;
        }
        boolean posi = chas[0] == '-' ? false : true;//true代表是正数,false代表是负数
        int minq = Integer.MIN_VALUE / 10;
        int minr= Integer.MIN_VALUE%10;
        int res=0;
        int cur=0;
        //转换的过程中一直以负数出现
        for (int i = posi?0:1; i <chas.length ; i++) {
            cur='0'-chas[i];

            //转换过程中数据溢出
            if((res<minq)||(res==minq&&cur<minr)){
                return 0;
            }
            res=res*10+cur;

        }

        if(posi&&res==Integer.MIN_VALUE){
            return 0;   //是正数,但是绝对值超了
        }
        return posi?-res:res;
    }

    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        String str=in.nextLine();
        int result=convert(str);
        System.out.println(result);
    }
}