#include <iostream>
#include <string>

using namespace std;

struct Link
{ string data;
  Link * next;
  Link(string d, Link * n); };

struct List
{ Link * first;
  List();
  void insert(string s);
  void printall();
  void split(List & x); };

Link::Link(string d, Link * n)
{ data = d;
  next = n; }

List::List()
{ first = NULL; }

void List::insert(string s)
{ first = new Link(s, first); }

void List::printall()
{ Link * ptr = first;
  while (ptr != NULL)
  { cout << ptr->data << " ";
    ptr = ptr->next; }
  cout << "\n"; }

void List::split(List & x)
{ Link * ptr1 = first, * ptr2 = first, * prev2 = NULL;
  while (true)
  { if (ptr1 == NULL)
      break;
    ptr1 = ptr1->next;
    if (ptr2 == NULL)
      break;
    prev2 = ptr2;
    ptr2 = ptr2->next;
    if (ptr1 == NULL)
      break;
    ptr1 = ptr1->next; }
  if (prev2 == NULL)
    x.first = NULL;
  else
  { prev2->next = NULL;
    x.first = ptr2; } }

int main()
{ List a, b;
  while (true)
  { string s;
    cin >> s;
    if (s == "****")
      break;
    a.insert(s); }

  a.split(b);

  cout << "One half: ";
  a.printall();
  cout << "Other half: ";
  b.printall(); }