// Задача "Счастливый билет"
// XVI командный чемпионат школьников Санкт-Петербурга по программированию
// Автор задачи: Владимир Ульянцев, ulyantsev@rain.ifmo.ru
// Автор решения: Сергей Поромов, poromov@rain.ifmo.ru

import java.io.*;
import java.util.*;

public class lucky_sp_silly implements Runnable {

	public static void main(String[] args) {
		new Thread(new lucky_sp_silly()).run();
	}

	public void run() {
		try {
			Locale.setDefault(Locale.US);
			br = new BufferedReader(new FileReader(FILENAME + ".in"));
			out = new PrintWriter(FILENAME + ".out");
			solve();
			out.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	BufferedReader br;

	PrintWriter out;

	StringTokenizer st;

	String nextToken() throws IOException {
		while (st == null || !st.hasMoreTokens()) {
			st = new StringTokenizer(br.readLine());
		}
		return st.nextToken();
	}

	int nextInt() throws IOException {
		return Integer.parseInt(nextToken());
	}

	void myAssert(boolean e, String s) {
		if (!e) {
			throw new Error("Assertion failure " + s);
		}
	}

	private static final String FILENAME = "lucky";

	public void solve() throws IOException {
		String s = br.readLine();
		int n = s.length();
		int[] a = new int[n + 2];
		for (int i = 0; i < n; i++) {
			a[i] = s.charAt(n - i - 1) - '0';
		}
		while (!lucky(a)) {
			int i = 0;
			while (a[i] == 9) {
				i++;
			}
			a[i]++;
			for (i--; i >= 0; i--) {
				a[i] = 0;
			}
		}
		n += 2;
		while (a[n - 1] == 0) {
			n--;
		}
		for (int i = n - 1; i >= 0; i--) {
			out.print(a[i]);
		}
	}

	private boolean lucky(int[] a) {
		int s1 = 0;
		int s2 = 0;
		for (int i = 0; i < a.length; i++) {
			if ((i & 1) == 0) {
				s1 += a[i];
			} else {
				s2 += a[i];
			}
		}
		return s1 == s2;
	}
}
