#include #include #include #include #include #include #include using namespace std; using uint = unsigned int; using ll = long long; #define CIN( LL , A ) LL A; cin >> A #define GETLINE( A ) string A; getline( cin , A ) #define FOR_ITR( ARRAY , ITR , END ) for( auto ITR = ARRAY .begin() , END = ARRAY .end() ; ITR != END ; ITR ++ ) // 「No.725 木は明らかに森である」の自分の解答 https://yukicoder.me/submissions/786653 を少しいじっただけのもの int main() { CIN( string , S ); uint size = S.size(); ll state = -1; // ao // 01 for( ll i = 0 ; i < size ; i++ ){ const string c = S.substr( i , 1 ); if( c == "a" ){ state = 0; } else if( c == "o" ){ if( state == 0 ){ S = S.substr( 0 , i - 1 ) + "ki" + S.substr( i + 1 ); size = S.size(); i--; // 二度目の置換は不要なのでディクリメントは1回 // i--; state = -1; } else { state = -1; } } else { state = -1; } } cout << S << endl; return 0; }