Créez l'image la moins compressible

14

"Une image vaut mille mots", comme le dit le vieil adage. Le mot moyen fait environ quatre caractères, donc une image transmet 4 Ko d'informations. Mais combien d' entropie , plutôt que d'informations, une image peut-elle véhiculer?

Votre tâche consiste à générer une image, exactement de 4 000 octets, avec l'entropie la plus élevée possible. Vous pouvez utiliser n'importe quelle langue, bibliothèque ou format d'image que vous choisissez, et vous pouvez exporter vers la console ou vers un fichier tant que vous téléchargez votre image ici.

Notation

Votre score est le taux de compression (4000 ÷ taille compressée) lorsque votre image est compressée avec GNU tarversion 1.28 et gzipversion 1.6, en utilisant l'algorithme DEFLATE et les paramètres par défaut - en particulier, la commande tar -czvf out.tar.gz image. Le plus petit taux de compression gagne.

Violet P
la source
1
tarinclut les métadonnées, y compris mtime, dans les fichiers de sortie par défaut. Cela affecte la taille finale du fichier compressé - certains mtimes se compressent mieux que d'autres. La modification de la commande gzip -n imagerendrait la taille de sortie déterministe indépendamment de mtime (et du nom du fichier d'entrée).
Nnnes
1
Peu importe, gzip -n imagene peut pas produire un fichier de plus de 4023 octets avec une entrée de 4000 octets. Il a besoin de 10 octets pour l'en-tête, 8 pour le pied de page, 1 pour l'en-tête et le remplissage du bloc DEFLATE, et 4 pour la taille du bloc DEFLATE; les autres sont simplement stockés sous forme d'octets non compressés. La plupart des fichiers composés de bits aléatoires sont stockés non compressés, comme ils devraient l'être.
Nnnes
Je peux le confirmer. Au lieu que la compression s'aggrave avec l'augmentation de l'entropie, elle signale simplement que les données doivent être stockées non compressées. Deflate ajoute 2 octets aux données. Gzip ajoute le reste.
Mark Jeronimus

Réponses:

4

0,9514747859 (sortie 4204 octets)

bruit

Remarque: l'image ci-dessus n'est pas le fichier réel que j'ai utilisé, mais c'est l'image.

Voici un hexdump du fichier: https://gist.github.com/pommicket/cf2982e8ecf09a4de89d3a849526c64b

Le fichier est au format netpbm et peut être généré avec ce code C:

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv) {
    if (argc < 2) {
        fprintf(stderr, "Please pass in seed.\n");
        return EXIT_FAILURE;
    }
    srand(atoi(argv[1]));
    FILE *fp = fopen("image.pgm", "w");
    int width = 2, height = 1993;
    fprintf(fp, "P5 %d %d 255 ", width, height);
    for (int i = 0; i < width * height; i++) {
        fputc(rand() & 0xFF, fp);
    }
    fclose(fp);
    return 0;
}

La graine aléatoire doit être transmise au programme. Après avoir essayé quelques graines, j'en ai obtenu une qui a produit un fichier compressé de 4204 octets. Comme l'a souligné Nnnes, tarinclura des métadonnées dans le fichier, de sorte que vos résultats peuvent différer des miens.

netpbm n'est pas pris en charge partout, mais il fonctionne avec imagemagick convert(il suffit donc convert image.pgm image.pngde le transformer en png).

Pourquoi cette image / ce format?

Un fichier qui se compose d'octets entièrement aléatoires est très difficile à compresser (en fait, tout algorithme de compression possible fera en moyenne, pas mieux que de ne pas compresser pour les fichiers aléatoires). Le contenu du fichier réel est juste P5 2 1993suivi de 3986 octets aléatoires, c'est pourquoi gzip a tellement de mal à le compresser.

Leo Tenenbaum
la source
Pour une raison quelconque, je ne peux pas aller plus de 4201 sur mon cluster. Par curiosité, quelle graine avez-vous utilisée?
Krzysztof Szewczyk
@KrzysztofSzewczyk ce n'est pas la graine, c'est le format d'image. Les en-têtes de vos fichiers PNG contiennent de nombreux octets déterministes, de sorte qu'ils se compressent facilement.
Grimmy
@Grimy hm, d'accord, je vais passer demain au format RAW. Je ne m'attendais pas à ce que huit octets aient un impact aussi important sur l'image.
Krzysztof Szewczyk
2
@KrzysztofSzewczyk Il y a potentiellement beaucoup plus de 8 octets de données non aléatoires dans un fichier PNG aléatoire . Le strict minimum est d'inclure la signature du fichier suivie de la IHDR, IDATet des IENDmorceaux, mais la plupart des générateurs PNG comprendront quelques morceaux facultatifs qui sont susceptibles de se comprimer assez bien - comme l'a dit Grimy - sauf peut-être les CRC qui peuvent être supposés être assez aléatoire.
Arnauld
Ouais, je vais considérer ça. Honnêtement, je suis allé faire des essais et des erreurs ici, et c'est un peu mon erreur.
Krzysztof Szewczyk
4

Brainfuck, 4201 octets compressés.

Le format d'image utilisé est PNG. Je suis presque sûr que le défi est terminé, car je laisse le script modifié de 4 instances pendant la nuit.

Explication

Alors, comment ça marche?

En utilisant un programme Java, je génère un fichier JPG. Ensuite, il est compressé et sa taille est vérifiée, ce qui me demande de le garder. J'ai exécuté ce script pendant un certain temps et il m'a généré quelques tar.gzfichiers de tailles différentes. Ensuite, après avoir trouvé un nouveau gagnant, le code Brainfuck est régénéré.

Script bash utilisé:

#!/bin/bash

max=0

while true; do

    java Start 
    tar -czf out.tar.gz target.png
    filename="out.tar.gz"
    size="$(wc -c <"$filename")"
    printf "%s/%s " "$size" "$max"

    if [ "$max" -lt "$size" ]; then
        max=$size
        read -p "Keep? " -n 1 -r
        echo
        if [[ $REPLY =~ ^[Yy]$ ]]
        then
            java -jar out.jar out.tar.gz > "out/sub$size.bf"
        fi
    else
        echo "Crappy result, skipping."
    fi
done

Capture d'écran du programme en cours d'exécution:

texte alternatif

Il pourrait être entièrement automatisé en supprimant la lecture et en le conservant implicitement, mais je souhaiterais en avoir le contrôle.

Le code

