import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;

public class Main {

    public static void main(String[] args) throws Exception {

        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        char[] c = in.readLine().trim().toCharArray();

        for (int i = 1; i < c.length; i++) {
            char left = c[i - 1];
            char cur = c[i];
            char right;
            if (i == c.length - 1) {
                right = cur;
            } else {
                right = c[i + 1];
            }
            if (left == cur) {
                while (cur == left || cur == right) {
                    if (cur == 'z')
                        cur = 'a';
                    else
                        cur = (char) (cur + 1);
                }
                c[i] = cur;
            }
        }

        System.out.println(String.valueOf(c));
    }

}


import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;

public class Main {

    public static void main(String[] args) throws Exception {

        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        char[] c = in.readLine().trim().toCharArray();

        for (int i = 1; i < c.length; i++) {
            char left = c[Math.max(0, i - 1)];
            char right = c[Math.min(c.length - 1, i)];
            if (left == right) {
                char cur = c[i];
                while (cur == left) {
                    cur = (char) (cur + 1);
                }
                c[i] = cur;
            }
        }

        System.out.println(String.valueOf(c));
    }

}


import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;

public class Main {

    public static void main(String[] args) throws Exception {

        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        char[] c = in.readLine().trim().toCharArray();

        for (int i = 1; i < c.length; i++) {
            char left = c[i - 1];
            char cur = c[i];
            char right;
            if (i == c.length - 1) {
                right = cur;
            } else {
                right = c[i + 1];
            }
            if (left == cur) {
                while (cur == left || cur == right) {
                    cur = (char) (cur + 1);
                }
                c[i] = cur;
            }
        }

        System.out.println(String.valueOf(c));
    }

}


import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;

public class Main {

    static class Trip {
        int a, b, l;

        public Trip(int a, int b, int l) {
            this.a = a;
            this.b = b;
            this.l = l;
        }
    }

    public static void main(String[] args) throws Exception {

        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder s = new StringBuilder(in.readLine().trim());

        PriorityQueue<Trip> pq = new PriorityQueue<>(new Comparator<Trip>() {
            @Override
            public int compare(Trip o1, Trip o2) {
                return Integer.compare(o2.l, o1.l);
            }
        });

        char c = s.charAt(0);
        int begin = 0;
        int end = 0;
        for (int i = 1; i < s.length(); i++) {
            if (s.charAt(i) == c) {
                end = i;
            } else {
                if (end - begin > 0) {
                    pq.add(new Trip(begin, end, end - begin + 1));
                }
                c = s.charAt(i);
                begin = i;
                end = i;
            }
        }
        if (end - begin > 0) {
            pq.add(new Trip(begin, end, end - begin + 1));
        }
//        System.out.println(pq.size());

        while (!pq.isEmpty()) {
            Trip trip = pq.poll();
            int a = trip.a;
            int b = trip.b;
            int l = trip.l;
            if (l > 3) {
                for (int i = a; i <= b;) {
                    if (b - i - 2 < 1) {
                        pq.add(new Trip(i, i + 1, 2));
                        i += 2;
                    } else {
                        pq.add(new Trip(i, i + 2, 3));
                        i += 3;
                    }
                }
                continue;
            }

            if (l == 2) {
                char left = s.charAt(Math.max(0, a - 1));
                char right = s.charAt(Math.min(s.length() - 1, b));
                int newC = s.charAt(a);
                while (newC == left || newC == right) {
                    newC++;
                }
                s.setCharAt(a, (char) newC);
            } else {
                char left = s.charAt(Math.max(0, a));
                char right = s.charAt(Math.min(s.length() - 1, b));
                int newC = s.charAt(a + 1);
                while (newC == left || newC == right) {
                    newC++;
                }
                s.setCharAt(a + 1, (char) newC);
            }
        }

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

}


import java.io.*;    //PrintWriter
import java.math.*;  //BigInteger, BigDecimal
import java.util.*;  //StringTokenizer, ArrayList

public class Ed_2016_R12_C
{
	FastReader in;
	PrintWriter out;

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

	void run()
	{
		in = new FastReader(System.in);
		out = new PrintWriter(System.out);
		solve();
		out.close();
	}

	void solve()
	{
		String s = in.next();
		int n = s.length();
		String st = "";
		char c, priorc = ' ', nextc = ' ';
		for (int i = 0; i < n; i++)
		{
			c = s.charAt(i);
			if (c == priorc)
			{
				if (i+1 < n)
					nextc = s.charAt(i+1);
				else
					nextc = ' ';

				if (c != 'a' && nextc != 'a')
					st += "a";
				else if (c != 'b' && nextc != 'b')
					st += "b";
				else
					st += "c";
				priorc = st.charAt(st.length()-1);
			}
			else
			{
				st += c;
				priorc = c;
			}
		}

		//StringBuilder sb = new StringBuilder(st + k);
		//sb.append("\r\n");

		out.println(st);
	}

	//-----------------------------------------------------
	void runWithFiles() {
		in = new FastReader(new File("input.txt"));
		try {
			out = new PrintWriter(new File("output.txt"));
		}
		catch (FileNotFoundException e) {
			e.printStackTrace();
		}
		solve();
		out.close();
	}

	class FastReader
	{
	    BufferedReader br;
	    StringTokenizer tokenizer;

	    public FastReader(InputStream stream)
	    {
	        br = new BufferedReader(new InputStreamReader(stream));
	        tokenizer = null;
	    }
		public FastReader(File f) {
			try {
				br = new BufferedReader(new FileReader(f));
				tokenizer = null;
			}
			catch (FileNotFoundException e) {
				e.printStackTrace();
			}
		}

	    private String next() {
	        while (tokenizer == null || !tokenizer.hasMoreTokens())
	            try {
	            	tokenizer = new StringTokenizer(br.readLine());
	            }
	            catch (IOException e) {
	                throw new RuntimeException(e);
	            }
	        return tokenizer.nextToken();
	    }
		public String nextLine() {
			try	{
				return br.readLine();
			}
			catch(Exception e) {
				throw(new RuntimeException());
			}
		}

	    int nextInt() {
	        return Integer.parseInt(next());
	    }
	    long nextLong() {
	        return Long.parseLong(next());
	    }
	    double nextDouble() {
	        return Double.parseDouble(next());
	    }
	    BigInteger nextBigInteger() {
	        return new BigInteger(next());
	    }
	    BigDecimal nextBigDecimal() {
	        return new BigDecimal(next());
	    }
	}
}


import java.io.*;    //PrintWriter
import java.math.*;  //BigInteger, BigDecimal
import java.util.*;  //StringTokenizer, ArrayList

public class Ed_2016_R12_C
{
	FastReader in;
	PrintWriter out;

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

	void run()
	{
		in = new FastReader(System.in);
		out = new PrintWriter(System.out);
		solve();
		out.close();
	}

	void solve()
	{
		StringBuilder sb = new StringBuilder(in.next());
		int n = sb.length();
		char c, nextc = ' ';
		for (int i = 1; i < n; i++)
		{
			c = sb.charAt(i);
			if (c == sb.charAt(i-1))
			{
				if (i+1 < n)
					nextc = sb.charAt(i+1);
				else
					nextc = ' ';

				if (c != 'a' && nextc != 'a')
					sb.replace(i, i+1, "a");
				else if (c != 'b' && nextc != 'b')
					sb.replace(i, i+1, "b");
				else
					sb.replace(i, i+1, "c");
			}
		}

		out.println(sb);
	}

	//-----------------------------------------------------
	void runWithFiles() {
		in = new FastReader(new File("input.txt"));
		try {
			out = new PrintWriter(new File("output.txt"));
		}
		catch (FileNotFoundException e) {
			e.printStackTrace();
		}
		solve();
		out.close();
	}

	class FastReader
	{
	    BufferedReader br;
	    StringTokenizer tokenizer;

	    public FastReader(InputStream stream)
	    {
	        br = new BufferedReader(new InputStreamReader(stream));
	        tokenizer = null;
	    }
		public FastReader(File f) {
			try {
				br = new BufferedReader(new FileReader(f));
				tokenizer = null;
			}
			catch (FileNotFoundException e) {
				e.printStackTrace();
			}
		}

	    private String next() {
	        while (tokenizer == null || !tokenizer.hasMoreTokens())
	            try {
	            	tokenizer = new StringTokenizer(br.readLine());
	            }
	            catch (IOException e) {
	                throw new RuntimeException(e);
	            }
	        return tokenizer.nextToken();
	    }
		public String nextLine() {
			try	{
				return br.readLine();
			}
			catch(Exception e) {
				throw(new RuntimeException());
			}
		}

	    int nextInt() {
	        return Integer.parseInt(next());
	    }
	    long nextLong() {
	        return Long.parseLong(next());
	    }
	    double nextDouble() {
	        return Double.parseDouble(next());
	    }
	    BigInteger nextBigInteger() {
	        return new BigInteger(next());
	    }
	    BigDecimal nextBigDecimal() {
	        return new BigDecimal(next());
	    }
	}
}


import java.io.*;    //PrintWriter
import java.math.*;  //BigInteger, BigDecimal
import java.util.*;  //StringTokenizer, ArrayList

public class Ed_2016_R12_C
{
	FastReader in;
	PrintWriter out;

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

	void run()
	{
		in = new FastReader(System.in);
		out = new PrintWriter(System.out);
		solve();
		out.close();
	}

	void solve()
	{
		String s = in.next();
		int n = s.length();
		StringBuilder sb = new StringBuilder();
		char c, priorc = ' ', nextc = ' ';
		for (int i = 0; i < n; i++)
		{
			c = s.charAt(i);
			if (c == priorc)
			{
				if (i+1 < n)
					nextc = s.charAt(i+1);
				else
					nextc = ' ';

				if (c != 'a' && nextc != 'a')
					priorc = 'a';
				else if (c != 'b' && nextc != 'b')
					priorc = 'b';
				else
					priorc = 'c';
				sb.append(priorc);
			}
			else
			{
				sb.append(c);
				priorc = c;
			}
		}

		out.println(sb);
	}

	//-----------------------------------------------------
	void runWithFiles() {
		in = new FastReader(new File("input.txt"));
		try {
			out = new PrintWriter(new File("output.txt"));
		}
		catch (FileNotFoundException e) {
			e.printStackTrace();
		}
		solve();
		out.close();
	}

	class FastReader
	{
	    BufferedReader br;
	    StringTokenizer tokenizer;

	    public FastReader(InputStream stream)
	    {
	        br = new BufferedReader(new InputStreamReader(stream));
	        tokenizer = null;
	    }
		public FastReader(File f) {
			try {
				br = new BufferedReader(new FileReader(f));
				tokenizer = null;
			}
			catch (FileNotFoundException e) {
				e.printStackTrace();
			}
		}

	    private String next() {
	        while (tokenizer == null || !tokenizer.hasMoreTokens())
	            try {
	            	tokenizer = new StringTokenizer(br.readLine());
	            }
	            catch (IOException e) {
	                throw new RuntimeException(e);
	            }
	        return tokenizer.nextToken();
	    }
		public String nextLine() {
			try	{
				return br.readLine();
			}
			catch(Exception e) {
				throw(new RuntimeException());
			}
		}

	    int nextInt() {
	        return Integer.parseInt(next());
	    }
	    long nextLong() {
	        return Long.parseLong(next());
	    }
	    double nextDouble() {
	        return Double.parseDouble(next());
	    }
	    BigInteger nextBigInteger() {
	        return new BigInteger(next());
	    }
	    BigDecimal nextBigDecimal() {
	        return new BigDecimal(next());
	    }
	}
}


import java.io.IOException;

public class Main {

