Problem:
りんごと桃

福島県は果物の産地としても有名で、その中でも特に桃とりんごは全国でも指折りの生産量を誇っています。ところで、ある販売用の英文パンフレットの印刷原稿を作ったところ、手違いでりんごに関する記述と桃に関する記述を逆に書いてしまいました。

あなたは、apple と peach を修正する仕事を任されましたが、なにぶん面倒です。１行の英文を入力して、そのなかの apple という文字列を全て peach に、peach という文字列を全てapple に交換した英文を出力するプログラムを作成してください。

Input

英文（半角英数字、空白、記号を含む）が１行に与えられます。入力される文字列の長さは 1000 以下です。

Output

apple とpeach という文字列を交換した英文を１行に出力します。

Sample Input

the cost of one peach is higher than that of one apple.

Output for the Sample Input

the cost of one apple is higher than that of one peach.

Solution in C# (judge verdict: Accepted)

using System;

namespace AOJ.Volume0
{
    public class AppleAndPeach
    {
        public static int Main()
        {
            while (true)
            {
                string input = Console.ReadLine();
                if (string.IsNullOrEmpty(input)) { break; }

                int apple = input.IndexOf("apple");
                int peach = input.IndexOf("peach");
                while (apple >= 0 || peach >= 0)
                {
                    int start_pos = 0;
                    string fruit = "";
                    // 先に出現した方を変換
                    if (apple < 0)
                    {
                        // peach→apple
                        fruit = "apple";
                        start_pos = peach;
                    }
                    else if (peach < 0)
                    {
                        // apple→peach
                        fruit = "peach";
                        start_pos = apple;
                    }
                    else if (apple > peach)
                    {
                        // peach→apple
                        fruit = "apple";
                        start_pos = peach;
                    }
                    else if (peach > apple)
                    {
                        // apple→peach
                        fruit = "peach";
                        start_pos = apple;
                    }
                    string left = input.Substring(0, start_pos);
                    string right = input.Substring(start_pos + 5);
                    input = left + fruit + right;

                    start_pos += 5;
                    apple = input.IndexOf("apple", start_pos);
                    peach = input.IndexOf("peach", start_pos);
                }

                Console.WriteLine(input);
            }
            return 0;
        }
    }
}