+++++[->++++++<]>+.-[++>-<]>----.>++++++++.[++>---<]>--.>+++++.>-[--->+<]>--.++++++++++.>+++.>-----[->++++<]>+.-[->++<]>.>-[--->+<]>++.+[-->+<]>++++.[-->+<]>++++.[->++++++++<]>.------.>+++++++.>----[->++++<]>.>-[--->+<]>.[----->++<]>+.+[++>-----<]>.---[->++<]>.-[--->+<]>--.[->+++<]>+.[-->+<]>+++++.---.[-->+<]>----.--[->++<]>.--[-->+++++<]>.+[->++++<]>+.-[->+++<]>-.+[--->+<]>+++++.[--->++<]>++.--[----->+<]>-.+[-->+++<]>-.+[->++<]>+.+[++>-----<]>.[------->+++<]>.++[->++++<]>+.[--->++<]>-.>-[--->+<]>.++++[->++<]>.+++[->++<]>.[++>-----<]>-.-[--->+<]>+.[--->+++++<]>.[->++++<]>--.++[----->+<]>.[->++<]>+.>+[--->++<]>.>+++++++++.[->++++++<]>.[-->+++++<]>+.[----->+<]>.>++++.+++++.>-[--->+<]>----.[->++<]>+.++++++++++.+++++++++.[-->+<]>-.[->+++<]>++.[----->++<]>++.+[->++<]>+.-[->++<]>-.-------.[------->++++<]>.--[--->++<]>--.[->+++++++<]>-.--.+[->++++<]>-.++++[->++<]>.+++[->+++<]>.>--------.--[->+++++<]>.+++++++.-[--->+<]>---.[--->+<]>.[->++<]>+.----[->++<]>.[-->+++++<]>.++[->++<]>.[------>+<]>--.>--.+[----->+<]>.+[--->++++<]>-.-[-->+<]>----.+[--->++++<]>+.--[->+++<]>+.+[->++++<]>.--[-->+++<]>.+[----->++<]>-.[------->+++<]>.[--->++<]>.[++++++>-<]>.+++[-->+++<]>..-[--->++++<]>++.>+++++++++.>----[-->+++<]>-..-[++>-<]>--.>--.---[------->+<]>.>++[++>-<]>+++.>-.[------->++<]>.++..>----.++[----->+<]>+.>-.------[->+++<]>.>-.---[-->+++++<]>.-[->+++++<]>.>+++++++++.[------->+<]>++.-[->+++<]>+.>--[-->+<]>+.++++++++.--[->++++<]>.+[->+++<]>+.++++++++.++++++++.[-->+++++++<]>.[--->++++<]>.----.[----->+<]>--.++.+[->++++<]>.++++++++++++.++++++++++++.----------.>++.+++[------->+<]>.[------->+<]>-.>+.>----[---->+<]>+.++[->++<]>+.>-.-[-->+++<]>.>-[--->+<]>++.>------.[----->++<]>-----.>--[-->+<]>-.[++>-<]>-.--[--->++<]>.[-->+++<]>-.+[-->+<]>+.+++++++++.[-->+<]>.[--->++++++++<]>.+[->++++<]>-.+[-->+<]>++.[++>-<]>.>--.--[---->+++<]>++.------.>--[-->+<]>.----------.>--.[----->+<]>-------.++++[->+++<]>+.-[->+++++<]>+.++[->++++<]>.----[->++++<]>-.+[---->+<]>++.+[--->+<]>.--[->+++<]>.[--->+<]>.>-------.-[->++++<]>-.-[--->+<]>--.[++>-<]>+.++++.--------.>--[----->+<]>.>++++.++[++>-----<]>+.[->+++<]>.>--.>+[----->+<]>.>++++.-[----->+<]>---.---[->++++<]>.-----.----[->++++<]>-.-----[->++<]>.>--[-->+++<]>.-[++>-<]>-.[--->+<]>-.----[->++++<]>.>--[--->+<]>.-.---.-[--->++<]>--.[->+++++<]>.[->++<]>.+++++++++++++++.+[--->++++<]>.--[++>---<]>.>--[-->+++<]>-.+.-[--->++<]>.--[----->++<]>-.>++++[->++++<]>+.-[++>---<]>+.+[->++<]>.--[++++++>-<]>-.-[->++<]>.[--->+<]>+.-[-->+<]>---.[->++++++<]>.-[->++++<]>.--[------>+<]>.-[->++++<]>.--[--->+<]>-.>--[-->+++<]>.[----->++<]>.>+[--->+<]>.+[++>-<]>+.+++[++>---<]>.>+++.-[------->+<]>+++.+++[->+++<]>+.-[->++++<]>+.-[++>-----<]>.---[--->++++<]>.+[--->++++<]>.----.--[->++++++<]>+.-[-->+++<]>+.[->++<]>.--[-->+++++<]>+.>-----------.-[-->+<]>----.+++++++.+[-->+<]>++++.+[--->++++<]>+.[->++++++<]>.[->+++<]>-.++[->+++++<]>.-[-->+<]>.+[->++<]>+.>--------------.++.--[->+++<]>+.----[->+++<]>-.>-[--->+<]>-.-[--->++<]>+.>-[----->+<]>.+[--->+<]>+++.>++.[--->+<]>.--[--->+<]>--.+++[->++<]>.---[->++<]>.-[->++++++<]>+.+[-->+++<]>-.[->++++<]>+.--[----->+<]>-.[->++++++<]>.[++>---<]>+.---[->++++<]>-.[--->++<]>.-----[->++++<]>+.+++++++.>--[-->+++<]>.++.[----->++<]>-.[--->++<]>+.-[-->+<]>------.--[--->+<]>.-[++++>-----<]>.[----->++++<]>+.>+++++++.[----------->+<]>-.++[->++++<]>-.++[->++++<]>-.-[--->+<]>.[-->+++<]>--.+[----->+<]>++.[--->++<]>-.[--->+<]>+++..---[->+++<]>-.+[--->+<]>.-[----->++<]>.[-->+<]>+++.+++++++++.[->++++<]>.[->+++<]>++.++[++>---<]>.++[->++<]>+.----------.--[--->+<]>-.-[--->+<]>---.------.+++[->+++<]>+.>++[++>---<]>.-[++>-<]>---.>+++[->+++++<]>.-[++>---<]>--.[--->++++<]>.++[->++++<]>.>-[--->+<]>++.-[----->+<]>+.+[-->+<]>.[-->+<]>--.++[->++<]>.[----->+<]>++.--[->+++<]>-.--[--->+<]>-.[++>-----<]>++.++++[->++<]>.>++++++++++++++.-[->+++<]>.+[------>+<]>+.[--->++<]>-.++[----->++<]>.[------->+<]>.>++++++++.>+[--->+<]>------.[->+++<]>+.[-------->+<]>-.--[----->+<]>++.-.[++++>---<]>--.-[--->+<]>-.[---------->+<]>.[----->+<]>+.[++>---<]>-.+++.-[->++++++<]>--.+[->++<]>.>++++++.>-[----->+<]>-.---[->+++<]>.>+[--->+<]>+.>---[----->+<]>.>++++++++.>--[--->+<]>.>----[---->+<]>.-[++>---<]>+.>+[--->+<]>++.-[--->++<]>-.+[->++++<]>.--[->+++++<]>.+[->+++++<]>-.[----->+<]>+.-[-->+<]>.[----->+++<]>.-[----->+<]>.+[--->++<]>++.>+++++++++++.+[->++++++<]>-.----[->+++<]>-.-[->++++<]>.[--->++++<]>.[----->+<]>++.>--[-->+<]>+.[++++>---<]>++.[---------->+<]>+.--[->++++<]>-.---[->+++<]>+.+[-->+++<]>.-[-->+++<]>-.>+[------->+<]>.[->++++++<]>.[-->+<]>++.[--->++<]>.--[->+++<]>-.[->+++<]>+.>-------.-[------->++<]>--.+++++[->+++<]>.-[-->+<]>---.[->+++++<]>++.---[++>---<]>.+++[->++++<]>.++[--->++<]>.[++>-<]>+++++.+[------>+<]>++.[++>-<]>---.+[--->++<]>+.>-[--->+<]>.[--->+<]>.+[++>-----<]>+.-[++>-<]>-----.+[->++<]>+.+[-->+++<]>++.-[++>-----<]>+.---[->++<]>-.>--[-->+<]>-.>----------.+[->+++<]>+.--[->++++<]>.---[->+++<]>+.[--------->+<]>.--.--[---->+++<]>+.----[->+++<]>+.-[->++<]>.[++>-<]>++++++.----[->+++<]>.+[->++++++++<]>.+[->+++++<]>+.[++++++>-<]>.>-[----->+<]>.>-[--->+<]>-.[->++<]>+.----[->++<]>.---[->+++++<]>.++++[->++++<]>++.-[----->++<]>.+[->+++<]>+.[--->+++++<]>.--[--->++<]>-.--[->++++<]>-.++[--->++<]>+.+[->++<]>.+++++++.[--->++++<]>+.++++.[----->++<]>+.+[-->+++++<]>+.+[->++<]>+.----------.[----->++<]>-.--[->++<]>.>-[----->+<]>.++[->+++<]>++.>+++++++++.>--[----->+<]>-.--[--->+++++<]>.[--->+<]>.>-----------.[--->++<]>.>---------.>++++++[++>---<]>.[->++++<]>++.+[->++<]>+.-----[->++<]>-.-[-->+<]>-.++.--[->++++++<]>.>-[--->+<]>-----.-[->++<]>-.+[------>+<]>+.>--[-->+++<]>-.-[->++<]>.[------->++<]>.---[->++<]>.---[->++<]>-.>------.>-[--->+<]>+++.[---->+++<]>.++++++++.-[--->+<]>++.++[->++<]>+.[->+++++++<]>.>+[----->+++<]>.++[->+++++<]>+.--[++>---<]>-.+++++++++++++.++[----->+<]>++.[++>-<]>.-[--->+<]>---.-[----->++<]>-.+[-->+<]>.+++++[->+++<]>.[->+++++<]>.+[->++<]>..>--[----->+<]>-.---.++[--->++<]>.-[->++<]>.+[->+++++<]>++.[->+++<]>+.>+++++++++.+[++>-<]>+++.+[----->+<]>.-[->+++++<]>.[--->++++<]>.+[->+++<]>++.[->++++<]>-.-[->++++++<]>-.-[-->+<]>----.-[-->+++++<]>+.+[->++++++<]>+.[->++<]>+.-------.[-->+<]>.++++[->++<]>+.-[-->+++<]>+.-[->+++<]>.>-[--->+<]>.[----->+<]>-.>--------.[->+++++<]>+.-[--->+<]>--.>-[----->+<]>.++++.-[--->++<]>--.[--->++<]>-.-[----->+<]>+.[----->++<]>.>----[-->+++<]>-.--[->++<]>.[----->++<]>++.[++>---<]>+.--[++>---<]>.>++[++>-<]>+.++[-->+++<]>+.[----->++++<]>.[-->+<]>+.>+++.-[----->+<]>+++++.[->+++<]>-.>+++++++++++.>-------[->++++<]>.-----------.--------.-----------.[----->++++<]>.-[->++++++<]>+.-[->+++<]>.---[->+++<]>.[----->++++<]>+.[->++++<]>++.-------------.>+++++++++.+[->+++<]>+.>-------[->+++<]>.+[------->+++<]>.++[->+++++<]>+.[--->++<]>.[-->+<]>++.[----->++++<]>.[---->+<]>++.++[->+++<]>.+[++++++>-<]>-.[---->+<]>---.++[->++<]>.>+++[->+++++<]>.--[->++++++<]>.[++++++>-<]>.>------------.-[----->++<]>.+[->+++++<]>++.+[-->+++<]>+.>--.[----->+<]>------.++[-->+++<]>.------.-[++++>-<]>-.+[--->++<]>+.-[++>-<]>--.-[++>-<]>.-[->++++<]>-.+[++++>-<]>----.>--.+[--->+<]>+++++++++.>+++++++++.[->+++<]>+.++[->+++<]>.[--->+<]>.--[->++++<]>.>--------.-[->++<]>-.---[->+++<]>.[----->+<]>--.>----.-[------->++<]>.[--->++<]>-.>++[++>-<]>+++.[++++>-<]>--.>--.----[->+++++<]>-.>+[--->+<]>++.[--->++<]>---.>--[-->+<]>.-[----->+<]>++.--[-->+++++<]>.-[-->+<]>.>-----[->++++<]>+.[->++++++<]>.++[->+++<]>+.>++[++>-<]>+.>++++++.>+[--->+<]>.+[++>-<]>++.[->++++++<]>-.++[->+++<]>.++[------->+<]>.++++++.+++[->+++<]>++.+[->++++<]>+.---[++>---<]>-.>++++++.>---.>+[--->+<]>++.-[--->+<]>++.[->++++<]>-.+++++++++++++++.>++[++>-<]>+.-[----->+<]>++.+[->+++<]>++.-[->++++++++<]>.---------------.[--->++++<]>.++[->+++<]>+.>--[-->+<]>.+[-->+<]>+++++.>----[-->+++<]>-.-[--->+<]>+++.--[->++<]>-.-[->+++++<]>++.[----->+++<]>.+[->+++<]>.>+[--->++<]>.+[--->++<]>+++.-[----->+<]>+.>-------[->+++<]>.++[->+++<]>+.-[----->++<]>+.[--->+<]>+.--[->++++<]>+.[->++++++++<]>+++.++[->+++<]>.---[->+++<]>+.-[->++<]>-.+[->+++<]>.>-[--->+<]>--.>+[----->+<]>.+[->+++<]>+.[->+++++<]>--.--[----->++++<]>.[---->+<]>.>+[--->+<]>++.>++++.[++++>-<]>++.[->++<]>+.+[----->+<]>.+[----->++<]>+.>----[->++++<]>.[---->+<]>-----.>+++++.>----[-->+++<]>-.[--->++++<]>--.[->++++++<]>.--[->+++++<]>.-----------.-[->++++++<]>.-----------.[--->+<]>.>++[++>-<]>+++.--[----->+<]>+.++[->+++<]>++.+[----->++<]>+.-[->++++<]>-.+[---->+<]>.++[->++<]>.[++>-<]>+++.+[--->++<]>++.-[--->++<]>+.[--->++<]>+++.>----------.--[->+++<]>.>+.[----->+++<]>+.[----->+<]>++.+[----->++<]>.[->++++<]>.----[->++<]>.[-------->+<]>-.------.-[----->+<]>+.[--->++++<]>.>-------------.>++++++++++++++.-[--->+<]>++.-[--->+<]>+++.[--->+<]>---.--[->+++++<]>.[++>---<]>--.--[++>-----<]>+.--[----->+<]>.++[->++<]>.-------.+++[->++++<]>-.+[--->++++<]>-.----[->+++<]>-.[------->+<]>-.---[->++++<]>+.+++[->+++<]>.>---------.[->++<]>-.+++.[---->+<]>---.-[--->+<]>----.+[->++++<]>.-[--->+<]>++++.-[--->++<]>+.++++++++++++.[->++++<]>--.+[->++++<]>++.+++[->++<]>.[++>-<]>+.>---------.++++.+[------->+<]>+.++[------->+<]>.-----[->++<]>-.------[->++<]>.-[->++++<]>.++++++++.-[->++<]>.+[--->++++<]>.++[->++<]>+.[->++++<]>--.--[--->++++<]>.>+++++++++.-[++++>-<]>-.[--->++<]>.[++>---<]>+.-[--->+<]>--.>++++++++.>--[-->+++<]>.-[------>+<]>.++++++++.++[->+++<]>.[->+++++<]>.------[->++++<]>.----[->++<]>.-.--[--->+<]>.-[->++++<]>--.--[--->+<]>.[------>+<]>++.+[--->++++<]>-.+[-->+<]>++.++[----->+++<]>+.>--[-->+++<]>.>-[--->+<]>++.+[->+++++<]>.--.[-->+++++<]>-.-------.[--->+<]>+.[++>-<]>++.>-.[------->++<]>++.[->++++<]>.>+[----->+<]>-.+++++[->+++<]>+.>+[--->+<]>.>-[------->+<]>.>--[--->+<]>.[--->+<]>++++++.>----[---->+<]>-.[----->+<]>-.++[->++<]>+.+[--->++<]>-.-[->++++<]>.---.+[->+++<]>++.>-[--->+<]>--.+++++++++++.[++>-<]>++++.+[++>-<]>+++++.[->+++++<]>-.>+[----->+<]>.[--->++++<]>--.+++++++++++++++.[->++++<]>-.-[++>---<]>-.>+[----->++<]>+.-[--->++<]>.[--->+<]>--.+[--->+<]>+.--[->++++<]>.[++++>-----<]>.[++++>-----<]>.[-->+<]>-----.[->++++++<]>.+[->++<]>+.>--[-->+<]>-.---[->+++<]>-.[---->+<]>+++.+++[->++++<]>.++++++++.[---->+++<]>++.++[->++<]>+.[->+++<]>.+++++.[++++>---<]>-.----.>----------.-[->++<]>.>++++[->++++<]>.---.+++++.--[->+++<]>.[--->++++<]>-.---[->++<]>.[----->+++<]>-.-[--->+<]>---.+[-->+<]>+++.+++++++++++++.--[--->++<]>-.+.-[->++++<]>-.--------------.-[->++++++<]>-.-[--->+<]>+++.--[->+++<]>.-[++++>-<]>+++.++++.>+++[->+++++++<]>.-[--->+<]>++.+.+[------->+<]>++.----[->+++<]>+.+[++>-----<]>+.+[++++>---<]>+.++++[->+++<]>.--------.---[++>---<]>-.---------.>+++++++.[----->+<]>.[->++++<]>++.---[----->++<]>.[-->+<]>-----.++[++>-----<]>-.+++[------>+<]>.++++++.[-->+++++++<]>-.>+[--->+<]>+.[---->+<]>.-[++>---<]>+.>+[----->++<]>.[--->++<]>++.+[->+++<]>.+[++>-<]>+.-[--->+<]>++.+[++>-<]>.++++.>--[-->+<]>-.[------->++<]>.+[----->+<]>.--.---[->+++<]>+.[->++++<]>--.-[----->+<]>--.[->++++<]>-.[->+++++++<]>-.[-->+<]>----.+[->++++++<]>+.----.+[++++>-<]>--.>------.[----->++<]>----.---[->++<]>-.-[++++>-<]>+.+[-------->+<]>--.-[----->+++<]>+.[++>-<]>-.+++.-[-->+<]>----.--[++>-----<]>.-[---->+++++<]>.[----->+<]>++.-[--->+<]>++.[-->+<]>++++.--[->+++++<]>++.>+[--->+<]>.--[--->++<]>--.[->+++<]>+.++++++++++++++++.--[----->+++<]>+.[------->+<]>.[--->++<]>.------------.+++[->++++++<]>-.-[++>---<]>-.++[----->+<]>.>----[-->+++<]>.-[--->+<]>---.>---------.>++++[->++++<]>.++++++.++[->+++<]>.++++++.[----->+++<]>--.[-->+<]>+++++++.++++++++.-[--->++<]>+.[--->++++<]>--.+[----->+<]>-.[->++++++<]>-.>++++++++.>+[--->+<]>-----.[->++<]>-.--[--->++<]>-.>-.[----->++<]>+++.>+++++++++.+[++>---<]>++.[----->++++<]>++.---[----->+<]>-.>----[->++++<]>.>--[-->+<]>-.-----.-.[++>-<]>-.+[++>-<]>+.>+[--->+<]>++.+[++>-<]>+.--.+++++.-[--->++++<]>.---[->++<]>-.>--[----->+<]>-.-[----->+<]>.++[->++<]>+.+++[-->+++<]>+.---------..[---->+<]>--.[-->+++++<]>.---[->++<]>-.+[++++>-<]>+.+[++>-<]>.++[->+++<]>+.++[--->++++<]>+.>+++++++++.+[->++++++++<]>-.-[->+++<]>-.[--->+<]>++.---.>--[----->+<]>.>++[++>-----<]>.>-------.-[------->++<]>--.>++++++.>------[->++++<]>+.++[->+++++++<]>.--[->+++<]>-.[-->+++<]>--.[-->+++++++<]>.+[--->+<]>++.>++[++>-----<]>.+[->++++<]>+.-[++++++>-<]>+.>----[->++++<]>-.>++++[->++++<]>+.---[++>---<]>-.>--[-->+<]>-.++++++.[------->+<]>+++.----------.+.---[->++<]>-.++[->+++<]>.[------->++++<]>.[++>-<]>+++++.-----.[--->++<]>.[--->++<]>++.[->+++++++<]>.+[->++<]>+.[->+++++++<]>.>-------------.-[-->+<]>.+[++>-<]>++.++++++++.++.----[->++++<]>+.++[->++<]>.+[->+++++<]>.+[++>-<]>.[--------->++<]>-.+[++++>-<]>.-[->++++<]>+.++++[->++<]>.[++>-<]>++++++.-[->++<]>.++[++>-----<]>.+[---->+<]>.+++++.-[++>-<]>-----.+[-->+<]>++.>+[--->+<]>++++.[----->+++<]>.--[----->+<]>.-[->++++<]>--.-------.-[----->+<]>.[++>-<]>+++.++[---->+<]>++.---[->++<]>-.-[--->++<]>-.>-----------.[----->+++<]>++.+[++>-<]>++.[--->+<]>--.-[->+++<]>.[->++++<]>++.++[--->++<]>+.-[---->+++<]>-.>-------.+[------->+<]>-.>--[-->+++<]>.++[------->+<]>.---[->+++<]>.+++++++++.-[++++++>-<]>.+[++>-<]>++.[++>-<]>-----.-[------->+<]>.>-.>+[------->++<]>--.--[--->+<]>---.-[->++<]>-.>--[----->+<]>.>--[-->+++<]>.-[++++++>-<]>.+[->+++++++<]>+.++++[->++++<]>.-[->++<]>-.>-------.[->+++<]>++.-[-->+<]>.[->++++<]>+.--[->++++<]>.[------>+<]>+.-[------>+<]>+.[-->+++++<]>.[--->++<]>---.>-[--->+<]>+++.+[----->+<]>+++.-[->++<]>.>++[++>-<]>.++[->+++++<]>.>+[----->+<]>.--[----->++<]>+.+[++>-<]>++.-[->++++<]>+.>-----[->+++<]>.>+++++++++++++.>--------.[---->+<]>---.>++[++>-<]>.--[----->+<]>+.>--[-->+<]>-.----[->+++++<]>+.-[-->+++<]>+.[++>-<]>----.-[->+++<]>.+[->+++++<]>-.+[->++++<]>.>+[--->+<]>++.+[++>-<]>+.-[--->++++<]>-.[->+++++<]>++.>---.[----->+<]>-.-[--->+<]>.++[--->++<]>.[--->+<]>+.[->++++++<]>+.[->+++++<]>-.[--->+<]>+.>+[----->++<]>+.+[->+++++<]>++.+[------->+<]>.[->++++<]>--.+[--->++<]>+.>+[--->+<]>+.[--->+<]>++.[++>---<]>.[--->+++++<]>+.-[->++<]>.++++++++.[++>-<]>++++.-[++>---<]>-.>+[----->+<]>.[--->++++<]>.[--->+<]>-.---[->+++<]>.-[--->++<]>+.[------->+<]>-.+++++.---[->++++<]>+.-[->++<]>.+++[--->++++<]>.>--[-->+++<]>-.[---->+++++<]>.-[--->+<]>---.-[->++<]>.++[->++<]>.>-[--->+<]>.-[----->+<]>.[++>---<]>.---[->++<]>-.+[++>---<]>-.[++++>-<]>-.>----.[------->+<]>.--[->+++<]>-.++[->++<]>.---[->+++<]>-.>-----------.>+[--->+<]>++.[----->+<]>.-[-->+<]>-.+[-->+++<]>++.>++++++++.>-[--->+<]>-.>+[----->+<]>++.>+[--->+<]>+++.++[---->+<]>+.+[-->+<]>+.+[--->++++<]>.[---->+<]>++.+++[-->+++++<]>.>--[-->+<]>-.[++++++>-<]>-.++++.[++>-<]>--.----[->+++<]>.[--->++<]>--.++[++++>-<]>.-[->++<]>.[++>---<]>.-[--->++<]>.---[->+++<]>.++[->+++++<]>.-[--->++++<]>++.[--->++<]>.++[->+++++<]>.[------->++++<]>+.-[---->+<]>++.>--[-->+<]>.>-----------.-[-->+++<]>+.[--->++<]>+.[--->++++<]>.[---->+<]>-.-[----->++<]>.[----->+++<]>.[->++<]>.[++++>-<]>.+++++++.[++++>-<]>-.--[--->++<]>-.>+[--->+<]>+++.[++>-<]>+++.--[->++++<]>.+[->++++<]>-.+[++>---<]>++.---------.>+[----->+<]>-.--[--->++<]>.>++[++>---<]>.+[-->+++++<]>.---[->++<]>.[-->+<]>-.>-[----->+<]>++.-----.---.+[--->++<]>-.--------.-[->++++<]>-.+[----->++<]>-.>-[--->+<]>.-[----->++<]>-.>-[--->+<]>---.[++>-<]>+.>-[----->+<]>---.+++++++++++.+[++++>-<]>.+++[------>+<]>+.++++[->+++<]>.[--->+<]>--.-[--->+<]>.>---------.>+++.>-------[->+++<]>-.[-->+<]>++++.[->+++++<]>.[->++++++++++<]>.----[->+++<]>.[--->++++<]>--.++[-->+++<]>.+[--->+<]>.[->+++++++++<]>.-----------.[++++>-<]>.>------.--[--->+<]>.>+++++++.+[----->++++<]>.+[->++++<]>.>--[----->+<]>.>+++++++.>--[--->+<]>.+[--->+<]>++.+[++++>-<]>.++++[->+++<]>+.--[--->++++<]>-.-[->++<]>.+[--->+<]>+.++++[->++<]>.[------->++<]>++.[-->+<]>-.++[->++++<]>++.+[->+++++++<]>-.[->++++<]>+.++++++++.+++[-->+++<]>+.>+[--->+<]>+.[++>-<]>+++.--------.-[++>-----<]>-.>+++++++.++[------->+<]>.-[-->+++++<]>-.[------->+<]>++.[++>-<]>+.++[--->++<]>+.-[----->+<]>++.-[->++++<]>.-----.-[->++++++<]>-.[--->++<]>+.--------.---[->++++<]>+.[->+++++<]>+.-----.+[->+++<]>+.>----.[--->+<]>++++++++++.---[----->+++<]>.------------.++[->++<]>.[++>-<]>-----.>++++++++++++.[++>-----<]>+.-[++++++>-<]>-.+++++++++++.+[--->++<]>+.++[--->++<]>.[----->++<]>.[---->+<]>--.+[->+++<]>.[++++++>-<]>+.[----->+<]>.---[-->+++<]>.>---------.>--[-->+<]>.-----------.>+[--->+<]>--.-[--->+<]>++++.[++>---<]>++.+++[->+++++<]>.>-----------.+[--->++++<]>.+[----->+<]>-.+++++.[->++++<]>.--[->+++<]>-.+++++++++++.+[->++++<]>.[--->++++<]>-.+[->+++<]>++.+[----->+++<]>-.>++++[--->+++++<]>.[------->+++<]>-.>+++.+[->+++++<]>.+[->+++<]>.-[++>---<]>+.--[--->+<]>-.>++++++[++>---<]>.[->++++<]>-.>--.[------->+++<]>.[--->++<]>.[++>-<]>+.>+[--->+<]>.>----------.-[--->+++++<]>+.>------------.-[----->+<]>++.-.-[->+++++<]>.--[->++<]>.+[--->++<]>++.-----[->+++<]>.-[----->++<]>.[++>-<]>+++.++[->+++<]>.--[--->+<]>.----[->++<]>.>++++[++>---<]>.[++>-<]>--.>-[----->+<]>++.+.-----[->+++<]>-.>++[++>-<]>+.++[->++++<]>.[++++>-----<]>.+[->+++++<]>++.+[----->+<]>.[-->+<]>+++.--[->++<]>-.+++++++++++++.>++.>-[----->+<]>.[--->++<]>+.+[++>-<]>.>++++++.--[++++>-<]>---.--[++++>-<]>.+++++.-[->++++<]>+.+++++++++++++.>++++++.>+[--->+<]>---.---[->+++<]>-.------.>++++++++.-[->++++<]>+.[--->++<]>--.------.>++++.[++++>-<]>---.>++++.[->++++++++<]>+.[----->++<]>+++.---[->++++<]>-.+[--->++++<]>-.+[----->+<]>-.[--->++<]>--.>++++++++++.[++++++>-<]>.-[->++<]>-.+[---->+<]>.-[++>-----<]>++.-.++[->++<]>+.++[->+++<]>.-[--->+<]>++.[++++++>-<]>++.+[++>-<]>+++.>-[----->+<]>--.-[-->+<]>---.----.--[->++<]>.--[->++<]>.-[->+++<]>+.+++++++.+[->++<]>.>--.>+++.+[->+++++<]>.++[->++++<]>.[->++<]>.+[--->++<]>.[++>---<]>-.-[----->+<]>+.------.--[---->+<]>-.[++>-<]>-.[++>---<]>-.[->++++<]>++.[->+++++++<]>.-[------->+++<]>.---[->++++<]>+.[------->+<]>.----------.--.----[->++<]>.[--->+<]>+.>+++.+[--->++<]>.+++[->++<]>.--[++++>-<]>-.>++++[->++++<]>.>-------------.[--->++<]>--.[----->+<]>+++.-[----->++++<]>+.+[--->++<]>.[->+++++<]>+.[->+++++<]>--.-[++>---<]>--.++[->++<]>.[-->+<]>----.+[->+++<]>++.--[->+++<]>+.---.-[--->++<]>+.-[----->+<]>.-[->+++++<]>+.[----->+<]>--.+[--->++<]>.------------.+++[->+++<]>.--[--->++<]>.[->+++<]>-.--[--->+<]>----.[->+++<]>.+[-->+<]>+.[--->++<]>++++.>+[--->+<]>.>+[----->++<]>+.-[--->+<]>+.-[++>---<]>.++++++++++.>---------.+[--->++++<]>--.++[----->+<]>.-----[->++<]>-.-[--->++++<]>-.+[-->+++<]>-.-[--->+<]>++.---[->++<]>-.[->+++<]>++.-[++>-<]>.----[->++++<]>.[--->++<]>--.[->++++++<]>++.--[->+++<]>+.>++++++++++++++.++[->++<]>.>++[++>-<]>+.++[++++>-<]>.-[--->++<]>--.+.[->+++<]>-.[-->+++++<]>+.-[++>-<]>--.>++++++.--[++++>-<]>-----.>---.>+++[->+++++++<]>.+[--->+<]>+++.--[->++<]>-.>++++.>-----.+[---->+++++<]>.-[->+++++<]>++.>--------------.+++++++.[--->+++++++<]>-.++[-->+++<]>.[----->+<]>.>++++.>----[-->+++<]>-.++++++++++.-[++++++>-<]>++.--[->+++<]>+.>--.[--->+<]>--------.-[--->+<]>.------.>------.-[--->+++++<]>-.--------.[-->+<]>------.-[++>-----<]>.-[->++++<]>-.>--[-->+++<]>-.>+++++.+++[------>+<]>.[-->+<]>--.++[++>---<]>++.[--->+<]>--.-[--->++<]>+.[--->+++++<]>.-[++>-<]>-.[---->+<]>-.>-[--->+<]>++++.+++++.[->++++<]>++.-[->+++<]>+.[-->+<]>--.--[->++<]>.--[--->++<]>-.[->+++++<]>--.+++[->++<]>.[--->++++<]>+.+++++[++>---<]>.[--->++<]>----.>---[----->+<]>.--[--->+<]>.>----------.--------.++[---->+<]>+.+[->+++<]>+.-[->+++++<]>.-[--->+<]>.-[->+++<]>.[--->++<]>.>------.[------->+<]>---.+[--->+<]>++++.[---->+<]>+.>++[++>-<]>+.[--->+<]>-----.-[-->+<]>-----.+[->+++++<]>.[----->++++<]>.[---->+++<]>++++.[->+++++<]>-.--[->++++<]>.[-->+<]>.++[--->++<]>+++.[----->+++<]>+.++[->+++<]>.[--->++<]>.[++>-------<]>-.>++[++>---<]>.-[----->++<]>+.-[-->+++<]>+.>+[--->+<]>++++++.+[->+++<]>++.>-[--->+<]>--.--[->+++++<]>-.>--[-->+++++<]>.+++++++++++++++.----[->++<]>.[++>-<]>++.+++[->+++<]>.--[->++<]>.[--->++++<]>.[++++>-<]>-.>+++++++.-[++>-----<]>++.-[----->+<]>.>+[----->+<]>+.++[->+++++<]>-.++[--->++<]>.++[---->+<]>+.-[->+++++<]>.+[------->+<]>-.>+[----->+<]>+.>++.-[----->+<]>++++.[--->+<]>----.[--->++<]>.--[->+++<]>.-----------.+[->+++++<]>.[--->++<]>-.+[->+++++<]>.-------.-[->+++<]>-.+[++++>-<]>++.-[--->+<]>+.++.---.>-[----->+<]>-.+++[->+++<]>+.>+++++++++.>-----.+[---->+++<]>-.[----->+<]>-.>------[-->+++<]>.+[-->+<]>++++.[-->+++<]>-.--------.[--->++<]>----.>----.[----->+++<]>----.-[->+++<]>.-[--->+<]>--.+++++++++++.-[++++>-<]>.--[->++++<]>.[--->++<]>.+[->++<]>.-[->+++++<]>.-[++>---<]>+.+[-->+++<]>-.+[--->+<]>.+[--->++<]>+.+[--->++<]>+.+++++[->++<]>+.>++[++>-<]>+.++[-->+++<]>++.[-->+<]>+++++.>++++[++++>-<]>.+[----->+<]>-.++[----->+++<]>.-[-->+<]>------.[---->+++<]>.[-->+++++<]>+.[->+++<]>+.-[++++>---<]>+.-[->+++<]>+.>+[--->+<]>+++.[++>-----<]>+.[------>+<]>-.+[->++<]>+.-[-->+<]>-.---[->++<]>-.++++.[->++++++<]>-.>+[--->+<]>+.+[->+++++<]>.+++++++.[------->+<]>+.++++++++++.++++[->++++<]>+.+[++>-<]>.>++++.[++++>-----<]>.+[-->+<]>+++.>+[--->+<]>--.---[++>---<]>.++.[--->+<]>+.++.>-------------.[--->++++<]>--.-[->+++<]>.+[++>---<]>-.-[--->++++<]>+.[->+++++<]>.>++++++++++.---.+[++>-<]>.-[----->++<]>+.[->++++<]>-.+[++>---<]>+.>++++[->++++<]>+.--[->+++<]>-.[->++<]>+.++[--->++<]>+++.>------------.[-->+<]>+++.+++++.++.[++>-<]>---.+[++>---<]>-.-[--->+++++<]>-.-[++>-<]>--.-[->++++<]>-.-[------>+<]>.>++++++.>------[->+++<]>.++[-->+++<]>+.>++[++>-<]>.-[++>-<]>---.-[--->+<]>+++.[------->+++<]>.--[--->+<]>.---[->+++<]>.>++++.>-------.>--[------->+<]>.++[++++>-<]>+.--[->++++<]>--.--[++++>-<]>---.[--->++<]>+.-[++++>---<]>+.>++[++>-----<]>.-[----->+<]>-.+++++++++++.[-->+<]>-.[++++++++++>-<]>.+[--->++<]>-.+[----->++++<]>.-------.-[++>---<]>-.-[--->+<]>+.+[++>-<]>.++[------>+<]>++.++++++++.+[-->+<]>.------.-----[->++<]>.++[->++++++<]>.--[->+++<]>.[------->+<]>+.>--------.>+++++++++++++.[->+++++<]>-.[-->+++<]>.+[->+++<]>++.[--->++++<]>.+++[->+++++<]>+.[++>-<]>+.>-[--->+<]>----.>++++++.[->++++++<]>+.>--[-->+<]>.>------.[----->+<]>-----.[->+++<]>.+[-->+++<]>++.--[++>---<]>-.[->+++<]>++.>++[++>-<]>+.----.--[++++>-<]>-.+[->++<]>.++[---->+<]>.--[->+++<]>+.[--->+<]>+.++++++[->++<]>.>+[----->+++<]>.+[----->+<]>++.--[--->++<]>.[-->+++<]>+.--[->++<]>.>----.[--->+<]>---.>++[++>-<]>.[--->+<]>+++.[++>-<]>-.-[--->+<]>++.+++++++++.+++[->+++<]>++.-[++++>-<]>-.[->++++++<]>+.-[--->++<]>-.-[++>---<]>+.+++++++.--[->++<]>-.--[->++++<]>.[------->+<]>.-------.[->++++<]>+.-[----->+++<]>.+++[->+++++<]>.>+++++++++++.--[----->++<]>+.+[->+++<]>+.+[-->+<]>++.+[++>-<]>+++.>+.>------[->+++++<]>.[--->+++++<]>.---[----->++<]>.>------------.+++.[----->+++++++<]>.>------.-[----->+<]>+.-[--->+<]>.---[->+++<]>.[++>---<]>.[--->+++++<]>.-[--->++<]>--.>++++++++++++++.++[--->++++<]>.[++>-<]>++.>++++[->+++++<]>.>-----[->++++<]>.+++[->++<]>.-[->+++<]>+.[++>-<]>++++.[--->++<]>.>++++++++++.+[->++++++<]>++.>------.>+[----->+<]>.-[----->+++<]>.-[--->+<]>+.--[++>---<]>.++++.[++>-<]>+.+[++>-<]>+.-[---->+<]>++++.[->+++<]>.[->++++++<]>-.[--->+<]>---.++++[->+++<]>+.-[--->+<]>.-[->++<]>-.++[->++<]>+.+[++++++++>-<]>.>+++[->++++++<]>.--[++++++++>-<]>.-[->+++++<]>-.-.+[->++<]>.-.--[->++++++<]>+.++[--->++++<]>.---[->++++<]>.[++++++>-<]>+++.+[->++++<]>-.-[++>---<]>+.[-->+++++++<]>.[--->++++<]>--.-.-----[->++<]>-.+++++++.>---.>+[--->+<]>+++++.+++[->+++<]>++.>--.----[->+++<]>.--[->++++<]>+.>-----------.[--->+<]>-.++[++>-----<]>.--[++>---<]>--.-[->++<]>.[-->+<]>+++.+[--->++<]>+++.-[----->+<]>.[------>+<]>.-[-->+<]>---.[-->+<]>-.[--->++<]>.++[->++<]>.---------.+[->++<]>.--[--->+<]>.++++++++++.[--->++<]>-.+[->++++<]>++.+++[->+++<]>+.+[->++++<]>+.[--->++<]>--.--[->+++++<]>+.-[--->++<]>--.[-->+<]>---.>+[--->+<]>++.+[++++++>-<]>+.[-->+<]>------.>--[-->+++<]>-.[++>---<]>-.[----->++++<]>+.-[++++>-<]>+.>+[----->+++<]>.+[++>---<]>++.+[----->+<]>+++.----[->++<]>.+[--->+<]>++.-[->++<]>.[--->++<]>--.[->++<]>-.[--->++++<]>-.++[----->+<]>.>----------.+[------->+<]>.+++++++++++.[++>-<]>---.>-[--->+<]>----.-[->++++<]>.>+[--->+<]>---.[--->++++<]>-.-----[->+++<]>.[++>-<]>++.+[->++<]>.>-[--->+<]>++.-----[->++<]>.>++++[->++++<]>+.-[->+++<]>+.---[->+++<]>-.+++[->++<]>+.+[--->++<]>.--[--->+<]>-.--[->+++<]>.>-[--->+<]>----.[->++++<]>.++++++.----[->++<]>-.[->++++<]>--.++[++>---<]>+.--[--->+<]>--.[->+++<]>+.-[->+++<]>.[--->+<]>++.-[-->+<]>-.-[->++++++<]>+.+[++++++>-<]>.+++++++.-------.-[-->+<]>--.--[--->+<]>--.+++++++++++.-[--->+<]>+.+[--->+<]>+.-----[->++++<]>-.-[->+++++++++<]>.[->+++<]>+.-[--->+<]>+++.-----.-------.>++++++++.>--[-->+<]>.[--->+<]>--.+[++>-----<]>+.>-------.---[------>+<]>.[------->+++<]>.[->++++++<]>-.>+[--->+<]>+.+++++++++.[->+++++<]>-.[---->+++<]>-.[----->+<]>.+[-->+<]>+++++.>----.>+[--->+<]>+++++++.>----.+[----->+<]>.>+[--->+<]>+.[--->+<]>+.---[->++<]>-.---------.+[--->+<]>+.[-->+<]>--.++[--->++<]>+.-[--->++++<]>++.>++++[++++>-<]>-.>--[----->+<]>++.[++++++>-<]>.[------>+<]>---.>--[-->+<]>+.-[----->+<]>.+[--->+<]>+.[----->++++<]>.[---->+<]>+.++[++++>-<]>.++++++++++.++[->++<]>+.+++++++++++++.+[--------->+<]>.+[--->+<]>+++++.+++.[->++<]>+.[->++++<]>-.+[++++>-----<]>.-[++++++>-<]>.--[->+++<]>.[----->+<]>--.+[->++++<]>-.--------.+++++[->+++<]>+.[--->++<]>.-[--->+<]>+.[---->+++<]>.++[---->+<]>+.--[--->+++++<]>+.-[--->++<]>.>+[----->+++<]>.++[->++++<]>+.-[->++++<]>.[->+++<]>++.++[---->+<]>+++.[----->+<]>.[++>-----<]>.++[------->+<]>.++++++++.[->++++<]>++.>-[--->+<]>++.++[->+++<]>.>--[----->+<]>.>-.[----------->+<]>.--[->+++++<]>-.++[++>-----<]>.--[++++++>-<]>-.++++[->++<]>.-[--->++++<]>+.>+[----->+++<]>.---[++++++>-<]>.>--.[----->+<]>--.++++[->+++<]>+.++++++++++..[->+++++++++<]>.-[--->++++<]>.[-->+++<]>--.++++++++++.[--->+<]>.--[->+++<]>-.+[-->+++<]>-.-[->+++++<]>-.[++>---<]>--.>+++++++++++++.--[--->++++<]>-.-[----->+<]>+.-[->+++++<]>.-[->++++++<]>.--[------>+<]>.-----[->+++<]>.[->++++<]>++.[++>-<]>+++.-[--->+<]>-.-[--->++<]>-.>--[++++++>-<]>.---[++>---<]>--.>+++++++++++++.[->+++<]>-.++[->++++<]>.+[->++++<]>+.[->+++<]>++.-[++>-<]>----.[++>-----<]>+.[->+++<]>++.+[->++++++<]>+.>++[++>-<]>.[--->+<]>++.--[----->+<]>.+[--->+<]>+++.[--->++<]>.-[->+++++<]>--.>--[-->+<]>.>+++.[----->+<]>++.>---.-[-->+<]>-.+[--->+<]>++.[-->+++<]>-.-[++>---<]>-.------------.-[->++++<]>.--[++>---<]>.>----.[--->+<]>+++.++++++++++.>----.[---->+++<]>++.--[->+++<]>.-[->++++<]>.>++.>---------.+[----->+<]>+.-[--->+<]>+++.+++++++.++[->+++<]>+.[->++++<]>.>++++[++>---<]>+.[--->+++++++<]>.++[->++<]>.-[--->++++<]>.>---.[----->++<]>.>++[++>-<]>+.[-->+<]>--.>+[--->+<]>+++.+.+++[->+++<]>.-[----->+<]>++.>++++++++++.>--------------.>+++++++.+[++>---------<]>.[++++>-------<]>.+[------->+<]>--.-[--->++<]>+.++++++++.---[->++++<]>-.+++.--[->++++<]>+.>+++++.>-------------.[--->++++<]>+.+[->+++<]>++.[-->+++<]>.[-->+++++<]>-.+++++++++.+[--->++<]>-.++[------->+<]>.[->++++++<]>+.+[-->+++++<]>--.++++++++++++.+[->+++<]>.++[----->+<]>.++[->++<]>.-[--->+<]>+.>-[--->+<]>-.++++++++++++.++[->++++++<]>+.[->+++++++++<]>-.+[->+++<]>++.+++.>+[----->+<]>+.++++++++++++.>++.[---------->+<]>+.++[-->+++<]>+.>++++++++++++.+++++++++.++[--->++<]>++.--[->+++++<]>+.++[->++++<]>-.-[----->++<]>--.----------.++++++++++++.[-->+++<]>++..-[----->++<]>.---[->+++<]>.+[--->++<]>++.---[->++++<]>.---[->+++<]>+.++[++>---<]>+.[------->+<]>.+[--->++<]>.[++++++>-<]>+.-[->++<]>-.+[->++<]>+.+[----->+<]>++.-[--->++<]>-.+++++++.-[--->+<]>++++.+[--->+<]>.-[--->+<]>++.-[-->+<]>----.--[------->+++<]>.[--->++<]>+++.+[----->++<]>--.>-----.+[-->+++<]>-.-[--->+<]>---.++++++++.>+[--->+<]>++.[--->+<]>+++++++.>+[--->+<]>----.+[--->+<]>+++.---.[-->+++++<]>--..++[->+++<]>+.+[++>-<]>++++.-[++>-<]>---.>+++.[----->+<]>--.>-[--->+<]>.++.++[--->++<]>+++.>+[--->+<]>.[--->++<]>+++.[->++++<]>+.-[->+++<]>+.-[---->+<]>+.[--->++<]>---.-[->++++++<]>++.[----->+<]>+++.+[->+++<]>+.--[--->++<]>.+[->+++++<]>.>++++[++++>-<]>.+[++>-<]>++.+++[->+++<]>++.+[->+++++<]>+.>-[--->+<]>++.++[----->++<]>.>----[-->+++++<]>.--[---->+++++<]>.+[-->+<]>+++.[--->++<]>-.-[->++++<]>+.+++++++++++.[-->+<]>+.>+++++++.++++++.---[++>---<]>-.[++>-------<]>+.++[->++<]>.+[->+++<]>++.++++.------------.>+++++++++.[->+++++<]>++.+[->++++<]>-.>-[--->+<]>--.+[++++>-<]>--.-[++>---<]>.+[++>---<]>+.-[-->+++<]>.>+++++++++.+[->++++<]>+.>---------.+[---->+++++<]>+.+[-->+++<]>.++++++[->++<]>+.-[-->+<]>---.>--[-->+<]>-.+++++[->+++++<]>.---[->+++<]>.[--->+<]>+.+++[->++<]>+.[----->+<]>+.>+++[->+++++<]>.++[----->+<]>+.>--[-->+<]>-.--[++>---<]>-.+[-->+++<]>.-[------->+<]>.>+[--->+<]>+++.[++>-<]>-----.-[--->+<]>++.+[->+++++<]>+.+[++>-<]>+++++.++[->+++<]>+.-[----->++<]>+.[--->++<]>+.[--->++++<]>--.>--[--->+<]>.++[----->+<]>.[------>+<]>-.-[++>-<]>---.[----->++++<]>.[-->+++++<]>.-[--->+<]>+.--[->+++<]>+.--[->++<]>-.[->++++<]>-.-------.--[-->+++++<]>-.-[->+++++<]>++.>++[++>-<]>+++.--[++++++>-<]>-.-[->+++<]>+.++[->++<]>+.+[--->++<]>-.--[----->++<]>+.+[-->+<]>.++[----->+<]>+.[->++++++<]>+.>++++++++++++.-[--->+<]>--.>-[----->+<]>.--------.+[-->+++<]>-.--[----->+<]>+.>++[++>-<]>+++.>-[----->+<]>.--.--[->+++++<]>.++[->+++<]>++.++++++++.++++++.--------------.++++.[--->++<]>+++.[--->++<]>---.-----[->++<]>-.--[------->+<]>.[----->++<]>-.[----->+<]>+.[->++<]>-.+[---->+<]>+.++[++++>-<]>+.>+[--->+<]>++.+[-->+<]>.+++.--[----->++<]>-.-[-->+++<]>.[--->+<]>--.+[++>---<]>+.--[----->+<]>++.>+++++++..>-------[->++++<]>.[++>---<]>--.[--->+<]>----.---[->++<]>-.-[->+++<]>-.+[-->+++<]>-.--[->++++<]>.>-------.[--->++<]>-.[--->++++<]>.---[->++++++<]>.-[----->+<]>-.[-->+++<]>-.+[---->+<]>+.+++++++++.+++[->++<]>.>--------.[----->+<]>----.+[--->+<]>+.[++++++>-<]>-.>--[--->+<]>.>++[++>-<]>.--[----->+<]>-.+++++.-[->+++<]>+.>++++++++++.>++.[----->+<]>++++.+++[->+++<]>.++++++++.+++.[------->+<]>++.-[--->+<]>--.+++[->++<]>.>--[-->+++<]>.--[->+++++<]>+.[--->+<]>+.---[-->+++<]>-.-[--->++<]>.++[--->++<]>+.-[++>---<]>+.-[++>-<]>.>--[-->+<]>.+++++[-->+++<]>.--[->+++<]>-.-[-->+<]>----.--[->++++<]>--.--[------>+<]>-.++[----->+<]>+.+[->++<]>+.-[->+++<]>+.>-----.+[------>+<]>-.+[-->+<]>+.[++>-<]>++++++.----.-[++++>-<]>+.[--->++++<]>-.+[->++<]>.--[->++++<]>+.--[->+++<]>-.-[----->+<]>+.-[--->+<]>.[------->+<]>-.[++>-----<]>+.+[--->++<]>+.+[-->+<]>.-[--->+<]>++.>--.--[->++++<]>.[---->+<]>-----.-[++>---<]>.>+[--->+<]>+.[---->+<]>-----.[++>-<]>+++.[++>---<]>--.-----------.>++++[++++>-<]>-.[++>-<]>++.>-[--->+<]>++.---[-->+++++<]>.-------.>--[-->+++<]>.---[->+++<]>.[++>-<]>++.>--------.--[-->+++<]>--.+[---->+<]>+.-[++>---<]>-.-[--->++<]>-----.>----------.[------->++<]>+.-[---->+<]>++.-[-->+<]>--..-[--->++++<]>+.++++[->++<]>+.--[----->++<]>.--[->+++<]>.[-------->+<]>.+[--->+<]>+.[------->+++<]>.-[-->+<]>----.[--->+<]>-----.+[->+++<]>+.+[-->+++++<]>+.>+[--->+<]>++.+.--[---->+<]>---.---[->++<]>.---.>+[--->+<]>+++.[-->+<]>---.>+[----->+++<]>.-[--->++<]>.>-------.-[---->+<]>----.>-[--->+<]>.-----[->+++<]>-.-[->++++<]>-.[--->+<]>------.-----[->+++<]>.>++++++++++.[--->++++<]>+++.>++[++>-<]>+++.>+[--->++<]>.>+[----->+<]>.[--->+<]>--.+[->++<]>.+++++[->++<]>+.>++++++++++.[--------->++<]>+.>++++[++++>-<]>.-----[->++<]>-.---[->+++++<]>.-----.+[->++<]>+.>++++++.>--[++++++>-<]>-.++[-->+++<]>+.-----------.[--->+<]>+++.[-->+<]>++.--[++>---<]>-.>-------------.[->++++<]>--.++++[->++<]>.[--->++<]>.[++++>-<]>++.[++>---<]>--.-------.[--->+<]>---.[---->+<]>--.++++++.---[->+++<]>-.+++[->++<]>.---------.-[->++++<]>.+[--->++++<]>+.-[->+++<]>.--[->++<]>-.-[------->+<]>.--[->++++<]>.++[--->++++<]>-.+[-->+++++<]>.>--[------->+<]>-.-[++++>-<]>--.[->+++++<]>-.>++++.>------[-->+++<]>.[----->+<]>++.+++++++++++++++.--------.>----------.-[->+++++++<]>.-[--->+<]>++.>+[--->+<]>++.-[--->++<]>-.++[->++++<]>+.[--->++++<]>-.--[->++++++<]>++.-[----->+<]>.[->++<]>+.+[++>-<]>.--[->+++<]>+.[------->+<]>.+.+++[->++<]>.+.[----->+++<]>-.[->++++++<]>+.[----->+<]>+++.+++[->++<]>+.[----->+++<]>.-[---->+<]>.[++>-<]>----.[---->+++<]>+++.--[->++++++<]>.>----[-->+++<]>-.[->+++++<]>-.-[->+++++<]>--.>----[-->+++<]>.++++++++++++++.+++.---[->+++<]>.-[----->+<]>.[->+++++++++<]>.-[--->++<]>--.[->+++<]>.----[->+++++<]>.>----.[---->+++++<]>.>+[----->+<]>--.-[--->++++<]>+.-[-->+++<]>+.-[------->+++<]>-.[--->++++<]>.++[->+++++<]>+.+[----->+<]>+.--.-[-->+<]>.---[++>---<]>.+[--->+<]>++.--[--->++++<]>+.[------->+<]>+.[---->+<]>--.>+[----->++<]>.+[->++<]>.[++>---<]>-.>++++++++++.>+[----->+<]>-.[------>+<]>+.[->++++++<]>-.[->+++<]>-.[--->+<]>+++.>-----.>++++++[++>---<]>.>++++.[----->+++<]>++++.[---->+++<]>.--.-----[->++<]>.--[----->+<]>--.--[->++++<]>--.>+++.>+[--->+<]>-----.>++++.>-----[->++++<]>+.+[-->+++<]>-.-[--->++<]>.-[--->+<]>--.---------.--[->++<]>-.+[->+++<]>+.>--[-->+<]>-.---[->++++<]>-.---[->++<]>.[----->+<]>+.+[----->+++<]>.++[++>---<]>.----[->++<]>.[++++>-<]>.++++[--->++++<]>.----------.[++>-<]>.>------.[->+++++++<]>.>+++[->+++++<]>.-[++>-----<]>++.++[--->++<]>.[->++++++<]>.++++++++.[--->++<]>.>++[++>-<]>+.-[--------->+<]>.[->+++++++<]>+.+[----->++++<]>.[->+++++<]>.[++>-<]>-----.>++++.[----->++<]>++.--[---->+++<]>+.+[--->++++<]>-.---[->++<]>-.+[-->+<]>++.[++>-<]>++.[--->++++<]>.[->++<]>.>--.--[-->+++++++<]>+.--[->++++<]>--.----.>+[----->+<]>++.[--->++<]>++.-----.+++++++.>----[-->+++++<]>.-[--->+<]>++.-[--->++++<]>+.+[-->+++<]>.-----.+[--->+++++<]>.-[++>---<]>-.--------.--[->++<]>.[++>-<]>+++.[-->+<]>--.[->++++++<]>-.[--->++<]>.-----.+++[++>---<]>.>--.--[---->+<]>+++++.[--->+<]>--.>+[--->+<]>.>-[----->+<]>--.----[->++++<]>+.-[-->+++<]>-.[->+++<]>+.[-->+<]>--.[->++<]>-.[--->++<]>---.-----[-->+++<]>.[----->+<]>+.[->++<]>.++[++>---<]>++.>----.[->++++++++<]>-.[----->++<]>-.-----[->++<]>.>+[--->+<]>.+++++.>-[--->+<]>-.++++[->++<]>+.-[---->+<]>+++.+[->+++++<]>-.-[-->+<]>------.>++[++>-----<]>.[->++++<]>+.-[++>-<]>--.[--->+<]>+.++[->++<]>+.-[-->+++++<]>.[--->++++<]>.>-[--->+<]>---.>+++.+[->++++<]>+.>----[->++++<]>.[->+++<]>-.[--->+<]>++++++.++[->++<]>.[--->+<]>-.----------.+++[->++++<]>+.--[--->+<]>---.-----.>-----.>+[--------->+<]>.+++[->++<]>.+[->+++++<]>.>++[++>-<]>.>+[------->+<]>-.+[->+++<]>+.-[----->+<]>+.--[---->+<]>-.----[->+++<]>+.----.[++>-<]>.-[++>---<]>+.[----->++<]>-.>+++++++++.[->+++<]>++.+[-->+++<]>+.[-->+++<]>-.-[----->+<]>.[------->+<]>-.++[-->+++<]>.++[->+++<]>.[------->+<]>.-[------->++<]>++.[-->+<]>++++.-[--->++++<]>.++++++.++[----->+<]>.[++++++++++>-<]>-.>+++++++.-[++>---<]>+.++++[->++<]>.>+[----->+<]>-.----------.[-->+<]>-.---[->++<]>-.[->+++++<]>++.+++++++++++.>--.[++++++>-<]>----.-[----->+<]>-.>-----.+[---->+<]>+++++.>+++++++++++.-[--->+<]>+.+++++.+[--->++++<]>-.>-----------.[------->+<]>-.[----->+<]>+.[--->+<]>.-[-->+<]>-.>+[--->+<]>.>--[-->+<]>+.----[-->+++<]>-.-[---->+++<]>-.>----[-->+++<]>.[->++<]>-.[--->++++<]>--.>------------.-[->+++++<]>--.+++++++++++++.[--->++<]>---.>-[--->+<]>-.---[----->+<]>--.+[----->+<]>+.+[++>-<]>++++.[----->+<]>.[->+++<]>.-[-->+++<]>+.>+++++++++++.>----[---->+<]>.-[++>-<]>--.>+++++++.[----->++++++<]>.[------>+<]>+.+++++++++++.[->+++<]>++.++++++++++++.>-[--->+<]>--.>++++++++++.>-------------.[->++<]>.-[------->+++<]>+.[++>-<]>++++.--[->+++<]>+.-----------.-[------>+<]>++.+[++>---<]>.+[--->++<]>+.--[--->++<]>---.-[-->+<]>----.[----->++<]>.-[->++++<]>-.++[->++<]>+.-[--->++<]>-.---[->++<]>-.++++++.+[++>-<]>.-----[->+++<]>.--[-->+++<]>--.[++++++>-<]>+.-[--->++<]>+.+[---->+<]>++.++[---->+<]>.+[->++++++<]>.-[--->++++<]>--.+++++++++++++++.[--->++<]>++.[->+++<]>-.+[++++>---<]>+.----.++[->+++<]>.>--------.[->++++<]>.+[->++++<]>+.>+.+[----->++<]>.--[->++++<]>.---[->++++<]>.--[++>-------<]>.[--->++<]>-.[----->+<]>.+[--->++<]>+.[----->+++<]>-.++[------->+<]>.-[->++++<]>.---[->+++<]>.+[-->+++++<]>.[++>-<]>++++.[----->+++<]>.---[->++<]>.[->++++<]>--.+[----->+<]>+.[->++<]>+.>--[----->+<]>.---[->++<]>-.>-[----->+<]>.-[-->+<]>--.-[--->++++<]>++.[->++++<]>++.--[++>---<]>.[++>-<]>--.++[++>---<]>.--[->++<]>-.-[++++>---<]>.>-[--->+<]>--.----[->++++<]>+.-[++>---<]>.[--->++<]>+++.-----------.[->++++<]>+.-------[->++<]>.--[->++<]>.-[->++++++<]>-.-[----->+<]>+++.[--->++++<]>.[--->++++<]>+.-[++>-<]>-----.-[++>---<]>-.[-->+<]>++++.----[->+++++<]>+.-------.[--->++<]>.[-->+++<]>--.+[->++++++<]>-.-.---[->++<]>-.>----------.>+++++.-[--->+<]>+.>-------.-[---->+<]>-.-[-->+++++<]>+.+[->++++<]>-.[->++++++<]>.++.--------.+[->+++++++<]>.+++[->++<]>.[------>+<]>.[-->+<]>-.[->++<]>+.++.++++.++++[->++++<]>.[-->+++++<]>.-[->++++<]>.>++[++>-<]>+.-[----->+<]>-.+++.+[->+++<]>++.[--->++++<]>.[->++++<]>--.------.+[----->+<]>.-[---->+<]>.[--->+<]>.-[--->+++++<]>+.>+++++++++++.[--->+<]>++.-----.--[----->+<]>-.-[--->+<]>.--[--->+<]>-.[--->+++++<]>+.[-->+++<]>+.----[->++<]>.+[->++++<]>++.>--[-->+++<]>-.[++>-<]>--.--[->+++++<]>.+++++++++++.-[++>-----<]>++.>--[-->+++<]>-.++[------>+<]>+.[--->+<]>.[-->+<]>++.[->+++<]>+.+[->+++<]>++.+[-->+<]>+.++[->+++++<]>.-[->++++++<]>+.[----->++++<]>-.--[--->++<]>.[--->+<]>++.[------>+<]>----.-----[->++++<]>+.[->+++++++<]>+++.[--->++++<]>.[--->+<]>+++.-[--->+<]>+++.-[-->+<]>----.--[->+++<]>+.--------.[->++++++++<]>.-[----->+<]>++.--[--->++<]>.-[----->+++<]>-.++[-->+++++<]>+.>+++.+[--->+<]>+++.+[--->+<]>.[->+++++<]>+.>-[--->+<]>.[--->++<]>---.+[++++>-<]>---.++++[->++<]>.-[--->++++<]>-.++[->++<]>.+[--->++<]>+.-[--->++<]>----.+++++[->++<]>+.++++.[--->+<]>+.++[->+++<]>+.-[->+++++<]>-.-[--->++<]>+.>+[----->+<]>+.+[->+++<]>+.---[->++<]>-.[->++<]>+.-[++>-<]>----.-[++>-<]>--.[-->+++++<]>.+[-->+<]>++.-[->++++<]>+.>+[------->+<]>.[--->+<]>+++++.>+[--->++<]>.>++++++++++++.+[->+++<]>++.-[--->++++<]>-.[----->+<]>-.>+++++++.[----->+<]>++.>+++++++++.+[--->++++<]>+.[--->+<]>.---[-->+++++<]>.[++++>-<]>+++.>-------.+[----->+<]>-.----[->+++<]>.>+[--->+<]>++.>-[----->+<]>+.-[--->++++<]>.+[->++++<]>+.>++++++.>--[++++++>-<]>.--------.>+[--->+<]>+++.---[----->++<]>.>---.-.---[->+++++<]>.[->+++<]>.+[++>-<]>++++.-----[->++<]>.>-----.[--->+<]>+.++[->++<]>.[->++<]>-.+++[--->++++<]>.--[->+++++<]>-.>+++++++++++++.-[->++++++<]>.-[->+++++++<]>.--[->++<]>.[--->++<]>.[++>-<]>---.>---------.+[--->+<]>.[--->++<]>++++.>---.>-[--->+<]>++.[--->+<]>-.-[----->+++<]>+.+[--->++<]>.[------>+<]>+.[->+++<]>.[--->++<]>.[->++<]>.+[->++++<]>-.>--------.[--->++++<]>++.>----------.-[--->++++<]>++.-[--->+++++<]>++.-[------>+<]>.------.--[->++++<]>--.[++++++>-<]>+.[++>-----<]>-.[--->++<]>-.[->+++<]>+.[-->+++<]>+.-----.---[++>---<]>.[->+++<]>+.+.>+++++.>-----[->++++<]>.[------->++<]>+.>--.[--->+<]>.[----->++<]>.[++>---<]>+.+++[->+++<]>.+[--->++<]>+.-[--->+<]>++.++[->++<]>+.>-[--->+<]>--.-[->++<]>-.[--->+<]>--.[--->+<]>.-[->++<]>.[-------->+<]>+.+++[->++++<]>.[--->+<]>+++.[->++++<]>.--.++[++>---<]>.[-->+<]>--.>--[-->+<]>.+[-->+<]>++++.>-.>++[------>+<]>++.-[-->+<]>--.-[--->+<]>+++.---[->++++<]>+.+[------>+<]>+.[----->++<]>.>--[--->+<]>.>++[++>-<]>.++++[->++++<]>+.++[----->++<]>+.>-[--->+<]>.+++++++++++++.>----------.-[----->+<]>--.+[-->+++<]>+.+++++[->++<]>.[-->+<]>-------.+++++.[->++<]>-.----------.-[++++>-<]>--.-[---->+<]>+++.+[++>-<]>+.+[++>---<]>.+[--->+<]>+.>-----.>-[----->+<]>+++.[-->+<]>----.[->++<]>-.+[->++<]>.[--->+<]>--.------[->++<]>.[++>-<]>-.[->++<]>.>++++++.>--[-->+<]>-.>---------.-[--->+<]>-.---[->+++++<]>.[++>-----<]>++.+[-->+++<]>-.-[->++++<]>-.--[--->++<]>.+[--->++++<]>.>++++++++++++++.>-.----.[->+++++++++<]>.+++++.-[----->+<]>.[->+++<]>-.[---->+<]>--.----[->++<]>.++[->++++<]>++.[-->+++++<]>--.----[->+++<]>.[--->+<]>--..[->+++++<]>-.>+[--->++<]>..[--->+<]>++.+[--->+<]>++.-[->++++++<]>.>+++.>----[-->+++<]>-.-[-->+<]>-.+[--->++<]>++.------.---[->+++++<]>.>---------.[----->++<]>+.+[--->++<]>++.>++++[++++>-<]>.++++[->+++<]>+.>-----------.-[---->+<]>----.+++[->+++<]>.--.>++[++>-<]>.+[-->+<]>+.-------.++[->+++<]>++.>+++.[----->+++<]>.++[->++<]>+.++[->++<]>.+[--->++<]>+.+[--->++++<]>+.+[->++++<]>-.---[->+++<]>.>+[--->+<]>+++++.++[->++<]>+.--[--->+<]>--.+[-->+++<]>++.-[--->+<]>---.[->++++<]>++.>++++.-[----->+<]>----.-[----->+<]>.++++++++.[--->+<]>++.--[----->++<]>.[++++>---<]>+.[++>-<]>++.>+[----->+++<]>.+[---->+<]>.[----->+<]>++.+[--->+<]>+.>---.>+[--->+<]>++++++.[--->++<]>++.--[->+++<]>+.-[->++++<]>-.+[++>-<]>.[------>+<]>-.[--->+++++<]>.-[++>---<]>+.+[->+++<]>++.>--[-->+<]>+.>++++++++++++++.+[------->++<]>+.[->++++++<]>+.+[-->+++<]>-.>-----[->+++++<]>.+[->+++<]>+.---[->++++++<]>.[->+++<]>+.++++++++++++.--[--->+<]>--.>+[--->+<]>+++.[++>---<]>--.+[------->++++<]>.>---.[->+++++++++<]>.>+++[->++++++<]>+.+++.>+[----->+<]>.-[++++>-<]>+.[---->+<]>.>--.>++++.+[->+++++++<]>-.++[++++>-<]>+.[--->+<]>+++.[->+++<]>.[->+++++++<]>.>+.+[------>+<]>--.>--[-->+<]>.+[---->+++<]>+.>-----.[->++++<]>--.[++>-----<]>+.>+[--->+<]>.--[--->+<]>---.+++[->++++<]>+.+[--->+<]>+.[->++++<]>--.[--->+<]>--.[--->+<]>+++++.>+++.-[++>-<]>.++[->++++++<]>.-[->++++<]>--.+++++++++.[--->+<]>+++.++[->+++++<]>-.----[->++<]>.----[->++++<]>+.-[++++>---<]>++.[--->++<]>--.[-->+<]>++++.+[--->++<]>.>+++++++++.[->+++++<]>+.-----------.-[++>---<]>-.>++[++>---<]>.+[--->++++<]>.------------.+[--->++++<]>.+++[->+++++<]>+.[++>-<]>+.-[++>-<]>---.-[->++++<]>+.-[--->+<]>-.>-[----->+<]>+++.++[->++<]>+.-[----->+<]>-.>+[----->+<]>.----[->+++<]>-.+[--->+++++<]>+.>+[--->+<]>.+[++++>-<]>-.++[->+++<]>+.>---.>++++[->+++++<]>.>+[--->+<]>--.++[--->++<]>++.[-->+++<]>-.+[++>---<]>++.[--->+<]>++++.--[->+++<]>+.-----[->++<]>-.-[++>---<]>-.--[->++<]>-.+[++>-<]>++++.[------->+++<]>.>------[->+++<]>.-[->+++<]>-.+[--->++++<]>--.+++++.--[->++<]>.>++++++++++.-[----->++<]>++.--[--->++<]>-.[--->+<]>----.-----------------.[----->++<]>.++++.[++>---<]>-.++[->+++<]>++.-[->++++++<]>-.--[->++<]>.[->++<]>.-------.+[-->+<]>++.[----->+++<]>.>-[----->+<]>+.++.+[--->+<]>+++++.+++++++++++.++[->+++<]>.+[++>-<]>++.[--->+<]>++.+[->++<]>+.+++[-->+++<]>.>+++++++++++.>-----.-[-->+++<]>.++++++++++++.---.---.>+[--->+<]>+++.++++.--[--->+<]>.+++++[->++<]>.-[->+++<]>-.--[->+++++<]>.>---------.+[---->+<]>+++.[------->++<]>+.+[-->+++<]>-.++++[->+++<]>.-[++++>-<]>+.>--[-->+<]>-.-[------->+<]>+.+[--->+<]>+.-------.>-----------.-[->+++<]>-.>-[----->+<]>---.+[->++<]>+.++++++[->++<]>+.[->++<]>.[->++++<]>+.[->+++<]>-.>-[------->+<]>.---[->+++++<]>-.+[-->+++<]>+.-[----->+<]>+.>+[--->++<]>.-[----->++<]>++.[--->+++++<]>.>------.>+[--->+<]>.++++[->+++++<]>.-[-->+++<]>+.[++++>---<]>.[++>-<]>--.++[++>---<]>+.-[------>+<]>--.------------.-[++>-<]>---.---------.--[->++<]>-.>------------.-[----->+<]>+.[-->+<]>++++.++++++++++++++.-[->+++++<]>.+[----->+<]>++.[--->++<]>+.>--[-->+++++<]>.-[++>-----<]>-.[--->+<]>+++.[->+++<]>-.++++++++++++++.[--->+<]>-----.+[----->+<]>+.>--[----->+<]>--.---[->++++<]>.-----------------.+[->+++<]>++.++[-->+++<]>+.[->++<]>-.--[->+++++<]>+.>--------.-[----->+<]>+.>+[--->+<]>++.++[->+++++<]>.+[-->+++++<]>+.[->+++<]>-.[----->+<]>-.+[++++>-<]>-.+[--->++++<]>++.[++>---<]>.[--->+<]>+++.---------.-[--->+<]>++++.+++++[->++<]>.>--[-->+<]>+.>+[------->+<]>.[--->+<]>+.-----[->++<]>.[-->+<]>---.------------.[->+++++<]>+.--[->++<]>-.>++.+[----->+<]>--.--[->+++<]>.>+++++.++[----->+++<]>.+[->++<]>.+[--->++++<]>-.+++++++++.>--------.>+.+++[--->+++++<]>.[--->++++<]>-.---[++>---<]>-.>--[-->+<]>.-[----->++<]>.>+++.>--.[----->+<]>---.[----->+++<]>+.-----[->++<]>.[-->+<]>----.----[->+++<]>.---[->++<]>-.>++++++++.[----->++++<]>++.[++>-<]>+++.>----------.>--[--->+<]>.[++>-<]>+++++++.[------>+<]>+.>-[--->+<]>++.>++++++++.+[->++++<]>++.[--->++<]>++.---.+[---->+<]>-.>+++++.+[----->++++<]>+.>--------.---[->++++++<]>.--[-->+++<]>-.---[->++++<]>.>--.[------->+<]>++.[-->+++++<]>++.[++++++>-<]>.--[--->++<]>.[++++++>-<]>---.-[---->+++<]>.-[->++<]>-.--[----->+<]>+.---[->++++<]>-.[->++++++<]>.>--[-->+++<]>-.[++>-<]>+++.>-[----->+<]>+.-----------.+[----->++<]>.>--[-->+<]>+.------[->+++<]>+.+[++>-<]>++.+[->+++<]>.-[->+++++<]>++.>++++.[--------->+<]>.[->++++++++<]>+.>-------[->+++<]>.>+++++++++.+[++>-<]>+++.>-.---[-->+++<]>.[----->+<]>.[++>-<]>++++++.-.-[--->++<]>-.-[++++++>-<]>--.+[----->++<]>.>--.------[--->++++<]>.>++[++>-<]>+.++++[++>---<]>.-[++>-<]>-.--[--->++<]>---.--[--->+<]>--.>++[++>-<]>+.>+[--->+<]>----.[------->+<]>+.+++[----->+++<]>.+[++>-<]>++++.-[->+++<]>-.--[-->+++++<]>.--[------>+<]>-.++++.++++++++++++.++.+[++>---<]>.[--->++<]>.+[--->+<]>+.+.----------.>+++++++++.>--[-->+<]>+.-[----->++<]>--.[----->+<]>--.+[----->++++<]>.[----->+<]>-.++.[->++<]>-.[--->+++++<]>.>------.[->+++++<]>.>---.-[--->++<]>-.+[->++<]>+.------.--[--->+<]>.-[++>-<]>--.+[----->+<]>+.+++++++++.>+[--->++<]>.++[-->+++<]>.[->++<]>.[++++>-<]>-----.++++++++++++.-[-->+<]>--.-[->+++++<]>--.[->+++++<]>--.[--->++<]>--.>-------.+[-->+++<]>-.-[->++++<]>+.--[->++<]>.[--->++<]>++.---------.+[-->+++<]>++.>-----[->++++<]>+.+[-->+++<]>.-[++++>-<]>+.++[++>---<]>.[++>-<]>---.>++++[->+++++<]>.[--->+<]>.--[--->++<]>.+++.++[->+++<]>.---------.----[++>-----<]>.[--->++<]>++.[-->+<]>+.[->++++<]>-.[->+++<]>-.+[->++++<]>.+[--->+<]>+.-----------.-----.>-[----->+<]>-.>--[-->+<]>-.>+[--->+<]>++++.-[->+++++<]>.>+[--->+<]>+.++[->+++++<]>++.[++>-<]>-.-[--->+<]>----.>-[----->+<]>.>-[--->+<]>++++.+[-->+++<]>.+[++++>-<]>+++.-[---->+<]>+.++[->+++++<]>-.+[++++>-<]>.---[->++++<]>+.+[----->++<]>.>+[--->+<]>---.-[->+++++<]>++.>+[--->+<]>+++.[->+++++++<]>+.[->+++++<]>++.-[->+++<]>+.-[-->+<]>-.+[---->+<]>.-[->+++<]>-.---[->++++++<]>.-[--->++<]>-.-[-->+<]>---.[->+++++<]>.[->++++<]>-.+++.++.+[->+++++<]>.+++[->+++<]>+.--.[->++++<]>++.>-----[->+++<]>.-[-->+<]>---.>+[--->+<]>+.++[++>---<]>+.[++>-<]>++++.[->++++<]>.--[--->++<]>--.[-->+<]>+++++++.[++>-<]>++++.[-->+<]>+++.>+++++++.[----->++<]>.>+[------->+<]>.+[-->+<]>+++.>+[----->++<]>+.>+++++++.-[++>-<]>-.-------[->+++<]>.+[->++++<]>+.+++[++++++>-<]>+.++.+[----->+++<]>-.+[->+++<]>+.>+[--->+<]>------.+++++++++++++.--[->+++<]>-.++[->++<]>.-[->+++++<]>+.[--->+++++<]>-.-[++++++>-<]>+++.+++[++>---<]>.>-[--->+<]>++.-[--->+<]>---.[--->+<]>-----.[----->+<]>--.>----------.[->+++++++<]>.[++>---<]>++.++++++++.++[->++<]>.-.[->++++++++<]>.>---------.>+[------->+<]>-.+[--->++<]>.-[--->++<]>.>-[----->+<]>.++[->++<]>.+++++++.----[->+++<]>.>-[--->+<]>-.>++[++>-----<]>.>+[--->+<]>.--[--->+<]>-.+++[->++<]>+.--.>--[-->+<]>-.>+[--->++<]>.[--->+<]>--.[->++++<]>--.[------->++<]>.-[--->+<]>-.-[->++++<]>-.+[++>---<]>-.-[--->+<]>----.++.++++++++.>++[++>-----<]>.-[----->++<]>+.>+++++++++++.>+[----->+<]>-.>-[--->+<]>.[----->++<]>.[------->+<]>+.>+++.-[--->+<]>.[-->+<]>++.>-------.>+++++[->+++++<]>.+[++>---<]>-.-[----->+++<]>.>+++++++.++.+[++>---<]>++.++++++++++++.[--->+<]>++.>-[----->+<]>-.-[->+++<]>+.[++++>-<]>.+[++>---<]>.-[--->+<]>-.+[--->+<]>+.-[----->++<]>.[->+++<]>+.>--[----->+<]>.-[--->++++<]>.[---->+++++<]>++.+[->+++++<]>.[-->+<]>.+[-->+++<]>.++++++++++.+[->++++<]>+.[->+++++<]>-.[---->+++++<]>-.+[---->+++<]>++.[--->++<]>+.+[-->+++<]>++.>------.-[----->++<]>+.++++[->++<]>+.[->+++<]>-.[----->++<]>++.[-->+<]>---.------[->++<]>.--[--->+<]>----.[++>-<]>+.>+[--->+<]>.++++[->+++<]>+.--[++++>---<]>.>-----------.--.[----->++++<]>-.[->++<]>.>++++++++++++.+[--->++<]>+.>---------.[----->+++++++<]>.+[--->++<]>+.>---.--[->+++++<]>.++++++.--------.++++.---[->++<]>.-[->+++<]>+.--[------->+<]>+.+++[++>---<]>.>+[--->+<]>+.++[++>---<]>+.+[----->++<]>.>------.[----->+<]>-.[--->+<]>.-[++++++>-<]>+.[++++>---<]>.--[->+++<]>.----[->+++<]>-.[------->+<]>++.-[++>-----<]>+.[->++++<]>-.>--------------.[--->++<]>--.+[->++<]>.++.[-->+<]>---.------------.-[->+++<]>-.+[->++++<]>++.>++++++++++.[++++++>-<]>.[--->++++<]>--.>++++++++.[++++>-----<]>-.+++[++++++>-<]>.--[--->++<]>-.>-[--->+<]>++.-------------.--[-->+++++<]>.+++++++++++.>+[--->++<]>.[--->+<]>++.>+++++.>-----[--->++++<]>.[->+++++++<]>.[++>-<]>-.[->++++<]>.[->+++++<]>+.[--->+<]>++.--[->+++++<]>-.>-[----->+<]>+.[++++++>-<]>.-[--->++<]>--.>---.[----->++++<]>---.[->++++++<]>+.+++++++++.>++.-[----->+<]>-.+[----->++<]>-.--[--->+<]>--.+++.>--.[--->+<]>-.+++++[->++<]>+.+[-->+<]>.-[++>---<]>-.[++>---<]>-.++++.-[++>-<]>---.-[->++<]>.[++++>-<]>++.>+[--->+<]>.[------->+<]>.-[--->++<]>--.---[->++++++<]>-.++[--->++<]>+.-[++>---<]>.>-[----->+<]>---.-[->+++<]>.>++[++>-<]>.-[-->+<]>---.[--->++<]>.----------.--------.+++++++.>+++++++.+[--->++<]>+.>++.+[------->+<]>-.>----[->++++<]>-.+[-->+<]>+.+[++>-<]>++.>-.-[++++++++++>-<]>.----------------.-[----->+<]>--.[++>-----<]>-.>--[-->+++<]>.--[--->++++<]>--.[------>+<]>-.-[->++++<]>--.+[--->+++++<]>.--[->+++<]>+.++[---->+<]>++.+[->+++<]>+.---[->++<]>.>---------.-[--->++++<]>---.-[------>+<]>-.-----[->++<]>.++[->+++<]>++.>-.---[->++++<]>-.[->++++<]>++.>-[--->+<]>++.>+++++.[--->++<]>.-------[->++<]>.[----->+++<]>--.[++++>---<]>.++[++>---<]>.+[---->+<]>+.>+++++++++.[------->+<]>+.>++++++++++.[->+++++<]>.----[--->++++<]>.[----->++<]>.+++.>+++[->++++++<]>.[->+++<]>-.---[-->+++<]>.+[++++>-<]>--.>---------.[->+++<]>.+[--->+++++<]>.-[->+++++<]>++.>+[--->+<]>++++.>+++.[------->++++<]>.>+[----->+++<]>.>-[--->+<]>.>--[-->+<]>.-------.-[----->++<]>.[--->++<]>-.-----------.++[->+++<]>+.+[----->++<]>-.++++++++.[------->+<]>++.>++.[----->++<]>.>----.----[->+++++<]>.[->+++<]>-.[->++<]>-.-[++++>-<]>++++.[--->+<]>-.+[->++++<]>++.++[->++<]>+.-[->+++<]>-.++++++++++++++++.[--->+<]>++.++++++++++++++.-[--->+++++<]>.>--[--->+<]>.[++>-<]>+++++.--[->+++<]>+.+[->++++<]>++.[++>-<]>---.[++>-----<]>++.>-[----->+<]>++.[->++<]>.[++>-<]>----.+[++++++>-<]>.[----->+<]>-.[->+++++<]>++.++[->+++<]>+.[--->+<]>-.+[--->+<]>+++.>+++[->++++++<]>.-[->+++++++<]>-.-[->+++<]>.[----->+<]>++.>++[++>-<]>.>+++++++++++.-[++>---<]>--.+[----->+<]>.+++++[->++<]>.>+[--->+<]>--.+++++++++++++.++[->+++<]>++.++[->+++<]>++.>-.>++++[++>---<]>++.++[->++<]>.[++++>-<]>----.----[->++<]>.--[--->++++<]>.[----->+<]>+.[->+++<]>+.--[->+++<]>-.[----->+<]>--.-[-->+++<]>--.>+++.>+[--------->+<]>.[--->++<]>+.-[-->+++<]>+.[++>-<]>----.>--[-->+<]>-.--[++++>---<]>.--[--->++++<]>.+++[------->+<]>.+.+++++++++++.>-[----->+<]>-.+++++++.>-------.-----.-[->++<]>.+[->+++++++++<]>.>+[--->+<]>+.>+++++++++++.[--->++++<]>+.++++.[->++++<]>+.-[-->+<]>--.[-->+<]>-.+[->++++++<]>--.+[--->++<]>-.-[--->+<]>.-[----->++<]>+.+[-->+<]>++.>+++++++++++.-[--->+<]>-.>-------------.[--->+<]>.++++++++++++.>++.-[--->+<]>-------.----[->++<]>-.-[++>---<]>+.[----->+<]>-.+[->++++<]>++.>-----[->+++<]>.+[->++++<]>-.-[++>-<]>---.[++>-----<]>+.-[---->+<]>+.+[-->+<]>+.>------[->++++<]>..+++[->+++<]>.+[++>---<]>.-[++>---<]>.-----.-----.+[----->++<]>-.+[--->++<]>++.[++>---<]>+.-----------.[->+++++<]>-.+++[->+++<]>++.>+[----->++<]>--.+++[->+++<]>++.-[-->+++<]>.+[++>-<]>+++.-[------->+<]>-.>+[----->++<]>++.[++>-<]>----.------.-[->++<]>-.---------.[++++++>-<]>.[->++++<]>-.+[++>---<]>+.---[->+++++<]>.++[---->+<]>++.>------------.[-->+<]>++.++++++.-------------.+[++>-----<]>.+[++>-----<]>++.++[++++>-<]>.>+[--->+<]>.>++[++>-<]>.+[--->+<]>+++++.[------->++<]>.>+[----->+<]>.+[++>-<]>++++.>++++[->++++<]>.+[->+++<]>+.++[->+++<]>.-[----->++++<]>+.[--------->+<]>+.---[->+++<]>.-[++>-<]>--.-[->++++<]>--.>------.[----->+++<]>.>++.++++.--[++++>-<]>---.-[->++++++<]>.>-.[----->++<]>-.>+++++++++.+[--------->++<]>.[->+++++<]>--.-----[->++<]>.[-->+++++<]>.[--->+<]>---.[-->+++++<]>.+[----->++<]>.-[--->++++<]>---.+[++>---<]>-.[->+++++++<]>-.>++[++>-----<]>.[->++++++++<]>.[--->+<]>--.+[--->+<]>.[->++++++<]>.++[->+++++<]>.-----.>------------.>+++++++++++++.-[++>---<]>--.[++++>-<]>.>-.>++++[++++>-<]>-.++[->+++<]>+.-[++>---<]>.[--->+++++<]>+.[-->+++++<]>+.-[----->+<]>-.+[++++>-<]>.>----[-->+++<]>-.++++++++++++++++.-[--->++<]>.++.-[->++++++<]>.+[->+++<]>+.-[->++++<]>+.-----.-[->++++<]>-.+++[->+++<]>.>--[--->+<]>.[--->++<]>+.>-------[->+++<]>.+[-->+<]>++.[------->+<]>--.+++.+[++>---<]>-.+++++++.---[->+++<]>.--[->+++<]>-.++[->++<]>.>-.---[---->+<]>+.+[--->++<]>+.+[->++++++<]>.++++.>+[--->+<]>---.>--[-->+<]>-.++[---->+++<]>.>-----.>++[++>---<]>.>-[----->+<]>-.[-->+<]>.-[++>-<]>---.+[->++++++<]>-.+[++>---<]>.>-----------.--[----->+<]>+.>+[--->+<]>+.--[--->++<]>--.----.[-->+<]>.++++++.[--->+<]>-.[->+++++<]>++.[++>-----<]>.+[->+++++<]>.+++++++++.-.+[--->+<]>+.[----->+<]>.>---------.-[-->+<]>-.[++>---<]>+.[->++<]>-.[--->+<]>.>-----.---[->++++<]>-.[--->+<]>.[--->++++<]>+.-[-->+<]>-----.+[-->+<]>++.>-----.[--->+<]>-.-[------->+<]>++.+[->+++++<]>.--[--->++<]>--.[-->+++++<]>.+++[++>---<]>.[->++<]>-.+[--->+<]>++.[-->+<]>-.[--->+++++<]>.[--->++<]>---.>+[----->+<]>.-[----->+++<]>+.+[++>-<]>+++.++++++++++++++.[++>-<]>----.>--[-->+++<]>.>+[----->++<]>+.+[-->+<]>+++.++++++++++++++.[->+++++<]>+++.>+[--->+<]>+++.--[--->+<]>-.>+++[->+++++<]>.+[--->++<]>-.+[-->+++++<]>+.---[------->+<]>.>-[--->+<]>---.>---.[----->++++<]>-.-------[->++<]>.[------->+<]>-.[->+++<]>.[->++++++++++<]>.++++++[->++<]>+.------.-[->++<]>.>----.[--->+<]>+++++++.>+++.++[->+++++<]>.>------.--[--->++<]>.-.+[++>-<]>++.[++++++>-<]>.--[->++++++<]>.>--------.---------.--[--->++<]>-.+++[->++<]>+.[--->++<]>+++.------[->++<]>.[++>-<]>+++.+[->++++<]>+.----------.+[--->+<]>++++.[--->+<]>+.+[->++++<]>-.--[--->+<]>.-[--->+<]>-.+[-->+++++<]>--.----------------.>-----------.--[----->+<]>+.++[--->++<]>+.+[-->+<]>.--[--->++<]>.+[--->+<]>++.-[--->++<]>--.>--[-->+<]>-.[--->+<]>+++++.-[--->++++<]>.--[-->+++++++<]>.-[->++++++<]>+.-[------>+<]>.--[->++<]>-.+[-->+++<]>++.>-.------.>+++++[->+++++<]>+.>+++++++.>-[--->+<]>----.[----->+++<]>.+[---->+<]>.--[->++++++<]>-.>-------.>+[----->++<]>++.[++++>---<]>++.>---.-[--->++++<]>-.+[++++>-<]>++.-[->++++<]>.[++++>-<]>++.>-[--->+<]>--.+[++>-<]>+.--[->++<]>-.+++++++[->++<]>+.+[++>---<]>++.>--------.[->++++++<]>-.>---.>+++++++++++++.+[--->+<]>++.+[->++<]>+.[->++<]>.[->++<]>+.[->++<]>.[->++<]>+.[->++<]>+.[->++<]>+.[->++<]>.[->++<]>+.[->++<]>+.[->++<]>.[->++<]>+.[->++<]>.[->++<]>+.[->++<]>+.[->++<]>+.[->++<]>.[->++<]>+.[->++<]>+.[->++<]>.[->++<]>+.[->++<]>.[->++<]>+.>-.[--->+<]>+++++++++.>-.[----->++<]>.++[---->+++<]>+.>++++.>+[----->+<]>----.+[->++++<]>.
Krzysztof Szewczyk
la source
2
La soumission est l'image elle-même, pas le code
MilkyWay90
Pouvez-vous modifier l'en-tête pour supprimer la brainfuckpartie nécessaire et mettre à jour votre score au taux de compression?
Jo King