	static java.io.BufferedReader reader = new java.io.BufferedReader(new java.io.InputStreamReader(System.in));

	static int[] mins;

	public static void main(String[] args) throws IOException {
		String line = reader.readLine();

		char[] array = line.toCharArray();
		mins = new int[line.length()];

		for (int i = 0; i < mins.length; i++) {
			mins[i] = -1;
		}

		mins[0] = 0;

		getNewArray(array, array.length - 1);

//		System.out.println(mins[array.length - 1]);

		for (int i = 0; i < array.length; i++) {
			if (array[i] == '*') {
				for (char ch = 'a'; ch <= 'z'; ch++) {
					if(i - 1 >= 0 && array[i - 1] == ch) {
						continue;
					}

					if (i + 1 < array.length && array[i + 1] == ch) {
						continue;
					}

					array[i] = ch;
					break;
				}
			}
		}

		System.out.println(new String(array));
	}

	public static int getNewArray(char[] array, int index) {
		if (mins[index] != -1) {
			return mins[index];
		}

		if (array[index] != array[index - 1]) {
			return getNewArray(array, index - 1);
		}

		int m1 = Integer.MAX_VALUE;
		int m2 = Integer.MAX_VALUE;

		if (index - 1 >= 0) {
			m1 = getNewArray(array, index - 1) + 1;
		}

		if (index - 2 >= 0) {
			m2 = getNewArray(array, index - 2) + 1;
		}

		int min = Math.min(m1, m2);

		if (min == m1) {
			array[index] = '*';
		} else {
			array[index - 1] = '*';
		}

		mins[index] = min;

		return min;
	}

}


import java.io.IOException;
import java.util.Arrays;

public class Main {

	static java.io.BufferedReader reader = new java.io.BufferedReader(new java.io.InputStreamReader(System.in));

	static int[] mins;

	public static void main(String[] args) throws IOException {
		String line = reader.readLine();

		char[] array = line.toCharArray();
		mins = new int[line.length()];

		for (int i = 0; i < mins.length; i++) {
			mins[i] = -1;
		}

		mins[0] = 0;

		getNewArray(array, array.length - 1);

		System.out.println();
		for (int i = 20; i < 26; i++) {
			System.out.print(array[i]);
		}
		System.out.println();

		for (int i = 1; i < array.length; i++) {
			if (array[i] == '*' && i + 1 < array.length && array[i + 1] == '*') {
				array[i] = (char) ((array[i - 1] + 1) % 26 + 'a');
			}

			if (array[i] == '*' && i + 1 < array.length && array[i + 1] != '*') {

				for (char ch = 'a'; ch <= 'z'; ch++) {
					if (array[i] != ch && array[i + 1] != ch) {
						array[i] = (char) ch;
					}
				}
			}
		}

		System.out.println();
		for (int i = 20; i < 26; i++) {
			System.out.print(array[i]);
		}

		System.out.println();
		System.out.println(new String(array));
	}

	public static int getNewArray(char[] array, int index) {
		if (mins[index] != -1) {
			return mins[index];
		}

		if (array[index] != array[index - 1]) {
			return getNewArray(array, index - 1);
		}

		int m1 = Integer.MAX_VALUE;
		int m2 = Integer.MAX_VALUE;

		if (index - 1 >= 0) {
			m1 = getNewArray(array, index - 1) + 1;
		}

		if (index - 2 >= 0) {
			m2 = getNewArray(array, index - 2) + 1;
		}

		int min = Math.min(m1, m2);

		if (min == m1) {
			array[index] = '*';
		} else {
			array[index - 1] = '*';
		}

		mins[index] = min;

		return min;
	}

}


import java.io.IOException;

public class Main {

	static java.io.BufferedReader reader = new java.io.BufferedReader(new java.io.InputStreamReader(System.in));

	static int[] mins;
	public static void main(String[] args) throws IOException {
		String line = reader.readLine();

		char[] array = line.toCharArray();
		mins = new int[line.length()];

		for (int i = 0; i < mins.length; i++) {
			mins[i]= -1;
		}

		mins[0] = 0;

		getNewArray(array, array.length - 1);

		for (int i = 1; i < array.length; i++) {
			if (array[i] == '*') {
				array[i] = (char) ((array[i - 1] + '1') % 26 + 'a');
			}
		}

		System.out.println(new String(array));
	}

	public static int getNewArray(char[] array, int index) {
		if (mins[index] != -1) {
			return mins[index];
		}

		if (array[index] != array[index - 1]) {
			return getNewArray(array, index - 1);
		}

		int m1 = Integer.MAX_VALUE;
		int m2 = Integer.MAX_VALUE;

		if (index - 1 >= 0) {
			m1 = getNewArray(array,  index - 1) + 1;
		}

		if (index - 2 >= 0) {
			m2 = getNewArray(array,  index - 2) + 1;
		}

		int min = Math.min(m1, m2);

		if (min == m1) {
			array[index] = '*';
		} else {
			array[index - 1] = '*';
		}

		mins[index] = min;

		return min;
	}

}


import java.io.IOException;
import java.util.Arrays;

public class Main {

	static java.io.BufferedReader reader = new java.io.BufferedReader(new java.io.InputStreamReader(System.in));

	static int[] mins;

	public static void main(String[] args) throws IOException {
		String line = reader.readLine();

		char[] array = line.toCharArray();
		mins = new int[line.length()];

		for (int i = 0; i < mins.length; i++) {
			mins[i] = -1;
		}

		mins[0] = 0;

		getNewArray(array, array.length - 1);

//		System.out.println();
//		for (int i = 20; i < 26; i++) {
//			System.out.print(array[i]);
//		}
//		System.out.println();

		for (int i = 1; i < array.length; i++) {
			if (array[i] == '*' && i + 1 < array.length && array[i + 1] == '*') {
				array[i] = (char) ((array[i - 1] + 1) % 26 + 'a');
			}

			if (array[i] == '*' && i + 1 < array.length && array[i + 1] != '*') {

				for (char ch = 'a'; ch <= 'z'; ch++) {
					if (array[i] != ch && array[i + 1] != ch) {
						array[i] = (char) ch;
					}
				}
			}
		}

//		System.out.println();
//		for (int i = 20; i < 26; i++) {
//			System.out.print(array[i]);
//		}
//		System.out.println();

		System.out.println(new String(array));
	}

	public static int getNewArray(char[] array, int index) {
		if (mins[index] != -1) {
			return mins[index];
		}

		if (array[index] != array[index - 1]) {
			return getNewArray(array, index - 1);
		}

		int m1 = Integer.MAX_VALUE;
		int m2 = Integer.MAX_VALUE;

		if (index - 1 >= 0) {
			m1 = getNewArray(array, index - 1) + 1;
		}

		if (index - 2 >= 0) {
			m2 = getNewArray(array, index - 2) + 1;
		}

		int min = Math.min(m1, m2);

		if (min == m1) {
			array[index] = '*';
		} else {
			array[index - 1] = '*';
		}

		mins[index] = min;

		return min;
	}

}


import java.io.IOException;

public class Main {

	static java.io.BufferedReader reader = new java.io.BufferedReader(new java.io.InputStreamReader(System.in));

	static int[] mins;
	public static void main(String[] args) throws IOException {
		String line = reader.readLine();

		char[] array = line.toCharArray();
		mins = new int[line.length()];

		for (int i = 0; i < mins.length; i++) {
			mins[i]= -1;
		}

		mins[0] = 0;

		getNewArray(array, array.length - 1);

		for (int i = 1; i < array.length; i++) {
			if (array[i] == '*') {
				array[i] = (char) ((array[i - 1] + 1) % 26 + 'a');
			}
		}

		System.out.println(new String(array));
	}

	public static int getNewArray(char[] array, int index) {
		if (mins[index] != -1) {
			return mins[index];
		}

		if (array[index] != array[index - 1]) {
			return getNewArray(array, index - 1);
		}

		int m1 = Integer.MAX_VALUE;
		int m2 = Integer.MAX_VALUE;

		if (index - 1 >= 0) {
			m1 = getNewArray(array,  index - 1) + 1;
		}

		if (index - 2 >= 0) {
			m2 = getNewArray(array,  index - 2) + 1;
		}

		int min = Math.min(m1, m2);

		if (min == m1) {
			array[index] = '*';
		} else {
			array[index - 1] = '*';
		}

		mins[index] = min;

		return min;
	}

}


import java.io.IOException;
import java.util.Arrays;

public class Main {

	static java.io.BufferedReader reader = new java.io.BufferedReader(new java.io.InputStreamReader(System.in));

	static int[] mins;

	public static void main(String[] args) throws IOException {
		String line = reader.readLine();

		char[] array = line.toCharArray();
		mins = new int[line.length()];

		for (int i = 0; i < mins.length; i++) {
			mins[i] = -1;
		}

		mins[0] = 0;

//		getNewArray(array, array.length - 1);

//		System.out.println();
//		for (int i = 20; i < 26; i++) {
//			System.out.print(array[i]);
//		}
//		System.out.println();

		for (int i = 1; i < array.length; i++) {
			if (array[i] == '*' && i + 1 < array.length && array[i + 1] == '*') {
				array[i] = (char) ((array[i - 1] + 1) % 26 + 'a');
			}

			if (array[i] == '*' && i + 1 < array.length && array[i + 1] != '*') {

				for (char ch = 'a'; ch <= 'z'; ch++) {
					if (array[i] != ch && array[i + 1] != ch) {
						array[i] = (char) ch;
					}
				}
			}
		}

//		System.out.println();
//		for (int i = 20; i < 26; i++) {
//			System.out.print(array[i]);
//		}
//		System.out.println();

		System.out.println(new String(array));
	}

	public static int getNewArray(char[] array, int index) {
		if (mins[index] != -1) {
			return mins[index];
		}

		if (array[index] != array[index - 1]) {
			return getNewArray(array, index - 1);
		}

		int m1 = Integer.MAX_VALUE;
		int m2 = Integer.MAX_VALUE;

		if (index - 1 >= 0) {
			m1 = getNewArray(array, index - 1) + 1;
		}

		if (index - 2 >= 0) {
			m2 = getNewArray(array, index - 2) + 1;
		}

		int min = Math.min(m1, m2);

		if (min == m1) {
			array[index] = '*';
		} else {
			array[index - 1] = '*';
		}

		mins[index] = min;

		return min;
	}

}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.Random;
import java.util.StringTokenizer;

public class Main {

    public static void main(String[] args) throws Exception {
        long startTime = System.nanoTime();
        char[] data = in.next().toCharArray();
        for (int i = 0; i < data.length; i++) {
            if (i + 1 < data.length && data[i] == data[i + 1]) {
                if (i + 2 < data.length && data[i + 1] == data[i + 2]) {
                    data[i + 1] = getRandomChar(data[i + 1]);
                } else {
                    data[i] = getRandomChar(data[i]);
                }
            }
        }
        String res = new String(data);
        out.println(res);
        long endTime = System.nanoTime();
        err.println("Execution Time : +" + (endTime - startTime) / 1000000 + " ms");
        exit(0);
    }

    static char get(char a) {
        if (a != 'a') {
            a--;
            return a;
        } else {
            a++;
            return a;
        }
    }

    static char getRandomChar(char x) {
        String SALTCHARS = "abcdefghijklmnopqrstuvwxyz";
        StringBuilder salt = new StringBuilder();
        Random rnd = new Random();
        while (true) { // length of the random string.
            int index = (int) (rnd.nextFloat() * SALTCHARS.length());
            if (x != (SALTCHARS.charAt(index))) {
                return SALTCHARS.charAt(index);
            }
        }
    }

    static class InputReader {
        public BufferedReader reader;
        public StringTokenizer tokenizer;

