#include <algorithm>
#include <array>
#include <bitset>
#include <cctype>
#include <chrono>
#include <cmath>
#include <ctime>
#include <deque>
#include <fstream>
#include <functional>
#include <iomanip>
#include <iostream>
#include <iso646.h>
#include <iterator>
#include <list>
#include <map>
#include <memory>
#include <numeric>
/*                           mnciitbhu                        */
//
//  |\    /| |\    |    --  |  |  -------  |⎻⎻\   |   |  |    |
//  | \  / | | \   |   /    |  |     |     |   |  |   |  |    |
//  |  \/  | |  \  |  (     |  |     |     |--<   |---|  |    |
//  |      | |   \ |   \    |  |     |     |   |  |   |   \  /
//  |      | |    \|    --  |  |     |     |__/   |   |    --
//
#include <queue>
#include <ratio>
#include <regex>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <type_traits>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <valarray>
#include <vector>
using namespace std;
using namespace std::chrono;
using ll = long long;
using ull = unsigned long long;
using ld = long double;
#if not defined(ONLINE_JUDGE) && not defined(_MSVC_LANG) && defined(DEBUG_)
#include "myconfig.hpp"
#else
#define LOL(x) ;
#define LOLX(...) ;
#endif
#if not defined(DEBUG_)
#endif

int main() 
{
	ios::sync_with_stdio(false);
	cin.tie(0);

	string s;
	cin >> s;
	if(s.length() == 1)
	{
		cout << s;
		return 0;
	}
	for(int i = 0; i < s.size() - 1; ++i)
	{
		if(i < s.size() - 2 and s[i] == s[i + 1] and s[i] == s[i + 2])
		{
			if(s[i] == 'z')
				s[i + 1] = 'a';
			else
				s[i + 1] = 'z';
		}
		else if(s[i] == s[i + 1])
		{
			if(i != 0)	
			{
				if(s[i - 1] != 'd' and s[i + 1] != 'd')
					s[i] = 'd';
				else if(s[i - 1] != 'e' and s[i + 1] != 'e')
					s[i] = 'e';
				else
					s[i] = 'f';
			}
			else
			{
				if(s[i + 1] == 'd')
					s[i] = 'e';
				else
					s[i] = 'd';
			}
		}
	}
	cout << s;

	return 0;
}
