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

class student
{
public:
    std::string firstName;
    std::string lastName;
    float gpa;

    student() {};
    student(std::string last, std::string first, double grade)
    {
        firstName = first;
        lastName = last;
        gpa = grade;
    };
};

int main()
{
	std::vector<student> list;
	student current_student;
	
	std::cout << "input data:" << std::endl;
	
	int count = 0;
	std::string line;
	std::getline(std::cin, line);
	std::istringstream iss(line);
	
	
	while ((iss >> current_student.lastName) && (iss >> current_student.firstName) && (iss >> current_student.gpa))
	{
		list.push_back(current_student);
		count++;
	}
	
    for ( int i = 0; i < count-1; i++)
    {
        if (list[i].lastName > list[i + 1].lastName)
        {
            std::swap (list[i], list[i+1]);
        }
    }
    
    for ( int i = 0; i < count-1; i++)
    {
        if (list[i].firstName > list[i + 1].firstName)
        {
            std::swap (list[i], list[i+1]);
        }
    }


    for(int i = 0; i < count; i++)
    {
        std::cout << list[i].lastName << " " << list[i].firstName << " " << list[i].gpa << std::endl;
    }

    return 0;
}