        public InputReader(InputStream stream) {
            reader = new BufferedReader(new InputStreamReader(stream), 32768);
            tokenizer = null;
        }

        public String next() {
            while (tokenizer == null || !tokenizer.hasMoreTokens()) {
                try {
                    tokenizer = new StringTokenizer(reader.readLine());
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
            }
            return tokenizer.nextToken();
        }

        public long nextLong() {
            return Long.parseLong(next());
        }

        public int nextInt() {
            return Integer.parseInt(next());
        }

        public double nextDouble() {
            return Double.parseDouble(next());
        }
    }

    static void exit(int a) {
        out.close();
        err.close();
        System.exit(a);
    }

    static InputStream inputStream = System.in;
    static OutputStream outputStream = System.out;
    static OutputStream errStream = System.err;
    static InputReader in = new InputReader(inputStream);
    static PrintWriter out = new PrintWriter(outputStream);
    static PrintWriter err = new PrintWriter(errStream);
    static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.Random;
import java.util.StringTokenizer;
import java.util.concurrent.ThreadLocalRandom;

public class Main {

    public static void main(String[] args) throws Exception {
        long startTime = System.nanoTime();
        char[] data = in.next().toCharArray();
        for (int i = 0; i < data.length; i++) {
            if (i + 1 < data.length && data[i] == data[i + 1]) {
                if (i + 2 < data.length && data[i + 1] == data[i + 2]) {
                    data[i + 1] = getRandomChar(data[i + 1]);
                    while (data[i] == data[i + 1]) {
                        data[i + 1] = getRandomChar(data[i + 1]);
                    }
                } else {
                    data[i] = getRandomChar(data[i]);
                    while (i - 1 >= 0 && data[i] == data[i - 1]) {
                        data[i] = getRandomChar(data[i]);
                    }
                }
            }
        }
        String res = new String(data);
        out.println(res);
        long endTime = System.nanoTime();
        err.println("Execution Time : +" + (endTime - startTime) / 1000000 + " ms");
        exit(0);
    }

    static char get(char a) {
        if (a != 'a') {
            a--;
            return a;
        } else {
            a++;
            return a;
        }
    }

    static char getRandomChar(char x) {
        String SALTCHARS = "abcdefghijklmnopqrstuvwxyz";
        StringBuilder salt = new StringBuilder();
        Random rnd = new Random(ThreadLocalRandom.current().nextLong(10, 100000));
        while (true) { // length of the random string.
            int index = (int) (rnd.nextFloat() * SALTCHARS.length());
            if (x != (SALTCHARS.charAt(index))) {
                return SALTCHARS.charAt(index);
            }
        }
    }

    static class InputReader {
        public BufferedReader reader;
        public StringTokenizer tokenizer;

        public InputReader(InputStream stream) {
            reader = new BufferedReader(new InputStreamReader(stream), 32768);
            tokenizer = null;
        }

        public String next() {
            while (tokenizer == null || !tokenizer.hasMoreTokens()) {
                try {
                    tokenizer = new StringTokenizer(reader.readLine());
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
            }
            return tokenizer.nextToken();
        }

        public long nextLong() {
            return Long.parseLong(next());
        }

        public int nextInt() {
            return Integer.parseInt(next());
        }

        public double nextDouble() {
            return Double.parseDouble(next());
        }
    }

    static void exit(int a) {
        out.close();
        err.close();
        System.exit(a);
    }

    static InputStream inputStream = System.in;
    static OutputStream outputStream = System.out;
    static OutputStream errStream = System.err;
    static InputReader in = new InputReader(inputStream);
    static PrintWriter out = new PrintWriter(outputStream);
    static PrintWriter err = new PrintWriter(errStream);
    static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.Random;
import java.util.StringTokenizer;
import java.util.concurrent.ThreadLocalRandom;

public class Main {

    public static void main(String[] args) throws Exception {
        long startTime = System.nanoTime();
        char[] data = in.next().toCharArray();
        for (int i = 0; i < data.length; i++) {
            if (i + 1 < data.length && data[i] == data[i + 1]) {
                if (i + 2 < data.length && data[i + 1] == data[i + 2]) {
                    data[i + 1] = getRandomChar(data[i + 1]);
                    while (data[i] == data[i + 1]) {
                        data[i + 1] = getRandomChar(data[i + 2]);
                    }
                } else {
                    data[i] = getRandomChar(data[i + 1]);
                    while (i - 1 >= 0 && data[i] == data[i - 1]) {
                        data[i] = getRandomChar(data[i + 1]);
                    }
                }
            }
        }
        String res = new String(data);
        out.println(res);
        long endTime = System.nanoTime();
        err.println("Execution Time : +" + (endTime - startTime) / 1000000 + " ms");
        exit(0);
    }

    static char get(char a) {
        if (a != 'a') {
            a--;
            return a;
        } else {
            a++;
            return a;
        }
    }

    static char getRandomChar(char x) {
        String SALTCHARS = "abcdefghijklmnopqrstuvwxyz";
        StringBuilder salt = new StringBuilder();
        Random rnd = new Random(ThreadLocalRandom.current().nextLong(10, 100000));
        while (true) { // length of the random string.
            int index = (int) (rnd.nextFloat() * SALTCHARS.length());
            if (x != (SALTCHARS.charAt(index))) {
                return SALTCHARS.charAt(index);
            }
        }
    }

    static class InputReader {
        public BufferedReader reader;
        public StringTokenizer tokenizer;

        public InputReader(InputStream stream) {
            reader = new BufferedReader(new InputStreamReader(stream), 32768);
            tokenizer = null;
        }

        public String next() {
            while (tokenizer == null || !tokenizer.hasMoreTokens()) {
                try {
                    tokenizer = new StringTokenizer(reader.readLine());
                } catch (IOException e) {
                    throw new RuntimeException(e);
                }
            }
            return tokenizer.nextToken();
        }

        public long nextLong() {
            return Long.parseLong(next());
        }

        public int nextInt() {
            return Integer.parseInt(next());
        }

        public double nextDouble() {
            return Double.parseDouble(next());
        }
    }

    static void exit(int a) {
        out.close();
        err.close();
        System.exit(a);
    }

    static InputStream inputStream = System.in;
    static OutputStream outputStream = System.out;
    static OutputStream errStream = System.err;
    static InputReader in = new InputReader(inputStream);
    static PrintWriter out = new PrintWriter(outputStream);
    static PrintWriter err = new PrintWriter(errStream);
    static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

}


import java.util.*;

public class SimpleStrings{

     public static void main(String []args){
        Scanner s = new Scanner(System.in);
        char[] n = s.nextLine().toCharArray();
        char replaceChar = 'a';
        for (int i = 1; i < n.length; i++) {
            if(n[i] == n[i - 1]) {
                if(i != n.length - 1 && n[i] == n[i + 1]) {
                    while (n[i - 1] == replaceChar || n[i + 1] == replaceChar) {
                        replaceChar = ++replaceChar;
                    }
                    n[i] = replaceChar;
                } else {
                    if (i > 2) {
                        while (n[i - 2] == replaceChar || n[i] == replaceChar){
                            replaceChar = ++replaceChar;
                        }
                    } else {
                        while (n[i] == replaceChar){
                            replaceChar = ++replaceChar;
                        }
                    }
                    n[i - 1] = replaceChar;
                }
            }
            replaceChar = 'a';
        }
        System.out.println(n);
     }
}


import java.util.*;

public class SimpleStrings{

     public static void main(String []args){
        Scanner s = new Scanner(System.in);
        char[] n = s.nextLine().toCharArray();
        for (int i = 1; i < n.length; i++) {
            if(n[i] == n[i - 1]) {
                if(n[i] == n[i + 1]) {
                    n[i] = ++n[i];
                } else {
                    if( i > 2) {
                        if(n[i - 2] != n[i - 1] + 1) {
                            n[i - 1] = ++n[i - 1];
                        } else {
                            n[i - 1] = ++n[i - 1];
                            n[i - 2] = ++n[i - 2];
                        }
                    } else {
                        n[i - 1] = ++n[i - 1];
                    }
                }
            }
        }
        System.out.println(n);
     }
}


import java.util.*;

public class SimpleStrings{

     public static void main(String []args){
        Scanner s = new Scanner(System.in);
        char[] n = s.nextLine().toCharArray();
        for (int i = 1; i < n.length - 1; i++) {
            if(n[i] == n[i - 1]) {
                if(n[i] == n[i + 1]) {
                    n[i] = ++n[i];
                } else {
                    if( i > 2) {
                        if(n[i - 2] != n[i - 1] + 1) {
                            n[i - 1] = ++n[i - 1];
                        } else {
                            n[i - 1] = ++n[i - 1];
                            n[i - 2] = ++n[i - 2];
                        }
                    } else {
                        n[i - 1] = ++n[i - 1];
                    }
                }
            }
        }
        System.out.println(n);
     }
}


import java.util.*;

public class SimpleStrings{

     public static void main(String []args){
        Scanner s = new Scanner(System.in);
        char[] n = s.nextLine().toCharArray();
        for (int i = 1; i < n.length; i++) {
            if(n[i] == n[i - 1]) {
                if(n[i] == n[i + 1]) {
                    n[i] = ++n[i];
                } else {
                    n[i - 1] = ++n[i - 1];
                }
            }
        }
        System.out.println(n);
     }
}


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

public class main {

    public static void main(String[] args) {
        InputReader sc=new InputReader(System.in);
        String str=sc.nextLine();
        char y='x'+1;
        int c=0;
        String out;
        char arr[]=str.toCharArray();
        for(int i=1;i<str.length()-1;i++){
        	if(arr[i]==arr[i-1]){
        		if(arr[i]!='z' && arr[i+1]!=(char)(arr[i]+1)){
        			arr[i]=(char) (arr[i]+1);
        			c=1;
        		}
        		else if(arr[i]!='a' && arr[i+1]!=(char)(arr[i]-1)){
	        		arr[i]=(char) (arr[i]-1);
	        		c=1;
        		}
        		else if(arr[i]!='y' && arr[i]!='z'){
        			arr[i]=(char)(arr[i]+2);
        		}
        		else
        			arr[i]=(char)(arr[i]-2);
        	/*if(arr[i]=='z' && arr[i+1]!='a' && c==0)
        		arr[i]='a';
       		else if(c==0)
       			arr[i]='y';
       		c=0;*/
        	}
        }
        if(str.length()>=2 && arr[str.length()-2]==arr[str.length()-1]){
        	if(arr[str.length()-1]!='z')
        		arr[str.length()-1]=(char)(arr[str.length()-1]+1);
        	else
        		arr[str.length()-1]='a';
        }
        for(int i=0;i<str.length();i++)
        System.out.print(arr[i]);
    }

    static class InputReader {

    private final InputStream stream;
    private final byte[] buf = new byte[8192];
    private int curChar, snumChars;
    private SpaceCharFilter filter;

    public InputReader(InputStream stream) {
        this.stream = stream;
    }

    public int snext() {
        if (snumChars == -1)
            throw new InputMismatchException();
        if (curChar >= snumChars) {
            curChar = 0;
            try {
                snumChars = stream.read(buf);
            } catch (IOException e) {
                throw new InputMismatchException();
            }
            if (snumChars <= 0)
                return -1;
        }
        return buf[curChar++];
    }

    public int nextInt() {
        int c = snext();
        while (isSpaceChar(c)) {
            c = snext();
        }
        int sgn = 1;
        if (c == '-') {
            sgn = -1;
            c = snext();
        }
        int res = 0;
        do {
            if (c < '0' || c > '9')
                throw new InputMismatchException();
            res *= 10;
            res += c - '0';
            c = snext();
        } while (!isSpaceChar(c));
        return res * sgn;
    }

