#include <iostream>
using namespace std;
#include <stdlib.h>
#include "String.h"
#include "Person4.h"
struct List {
Person *data;
List *next;
};
bool getrecord(String& nbuf, String& fbuf, int& y, int& m, int& d)
{
char sep;
return (cin >> nbuf >> fbuf >> y >> sep >> m >> sep >> d);
}
int main() {
String nbuf;
String fbuf;
Date birth;
List* first = 0;
List* curr = 0;
List* last = 0;
List* add = 0;
Person* p, *old;
while ( getrecord(nbuf, fbuf, birth.year, birth.month, birth.day) ) {
add = new List;
add->data = p = new Person(nbuf, fbuf, birth);
add->next = 0;
if ( first == 0 ) {
first = add;
} else {
curr = first;
last = 0;
while ( curr ) {
old = curr->data;
if (*p <= *old) {
break;
}
last = curr;
curr = curr->next;
}
add->next = curr;
if ( last) {
last->next = add;
} else {
first = add;
}
}
}
curr = first;
while ( curr ) {
p = curr->data;
cout << p->lastName() << ' ' << p->firstName() << ' ' <<
p->birthday().year << '.' << p->birthday().month << '.' <<
p->birthday().day << endl;
last = curr;
curr = curr->next;
delete p;
delete last;
}
return 0;
}