def solved(): s = input() if len(s) % 2 == 1: k = (len(s)+1) // 2 print("1100" * (k//2) + "11" * (k%2)) else: for i in range(0, len(s), 2): if s[i] == s[i+1] and i > 0 and s[i] == s[i-1]: c, j = (int(s[i]) + 1) // 10, i-2 while j >= 0 and c == 1: c = (int(s[j]) + 1) // 10 if c == 0 and j > 0 and int(s[j]) + 1 == int(s[j-1]): c = (int(s[j]) + 2) // 10 j -= 2 if c == 1: k = len(s) // 2 + 1 print("1100" * (k//2) + "11" * (k%2)) else: k = (len(s) - j - 4) // 2 if int(s[j]) == int(s[j+2])+1: print(s[:j+2]+chr(ord(s[j+2])+2)*2+"0011" * (k//2) + "00" * (k%2)) else: #print(len(s[:j+2]+chr(ord(s[j+2])+1)*2+"0011" * (k//2) + "00" * (k%2))) print(s[:j+2]+chr(ord(s[j+2])+1)*2+"0011" * (k//2) + "00" * (k%2)) return if s[i] != s[i+1]: s_ = chr(max(ord(s[i]), ord(s[i+1]))) if i > 0 and s_ == s[i-1]: c, j = (int(s[i]) + 1) // 10, i-2 while j >= 0 and c == 1: c = (int(s[j]) + 1) // 10 if c == 0 and j > 0 and int(s[j]) + 1 == int(s[j-1]): c = (int(s[j]) + 2) // 10 j -= 2 if c == 1: k = len(s) // 2 + 1 print("1100" * (k//2) + "11" * (k%2)) else: k = (len(s) - j - 4) // 2 if int(s[j]) == int(s[j+2])+1: print(s[:j+2]+chr(ord(s[j+2])+2)*2+"0011" * (k//2) + "00" * (k%2)) else: print(s[:j+2]+chr(ord(s[j+2])+1)*2+"0011" * (k//2) + "00" * (k%2)) else: k = (len(s)-i-2) // 2 print(s[:i]+s_*2+"0011" * (k//2)+"00"*(k%2)) return if __name__ == "__main__": solved()