    public long nextLong() {
        int c = snext();
        while (isSpaceChar(c)) {
            c = snext();
        }
        int sgn = 1;
        if (c == '-') {
            sgn = -1;
            c = snext();
        }
        long res = 0;
        do {
            if (c < '0' || c > '9')
                throw new InputMismatchException();
            res *= 10;
            res += c - '0';
            c = snext();
        } while (!isSpaceChar(c));
        return res * sgn;
    }

    public int[] nextIntArray(int n) {
        int a[] = new int[n];
        for (int i = 0; i < n; i++) {
            a[i] = nextInt();
        }
        return a;
    }

    public String readString() {
        int c = snext();
        while (isSpaceChar(c)) {
            c = snext();
        }
        StringBuilder res = new StringBuilder();
        do {
            res.appendCodePoint(c);
            c = snext();
        } while (!isSpaceChar(c));
        return res.toString();
    }

    public String nextLine() {
        int c = snext();
        while (isSpaceChar(c))
            c = snext();
        StringBuilder res = new StringBuilder();
        do {
            res.appendCodePoint(c);
            c = snext();
        } while (!isEndOfLine(c));
        return res.toString();
    }

    public boolean isSpaceChar(int c) {
        if (filter != null)
            return filter.isSpaceChar(c);
        return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
    }

    private boolean isEndOfLine(int c) {
        return c == '\n' || c == '\r' || c == -1;
    }

    public interface SpaceCharFilter {
        public boolean isSpaceChar(int ch);
    }
}
}


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

public class main {

    public static void main(String[] args) {
        InputReader sc=new InputReader(System.in);
        String str=sc.nextLine();
        char y='x'+1;
        int c=0;
        String out;
        char arr[]=str.toCharArray();
        for(int i=1;i<str.length()-1;i++){
        	if(arr[i]==arr[i-1]){
        		if(arr[i+1]!=(char)(arr[i]+1)){
        			arr[i]=(char) (arr[i]+1);
        			c=1;
        		}
        		else
        			arr[i]=(char) (arr[i]+2);
        		if(arr[i]=='z' && arr[i+1]!='a' && c==0)
        			arr[i]='a';
        		else if(c==0)
        			arr[i]='y';
        		c=0;

        	}
        }
        if(arr[str.length()-2]==arr[str.length()-1]){
        	if(arr[str.length()-1]!='z')
        		arr[str.length()-1]=(char)(arr[str.length()-1]+1);
        	else
        		arr[str.length()-1]='a';
        }
        for(int i=0;i<str.length();i++)
        System.out.print(arr[i]);
    }

    static class InputReader {

    private final InputStream stream;
    private final byte[] buf = new byte[8192];
    private int curChar, snumChars;
    private SpaceCharFilter filter;

    public InputReader(InputStream stream) {
        this.stream = stream;
    }

    public int snext() {
        if (snumChars == -1)
            throw new InputMismatchException();
        if (curChar >= snumChars) {
            curChar = 0;
            try {
                snumChars = stream.read(buf);
            } catch (IOException e) {
                throw new InputMismatchException();
            }
            if (snumChars <= 0)
                return -1;
        }
        return buf[curChar++];
    }

    public int nextInt() {
        int c = snext();
        while (isSpaceChar(c)) {
            c = snext();
        }
        int sgn = 1;
        if (c == '-') {
            sgn = -1;
            c = snext();
        }
        int res = 0;
        do {
            if (c < '0' || c > '9')
                throw new InputMismatchException();
            res *= 10;
            res += c - '0';
            c = snext();
        } while (!isSpaceChar(c));
        return res * sgn;
    }

    public long nextLong() {
        int c = snext();
        while (isSpaceChar(c)) {
            c = snext();
        }
        int sgn = 1;
        if (c == '-') {
            sgn = -1;
            c = snext();
        }
        long res = 0;
        do {
            if (c < '0' || c > '9')
                throw new InputMismatchException();
            res *= 10;
            res += c - '0';
            c = snext();
        } while (!isSpaceChar(c));
        return res * sgn;
    }

    public int[] nextIntArray(int n) {
        int a[] = new int[n];
        for (int i = 0; i < n; i++) {
            a[i] = nextInt();
        }
        return a;
    }

    public String readString() {
        int c = snext();
        while (isSpaceChar(c)) {
            c = snext();
        }
        StringBuilder res = new StringBuilder();
        do {
            res.appendCodePoint(c);
            c = snext();
        } while (!isSpaceChar(c));
        return res.toString();
    }

    public String nextLine() {
        int c = snext();
        while (isSpaceChar(c))
            c = snext();
        StringBuilder res = new StringBuilder();
        do {
            res.appendCodePoint(c);
            c = snext();
        } while (!isEndOfLine(c));
        return res.toString();
    }

    public boolean isSpaceChar(int c) {
        if (filter != null)
            return filter.isSpaceChar(c);
        return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
    }

    private boolean isEndOfLine(int c) {
        return c == '\n' || c == '\r' || c == -1;
    }

    public interface SpaceCharFilter {
        public boolean isSpaceChar(int ch);
    }
}
}


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

public class main {

    public static void main(String[] args) {
        InputReader sc=new InputReader(System.in);
        String str=sc.nextLine();
        char y='x'+1;
        int c=0;
        String out;
        char arr[]=str.toCharArray();
        for(int i=1;i<str.length()-1;i++){
        	if(arr[i]==arr[i-1]){
        		if(arr[i+1]!=(char)(arr[i]+1)){
        			arr[i]=(char) (arr[i]+1);
        			c=1;
        		}
        		else
        			arr[i]=(char) (arr[i]+2);
        		if(arr[i]=='z' && arr[i+1]!='a' && c==0)
        			arr[i]='a';
        		else if(c==0)
        			arr[i]='y';
        		c=0;

        	}
        }
        if(str.length()>=2 && arr[str.length()-2]==arr[str.length()-1]){
        	if(arr[str.length()-1]!='z')
        		arr[str.length()-1]=(char)(arr[str.length()-1]+1);
        	else
        		arr[str.length()-1]='a';
        }
        for(int i=0;i<str.length();i++)
        System.out.print(arr[i]);
    }

    static class InputReader {

    private final InputStream stream;
    private final byte[] buf = new byte[8192];
    private int curChar, snumChars;
    private SpaceCharFilter filter;

    public InputReader(InputStream stream) {
        this.stream = stream;
    }

    public int snext() {
        if (snumChars == -1)
            throw new InputMismatchException();
        if (curChar >= snumChars) {
            curChar = 0;
            try {
                snumChars = stream.read(buf);
            } catch (IOException e) {
                throw new InputMismatchException();
            }
            if (snumChars <= 0)
                return -1;
        }
        return buf[curChar++];
    }

    public int nextInt() {
        int c = snext();
        while (isSpaceChar(c)) {
            c = snext();
        }
        int sgn = 1;
        if (c == '-') {
            sgn = -1;
            c = snext();
        }
        int res = 0;
        do {
            if (c < '0' || c > '9')
                throw new InputMismatchException();
            res *= 10;
            res += c - '0';
            c = snext();
        } while (!isSpaceChar(c));
        return res * sgn;
    }

    public long nextLong() {
        int c = snext();
        while (isSpaceChar(c)) {
            c = snext();
        }
        int sgn = 1;
        if (c == '-') {
            sgn = -1;
            c = snext();
        }
        long res = 0;
        do {
            if (c < '0' || c > '9')
                throw new InputMismatchException();
            res *= 10;
            res += c - '0';
            c = snext();
        } while (!isSpaceChar(c));
        return res * sgn;
    }

    public int[] nextIntArray(int n) {
        int a[] = new int[n];
        for (int i = 0; i < n; i++) {
            a[i] = nextInt();
        }
        return a;
    }

    public String readString() {
        int c = snext();
        while (isSpaceChar(c)) {
            c = snext();
        }
        StringBuilder res = new StringBuilder();
        do {
            res.appendCodePoint(c);
            c = snext();
        } while (!isSpaceChar(c));
        return res.toString();
    }

    public String nextLine() {
        int c = snext();
        while (isSpaceChar(c))
            c = snext();
        StringBuilder res = new StringBuilder();
        do {
            res.appendCodePoint(c);
            c = snext();
        } while (!isEndOfLine(c));
        return res.toString();
    }

    public boolean isSpaceChar(int c) {
        if (filter != null)
            return filter.isSpaceChar(c);
        return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
    }

    private boolean isEndOfLine(int c) {
        return c == '\n' || c == '\r' || c == -1;
    }

    public interface SpaceCharFilter {
        public boolean isSpaceChar(int ch);
    }
}
}


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

public class main {

    public static void main(String[] args) {
        InputReader sc=new InputReader(System.in);
        String str=sc.nextLine();
        char y='x'+1;
        int c=0;
        String out;
        char arr[]=str.toCharArray();
        for(int i=1;i<str.length()-1;i++){
        	if(arr[i]==arr[i-1]){
        		if(arr[i]!='z' && arr[i+1]!=(char)(arr[i]+1)){
        			arr[i]=(char) (arr[i]+1);
        			c=1;
        		}
        		else if(arr[i]!='y'){
        			arr[i]=(char) (arr[i]+2);
        			c=1;
        		}
        		if(arr[i]=='z' && arr[i+1]!='a' && c==0)
        			arr[i]='a';
        		else if(c==0)
        			arr[i]='y';
        		c=0;

        	}
        }
        if(str.length()>=2 && arr[str.length()-2]==arr[str.length()-1]){
        	if(arr[str.length()-1]!='z')
        		arr[str.length()-1]=(char)(arr[str.length()-1]+1);
        	else
        		arr[str.length()-1]='a';
        }
        for(int i=0;i<str.length();i++)
        System.out.print(arr[i]);
    }

    static class InputReader {

    private final InputStream stream;
    private final byte[] buf = new byte[8192];
    private int curChar, snumChars;
    private SpaceCharFilter filter;

    public InputReader(InputStream stream) {
        this.stream = stream;
    }

    public int snext() {
        if (snumChars == -1)
            throw new InputMismatchException();
        if (curChar >= snumChars) {
            curChar = 0;
            try {
                snumChars = stream.read(buf);
            } catch (IOException e) {
                throw new InputMismatchException();
            }
            if (snumChars <= 0)
                return -1;
        }
        return buf[curChar++];
    }

    public int nextInt() {
        int c = snext();
        while (isSpaceChar(c)) {
            c = snext();
        }
        int sgn = 1;
        if (c == '-') {
            sgn = -1;
            c = snext();
        }
        int res = 0;
        do {
            if (c < '0' || c > '9')
                throw new InputMismatchException();
            res *= 10;
            res += c - '0';
            c = snext();
        } while (!isSpaceChar(c));
        return res * sgn;
    }

    public long nextLong() {
        int c = snext();
        while (isSpaceChar(c)) {
            c = snext();
        }
        int sgn = 1;
        if (c == '-') {
            sgn = -1;
            c = snext();
        }
        long res = 0;
        do {
            if (c < '0' || c > '9')
                throw new InputMismatchException();
            res *= 10;
            res += c - '0';
            c = snext();
        } while (!isSpaceChar(c));
        return res * sgn;
    }

    public int[] nextIntArray(int n) {
        int a[] = new int[n];
        for (int i = 0; i < n; i++) {
            a[i] = nextInt();
        }
        return a;
    }

    public String readString() {
        int c = snext();
        while (isSpaceChar(c)) {
            c = snext();
        }
        StringBuilder res = new StringBuilder();
        do {
            res.appendCodePoint(c);
            c = snext();
        } while (!isSpaceChar(c));
        return res.toString();
    }

