5271 {
5272 int n;
5273 cin >> n;
5274 auto comp = [](tuple<int, float, string> a, tuple<int, float, string> b) {
5275 auto [ax, ay, az] = std::move(a);
5276 auto [bx, by, bz] = std::move(b);
5277 return ax < bx;
5278 };
5279 set<tuple<int, float, string>, decltype(comp)> s(comp);
5280 for(int i = 0; i < n; i++) {
5281 int x;
5282 float y;
5283 string z;
5284 cin >> x >> y >> z;
5285 s.insert(make_tuple(x, y, z));
5286 }
5287 for(const auto &t: s) {
5288 auto [x, y, z] = t;
5289 cout << x << ' ' << fixed << setprecision(2) << y << ' ' << z << endl;
5290 }
5291 return 0;
5292 }