#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

enum Task
{ PRINT, COLLECT };

/***shared memory***/
vector < string > recenice;
string recenica;
/**********************/

void job(Task task)
{
  for (unsigned int i = 0; i < 5; i++)
  {
	if (task == PRINT)
 	{
	  cout << i << ". " << recenice[i] << endl;
	}
	else if(task == COLLECT)
	{
	  getline(cin, recenica);
	  recenice.push_back(recenica);
	}

  }
}

struct Sorter
{
  bool operator() (string s0, string s1)
  {
    return s0.size() < s1.size();
  }
}
sorter;



int main()
{
  cout << "unesi 5 recenica\n";

  job(COLLECT);
  sort(recenice.begin(), recenice.end(), sorter);
  job(PRINT);


  return 0;
}