    public String nextLine() {
        int c = snext();
        while (isSpaceChar(c))
            c = snext();
        StringBuilder res = new StringBuilder();
        do {
            res.appendCodePoint(c);
            c = snext();
        } while (!isEndOfLine(c));
        return res.toString();
    }

    public boolean isSpaceChar(int c) {
        if (filter != null)
            return filter.isSpaceChar(c);
        return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
    }

    private boolean isEndOfLine(int c) {
        return c == '\n' || c == '\r' || c == -1;
    }

    public interface SpaceCharFilter {
        public boolean isSpaceChar(int ch);
    }
}
}


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

public class main {

    public static void main(String[] args) {
        InputReader sc=new InputReader(System.in);
        String str=sc.nextLine();
        char y='x'+1;
        int c=0;
        String out;
        char arr[]=str.toCharArray();
        for(int i=1;i<str.length()-1;i++){
        	if(arr[i]==arr[i-1]){
        		if(arr[i]!='z' && arr[i+1]!=(char)(arr[i]+1)){
        			arr[i]=(char) (arr[i]+1);
        			c=1;
        		}
        		else if(arr[i]!='a' && arr[i+1]!=(char)(arr[i]-1)){
	        		arr[i]=(char) (arr[i]-1);
	        		c=1;
        		}
        		else{
        			arr[i]=(char)(arr[i]+2);
        		}
        	/*if(arr[i]=='z' && arr[i+1]!='a' && c==0)
        		arr[i]='a';
       		else if(c==0)
       			arr[i]='y';
       		c=0;*/
        	}
        }
        if(str.length()>=2 && arr[str.length()-2]==arr[str.length()-1]){
        	if(arr[str.length()-1]!='z')
        		arr[str.length()-1]=(char)(arr[str.length()-1]+1);
        	else
        		arr[str.length()-1]='a';
        }
        for(int i=0;i<str.length();i++)
        System.out.print(arr[i]);
    }

    static class InputReader {

    private final InputStream stream;
    private final byte[] buf = new byte[8192];
    private int curChar, snumChars;
    private SpaceCharFilter filter;

    public InputReader(InputStream stream) {
        this.stream = stream;
    }

    public int snext() {
        if (snumChars == -1)
            throw new InputMismatchException();
        if (curChar >= snumChars) {
            curChar = 0;
            try {
                snumChars = stream.read(buf);
            } catch (IOException e) {
                throw new InputMismatchException();
            }
            if (snumChars <= 0)
                return -1;
        }
        return buf[curChar++];
    }

    public int nextInt() {
        int c = snext();
        while (isSpaceChar(c)) {
            c = snext();
        }
        int sgn = 1;
        if (c == '-') {
            sgn = -1;
            c = snext();
        }
        int res = 0;
        do {
            if (c < '0' || c > '9')
                throw new InputMismatchException();
            res *= 10;
            res += c - '0';
            c = snext();
        } while (!isSpaceChar(c));
        return res * sgn;
    }

    public long nextLong() {
        int c = snext();
        while (isSpaceChar(c)) {
            c = snext();
        }
        int sgn = 1;
        if (c == '-') {
            sgn = -1;
            c = snext();
        }
        long res = 0;
        do {
            if (c < '0' || c > '9')
                throw new InputMismatchException();
            res *= 10;
            res += c - '0';
            c = snext();
        } while (!isSpaceChar(c));
        return res * sgn;
    }

    public int[] nextIntArray(int n) {
        int a[] = new int[n];
        for (int i = 0; i < n; i++) {
            a[i] = nextInt();
        }
        return a;
    }

    public String readString() {
        int c = snext();
        while (isSpaceChar(c)) {
            c = snext();
        }
        StringBuilder res = new StringBuilder();
        do {
            res.appendCodePoint(c);
            c = snext();
        } while (!isSpaceChar(c));
        return res.toString();
    }

    public String nextLine() {
        int c = snext();
        while (isSpaceChar(c))
            c = snext();
        StringBuilder res = new StringBuilder();
        do {
            res.appendCodePoint(c);
            c = snext();
        } while (!isEndOfLine(c));
        return res.toString();
    }

    public boolean isSpaceChar(int c) {
        if (filter != null)
            return filter.isSpaceChar(c);
        return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
    }

    private boolean isEndOfLine(int c) {
        return c == '\n' || c == '\r' || c == -1;
    }

    public interface SpaceCharFilter {
        public boolean isSpaceChar(int ch);
    }
}
}


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

public class main {

    public static void main(String[] args) {
        InputReader sc=new InputReader(System.in);
        String str=sc.nextLine();
        char y='x'+1;
        int c=0;
        String out;
        char arr[]=str.toCharArray();
        for(int i=1;i<str.length()-1;i++){
        	if(arr[i]==arr[i-1]){
        		if(arr[i]!='z' && arr[i+1]!=(char)(arr[i]+1)){
        			arr[i]=(char) (arr[i]+1);
        			c=1;
        		}
        		else if(arr[i]!='y')
        			arr[i]=(char) (arr[i]+2);
        		if(arr[i]=='z' && arr[i+1]!='a' && c==0)
        			arr[i]='a';
        		else if(c==0)
        			arr[i]='y';
        		c=0;

        	}
        }
        if(str.length()>=2 && arr[str.length()-2]==arr[str.length()-1]){
        	if(arr[str.length()-1]!='z')
        		arr[str.length()-1]=(char)(arr[str.length()-1]+1);
        	else
        		arr[str.length()-1]='a';
        }
        for(int i=0;i<str.length();i++)
        System.out.print(arr[i]);
    }

    static class InputReader {

    private final InputStream stream;
    private final byte[] buf = new byte[8192];
    private int curChar, snumChars;
    private SpaceCharFilter filter;

    public InputReader(InputStream stream) {
        this.stream = stream;
    }

    public int snext() {
        if (snumChars == -1)
            throw new InputMismatchException();
        if (curChar >= snumChars) {
            curChar = 0;
            try {
                snumChars = stream.read(buf);
            } catch (IOException e) {
                throw new InputMismatchException();
            }
            if (snumChars <= 0)
                return -1;
        }
        return buf[curChar++];
    }

    public int nextInt() {
        int c = snext();
        while (isSpaceChar(c)) {
            c = snext();
        }
        int sgn = 1;
        if (c == '-') {
            sgn = -1;
            c = snext();
        }
        int res = 0;
        do {
            if (c < '0' || c > '9')
                throw new InputMismatchException();
            res *= 10;
            res += c - '0';
            c = snext();
        } while (!isSpaceChar(c));
        return res * sgn;
    }

    public long nextLong() {
        int c = snext();
        while (isSpaceChar(c)) {
            c = snext();
        }
        int sgn = 1;
        if (c == '-') {
            sgn = -1;
            c = snext();
        }
        long res = 0;
        do {
            if (c < '0' || c > '9')
                throw new InputMismatchException();
            res *= 10;
            res += c - '0';
            c = snext();
        } while (!isSpaceChar(c));
        return res * sgn;
    }

    public int[] nextIntArray(int n) {
        int a[] = new int[n];
        for (int i = 0; i < n; i++) {
            a[i] = nextInt();
        }
        return a;
    }

    public String readString() {
        int c = snext();
        while (isSpaceChar(c)) {
            c = snext();
        }
        StringBuilder res = new StringBuilder();
        do {
            res.appendCodePoint(c);
            c = snext();
        } while (!isSpaceChar(c));
        return res.toString();
    }

    public String nextLine() {
        int c = snext();
        while (isSpaceChar(c))
            c = snext();
        StringBuilder res = new StringBuilder();
        do {
            res.appendCodePoint(c);
            c = snext();
        } while (!isEndOfLine(c));
        return res.toString();
    }

    public boolean isSpaceChar(int c) {
        if (filter != null)
            return filter.isSpaceChar(c);
        return c == ' ' || c == '\n' || c == '\r' || c == '\t' || c == -1;
    }

    private boolean isEndOfLine(int c) {
        return c == '\n' || c == '\r' || c == -1;
    }

    public interface SpaceCharFilter {
        public boolean isSpaceChar(int ch);
    }
}
}


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

public class CF665C{
  public static int index;
  public static void main(String[] args)throws Exception {
    InputReader in = new InputReader(System.in);
    PrintWriter pw = new PrintWriter(new OutputStreamWriter(System.out));

    String s = in.next();
    int len = s.length();
    ArrayList<Character> list = new  ArrayList<Character>();
    list.add(s.charAt(0));
    for(int i = 1; i < len-1; i++){
      char c = s.charAt(i);
      if(list.get(i-1) == c){
         list.add(getDiffChar(c, s.charAt(i+1)));
      }
      else list.add(c);
    }
    list.add(s.charAt(len-1));

    for(int i = 0; i < len; i++){
      pw.print(list.get(i));
    }
    pw.println();
    pw.close();
  }

  static char getDiffChar(char a, char b){
    if(a == b){
      if (a == 'z') return 'a';
      else return (char) (a+1);
    }
    else{
      if(a+1 == b && b != 'z') return (char) (b+1);
      else if(a+1 == b && b == 'z') return 'a';
      else if(a-1 == b && b == 'a') return (char) (a+1);
      else return 'a';
    }
  }

  static class InputReader {
    public BufferedReader reader;
    public StringTokenizer tokenizer;

    public InputReader(InputStream stream) {
      reader = new BufferedReader(new InputStreamReader(stream));
      tokenizer = null;
    }

    public String next() {

      try {
        while (tokenizer == null || !tokenizer.hasMoreTokens())
          tokenizer = new StringTokenizer(reader.readLine());
      } catch (IOException e) {
        return null;
      }

      return tokenizer.nextToken();
    }

    public String nextLine() {
      String line = null;
      try {
        tokenizer = null;
        line =  reader.readLine();
      } catch (IOException e) {
        throw new RuntimeException(e);
      }
      return line;
    }

    public int nextInt() {
      return Integer.parseInt(next());
    }

    public double nextDouble() {
      return Double.parseDouble(next());
    }

    public long nextLong() {
      return Long.parseLong(next());
    }
    public boolean hasNext(){
      try {
        while (tokenizer == null || !tokenizer.hasMoreTokens())
          tokenizer = new StringTokenizer(reader.readLine());
      }
      catch (Exception e) {
        return false;
      }

    return true;

    }
  }
}


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

public class CF665C{
  public static int index;
  public static void main(String[] args)throws Exception {
    InputReader in = new InputReader(System.in);
    PrintWriter pw = new PrintWriter(new OutputStreamWriter(System.out));

    String s = in.next();
    int len = s.length();
    ArrayList<Character> list = new  ArrayList<Character>();
    list.add(s.charAt(0));
    for(int i = 1; i < len-1; i++){
      char c = s.charAt(i);
      if(list.get(i-1) == c){
         list.add(getDiffChar(c, s.charAt(i+1)));
      }
      else list.add(c);
    }
    list.add(s.charAt(len-1));

    for(int i = 0; i < len; i++){
      pw.print(list.get(i));
    }
    pw.println();
    pw.close();
  }

  static char getDiffChar(char a, char b){
    if(a == b){
      if (a == 'z') return 'a';
      else return (char) (a+1);
    }
    else{
      if(a+1 == b && b != 'z') return 'z';
      else if(a+1 == b && b == 'z') return 'a';
      else if(a-1 == b && b == 'a') return 'z';
      else if(a-1 == b && b != 'a') return 'a';
      return (char)( Math.min(a,b) +1);
    }
  }

  static class InputReader {
    public BufferedReader reader;
    public StringTokenizer tokenizer;

    public InputReader(InputStream stream) {
      reader = new BufferedReader(new InputStreamReader(stream));
      tokenizer = null;
    }

