OI I - spo

// https://szkopul.edu.pl/problemset/problem/E3eS485F0Qmr6RLduybh_e5b/site/?key=statement

// Sponsor

#include <algorithm>
#include <iostream>
#include <set>
#include <string>
#include <vector>

constexpr int sizik = 1000 * 1001;

int v[sizik];
int values[sizik];
int d[2 * sizik];

int na_przedziale(int o, int x, int y, int A, int B) {
    if (A <= x && y <= B) return d[o];
    if (B < x || y < A) return 0;
    return std::max(na_przedziale(2 * o, x, (x + y) / 2, A, B), na_przedziale(2 * o + 1, (x + y) / 2 + 1, y, A, B));
}

void akt(int v, int a, int ll) {
    v += ll - 1;
    d[v] = a;
    while (v > 1) {
        v /= 2;
        d[v] = std::max(d[2 * v], d[2 * v + 1]);
    }
}

int main() {
    std::ios_base::sync_with_stdio(0);
    std::cin.tie(0);
    std::cout.tie(0);

    values[0] = 0;

    int ll = 1;

    while (ll < sizik)
        ll *= 2;

    int n;
    std::cin >> n;

    for (int i = 1; i <= n; i++) {
        // double a;
        // std::cin >> a;

        // v[i] = a * 1000;

        std::string s;
        std::cin >> s;

        std::string s1 = s.substr(0, 2), s2 = s.substr(3, 6);

        int a = std::stoi(s1) * 1000 + std::stoi(s2);
        v[i] = a;
    }

    int ans = 0;

    for (int j = n; j >= 1; j--) {
        int temp = na_przedziale(1, 1, ll, 0, v[j] - 1) + 1;

        ans = std::max(ans, temp);

        akt(v[j], temp, ll);
    }

    std::cout << ans * 100 << '\n';

    return 0;
}