#include <bits/stdc++.h>
using namespace std;
struct Time {
  int value;
  Time(int x = 0) : value(x) {}
  int hour() const { return value / 60; }
  void adjust(const Time& t) {
    if (hour() < t.hour()) value += 24 * 60;
  }
  friend istream& operator>>(istream& in, Time& t) {
    const auto decimal_digit = [](char c) { return c - '0'; };
    string s;
    in >> s;
    int hour = decimal_digit(s[0]) * 10 + decimal_digit(s[1]),
        minute = decimal_digit(s[3]) * 10 + decimal_digit(s[4]);
    t.value = hour * 60 + minute;
    return in;
  }
  friend ostream& operator<<(ostream& out, const Time& t) {
    const auto two_digits = [](int x) {
      string zero;
      if (x < 10) zero += '0';
      return zero + to_string(x);
    };
    return out << two_digits(t.value / 60) + ':' + two_digits(t.value % 60);
  }
  friend Time middle(const Time& t, const Time& u) {
    Time w(u);
    w.adjust(t);
    return Time((t.value + w.value) / 2);
  }
} t, u;
int main() {
  ios_base::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
  cin >> t >> u, cout << middle(t, u);
}