    public String next() {

      try {
        while (tokenizer == null || !tokenizer.hasMoreTokens())
          tokenizer = new StringTokenizer(reader.readLine());
      } catch (IOException e) {
        return null;
      }

      return tokenizer.nextToken();
    }

    public String nextLine() {
      String line = null;
      try {
        tokenizer = null;
        line =  reader.readLine();
      } catch (IOException e) {
        throw new RuntimeException(e);
      }
      return line;
    }

    public int nextInt() {
      return Integer.parseInt(next());
    }

    public double nextDouble() {
      return Double.parseDouble(next());
    }

    public long nextLong() {
      return Long.parseLong(next());
    }
    public boolean hasNext(){
      try {
        while (tokenizer == null || !tokenizer.hasMoreTokens())
          tokenizer = new StringTokenizer(reader.readLine());
      }
      catch (Exception e) {
        return false;
      }

    return true;

    }
  }
}


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

public class CF665C{
  public static int index;
  public static void main(String[] args)throws Exception {
    InputReader in = new InputReader(System.in);
    PrintWriter pw = new PrintWriter(new OutputStreamWriter(System.out));

    String s = in.next();
    int len = s.length();
    ArrayList<Character> list = new  ArrayList<Character>();
    list.add(s.charAt(0));
    for(int i = 1; i < len-1; i++){
      char c = s.charAt(i);
      if(list.get(i-1) == c){
         list.add(getDiffChar(c, s.charAt(i+1)));
      }
      else list.add(c);
    }
    if(len > 1) list.add(getDiffChar(list.get(list.size()-1),s.charAt(len-1)));

    for(int i = 0; i < len; i++){
      pw.print(list.get(i));
    }
    pw.println();
    pw.close();
  }

  static char getDiffChar(char a, char b){
    if(a == b){
      if (a == 'z') return 'a';
      else return (char) (a+1);
    }
    else{
      if(a+1 == b && b != 'z') return 'z';
      else if(a+1 == b && b == 'z') return 'a';
      else if(a-1 == b && b == 'a') return 'z';
      else if(a-1 == b && b != 'a') return 'a';
      return (char)( Math.min(a,b) +1);
    }
  }

  static class InputReader {
    public BufferedReader reader;
    public StringTokenizer tokenizer;

    public InputReader(InputStream stream) {
      reader = new BufferedReader(new InputStreamReader(stream));
      tokenizer = null;
    }

    public String next() {

      try {
        while (tokenizer == null || !tokenizer.hasMoreTokens())
          tokenizer = new StringTokenizer(reader.readLine());
      } catch (IOException e) {
        return null;
      }

      return tokenizer.nextToken();
    }

    public String nextLine() {
      String line = null;
      try {
        tokenizer = null;
        line =  reader.readLine();
      } catch (IOException e) {
        throw new RuntimeException(e);
      }
      return line;
    }

    public int nextInt() {
      return Integer.parseInt(next());
    }

    public double nextDouble() {
      return Double.parseDouble(next());
    }

    public long nextLong() {
      return Long.parseLong(next());
    }
    public boolean hasNext(){
      try {
        while (tokenizer == null || !tokenizer.hasMoreTokens())
          tokenizer = new StringTokenizer(reader.readLine());
      }
      catch (Exception e) {
        return false;
      }

    return true;

    }
  }
}


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

public class CF665C{
  public static int index;
  public static void main(String[] args)throws Exception {
    InputReader in = new InputReader(System.in);
    PrintWriter pw = new PrintWriter(new OutputStreamWriter(System.out));

    String s = in.next();
    int len = s.length();
    ArrayList<Character> list = new  ArrayList<Character>();
    list.add(s.charAt(0));
    for(int i = 1; i < len-1; i++){
      char c = s.charAt(i);
      if(list.get(i-1) == c){
         list.add(getDiffChar(c, s.charAt(i+1)));
      }
      else list.add(c);
    }
    list.add(s.charAt(len-1));

    for(int i = 0; i < len; i++){
      pw.print(list.get(i));
    }
    pw.println();
    pw.close();
  }

  static char getDiffChar(char a, char b){
    if(a == b){
      if (a == 'z') return 'a';
      else return (char) (a+1);
    }
    else{
      if(a+1 == b && b != 'z') return (char) (b+1);
      else if(a+1 == b && b == 'z') return 'a';
      else return (char) (a+1);
    }
  }

  static class InputReader {
    public BufferedReader reader;
    public StringTokenizer tokenizer;

    public InputReader(InputStream stream) {
      reader = new BufferedReader(new InputStreamReader(stream));
      tokenizer = null;
    }

    public String next() {

      try {
        while (tokenizer == null || !tokenizer.hasMoreTokens())
          tokenizer = new StringTokenizer(reader.readLine());
      } catch (IOException e) {
        return null;
      }

      return tokenizer.nextToken();
    }

    public String nextLine() {
      String line = null;
      try {
        tokenizer = null;
        line =  reader.readLine();
      } catch (IOException e) {
        throw new RuntimeException(e);
      }
      return line;
    }

    public int nextInt() {
      return Integer.parseInt(next());
    }

    public double nextDouble() {
      return Double.parseDouble(next());
    }

    public long nextLong() {
      return Long.parseLong(next());
    }
    public boolean hasNext(){
      try {
        while (tokenizer == null || !tokenizer.hasMoreTokens())
          tokenizer = new StringTokenizer(reader.readLine());
      }
      catch (Exception e) {
        return false;
      }

    return true;

    }
  }
}


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

public class CF665C{
  public static int index;
  public static void main(String[] args)throws Exception {
    InputReader in = new InputReader(System.in);
    PrintWriter pw = new PrintWriter(new OutputStreamWriter(System.out));

    String s = in.next();
    int len = s.length();
    ArrayList<Character> list = new  ArrayList<Character>();
    list.add(s.charAt(0));
    for(int i = 1; i < len-1; i++){
      char c = s.charAt(i);
      if(list.get(i-1) == c){
         list.add(getDiffChar(c, s.charAt(i+1)));
      }
      else list.add(c);
    }
    if(len > 1){
      if(list.get(list.size()-1) == s.charAt(len-1)) list.add(getDiffChar(list.get(list.size()-1),s.charAt(len-1)));
      else list.add(s.charAt(len-1));
    }

    for(int i = 0; i < len; i++){
      pw.print(list.get(i));
    }
    pw.println();
    pw.close();
  }

  static char getDiffChar(char a, char b){
    if(a == b){
      if (a == 'z') return 'a';
      else return (char) (a+1);
    }
    else{
      if(a+1 == b && b != 'z') return 'z';
      else if(a+1 == b && b == 'z') return 'a';
      else if(a-1 == b && b == 'a') return 'z';
      else if(a-1 == b && b != 'a') return 'a';
      return (char)( Math.min(a,b) +1);
    }
  }

  static class InputReader {
    public BufferedReader reader;
    public StringTokenizer tokenizer;

    public InputReader(InputStream stream) {
      reader = new BufferedReader(new InputStreamReader(stream));
      tokenizer = null;
    }

    public String next() {

      try {
        while (tokenizer == null || !tokenizer.hasMoreTokens())
          tokenizer = new StringTokenizer(reader.readLine());
      } catch (IOException e) {
        return null;
      }

      return tokenizer.nextToken();
    }

    public String nextLine() {
      String line = null;
      try {
        tokenizer = null;
        line =  reader.readLine();
      } catch (IOException e) {
        throw new RuntimeException(e);
      }
      return line;
    }

    public int nextInt() {
      return Integer.parseInt(next());
    }

    public double nextDouble() {
      return Double.parseDouble(next());
    }

    public long nextLong() {
      return Long.parseLong(next());
    }
    public boolean hasNext(){
      try {
        while (tokenizer == null || !tokenizer.hasMoreTokens())
          tokenizer = new StringTokenizer(reader.readLine());
      }
      catch (Exception e) {
        return false;
      }

    return true;

    }
  }
}


import java.util.*;
public class HelloWorld{

     public static void main(String []args){
        //System.out.println("Hello World");
        Scanner s= new Scanner(System.in);
        String str=s.nextLine();
		int n= str.length();
		char ch[]= str.toCharArray();
		//System.out.println(ch[0]);
	//	System.out.println(ch[1]);
	//	System.out.println(ch[2]);
	  for(int i=n-2;i>=1;i--)
	    {if(ch[i]==ch[i+1])
	        if(ch[i-1]==ch[i])
	           ch[i]=ch[i+2];
                 else
	           ch[i]=ch[i-1];

	    }
       if(n>1)
      { if(ch[0]==ch[1])
           ch[0]=ch[2];
      }

       for(int i=0;i<n;i++)
       System.out.print(ch[i]);
     }
}


import java.io.*;
import java.util.*;
import java.util.*;
import java.util.*;
public class stt {
		public static int str(String s)
		{ return 1+ str(s.substring(1));

		}

	public static void main(String[] args) {
    //int sz = 1 << 15;
 //   Scanner in = new Scanner(new BufferedInputStream(System.in, sz));
 //   PrintWriter out = new PrintWriter(new BufferedOutputStream(System.out, sz));
		Scanner s= new Scanner(System.in);
        String str=s.nextLine();
		int n= str.length();
		char ch[]= str.toCharArray();
		if(str.length()>=3)
		{	if(ch[n-2]==ch[n-1] )
						if(ch[n-3]==ch[n-2])
							for(char c='a';c<='z';c++)
					               if(c!=ch[n-1] && c!= ch[n-3])
					            	   {ch[n-2]=c;
					                    break;
					            	   }

						else
							for(char d='a';d<='z';d++)
					               if(d!=ch[n-3] && d!= ch[n-1])
					            	   {ch[n-2]=d;
					                    break;
					            	   }

				  for(int i=n-3;i>=1;i--)
				    {if(ch[i]==ch[i+1])
				        if(ch[i-1]==ch[i])
				           ch[i]=ch[i+2];
			                 else
				           {for(char c='a';c<='z';c++)
				               if(c!=ch[i-1] && c!= ch[i+1])
				            	   {ch[i]=c;
				                    break;
				            	   }

				           }
	                 }
	     }

	    if(str.length()>=3)
       if(ch[0]==ch[1])
           ch[0]=ch[2];
       else
    	   if(ch[0]==ch[1])
    		   for(char d='a';d<='z';d++)
	               if(d!=ch[1])
	            	   {ch[0]=d;
	                    break;
	            	   }

       for(int i=0;i<n;i++)
       System.out.print(ch[i]);

	    }

}


import java.io.*;
import java.util.*;
import java.util.*;
import java.util.*;
public class stt {
		public static int str(String s)
		{ return 1+ str(s.substring(1));

		}

	public static void main(String[] args) {
    //int sz = 1 << 15;
 //   Scanner in = new Scanner(new BufferedInputStream(System.in, sz));
 //   PrintWriter out = new PrintWriter(new BufferedOutputStream(System.out, sz));
		Scanner s= new Scanner(System.in);
        String str=s.nextLine();
        str=str.trim();
		int n= str.length();
		char ch[]= str.toCharArray();
		if(str.length()>=3)
		{	if(ch[n-2]==ch[n-1] )

							for(char c='a';c<='z';c++)
					               if(c!=ch[n-1] && c!= ch[n-3])
					            	   {ch[n-2]=c;
					                    break;
					            	   }

				  for(int i=n-3;i>=1;i--)
				    {if(ch[i]==ch[i+1])
				        if(ch[i-1]==ch[i])
				           ch[i]=ch[i+2];
			                 else
				           {for(char c='a';c<='z';c++)
				               if(c!=ch[i-1] && c!= ch[i+1])
				            	   {ch[i]=c;
				                    break;
				            	   }

				           }
	                 }
	     }

	    if(str.length()>=3)
       if(ch[0]==ch[1])
           ch[0]=ch[2];
       else
    	   if(ch[0]==ch[1])
    		   for(char d='a';d<='z';d++)
	               if(d!=ch[1])
	            	   {ch[0]=d;
	                    break;
	            	   }

       for(int i=0;i<n;i++)
       System.out.print(ch[i]);

	    }

}


import java.util.*;
public class HelloWorld{

