Problem:
ビデオテープ

標準録画で 120 分のビデオテープがあります。テープを完全に巻き戻した状態でビデオデッキのカウンタを 00:00:00 にし、標準録画モードで録画したところ、あるカウンタ値になりました。このカウンタ値（時、分、秒）を入力し、残りのテープの長さ（録画可能時間）を求め、時：分：秒の形式で出力するプログラムを作成して下さい。

ただし、2 時間（120分）以内の入力とします。なお、テープ残量は標準録画モードと 3 倍録画モードの場合の２通りを計算し、出力例のように時、分、秒とも 2 桁ずつ出力します。また "05" のように 10 の位が 0 の場合は、"0" をつけてください。

入力

複数のデータセットが与えられます。各データセットは以下のとおりです。

T H S

T, H, S はそれぞれ時、分、秒を表す整数です。

T, H, S がすべて -1 のとき入力の終わりとします。データセットの数は 50 を超えません。

出力

各データセットごとに

1 行目に、テープの残りを標準録画した場合の録画可能時間の時、分、秒を半角コロン区切りで、

2 行目に、テープの残りを３倍録画した場合の録画可能時間の時、分、秒を半角コロン区切りで

出力して下さい。

Sample Input

1 30 0
-1 -1 -1

Output for the Sample Input

00:30:00
01:30:00

Solution in C# (judge verdict: Accepted)

using System;
using System.Collections.Generic;
using System.Linq;

namespace AOJ0074
{
    class Program
    {
        static void Main()
        {
            var length = TimeSpan.FromHours(2);

            foreach (var remain in ReadInputs().Select(position => length - position))
            {
                Console.WriteLine("{0:c}", remain);
                Console.WriteLine("{0:c}", remain.Multiply(3));
            }
        }

        private static IEnumerable<TimeSpan> ReadInputs()
        {
            string line;
            while ((line = Console.ReadLine()) != null && line != "-1 -1 -1")
            {
                var values = line.Split(' ').Select(int.Parse).ToArray();
                yield return new TimeSpan(values[0], values[1], values[2]);
            }
        }
    }

    public static class TimeSpanExtensions
    {
        public static TimeSpan Multiply(this TimeSpan value, int multiplier)
        {
            return TimeSpan.FromTicks(value.Ticks*multiplier);
        }
    }
}