import java.io.*;
import java.util.*;
public class test3
{
public static void main(String[] args) throws Exception
{
new test3().run();
}
PrintWriter out = null;
void print(Node head)
{
while (head != null)
{
out.print(head.value + " ");
head = head.next;
}
out.println();
}
Node remove(Node head)
{
Node prev = head;
head = null;
Node pp = null;
while (prev != null)
{
Node next = prev.next;
while (next != null && next.value == prev.value)
next = next.next;
if (next == prev.next)
{
if (head == null)
{
head = prev;
pp = head;
}
else
{
pp.next = prev;
pp = prev;
}
}
prev = next;
}
return head;
}
void run() throws Exception
{
Scanner in = new Scanner(System.in);
out = new PrintWriter(System.out);
int[][] arr = new int[][]
{
{ 1, 2, 3, 3, 4, 4, 5 },
{ 1, 1, 1, 2, 3 } };
for (int k = 0; k < arr.length; k++)
{
Node head = null;
Node prev = null;
for (int i : arr[k])
{
Node node = new Node(i);
if (head == null)
head = node;
else
prev.next = node;
prev = node;
}
print(head);
head = remove(head);
print(head);
}
out.close();
}
}
class Node
{
int value;
Node next;
public Node(int v)
{
value = v;
}
}