     public static void main(String []args){
        //System.out.println("Hello World");
        Scanner s= new Scanner(System.in);
        String str=s.nextLine();
		int n= str.length();
		char ch[]= str.toCharArray();
		//System.out.println(ch[0]);
	//	System.out.println(ch[1]);
	//	System.out.println(ch[2]);
	  for(int i=n-2;i>=1;i--)
	    {if(ch[i]==ch[i+1])
	        if(ch[i-1]==ch[i])
	           ch[i]=ch[i+2];
                 else
	           ch[i]=ch[i-1];

	    }
       if(ch[0]==ch[1])
           ch[0]=ch[2];

       for(int i=0;i<n;i++)
       System.out.print(ch[i]);
     }
}


import java.io.*;
import java.util.*;
import java.util.*;
import java.util.*;
public class stt {
		public static int str(String s)
		{ return 1+ str(s.substring(1));

		}

	public static void main(String[] args) {
    //int sz = 1 << 15;
 //   Scanner in = new Scanner(new BufferedInputStream(System.in, sz));
 //   PrintWriter out = new PrintWriter(new BufferedOutputStream(System.out, sz));
		Scanner s= new Scanner(System.in);
        String str=s.nextLine();
        str=str.trim();
		int n= str.length();
		char ch[]= str.toCharArray();
		if(str.length()>=3)
		{	if(ch[n-2]==ch[n-1] )

							for(char c='a';c<='z';c++)
					               if(c!=ch[n-1] && c!= ch[n-3])
					            	   {ch[n-2]=c;
					                    break;
					            	   }

				  for(int i=n-3;i>=1;i--)
				    {if(ch[i]==ch[i+1])
				        if(ch[i-1]==ch[i])
				           ch[i]=ch[i+2];
			                 else
				           {for(char c='a';c<='z';c++)
				               if(c!=ch[i-1] && c!= ch[i+1])
				            	   {ch[i]=c;
				                    break;
				            	   }

				           }
	                 }
	     }

	    if(str.length()>=3)
			       if(ch[0]==ch[1])
			           ch[0]=ch[2];
      if (str.length()==2)
    	   if(ch[0]==ch[1])
    		   for(char d='a';d<='z';d++)
	               if(d!=ch[1])
	            	   {ch[0]=d;
	                    break;
	            	   }

       for(int i=0;i<n;i++)
       System.out.print(ch[i]);

	    }

}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class SimpleStrings665C {
    public static void main(String args[]) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str = br.readLine();
        char[] chars = str.toCharArray();
        String res = codeForces(chars);
        System.out.println(res);
    }

    private static String codeForces(char[] str) {

        for(int i = 1 ; i < str.length;i++){
                if( str[i - 1] == str[i]){
                    str[i]++;
                    if(str[i] > 'z') str[i] = 'a';
                    if(i + 1 < str.length && str[i] == str[i + 1]){
                        str[i]++;
                        if(str[i] > 'z') str[i] = 'a';
                    }
                }

        }
        String res = new String(str);
        return res;
    }
}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class SimpleStrings665C {
    public static void main(String args[]) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str = br.readLine();
        char[] chars = str.toCharArray();
        String res = codeForces(chars);
        System.out.println(res);
    }

    private static String codeForces(char[] str) {

        for(int i = 1 ; i < str.length;i++){
                if( str[i - 1] == str[i]){
                    str[i]++;
                    if(str[i] > 'z') str[i] = 'a';
                    if(i + 1 < str.length && str[i] == str[i + 1]){
                        str[i]++;
                        if(str[i] > 'z') str[i] = 'a';
                    }
                }

        }
        String res ="";
        for(int i = 0 ; i < str.length;i++) {
            res = res + str[i];
        }
        return res;
    }
}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class SimpleStrings665C {
    public static void main(String args[]) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str = br.readLine();
        char[] chars = str.toCharArray();
        String res = codeForces(chars);
        System.out.println(res);
    }

    private static String codeForces(char[] str) {

        for(int i = 1 ; i < str.length;i++){
                if( str[i - 1] == str[i]){
                    str[i]++;
                }
                if(str[i] > 'z') str[i] = 'a';
                if(i + 1 < str.length && str[i] == str[i + 1]){
                    str[i]++;
                    if(str[i] > 'z') str[i] = 'a';
                }

        }
        String res ="";
        for(int i = 0 ; i < str.length;i++) {
            res = res + str[i];
        }

        return res;
    }
}


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

public class tr0 {
	static PrintWriter out;
	static StringBuilder sb;
	static long mod = (int) 1e9 + 7;
	static long inf = (long) 1e16;
	static int[] col;
	static int n, m, k;
	static ArrayList<Integer>[] ad;
	static int[][] memo;
	static ArrayList<Integer> h;
	static int[][] grid;
	static boolean[] tak;
	static boolean f;

	public static void main(String[] args) throws Exception {
		Scanner sc = new Scanner(System.in);
		out = new PrintWriter(System.out);
		char[] a = sc.nextLine().toCharArray();
		n = a.length;
		for (int i = 0; i < n; i++) {
			int id = i;
			int l = 1;
			while (id < n - 1 && a[id] == a[id + 1]) {
				l++;
				id++;
			}
			if (l == 1)
				continue;
			if (l % 2 == 0) {
				char cha = 'a';
				if (a[i] == 'a')
					cha = 'b';
				else
					cha = 'a';
				if (i != 0) {
					if (cha == a[i - 1])
						cha += 3;
				}
				for (; i < n&&l>0; i += 2,l-=2)
					a[i] = cha;
				i--;
			} else {
				i++;
				l--;
				for (; i < n && l > 0; i += 2, l -= 2)
					if (a[i] == 'a')
						a[i] = 'b';
					else
						a[i] = 'a';
				i--;
			}
			i=id;
		}
		for (int i = 0; i < a.length; i++)
			out.print((char) a[i]);
		out.flush();
	}

	static class Scanner {
		StringTokenizer st;
		BufferedReader br;

		public Scanner(InputStream system) {
			br = new BufferedReader(new InputStreamReader(system));
		}

		public Scanner(String file) throws Exception {
			br = new BufferedReader(new FileReader(file));
		}

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

		public String nextLine() throws IOException {
			return br.readLine();
		}

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

		public double nextDouble() throws IOException {
			return Double.parseDouble(next());
		}

		public char nextChar() throws IOException {
			return next().charAt(0);
		}

		public Long nextLong() throws IOException {
			return Long.parseLong(next());
		}

		public int[] nextArrInt(int n) throws IOException {
			int[] a = new int[n];
			for (int i = 0; i < n; i++)
				a[i] = nextInt();
			return a;
		}

		public long[] nextArrLong(int n) throws IOException {
			long[] a = new long[n];
			for (int i = 0; i < n; i++)
				a[i] = nextLong();
			return a;
		}

		public boolean ready() throws IOException {
			return br.ready();
		}

		public void waitForInput() throws InterruptedException {
			Thread.sleep(3000);
		}
	}
}


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

public class tr0 {
	static PrintWriter out;
	static StringBuilder sb;
	static long mod = (int) 1e9 + 7;
	static long inf = (long) 1e16;
	static int[] col;
	static int n, m, k;
	static ArrayList<Integer>[] ad;
	static int[][] memo;
	static ArrayList<Integer> h;
	static int[][] grid;
	static boolean[] tak;
	static boolean f;

	public static void main(String[] args) throws Exception {
		Scanner sc = new Scanner(System.in);
		out = new PrintWriter(System.out);
		char[] a = sc.nextLine().toCharArray();
		n = a.length;
		for (int i = 0; i < n; i++) {
			int id = i;
			int l = 1;
			while (id < n - 1 && a[id] == a[id + 1]) {
				l++;
				id++;
			}
			if (l % 2 == 0) {
				char cha = 'a';
				if (a[i] == 'a')
					cha = 'b';
				else
					cha = 'a';
				if (i != 0) {
					if (cha == a[i - 1])
						if (a[i - 1] == 'a') {
                                if(a[i]=='b')
                                	cha='c';
                                else
                                	cha='b';
						} else {
							cha = 'c';
						}
				}
				for (; l > 0; i += 2, l -= 2)
					a[i] = cha;
				i--;
			} else {
				i++;
				l--;
				for (; l > 0; i += 2, l -= 2)
					if (a[i] == 'a')
						a[i] = 'b';
					else
						a[i] = 'a';
				i--;
			}
			i = id;
		}
		for (int i = 0; i < a.length; i++)
			out.print((char) a[i]);
		out.flush();
	}

	static class Scanner {
		StringTokenizer st;
		BufferedReader br;

		public Scanner(InputStream system) {
			br = new BufferedReader(new InputStreamReader(system));
		}

		public Scanner(String file) throws Exception {
			br = new BufferedReader(new FileReader(file));
		}

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

		public String nextLine() throws IOException {
			return br.readLine();
		}

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

		public double nextDouble() throws IOException {
			return Double.parseDouble(next());
		}

		public char nextChar() throws IOException {
			return next().charAt(0);
		}

		public Long nextLong() throws IOException {
			return Long.parseLong(next());
		}

		public int[] nextArrInt(int n) throws IOException {
			int[] a = new int[n];
			for (int i = 0; i < n; i++)
				a[i] = nextInt();
			return a;
		}

		public long[] nextArrLong(int n) throws IOException {
			long[] a = new long[n];
			for (int i = 0; i < n; i++)
				a[i] = nextLong();
			return a;
		}

		public boolean ready() throws IOException {
			return br.ready();
		}

		public void waitForInput() throws InterruptedException {
			Thread.sleep(3000);
		}
	}
}


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

public class tr0 {
	static PrintWriter out;
	static StringBuilder sb;
	static long mod = (int) 1e9 + 7;
	static long inf = (long) 1e16;
	static int[] col;
	static int n, m, k;
	static ArrayList<Integer>[] ad;
	static int[][] memo;
	static ArrayList<Integer> h;
	static int[][] grid;
	static boolean[] tak;
	static boolean f;

	public static void main(String[] args) throws Exception {
		Scanner sc = new Scanner(System.in);
		out = new PrintWriter(System.out);
		char[] a = sc.nextLine().toCharArray();
		n = a.length;
		for (int i = 0; i < n; i++) {
			int id = i;
			int l = 1;
			while (id < n - 1 && a[id] == a[id + 1]) {
				l++;
				id++;
			}
		//	System.out.println(l);
			if (l == 1)
				continue;
			if (l % 2 == 0) {
				char cha = 'a';
				if (a[i] == 'a')
					cha = 'b';
				else
					cha = 'a';
				if (i != 0) {
					if (cha == a[i - 1])
						cha += 3;
				}
				for (; i < n&&l>0; i += 2,l-=2)
					a[i] = cha;
				i--;
			} else {
				i++;
				l--;
				for (; i < n && l > 0; i += 2, l -= 2)
					if (a[i] == 'a')
						a[i] = 'b';
					else
						a[i] = 'a';
				i--;
			}

		}
		for (int i = 0; i < a.length; i++)
			out.print((char) a[i]);
		out.flush();
	}

	static class Scanner {
		StringTokenizer st;
		BufferedReader br;

		public Scanner(InputStream system) {
			br = new BufferedReader(new InputStreamReader(system));
		}

