#include <iostream>
#include <vector>
#include <string>
#include <stack>
#include <queue>
#include <deque>
#include <set>
#include <map>
#include <algorithm>	// require sort next_permutation count __gcd reverse etc.
#include <cstdlib>	// require abs exit atof atoi 
#include <cstdio>		// require scanf printf
#include <functional>
#include <numeric>	// require accumulate
#include <cmath>		// require fabs
#include <climits>
#include <limits>
#include <cfloat>
#include <iomanip>	// require setw
#include <sstream>	// require stringstream 
#include <cstring>	// require memset
#include <cctype>		// require tolower, toupper
#include <fstream>	// require freopen
#include <ctime>		// require srand
#define rep(i,n) for(int i=0;i<(n);i++)
#define ALL(A) A.begin(), A.end()

using namespace std;

typedef long long ll;
typedef pair<int, int> P;

string itos (int n )
{
	string res = "";
	stringstream ss;
	ss << n;
	ss >> res;
	if (n < 10 ) res = '0' + res;

	return res;
}

string disp_time (int t )
{
	int h = t/60/60;
	int m = (t/60 % 60);
	int s = (t % 60);

	string res = "";
	res += itos (h );
	res += ':';
	res += itos (m );
	res += ':';
	res += itos (s );

	return res;
}

int main()
{
//	cut here before submit 
//	freopen ("testcase.Videotape", "r", stdin );
	while (1 ){
		int h, m, s;
		scanf ("%d %d %d", &h, &m, &s );
		if (h == -1 && m == -1 && s == -1 ) break;
		int total = h*60*60 + m*60 + s;
		int remain = 120*60 - total;
		string r = disp_time (remain );
		string r3 = disp_time (3*remain );
		cout << r << endl;
		cout << r3 << endl;
	} // end loop
		
	return 0;
}