import sys, time, random, heapq, math, itertools from collections import deque, Counter, defaultdict #from sortedcontainers import SortedSet, SortedList from bisect import bisect, bisect_left, bisect_right import heapq as hq from functools import cache, cmp_to_key def debug(*x):print('debug:',*x, file=sys.stderr) sys.setrecursionlimit(300000) input = lambda: sys.stdin.readline().rstrip() ii = lambda: int(input()) mi = lambda: map(int, input().split()) li = lambda: list(mi()) inf = 2 ** 61 - 1 mod = 998244353 N = list(input()) for i in range(len(N)): if N[i] == "3": N[i] = "2" for j in range(i+1,len(N)): N[j] = "9" break cnt = 0 for i in range(len(N)): cnt += int(N[i]) cnt %=3 if cnt % 3 == 0: print(int("".join(N)) - 1) else: print(int("".join(N)))