		public Scanner(String file) throws Exception {
			br = new BufferedReader(new FileReader(file));
		}

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

		public String nextLine() throws IOException {
			return br.readLine();
		}

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

		public double nextDouble() throws IOException {
			return Double.parseDouble(next());
		}

		public char nextChar() throws IOException {
			return next().charAt(0);
		}

		public Long nextLong() throws IOException {
			return Long.parseLong(next());
		}

		public int[] nextArrInt(int n) throws IOException {
			int[] a = new int[n];
			for (int i = 0; i < n; i++)
				a[i] = nextInt();
			return a;
		}

		public long[] nextArrLong(int n) throws IOException {
			long[] a = new long[n];
			for (int i = 0; i < n; i++)
				a[i] = nextLong();
			return a;
		}

		public boolean ready() throws IOException {
			return br.ready();
		}

		public void waitForInput() throws InterruptedException {
			Thread.sleep(3000);
		}
	}
}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class C_SimpleStrings {

	public static void main(String[] args) throws IOException {
		BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

		String input = reader.readLine();
		reader.close();

		char[] charArray = input.toCharArray();
		int n = charArray.length;

		for(int i = 0, j = 0; i < n; i = j) {
			while(j < n && charArray[j] == charArray[i]) j++;

			char c = 'a';

			while (c == charArray[i] || (i > 0 && c == charArray[i - 1]) || (j < n && c == charArray[j]))
				c++;

			for(int k = i; k <j; k++) {
				if((k - i) % 2 == 1) {
					charArray[k] = c;
				}
			}

		}
		System.out.println(new String(charArray));
	}
}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class C_SimpleStrings {

	public static void main(String[] args) throws IOException {
		BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

		String input = reader.readLine();
		reader.close();

		char[] charArray = input.toCharArray();
		int n = charArray.length;

		for(int i = 0, j = 0; i < n; i = j) {
			while(j < n && charArray[j] == charArray[i]) j++;

			char c = (char) ((charArray[i] + 1));
			if(j < n && c == charArray[j]) {
				c += 1;
			}

			if(c > 122) {
				c = (char) ((c - 122) + 96);
			}

			for(int k = i; k <j; k++) {
				if((k - i) % 2 == 1) {
					charArray[k] = c;
				}
			}

		}
		System.out.println(new String(charArray));
	}
}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class C_SimpleStrings {

	public static void main(String[] args) throws IOException {
		BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

		String input = reader.readLine();
		reader.close();

		char[] charArray = input.toCharArray();
		int n = charArray.length;

		for(int i = 0, j = 0; i < n; i = j) {
			while(j < n && charArray[j] == charArray[i]) j++;

			char c = (char) (charArray[i] + 1);

			if(j < n && c == charArray[j]) {
				c += 1;
			}

			for(int k = i; k <j; k++) {
				if((k - i) % 2 == 1) {
					charArray[k] = c;
				}
			}

		}
		System.out.println(new String(charArray));

	}

}


package solutions;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class C_SimpleStrings {

	public static void main(String[] args) throws IOException {
		BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

		String input = reader.readLine();
		reader.close();

		char[] charArray = input.toCharArray();
		int n = charArray.length;

		for(int i = 0, j = 0; i < n; i = j) {
			while(j < n && charArray[j] == charArray[i]) j++;

			char c = (char) (charArray[i] + 1);

			if(j < n && c == charArray[j]) {
				c += 1;
			}

			for(int k = i; k <j; k++) {
				if((k - i) % 2 == 1) {
					charArray[k] = c;
				}
			}

		}
		System.out.println(new String(charArray));

	}

}


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class C_SimpleStrings {

	public static void main(String[] args) throws IOException {
		BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

		String input = reader.readLine();
		reader.close();

		char[] charArray = input.toCharArray();
		int n = charArray.length;

		for(int i = 0, j = 0; i < n; i = j) {
			while(j < n && charArray[j] == charArray[i]) j++;

			char c = (char) ((charArray[i] + 1));
			if(c > 122) {
				c = (char) ((c - 122) + 96);
			}

			if(j < n && c == charArray[j]) {
				c += 1;
			}

			for(int k = i; k <j; k++) {
				if((k - i) % 2 == 1) {
					charArray[k] = c;
				}
			}

		}
		System.out.println(new String(charArray));
	}
}


// created by Whiplash99
import java.io.*;
import java.util.*;
public class C
{
    public static void main(String[] args) throws IOException
    {
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

        int i,N;

        char str[]=br.readLine().trim().toCharArray();
        int next=0;

        for(i=1;i<str.length;i++)
        {
            if(str[i]==str[i-1])
            {
                if(str[i]==(char)(next+97))
                    next=(next+1)%26;
                if(i<str.length-1&&(char)(next+97)==str[i+1])
                    next=(next+1)%26;
                if(str[i]==(char)(next+97))
                    next=(next+1)%26;
                if(i<str.length-1&&(char)(next+97)==str[i+1])
                    next=(next+1)%26;
                str[i]=(char)(next+97);
            }
        }
        System.out.println(str);
    }
}


// created by Whiplash99
import java.io.*;
import java.util.*;
public class C
{
    public static void main(String[] args) throws IOException
    {
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));

        int i,N;

        char str[]=br.readLine().trim().toCharArray();
        int next=0;

        for(i=1;i<str.length;i++)
        {
            if(str[i]==str[i-1])
            {
                if(str[i]==(char)(next+97))
                    next=(next+1)%26;
                if(i<str.length-1&&(char)(next+97)==str[i+1])
                    next=(next+1)%26;
                str[i]=(char)(next+97);
            }
        }
        System.out.println(str);
    }
}


import java.util.Scanner;

public final class Simplestring {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);

            String str=sc.next();
            StringBuilder s=new StringBuilder(str);
            int n=s.length();
            for(int i=0;i<n-1;i++){
                if(s.charAt(i)!=s.charAt(i+1)){
                    continue;
                }else{
                    int l=i;
                    while (i<n-1 &&  s.charAt(i)==s.charAt(i+1)){
                        i++;
                    }
                    int r=i;
                    if(i==n-2 && s.charAt(i)==s.charAt(i+1) ){
                        s=helper(s,l,r+1);
                    }else{
                        s=helper(s,l,r);
                    }
                }
            }

            for(int i=0;i<n-1;i++){
                if(s.charAt(i)!=s.charAt(i+1)){
                    continue;
                }else{
                    int l=i;
                    while (i<n-1 &&  s.charAt(i)==s.charAt(i+1)){
                        i++;
                    }
                    int r=i;
                    if(i==n-2 && s.charAt(i)==s.charAt(i+1) ){
                        s=helper(s,l,r+1);
                    }else{
                        s=helper(s,l,r);
                    }
                }
            }
            System.out.println(s);

    }

    private static StringBuilder helper(StringBuilder s, int l, int r) {

        int n=s.length();
        int mid=(l+r)/2;
        int left=mid-2;
        int right=mid+2;
        int c=s.charAt(mid);
        while ((mid-1>=0 && s.charAt(mid)==s.charAt(mid-1) )|| (mid+1<n && s.charAt(mid)==s.charAt(mid+1) ) ){
           c=(c+1)%122;
           char a= (char) c;
            s.replace(mid,mid+1,a+"");
        }
        while (left>=l  &&  ((left-1>=0 && s.charAt(left)==s.charAt(left-1) )|| (left+1<n && s.charAt(left)==s.charAt(left+1)) )   ){
            c=s.charAt(left);
            c= (c+1)%122;
            char a= (char) c;
            s.replace(left,left+1,a+"");
            left-=2;
        }
        while (right<=r &&  ((right-1>=0 && s.charAt(right)==s.charAt(right-1) )|| (right+1<n && s.charAt(right)==s.charAt(right+1) ) )){
            c=s.charAt(right);
            c= (c+1)%122;
            char a= (char) c;
            s.replace(right,right+1,a+"");
            right-=2;
        }

        return s;
    }
}


import javafx.scene.control.cell.CheckBoxListCell;

import java.util.ArrayList;
import java.util.Scanner;

public final class SimpleStringCF {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        String s=sc.next();
        int i=0;
        ArrayList<Pair> l=new ArrayList<>();
        while (i<s.length()-1){
            int left=i;
            char curr=s.charAt(i);
            while (i<s.length() && s.charAt(i)==curr){
                i++;
            }
            int right=i-1;
            if(left!=right){
                l.add(new Pair(left,right));
            }
        }
        StringBuilder sb=new StringBuilder(s);
        int len=sb.length();
        for(Pair p:l){
            int size=p.second-p.first+1;
            int start=0;
            if(size%2==0)
                 start=p.first;
            else
                start=p.first+1;

            while (start<p.second){
                helper(sb,start,len);
                start+=2;
            }
        }
        System.out.println(sb);
       /* int count=0;
        for(int ii=0;ii<s.length();ii++){
            if(s.charAt(ii)!=sb.charAt(ii))
                count++;
        }
        System.out.println(count);*/
    }

    private static void helper(StringBuilder sb, int start, int len) {

        if(start==0){
            int next=sb.charAt(start+1);
            next=(next+1)%123;
            char curr= (char) next;
            sb.replace(start,start+1,curr+"");
        }else if(start==len-1){
            int prev=sb.charAt(start-1);
            prev=(prev+1)%123;
            char curr= (char) prev;
            sb.replace(start-1,start,curr+"");
        }else{
            int next=sb.charAt(start+1);
            int prev=sb.charAt(start-1);
            next=(next+1)%123;
            if(next==prev)
                next=(next+1)%123;
            char curr= (char) next;
            sb.replace(start,start+1,curr+"");
        }
    }
}
class Pair {
    int first;
    int second;
    Pair(int first,int second){
        this.first=first;
        this.second=second;
    }
}


import javafx.scene.control.cell.CheckBoxListCell;

import java.util.ArrayList;
import java.util.Scanner;

public final class SimpleStringCF {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        String s=sc.next();
        int i=0;
        ArrayList<Pair> l=new ArrayList<>();
        while (i<s.length()-1){
            int left=i;
            char curr=s.charAt(i);
            while (i<s.length() && s.charAt(i)==curr){
                i++;
            }
            int right=i-1;
            if(left!=right){
                l.add(new Pair(left,right));
            }
        }
        StringBuilder sb=new StringBuilder(s);
        int len=sb.length();
        for(Pair p:l){
            int size=p.second-p.first+1;
            int start=0;
            if(size%2==0)
                 start=p.first;
            else
                start=p.first+1;

            while (start<p.second){
                helper(sb,start,len);
                start+=2;
            }
        }
        System.out.println(sb);
       /* int count=0;
        for(int ii=0;ii<s.length();ii++){
            if(s.charAt(ii)!=sb.charAt(ii))
                count++;
        }
        System.out.println(count);*/
    }

    private static void helper(StringBuilder sb, int start, int len) {

        if(start==0){
            int next=sb.charAt(start+1);
            next=(next+1)%123;
            if(next==0) next=97;
            char curr= (char) next;
            sb.replace(start,start+1,curr+"");
        }else if(start==len-1){
            int prev=sb.charAt(start-1);
            prev=(prev+1)%123;
            if(prev==0) prev=97;
            char curr= (char) prev;
            sb.replace(start-1,start,curr+"");
        }else{
            int next=sb.charAt(start+1);
            int prev=sb.charAt(start-1);
            next=(next+1)%123;
            if(next==0) next=97;
            if(next==prev){
                next=(next+1)%123;
                if(next==0) next=97;
            }
            char curr= (char) next;
            sb.replace(start,start+1,curr+"");
        }
    }
}
class Pair {
    int first;
    int second;
    Pair(int first,int second){
        this.first=first;
        this.second=second;
    }
}