import java.util.Arrays;
import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNext()) { 
            String s = in.nextLine();
            //标记当前索引及之后的值可以随意修改
            //如114514在变更为1155时,因为已大于原值所以可以不考虑后续的14,直接用00替换,再往后就是0011交替
            int b=Integer.MAX_VALUE;
            //奇数串时直接舍去第一位并在前面加上“10”,并标记b
            if(s.length()%2!=0){
                s="10"+s.substring(1);
                b=2;
            }
            StringBuilder sb = new StringBuilder();
            //合并数组,因为结果总是两个相同数字一起出现的,所以可以只记录其中一个
            //因为第一位如果是9可能需要后续处理进位,所以预留索引0为空位
            int[] arr=new int[(s.length()/2)+1];
            for(int i=s.length()-1;i>0;i-=2){
                //两两一组,高位大取高位,低位大取高位+1
                if(s.charAt(i)<=s.charAt(i-1)){
                    arr[i/2+1]=s.charAt(i-1)-'0';
                }else{
                    arr[i/2+1]=(s.charAt(i-1)-'0')+1;
                }
                //一旦遇到不同则标记b,因为每次修改必使当前数大于原数
                if(s.charAt(i)!=s.charAt(i-1)){
                    b=Math.min(b,i/2+2);
                }
            }
            // System.out.println(Arrays.toString(arr));
            //从b-1开始往前处理连续的9,因为b及之后的数据后面都会被变更为0011,所以不需要考虑进位
            for(int i=Math.min(b-1,arr.length-1);i>0;i--){
                //存在两个或以上的9时需要处理进位
                if(arr[i]==arr[i-1]&&arr[i]==9){
                    arr[i]=0;
                    arr[i-1]=0;
                    int p=i-2;
                    while(p>0&&arr[p]==9){
                        arr[p]=0;
                        p--;
                    }
                    arr[p]+=1;
                    i=p+1;//p位接受了进位的1后可能变更为9,需要再次检查进位
                    b=p+1;
                }
                }
            // System.out.println(Arrays.toString(arr));
            //检查预留位有没有数据
            if(arr[0]>0){
                sb.append(arr[0]);
                sb.append(arr[0]);
            }
            //构造结果串
            int base=0;//用于填充的0011,每次填充后交替转换
            for(int i=1;i<arr.length;i++){
                //b之前检查两两不能相等,相等则后一位+1,同时加一后也需要更新b
                if(i<b){
                    if(arr[i]!=arr[i-1]){
                        sb.append(arr[i]);
                        sb.append(arr[i]);
                    }else{
                        sb.append(arr[i-1]+1);
                        sb.append(arr[i-1]+1);
                        b=i+1;
                    }
                //b及之后的只需要0011交替即可
                }else{
                    sb.append(base);
                    sb.append(base);
                    if(base==0){
                        base++;
                    }else{
                        base--;
                    }
                }

            }
            System.out.println(sb.toString());

        }
    }
}