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()