PROG0499 - Rorschach test

no tags 

The Rorschach test is a psychological test that was introduced in 1921 by the Swiss psychologist Hermann Rorschach. An inkblot is made on one side of a card, and then mirrored on the other half by folding the card. A subjects' perceptions of the inkblots are recorded and then analyzed using psychological interpretation, complex algorithms, or both. Some psychologists use this test to examine a person's personality characteristics and emotional functioning. It has been employed to detect underlying thought disorder, especially in cases where patients are reluctant to describe their thinking processes openly.

rorschachtest
The first of ten cards used in the Rorschach test. The cards themselves are just one component of the test, whose focus is on the analysis of the perception of the cards.

Your task is to write a program that generates cards that can be used in the Rorschach test. This is done by transforming a given text pattern — representing an inkblot — into a pattern that is formed from the original pattern with a mirrored version of the pattern to its right. Click here to switch between a display of the left half of the pattern, and the complete pattern whose the right half is formed as the mirror image of the left half.

++...+..+++.
....++......
.+.#####+###
...#@#@#.#@#
.+.#####.##@
....+.+...##
.....+......
....+.....##
....+..+..#@
......###.##
+...++#@#.+.
....#####...
....#@#....+
++..###.+...
+.....+.....

Input

The input consists of a number of lines, each containing the same number of characters. The input ends with an empty line.

Output

For each line read from input (except for the final empty line), a line must be written to output that contains the content of the line as read from input, followed by a mirrored version of the characters in the line read from input.

Example

Input:

++...+..+++.
....++......
.+.#####+###
...#@#@#.#@#
.+.#####.##@
....+.+...##
.....+......
....+.....##
....+..+..#@
......###.##
+...++#@#.+.
....#####...
....#@#....+
++..###.+...
+.....+.....

Output:

++...+..+++..+++..+...++
....++............++....
.+.#####+######+#####.+.
...#@#@#.#@##@#.#@#@#...
.+.#####.##@@##.#####.+.
....+.+...####...+.+....
.....+............+.....
....+.....####.....+....
....+..+..#@@#..+..+....
......###.####.###......
+...++#@#.+..+.#@#++...+
....#####......#####....
....#@#....++....#@#....
++..###.+......+.###..++
+.....+..........+.....+

De rorschachtest is een psychologische test die in 1921 werd geïntroduceerd door de Zwitserse psycholoog Hermann Rorschach. Bij de test wordt gebruik gemaakt van tien platen die elk bekomen werden door een inktvlek aan te brengen op één bladhelft, en die gespiegeld over te brengen op de andere bladhelft door het blad dubbel te plooien. De test is gebaseerd op de menselijke neiging om interpretaties en gevoelens te projecteren op — in dit geval — inktvlekken. Daartoe proberen speciaal opgeleide psychologen aan de hand van de gegeven interpretaties de diepere persoonlijke karaktertrekken en impulsen van testpersonen te begrijpen.

rorschachtest
De eerste van tien platen die gebruikt worden in de rorschachtest. De platen zelf vormen slechts één onderdeel van de test, die vooral gericht is op de analysis van de perceptie van de platen.

Je opdracht bestaat erin een programma te schrijven dat kan gebruikt worden om platen te maken voor de rorschachtest. Hiertoe moet het programma een gegeven tekstpatroon — dat een inktvlek voorstelt — omvormen tot een patroon dat bestaat uit het oorspronkelijke patroon met daarnaast de gespiegelde versie van het patroon. Klik hier om te schakelen tussen een weergave van de linkerhelft van het patroon, en het volledige patroon waarbij de rechterhelft gevormd wordt als spiegelbeeld van de linkerhelft.

++...+..+++.
....++......
.+.#####+###
...#@#@#.#@#
.+.#####.##@
....+.+...##
.....+......
....+.....##
....+..+..#@
......###.##
+...++#@#.+.
....#####...
....#@#....+
++..###.+...
+.....+.....

Invoer

De invoer bestaat uit een aantal opeenvolgende regels die elk evenveel karakters bevatten. De invoer wordt afgesloten door een lege regel.

Uitvoer

Voor elke regel uit de invoer (behalve de lege regel op het einde) moet een regel uitgeschreven worden die bestaat uit de karakters van de ingelezen regel, gevolgd door het spiegelbeeld van de karakters uit de ingelezen regel.

Voorbeeld

Invoer:

++...+..+++.
....++......
.+.#####+###
...#@#@#.#@#
.+.#####.##@
....+.+...##
.....+......
....+.....##
....+..+..#@
......###.##
+...++#@#.+.
....#####...
....#@#....+
++..###.+...
+.....+.....

Uitvoer:

++...+..+++..+++..+...++
....++............++....
.+.#####+######+#####.+.
...#@#@#.#@##@#.#@#@#...
.+.#####.##@@##.#####.+.
....+.+...####...+.+....
.....+............+.....
....+.....####.....+....
....+..+..#@@#..+..+....
......###.####.###......
+...++#@#.+..+.#@#++...+
....#####......#####....
....#@#....++....#@#....
++..###.+......+.###..++
+.....+..........+.....+


Added by:Peter Dawyndt
Date:2014-08-29
Time limit:10s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:PY_NBC
Resource:None