Utwórz najmniej kompresowalny obraz

14

„Obraz jest wart tysiąca słów” - tak mówi stare powiedzenie. Średnie słowo ma około czterech znaków, więc obraz przekazuje 4kB informacji. Ale ile entropii , a nie informacji, może przekazać obraz?

Twoim zadaniem jest wygenerowanie obrazu o wielkości dokładnie 4000 bajtów, z możliwie najwyższą entropią. Możesz użyć dowolnego wybranego języka, biblioteki lub formatu obrazu i możesz wyświetlać dane w konsoli lub pliku, o ile prześlesz tutaj swój obraz.

Punktacja

Twój wynik to współczynnik kompresji (rozmiar skompresowany 4000 ÷), gdy obraz jest kompresowany za pomocą GNU w tarwersji 1.28 i gzipwersji 1.6, przy użyciu algorytmu DEFLATE i ustawień domyślnych - w szczególności polecenia tar -czvf out.tar.gz image. Najmniejszy współczynnik kompresji wygrywa.

Fioletowy P.
źródło
1
tardomyślnie uwzględnia metadane, w tym mtime, w plikach wyjściowych. Wpływa to na końcowy rozmiar skompresowanego pliku - niektóre mimesime kompresują się lepiej niż inne. Zmiana polecenia na gzip -n imagespowodowałaby, że rozmiar wyjściowy byłby deterministyczny niezależnie od mtime (i nazwy pliku wejściowego).
Nnnes,
1
Nieważne, gzip -n imagenie można utworzyć pliku większego niż 4023 bajty przy danych wejściowych o wielkości 4000 bajtów. Potrzebuje 10 bajtów na nagłówek, 8 na stopkę, 1 na nagłówek i dopełnienie bloku DEFLATE oraz 4 na rozmiar bloku DEFLATE; reszta jest przechowywana jako nieskompresowane bajty. Większość plików składających się z losowych bitów jest przechowywana bez kompresji, tak jak powinny.
Nnnes,
Mogę to potwierdzić. Zamiast pogarszania się kompresji wraz ze wzrostem entropii, oznacza to po prostu, że dane powinny być przechowywane bez kompresji. Deflate dodaje 2 bajty do danych. Gzip dodaje resztę.
Mark Jeronimus

Odpowiedzi:

4

0,9514747859 (wyjście 4204 bajtów)

hałas

Uwaga: powyższy obraz nie jest faktycznym plikiem, którego użyłem, ale jest to obraz.

Oto zrzut heksowy pliku: https://gist.github.com/pommicket/cf2982e8ecf09a4de89d3a849526c64b

Plik ma format netpbm i można go wygenerować za pomocą tego kodu 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;
}

Losowe ziarno musi zostać przekazane do programu. Po wypróbowaniu niektórych ziaren dostałem taki, który wygenerował gzipowany plik 4204 bajtów. Jak zauważył Nnnes, tarw pliku znajdą się metadane, więc wyniki mogą się różnić od moich.

netpbm nie jest obsługiwany wszędzie, ale działa z imagemagick's convert(więc po prostu zrób to, convert image.pgm image.pngaby zamienić go w png).

Dlaczego ten obraz / format?

Plik składający się z całkowicie losowych bajtów jest bardzo trudny do skompresowania (w rzeczywistości każdy możliwy algorytm kompresji wykona się średnio, nie lepiej niż brak kompresji dla plików losowych). Po zawartości rzeczywistego pliku P5 2 1993następuje 3986 losowych bajtów, dlatego gzip tak trudno go skompresuje.

Leo Tenenbaum
źródło
Z jakiegoś powodu nie mogę przejść więcej niż 4201 w moim klastrze. Z ciekawości, jakiego ziarna użyłeś?
Krzysztof Szewczyk,
@KrzysztofSzewczyk nie chodzi o ziarno, chodzi o format obrazu. Nagłówki twoich plików PNG zawierają wiele deterministycznych bajtów, więc łatwo się kompresują.
Grimmy,
@Grimy hm, w porządku, przestawię jutro na format RAW. Nie spodziewałem się, że około osiem bajtów będzie miało tak duży wpływ na obraz.
Krzysztof Szewczyk,
2
@KrzysztofSzewczyk W losowym pliku PNG znajduje się potencjalnie znacznie więcej niż 8 bajtów nieprzypadkowych danych . Absolutnym minimum jest dołączenie sygnatury pliku, po której następują fragmenty IHDR, IDAToraz IEND, ale większość generatorów PNG będzie zawierać kilka opcjonalnych fragmentów, które prawdopodobnie dobrze się skompresują - jak powiedział Grimy - z wyjątkiem być może CRC, które można założyć być dość przypadkowym.
Arnauld
Tak, rozważę to. Szczerze, poszedłem tutaj na próbę i błąd, i to trochę mój błąd.
Krzysztof Szewczyk
4

Brainfuck, skompresowane 4201 bajtów.

Używany format obrazu to PNG. Jestem prawie pewien, że wyzwanie się skończyło, ponieważ zostawiam zmodyfikowany skrypt 4 instancji na noc.

Wyjaśnienie

Jak to działa?

Za pomocą programu Java generuję plik JPG. Następnie jest skompresowany i sprawdzany jest jego rozmiar, co sugeruje, żebym go zatrzymał. Uruchomiłem ten skrypt przez pewien czas i wygenerowałem kilka tar.gzplików o różnych rozmiarach. Następnie, po znalezieniu nowego zwycięzcy, kod Brainfuck jest regenerowany.

Zastosowany skrypt Bash:

#!/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

Zrzut ekranu z uruchomionego programu:

alternatywny tekst

Mógłby być w pełni zautomatyzowany, usuwając odczyt i niejawnie, ale chciałbym mieć nad tym kontrolę.

Kod

+++++[->++++++<]>+.-[++>-<]>----.>++++++++.[++>---<]>--.>+++++.>-[--->+<]>--.++++++++++.>+++.>-----[->++++<]>+.-[->++<]>.>-[--->+<]>++.+[-->+<]>++++.[-->+<]>++++.[->++++++++<]>.------.>+++++++.>----[->++++<]>.>-[--->+<]>.[----->++<]>+.+[++>-----<]>.---[->++<]>.-[--->+<]>--.[->+++<]>+.[-->+<]>+++++.---.[-->+<]>----.--[->++<]>.--[-->+++++<]>.+[->++++<]>+.-[->+++<]>-.+[--->+<]>+++++.[--->++<]>++.--[----->+<]>-.+[-->+++<]>-.+[->++<]>+.+[++>-----<]>.[------->+++<]>.++[->++++<]>+.[--->++<]>-.>-[--->+<]>.++++[->++<]>.+++[->++<]>.[++>-----<]>-.-[--->+<]>+.[--->+++++<]>.[->++++<]>--.++[----->+<]>.[->++<]>+.>+[--->++<]>.>+++++++++.[->++++++<]>.[-->+++++<]>+.[----->+<]>.>++++.+++++.>-[--->+<]>----.[->++<]>+.++++++++++.+++++++++.[-->+<]>-.[->+++<]>++.[----->++<]>++.+[->++<]>+.-[->++<]>-.-------.[------->++++<]>.--[--->++<]>--.[->+++++++<]>-.--.+[->++++<]>-.++++[->++<]>.+++[->+++<]>.>--------.--[->+++++<]>.+++++++.-[--->+<]>---.[--->+<]>.[->++<]>+.----[->++<]>.[-->+++++<]>.++[->++<]>.[------>+<]>--.>--.+[----->+<]>.+[--->++++<]>-.-[-->+<]>----.+[--->++++<]>+.--[->+++<]>+.+[->++++<]>.--[-->+++<]>.+[----->++<]>-.[------->+++<]>.[--->++<]>.[++++++>-<]>.+++[-->+++<]>..-[--->++++<]>++.>+++++++++.>----[-->+++<]>-..-[++>-<]>--.>--.---[------->+<]>.>++[++>-<]>+++.>-.[------->++<]>.++..>----.++[----->+<]>+.>-.------[->+++<]>.>-.---[-->+++++<]>.-[->+++++<]>.>+++++++++.[------->+<]>++.-[->+++<]>+.>--[-->+<]>+.++++++++.--[->++++<]>.+[->+++<]>+.++++++++.++++++++.[-->+++++++<]>.[--->++++<]>.----.[----->+<]>--.++.+[->++++<]>.++++++++++++.++++++++++++.----------.>++.+++[------->+<]>.[------->+<]>-.>+.>----[---->+<]>+.++[->++<]>+.>-.-[-->+++<]>.>-[--->+<]>++.>------.[----->++<]>-----.>--[-->+<]>-.[++>-<]>-.--[--->++<]>.[-->+++<]>-.+[-->+<]>+.+++++++++.[-->+<]>.[--->++++++++<]>.+[->++++<]>-.+[-->+<]>++.[++>-<]>.>--.--[---->+++<]>++.------.>--[-->+<]>.----------.>--.[----->+<]>-------.++++[->+++<]>+.-[->+++++<]>+.++[->++++<]>.----[->++++<]>-.+[---->+<]>++.+[--->+<]>.--[->+++<]>.[--->+<]>.>-------.-[->++++<]>-.-[--->+<]>--.[++>-<]>+.++++.--------.>--[----->+<]>.>++++.++[++>-----<]>+.[->+++<]>.>--.>+[----->+<]>.>++++.-[----->+<]>---.---[->++++<]>.-----.----[->++++<]>-.-----[->++<]>.>--[-->+++<]>.-[++>-<]>-.[--->+<]>-.----[->++++<]>.>--[--->+<]>.-.---.-[--->++<]>--.[->+++++<]>.[->++<]>.+++++++++++++++.+[--->++++<]>.--[++>---<]>.>--[-->+++<]>-.+.-[--->++<]>.--[----->++<]>-.>++++[->++++<]>+.-[++>---<]>+.+[->++<]>.--[++++++>-<]>-.-[->++<]>.[--->+<]>+.-[-->+<]>---.[->++++++<]>.-[->++++<]>.--[------>+<]>.-[->++++<]>.--[--->+<]>-.>--[-->+++<]>.[----->++<]>.>+[--->+<]>.+[++>-<]>+.+++[++>---<]>.>+++.-[------->+<]>+++.+++[->+++<]>+.-[->++++<]>+.-[++>-----<]>.---[--->++++<]>.+[--->++++<]>.----.--[->++++++<]>+.-[-->+++<]>+.[->++<]>.--[-->+++++<]>+.>-----------.-[-->+<]>----.+++++++.+[-->+<]>++++.+[--->++++<]>+.[->++++++<]>.[->+++<]>-.++[->+++++<]>.-[-->+<]>.+[->++<]>+.>--------------.++.--[->+++<]>+.----[->+++<]>-.>-[--->+<]>-.-[--->++<]>+.>-[----->+<]>.+[--->+<]>+++.>++.[--->+<]>.--[--->+<]>--.+++[->++<]>.---[->++<]>.-[->++++++<]>+.+[-->+++<]>-.[->++++<]>+.--[----->+<]>-.[->++++++<]>.[++>---<]>+.---[->++++<]>-.[--->++<]>.-----[->++++<]>+.+++++++.>--[-->+++<]>.++.[----->++<]>-.[--->++<]>+.-[-->+<]>------.--[--->+<]>.-[++++>-----<]>.[----->++++<]>+.>+++++++.[----------->+<]>-.++[->++++<]>-.++[->++++<]>-.-[--->+<]>.[-->+++<]>--.+[----->+<]>++.[--->++<]>-.[--->+<]>+++..---[->+++<]>-.+[--->+<]>.-[----->++<]>.[-->+<]>+++.+++++++++.[->++++<]>.[->+++<]>++.++[++>---<]>.++[->++<]>+.----------.--[--->+<]>-.-[--->+<]>---.------.+++[->+++<]>+.>++[++>---<]>.-[++>-<]>---.>+++[->+++++<]>.-[++>---<]>--.[--->++++<]>.++[->++++<]>.>-[--->+<]>++.-[----->+<]>+.+[-->+<]>.[-->+<]>--.++[->++<]>.[----->+<]>++.--[->+++<]>-.--[--->+<]>-.[++>-----<]>++.++++[->++<]>.>++++++++++++++.-[->+++<]>.+[------>+<]>+.[--->++<]>-.++[----->++<]>.[------->+<]>.>++++++++.>+[--->+<]>------.[->+++<]>+.[-------->+<]>-.--[----->+<]>++.-.[++++>---<]>--.-[--->+<]>-.[---------->+<]>.[----->+<]>+.[++>---<]>-.+++.-[->++++++<]>--.+[->++<]>.>++++++.>-[----->+<]>-.---[->+++<]>.>+[--->+<]>+.>---[----->+<]>.>++++++++.>--[--->+<]>.>----[---->+<]>.-[++>---<]>+.>+[--->+<]>++.-[--->++<]>-.+[->++++<]>.--[->+++++<]>.+[->+++++<]>-.[----->+<]>+.-[-->+<]>.[----->+++<]>.-[----->+<]>.+[--->++<]>++.>+++++++++++.+[->++++++<]>-.----[->+++<]>-.-[->++++<]>.[--->++++<]>.[----->+<]>++.>--[-->+<]>+.[++++>---<]>++.[---------->+<]>+.--[->++++<]>-.---[->+++<]>+.+[-->+++<]>.-[-->+++<]>-.>+[------->+<]>.[->++++++<]>.[-->+<]>++.[--->++<]>.--[->+++<]>-.[->+++<]>+.>-------.-[------->++<]>--.+++++[->+++<]>.-[-->+<]>---.[->+++++<]>++.---[++>---<]>.+++[->++++<]>.++[--->++<]>.[++>-<]>+++++.+[------>+<]>++.[++>-<]>---.+[--->++<]>+.>-[--->+<]>.[--->+<]>.+[++>-----<]>+.-[++>-<]>-----.+[->++<]>+.+[-->+++<]>++.-[++>-----<]>+.---[->++<]>-.>--[-->+<]>-.>----------.+[->+++<]>+.--[->++++<]>.---[->+++<]>+.[--------->+<]>.--.--[---->+++<]>+.----[->+++<]>+.-[->++<]>.[++>-<]>++++++.----[->+++<]>.+[->++++++++<]>.+[->+++++<]>+.[++++++>-<]>.>-[----->+<]>.>-[--->+<]>-.[->++<]>+.----[->++<]>.---[->+++++<]>.++++[->++++<]>++.-[----->++<]>.+[->+++<]>+.[--->+++++<]>.--[--->++<]>-.--[->++++<]>-.++[--->++<]>+.+[->++<]>.+++++++.[--->++++<]>+.++++.[----->++<]>+.+[-->+++++<]>+.+[->++<]>+.----------.[----->++<]>-.--[->++<]>.>-[----->+<]>.++[->+++<]>++.>+++++++++.>--[----->+<]>-.--[--->+++++<]>.[--->+<]>.>-----------.[--->++<]>.>---------.>++++++[++>---<]>.[->++++<]>++.+[->++<]>+.-----[->++<]>-.-[-->+<]>-.++.--[->++++++<]>.>-[--->+<]>-----.-[->++<]>-.+[------>+<]>+.>--[-->+++<]>-.-[->++<]>.[------->++<]>.---[->++<]>.---[->++<]>-.>------.>-[--->+<]>+++.[---->+++<]>.++++++++.-[--->+<]>++.++[->++<]>+.[->+++++++<]>.>+[----->+++<]>.++[->+++++<]>+.--[++>---<]>-.+++++++++++++.++[----->+<]>++.[++>-<]>.-[--->+<]>---.-[----->++<]>-.+[-->+<]>.+++++[->+++<]>.[->+++++<]>.+[->++<]>..>--[----->+<]>-.---.++[--->++<]>.-[->++<]>.+[->+++++<]>++.[->+++<]>+.>+++++++++.+[++>-<]>+++.+[----->+<]>.-[->+++++<]>.[--->++++<]>.+[->+++<]>++.[->++++<]>-.-[->++++++<]>-.-[-->+<]>----.-[-->+++++<]>+.+[->++++++<]>+.[->++<]>+.-------.[-->+<]>.++++[->++<]>+.-[-->+++<]>+.-[->+++<]>.>-[--->+<]>.[----->+<]>-.>--------.[->+++++<]>+.-[--->+<]>--.>-[----->+<]>.++++.-[--->++<]>--.[--->++<]>-.-[----->+<]>+.[----->++<]>.>----[-->+++<]>-.--[->++<]>.[----->++<]>++.[++>---<]>+.--[++>---<]>.>++[++>-<]>+.++[-->+++<]>+.[----->++++<]>.[-->+<]>+.>+++.-[----->+<]>+++++.[->+++<]>-.>+++++++++++.>-------[->++++<]>.-----------.--------.-----------.[----->++++<]>.-[->++++++<]>+.-[->+++<]>.---[->+++<]>.[----->++++<]>+.[->++++<]>++.-------------.>+++++++++.+[->+++<]>+.>-------[->+++<]>.+[------->+++<]>.++[->+++++<]>+.[--->++<]>.[-->+<]>++.[----->++++<]>.[---->+<]>++.++[->+++<]>.+[++++++>-<]>-.[---->+<]>---.++[->++<]>.>+++[->+++++<]>.--[->++++++<]>.[++++++>-<]>.>------------.-[----->++<]>.+[->+++++<]>++.+[-->+++<]>+.>--.[----->+<]>------.++[-->+++<]>.------.-[++++>-<]>-.+[--->++<]>+.-[++>-<]>--.-[++>-<]>.-[->++++<]>-.+[++++>-<]>----.>--.+[--->+<]>+++++++++.>+++++++++.[->+++<]>+.++[->+++<]>.[--->+<]>.--[->++++<]>.>--------.-[->++<]>-.---[->+++<]>.[----->+<]>--.>----.-[------->++<]>.[--->++<]>-.>++[++>-<]>+++.[++++>-<]>--.>--.----[->+++++<]>-.>+[--->+<]>++.[--->++<]>---.>--[-->+<]>.-[----->+<]>++.--[-->+++++<]>.-[-->+<]>.>-----[->++++<]>+.[->++++++<]>.++[->+++<]>+.>++[++>-<]>+.>++++++.>+[--->+<]>.+[++>-<]>++.[->++++++<]>-.++[->+++<]>.++[------->+<]>.++++++.+++[->+++<]>++.+[->++++<]>+.---[++>---<]>-.>++++++.>---.>+[--->+<]>++.-[--->+<]>++.[->++++<]>-.+++++++++++++++.>++[++>-<]>+.-[----->+<]>++.+[->+++<]>++.-[->++++++++<]>.---------------.[--->++++<]>.++[->+++<]>+.>--[-->+<]>.+[-->+<]>+++++.>----[-->+++<]>-.-[--->+<]>+++.--[->++<]>-.-[->+++++<]>++.[----->+++<]>.+[->+++<]>.>+[--->++<]>.+[--->++<]>+++.-[----->+<]>+.>-------[->+++<]>.++[->+++<]>+.-[----->++<]>+.[--->+<]>+.--[->++++<]>+.[->++++++++<]>+++.++[->+++<]>.---[->+++<]>+.-[->++<]>-.+[->+++<]>.>-[--->+<]>--.>+[----->+<]>.+[->+++<]>+.[->+++++<]>--.--[----->++++<]>.[---->+<]>.>+[--->+<]>++.>++++.[++++>-<]>++.[->++<]>+.+[----->+<]>.+[----->++<]>+.>----[->++++<]>.[---->+<]>-----.>+++++.>----[-->+++<]>-.[--->++++<]>--.[->++++++<]>.--[->+++++<]>.-----------.-[->++++++<]>.-----------.[--->+<]>.>++[++>-<]>+++.--[----->+<]>+.++[->+++<]>++.+[----->++<]>+.-[->++++<]>-.+[---->+<]>.++[->++<]>.[++>-<]>+++.+[--->++<]>++.-[--->++<]>+.[--->++<]>+++.>----------.--[->+++<]>.>+.[----->+++<]>+.[----->+<]>++.+[----->++<]>.[->++++<]>.----[->++<]>.[-------->+<]>-.------.-[----->+<]>+.[--->++++<]>.>-------------.>++++++++++++++.-[--->+<]>++.-[--->+<]>+++.[--->+<]>---.--[->+++++<]>.[++>---<]>--.--[++>-----<]>+.--[----->+<]>.++[->++<]>.-------.+++[->++++<]>-.+[--->++++<]>-.----[->+++<]>-.[------->+<]>-.---[->++++<]>+.+++[->+++<]>.>---------.[->++<]>-.+++.[---->+<]>---.-[--->+<]>----.+[->++++<]>.-[--->+<]>++++.-[--->++<]>+.++++++++++++.[->++++<]>--.+[->++++<]>++.+++[->++<]>.[++>-<]>+.>---------.++++.+[------->+<]>+.++[------->+<]>.-----[->++<]>-.------[->++<]>.-[->++++<]>.++++++++.-[->++<]>.+[--->++++<]>.++[->++<]>+.[->++++<]>--.--[--->++++<]>.>+++++++++.-[++++>-<]>-.[--->++<]>.[++>---<]>+.-[--->+<]>--.>++++++++.>--[-->+++<]>.-[------>+<]>.++++++++.++[->+++<]>.[->+++++<]>.------[->++++<]>.----[->++<]>.-.--[--->+<]>.-[->++++<]>--.--[--->+<]>.[------>+<]>++.+[--->++++<]>-.+[-->+<]>++.++[----->+++<]>+.>--[-->+++<]>.>-[--->+<]>++.+[->+++++<]>.--.[-->+++++<]>-.-------.[--->+<]>+.[++>-<]>++.>-.[------->++<]>++.[->++++<]>.>+[----->+<]>-.+++++[->+++<]>+.>+[--->+<]>.>-[------->+<]>.>--[--->+<]>.[--->+<]>++++++.>----[---->+<]>-.[----->+<]>-.++[->++<]>+.+[--->++<]>-.-[->++++<]>.---.+[->+++<]>++.>-[--->+<]>--.+++++++++++.[++>-<]>++++.+[++>-<]>+++++.[->+++++<]>-.>+[----->+<]>.[--->++++<]>--.+++++++++++++++.[->++++<]>-.-[++>---<]>-.>+[----->++<]>+.-[--->++<]>.[--->+<]>--.+[--->+<]>+.--[->++++<]>.[++++>-----<]>.[++++>-----<]>.[-->+<]>-----.[->++++++<]>.+[->++<]>+.>--[-->+<]>-.---[->+++<]>-.[---->+<]>+++.+++[->++++<]>.++++++++.[---->+++<]>++.++[->++<]>+.[->+++<]>.+++++.[++++>---<]>-.----.>----------.-[->++<]>.>++++[->++++<]>.---.+++++.--[->+++<]>.[--->++++<]>-.---[->++<]>.[----->+++<]>-.-[--->+<]>---.+[-->+<]>+++.+++++++++++++.--[--->++<]>-.+.-[->++++<]>-.--------------.-[->++++++<]>-.-[--->+<]>+++.--[->+++<]>.-[++++>-<]>+++.++++.>+++[->+++++++<]>.-[--->+<]>++.+.+[------->+<]>++.----[->+++<]>+.+[++>-----<]>+.+[++++>---<]>+.++++[->+++<]>.--------.---[++>---<]>-.---------.>+++++++.[----->+<]>.[->++++<]>++.---[----->++<]>.[-->+<]>-----.++[++>-----<]>-.+++[------>+<]>.++++++.[-->+++++++<]>-.>+[--->+<]>+.[---->+<]>.-[++>---<]>+.>+[----->++<]>.[--->++<]>++.+[->+++<]>.+[++>-<]>+.-[--->+<]>++.+[++>-<]>.++++.>--[-->+<]>-.[------->++<]>.+[----->+<]>.--.---[->+++<]>+.[->++++<]>--.-[----->+<]>--.[->++++<]>-.[->+++++++<]>-.[-->+<]>----.+[->++++++<]>+.----.+[++++>-<]>--.>------.[----->++<]>----.---[->++<]>-.-[++++>-<]>+.+[-------->+<]>--.-[----->+++<]>+.[++>-<]>-.+++.-[-->+<]>----.--[++>-----<]>.-[---->+++++<]>.[----->+<]>++.-[--->+<]>++.[-->+<]>++++.--[->+++++<]>++.>+[--->+<]>.--[--->++<]>--.[->+++<]>+.++++++++++++++++.--[----->+++<]>+.[------->+<]>.[--->++<]>.------------.+++[->++++++<]>-.-[++>---<]>-.++[----->+<]>.>----[-->+++<]>.-[--->+<]>---.>---------.>++++[->++++<]>.++++++.++[->+++<]>.++++++.[----->+++<]>--.[-->+<]>+++++++.++++++++.-[--->++<]>+.[--->++++<]>--.+[----->+<]>-.[->++++++<]>-.>++++++++.>+[--->+<]>-----.[->++<]>-.--[--->++<]>-.>-.[----->++<]>+++.>+++++++++.+[++>---<]>++.[----->++++<]>++.---[----->+<]>-.>----[->++++<]>.>--[-->+<]>-.-----.-.[++>-<]>-.+[++>-<]>+.>+[--->+<]>++.+[++>-<]>+.--.+++++.-[--->++++<]>.---[->++<]>-.>--[----->+<]>-.-[----->+<]>.++[->++<]>+.+++[-->+++<]>+.---------..[---->+<]>--.[-->+++++<]>.---[->++<]>-.+[++++>-<]>+.+[++>-<]>.++[->+++<]>+.++[--->++++<]>+.>+++++++++.+[->++++++++<]>-.-[->+++<]>-.[--->+<]>++.---.>--[----->+<]>.>++[++>-----<]>.>-------.-[------->++<]>--.>++++++.>------[->++++<]>+.++[->+++++++<]>.--[->+++<]>-.[-->+++<]>--.[-->+++++++<]>.+[--->+<]>++.>++[++>-----<]>.+[->++++<]>+.-[++++++>-<]>+.>----[->++++<]>-.>++++[->++++<]>+.---[++>---<]>-.>--[-->+<]>-.++++++.[------->+<]>+++.----------.+.---[->++<]>-.++[->+++<]>.[------->++++<]>.[++>-<]>+++++.-----.[--->++<]>.[--->++<]>++.[->+++++++<]>.+[->++<]>+.[->+++++++<]>.>-------------.-[-->+<]>.+[++>-<]>++.++++++++.++.----[->++++<]>+.++[->++<]>.+[->+++++<]>.+[++>-<]>.[--------->++<]>-.+[++++>-<]>.-[->++++<]>+.++++[->++<]>.[++>-<]>++++++.-[->++<]>.++[++>-----<]>.+[---->+<]>.+++++.-[++>-<]>-----.+[-->+<]>++.>+[--->+<]>++++.[----->+++<]>.--[----->+<]>.-[->++++<]>--.-------.-[----->+<]>.[++>-<]>+++.++[---->+<]>++.---[->++<]>-.-[--->++<]>-.>-----------.[----->+++<]>++.+[++>-<]>++.[--->+<]>--.-[->+++<]>.[->++++<]>++.++[--->++<]>+.-[---->+++<]>-.>-------.+[------->+<]>-.>--[-->+++<]>.++[------->+<]>.---[->+++<]>.+++++++++.-[++++++>-<]>.+[++>-<]>++.[++>-<]>-----.-[------->+<]>.>-.>+[------->++<]>--.--[--->+<]>---.-[->++<]>-.>--[----->+<]>.>--[-->+++<]>.-[++++++>-<]>.+[->+++++++<]>+.++++[->++++<]>.-[->++<]>-.>-------.[->+++<]>++.-[-->+<]>.[->++++<]>+.--[->++++<]>.[------>+<]>+.-[------>+<]>+.[-->+++++<]>.[--->++<]>---.>-[--->+<]>+++.+[----->+<]>+++.-[->++<]>.>++[++>-<]>.++[->+++++<]>.>+[----->+<]>.--[----->++<]>+.+[++>-<]>++.-[->++++<]>+.>-----[->+++<]>.>+++++++++++++.>--------.[---->+<]>---.>++[++>-<]>.--[----->+<]>+.>--[-->+<]>-.----[->+++++<]>+.-[-->+++<]>+.[++>-<]>----.-[->+++<]>.+[->+++++<]>-.+[->++++<]>.>+[--->+<]>++.+[++>-<]>+.-[--->++++<]>-.[->+++++<]>++.>---.[----->+<]>-.-[--->+<]>.++[--->++<]>.[--->+<]>+.[->++++++<]>+.[->+++++<]>-.[--->+<]>+.>+[----->++<]>+.+[->+++++<]>++.+[------->+<]>.[->++++<]>--.+[--->++<]>+.>+[--->+<]>+.[--->+<]>++.[++>---<]>.[--->+++++<]>+.-[->++<]>.++++++++.[++>-<]>++++.-[++>---<]>-.>+[----->+<]>.[--->++++<]>.[--->+<]>-.---[->+++<]>.-[--->++<]>+.[------->+<]>-.+++++.---[->++++<]>+.-[->++<]>.+++[--->++++<]>.>--[-->+++<]>-.[---->+++++<]>.-[--->+<]>---.-[->++<]>.++[->++<]>.>-[--->+<]>.-[----->+<]>.[++>---<]>.---[->++<]>-.+[++>---<]>-.[++++>-<]>-.>----.[------->+<]>.--[->+++<]>-.++[->++<]>.---[->+++<]>-.>-----------.>+[--->+<]>++.[----->+<]>.-[-->+<]>-.+[-->+++<]>++.>++++++++.>-[--->+<]>-.>+[----->+<]>++.>+[--->+<]>+++.++[---->+<]>+.+[-->+<]>+.+[--->++++<]>.[---->+<]>++.+++[-->+++++<]>.>--[-->+<]>-.[++++++>-<]>-.++++.[++>-<]>--.----[->+++<]>.[--->++<]>--.++[++++>-<]>.-[->++<]>.[++>---<]>.-[--->++<]>.---[->+++<]>.++[->+++++<]>.-[--->++++<]>++.[--->++<]>.++[->+++++<]>.[------->++++<]>+.-[---->+<]>++.>--[-->+<]>.>-----------.-[-->+++<]>+.[--->++<]>+.[--->++++<]>.[---->+<]>-.-[----->++<]>.[----->+++<]>.[->++<]>.[++++>-<]>.+++++++.[++++>-<]>-.--[--->++<]>-.>+[--->+<]>+++.[++>-<]>+++.--[->++++<]>.+[->++++<]>-.+[++>---<]>++.---------.>+[----->+<]>-.--[--->++<]>.>++[++>---<]>.+[-->+++++<]>.---[->++<]>.[-->+<]>-.>-[----->+<]>++.-----.---.+[--->++<]>-.--------.-[->++++<]>-.+[----->++<]>-.>-[--->+<]>.-[----->++<]>-.>-[--->+<]>---.[++>-<]>+.>-[----->+<]>---.+++++++++++.+[++++>-<]>.+++[------>+<]>+.++++[->+++<]>.[--->+<]>--.-[--->+<]>.>---------.>+++.>-------[->+++<]>-.[-->+<]>++++.[->+++++<]>.[->++++++++++<]>.----[->+++<]>.[--->++++<]>--.++[-->+++<]>.+[--->+<]>.[->+++++++++<]>.-----------.[++++>-<]>.>------.--[--->+<]>.>+++++++.+[----->++++<]>.+[->++++<]>.>--[----->+<]>.>+++++++.>--[--->+<]>.+[--->+<]>++.+[++++>-<]>.++++[->+++<]>+.--[--->++++<]>-.-[->++<]>.+[--->+<]>+.++++[->++<]>.[------->++<]>++.[-->+<]>-.++[->++++<]>++.+[->+++++++<]>-.[->++++<]>+.++++++++.+++[-->+++<]>+.>+[--->+<]>+.[++>-<]>+++.--------.-[++>-----<]>-.>+++++++.++[------->+<]>.-[-->+++++<]>-.[------->+<]>++.[++>-<]>+.++[--->++<]>+.-[----->+<]>++.-[->++++<]>.-----.-[->++++++<]>-.[--->++<]>+.--------.---[->++++<]>+.[->+++++<]>+.-----.+[->+++<]>+.>----.[--->+<]>++++++++++.---[----->+++<]>.------------.++[->++<]>.[++>-<]>-----.>++++++++++++.[++>-----<]>+.-[++++++>-<]>-.+++++++++++.+[--->++<]>+.++[--->++<]>.[----->++<]>.[---->+<]>--.+[->+++<]>.[++++++>-<]>+.[----->+<]>.---[-->+++<]>.>---------.>--[-->+<]>.-----------.>+[--->+<]>--.-[--->+<]>++++.[++>---<]>++.+++[->+++++<]>.>-----------.+[--->++++<]>.+[----->+<]>-.+++++.[->++++<]>.--[->+++<]>-.+++++++++++.+[->++++<]>.[--->++++<]>-.+[->+++<]>++.+[----->+++<]>-.>++++[--->+++++<]>.[------->+++<]>-.>+++.+[->+++++<]>.+[->+++<]>.-[++>---<]>+.--[--->+<]>-.>++++++[++>---<]>.[->++++<]>-.>--.[------->+++<]>.[--->++<]>.[++>-<]>+.>+[--->+<]>.>----------.-[--->+++++<]>+.>------------.-[----->+<]>++.-.-[->+++++<]>.--[->++<]>.+[--->++<]>++.-----[->+++<]>.-[----->++<]>.[++>-<]>+++.++[->+++<]>.--[--->+<]>.----[->++<]>.>++++[++>---<]>.[++>-<]>--.>-[----->+<]>++.+.-----[->+++<]>-.>++[++>-<]>+.++[->++++<]>.[++++>-----<]>.+[->+++++<]>++.+[----->+<]>.[-->+<]>+++.--[->++<]>-.+++++++++++++.>++.>-[----->+<]>.[--->++<]>+.+[++>-<]>.>++++++.--[++++>-<]>---.--[++++>-<]>.+++++.-[->++++<]>+.+++++++++++++.>++++++.>+[--->+<]>---.---[->+++<]>-.------.>++++++++.-[->++++<]>+.[--->++<]>--.------.>++++.[++++>-<]>---.>++++.[->++++++++<]>+.[----->++<]>+++.---[->++++<]>-.+[--->++++<]>-.+[----->+<]>-.[--->++<]>--.>++++++++++.[++++++>-<]>.-[->++<]>-.+[---->+<]>.-[++>-----<]>++.-.++[->++<]>+.++[->+++<]>.-[--->+<]>++.[++++++>-<]>++.+[++>-<]>+++.>-[----->+<]>--.-[-->+<]>---.----.--[->++<]>.--[->++<]>.-[->+++<]>+.+++++++.+[->++<]>.>--.>+++.+[->+++++<]>.++[->++++<]>.[->++<]>.+[--->++<]>.[++>---<]>-.-[----->+<]>+.------.--[---->+<]>-.[++>-<]>-.[++>---<]>-.[->++++<]>++.[->+++++++<]>.-[------->+++<]>.---[->++++<]>+.[------->+<]>.----------.--.----[->++<]>.[--->+<]>+.>+++.+[--->++<]>.+++[->++<]>.--[++++>-<]>-.>++++[->++++<]>.>-------------.[--->++<]>--.[----->+<]>+++.-[----->++++<]>+.+[--->++<]>.[->+++++<]>+.[->+++++<]>--.-[++>---<]>--.++[->++<]>.[-->+<]>----.+[->+++<]>++.--[->+++<]>+.---.-[--->++<]>+.-[----->+<]>.-[->+++++<]>+.[----->+<]>--.+[--->++<]>.------------.+++[->+++<]>.--[--->++<]>.[->+++<]>-.--[--->+<]>----.[->+++<]>.+[-->+<]>+.[--->++<]>++++.>+[--->+<]>.>+[----->++<]>+.-[--->+<]>+.-[++>---<]>.++++++++++.>---------.+[--->++++<]>--.++[----->+<]>.-----[->++<]>-.-[--->++++<]>-.+[-->+++<]>-.-[--->+<]>++.---[->++<]>-.[->+++<]>++.-[++>-<]>.----[->++++<]>.[--->++<]>--.[->++++++<]>++.--[->+++<]>+.>++++++++++++++.++[->++<]>.>++[++>-<]>+.++[++++>-<]>.-[--->++<]>--.+.[->+++<]>-.[-->+++++<]>+.-[++>-<]>--.>++++++.--[++++>-<]>-----.>---.>+++[->+++++++<]>.+[--->+<]>+++.--[->++<]>-.>++++.>-----.+[---->+++++<]>.-[->+++++<]>++.>--------------.+++++++.[--->+++++++<]>-.++[-->+++<]>.[----->+<]>.>++++.>----[-->+++<]>-.++++++++++.-[++++++>-<]>++.--[->+++<]>+.>--.[--->+<]>--------.-[--->+<]>.------.>------.-[--->+++++<]>-.--------.[-->+<]>------.-[++>-----<]>.-[->++++<]>-.>--[-->+++<]>-.>+++++.+++[------>+<]>.[-->+<]>--.++[++>---<]>++.[--->+<]>--.-[--->++<]>+.[--->+++++<]>.-[++>-<]>-.[---->+<]>-.>-[--->+<]>++++.+++++.[->++++<]>++.-[->+++<]>+.[-->+<]>--.--[->++<]>.--[--->++<]>-.[->+++++<]>--.+++[->++<]>.[--->++++<]>+.+++++[++>---<]>.[--->++<]>----.>---[----->+<]>.--[--->+<]>.>----------.--------.++[---->+<]>+.+[->+++<]>+.-[->+++++<]>.-[--->+<]>.-[->+++<]>.[--->++<]>.>------.[------->+<]>---.+[--->+<]>++++.[---->+<]>+.>++[++>-<]>+.[--->+<]>-----.-[-->+<]>-----.+[->+++++<]>.[----->++++<]>.[---->+++<]>++++.[->+++++<]>-.--[->++++<]>.[-->+<]>.++[--->++<]>+++.[----->+++<]>+.++[->+++<]>.[--->++<]>.[++>-------<]>-.>++[++>---<]>.-[----->++<]>+.-[-->+++<]>+.>+[--->+<]>++++++.+[->+++<]>++.>-[--->+<]>--.--[->+++++<]>-.>--[-->+++++<]>.+++++++++++++++.----[->++<]>.[++>-<]>++.+++[->+++<]>.--[->++<]>.[--->++++<]>.[++++>-<]>-.>+++++++.-[++>-----<]>++.-[----->+<]>.>+[----->+<]>+.++[->+++++<]>-.++[--->++<]>.++[---->+<]>+.-[->+++++<]>.+[------->+<]>-.>+[----->+<]>+.>++.-[----->+<]>++++.[--->+<]>----.[--->++<]>.--[->+++<]>.-----------.+[->+++++<]>.[--->++<]>-.+[->+++++<]>.-------.-[->+++<]>-.+[++++>-<]>++.-[--->+<]>+.++.---.>-[----->+<]>-.+++[->+++<]>+.>+++++++++.>-----.+[---->+++<]>-.[----->+<]>-.>------[-->+++<]>.+[-->+<]>++++.[-->+++<]>-.--------.[--->++<]>----.>----.[----->+++<]>----.-[->+++<]>.-[--->+<]>--.+++++++++++.-[++++>-<]>.--[->++++<]>.[--->++<]>.+[->++<]>.-[->+++++<]>.-[++>---<]>+.+[-->+++<]>-.+[--->+<]>.+[--->++<]>+.+[--->++<]>+.+++++[->++<]>+.>++[++>-<]>+.++[-->+++<]>++.[-->+<]>+++++.>++++[++++>-<]>.+[----->+<]>-.++[----->+++<]>.-[-->+<]>------.[---->+++<]>.[-->+++++<]>+.[->+++<]>+.-[++++>---<]>+.-[->+++<]>+.>+[--->+<]>+++.[++>-----<]>+.[------>+<]>-.+[->++<]>+.-[-->+<]>-.---[->++<]>-.++++.[->++++++<]>-.>+[--->+<]>+.+[->+++++<]>.+++++++.[------->+<]>+.++++++++++.++++[->++++<]>+.+[++>-<]>.>++++.[++++>-----<]>.+[-->+<]>+++.>+[--->+<]>--.---[++>---<]>.++.[--->+<]>+.++.>-------------.[--->++++<]>--.-[->+++<]>.+[++>---<]>-.-[--->++++<]>+.[->+++++<]>.>++++++++++.---.+[++>-<]>.-[----->++<]>+.[->++++<]>-.+[++>---<]>+.>++++[->++++<]>+.--[->+++<]>-.[->++<]>+.++[--->++<]>+++.>------------.[-->+<]>+++.+++++.++.[++>-<]>---.+[++>---<]>-.-[--->+++++<]>-.-[++>-<]>--.-[->++++<]>-.-[------>+<]>.>++++++.>------[->+++<]>.++[-->+++<]>+.>++[++>-<]>.-[++>-<]>---.-[--->+<]>+++.[------->+++<]>.--[--->+<]>.---[->+++<]>.>++++.>-------.>--[------->+<]>.++[++++>-<]>+.--[->++++<]>--.--[++++>-<]>---.[--->++<]>+.-[++++>---<]>+.>++[++>-----<]>.-[----->+<]>-.+++++++++++.[-->+<]>-.[++++++++++>-<]>.+[--->++<]>-.+[----->++++<]>.-------.-[++>---<]>-.-[--->+<]>+.+[++>-<]>.++[------>+<]>++.++++++++.+[-->+<]>.------.-----[->++<]>.++[->++++++<]>.--[->+++<]>.[------->+<]>+.>--------.>+++++++++++++.[->+++++<]>-.[-->+++<]>.+[->+++<]>++.[--->++++<]>.+++[->+++++<]>+.[++>-<]>+.>-[--->+<]>----.>++++++.[->++++++<]>+.>--[-->+<]>.>------.[----->+<]>-----.[->+++<]>.+[-->+++<]>++.--[++>---<]>-.[->+++<]>++.>++[++>-<]>+.----.--[++++>-<]>-.+[->++<]>.++[---->+<]>.--[->+++<]>+.[--->+<]>+.++++++[->++<]>.>+[----->+++<]>.+[----->+<]>++.--[--->++<]>.[-->+++<]>+.--[->++<]>.>----.[--->+<]>---.>++[++>-<]>.[--->+<]>+++.[++>-<]>-.-[--->+<]>++.+++++++++.+++[->+++<]>++.-[++++>-<]>-.[->++++++<]>+.-[--->++<]>-.-[++>---<]>+.+++++++.--[->++<]>-.--[->++++<]>.[------->+<]>.-------.[->++++<]>+.-[----->+++<]>.+++[->+++++<]>.>+++++++++++.--[----->++<]>+.+[->+++<]>+.+[-->+<]>++.+[++>-<]>+++.>+.>------[->+++++<]>.[--->+++++<]>.---[----->++<]>.>------------.+++.[----->+++++++<]>.>------.-[----->+<]>+.-[--->+<]>.---[->+++<]>.[++>---<]>.[--->+++++<]>.-[--->++<]>--.>++++++++++++++.++[--->++++<]>.[++>-<]>++.>++++[->+++++<]>.>-----[->++++<]>.+++[->++<]>.-[->+++<]>+.[++>-<]>++++.[--->++<]>.>++++++++++.+[->++++++<]>++.>------.>+[----->+<]>.-[----->+++<]>.-[--->+<]>+.--[++>---<]>.++++.[++>-<]>+.+[++>-<]>+.-[---->+<]>++++.[->+++<]>.[->++++++<]>-.[--->+<]>---.++++[->+++<]>+.-[--->+<]>.-[->++<]>-.++[->++<]>+.+[++++++++>-<]>.>+++[->++++++<]>.--[++++++++>-<]>.-[->+++++<]>-.-.+[->++<]>.-.--[->++++++<]>+.++[--->++++<]>.---[->++++<]>.[++++++>-<]>+++.+[->++++<]>-.-[++>---<]>+.[-->+++++++<]>.[--->++++<]>--.-.-----[->++<]>-.+++++++.>---.>+[--->+<]>+++++.+++[->+++<]>++.>--.----[->+++<]>.--[->++++<]>+.>-----------.[--->+<]>-.++[++>-----<]>.--[++>---<]>--.-[->++<]>.[-->+<]>+++.+[--->++<]>+++.-[----->+<]>.[------>+<]>.-[-->+<]>---.[-->+<]>-.[--->++<]>.++[->++<]>.---------.+[->++<]>.--[--->+<]>.++++++++++.[--->++<]>-.+[->++++<]>++.+++[->+++<]>+.+[->++++<]>+.[--->++<]>--.--[->+++++<]>+.-[--->++<]>--.[-->+<]>---.>+[--->+<]>++.+[++++++>-<]>+.[-->+<]>------.>--[-->+++<]>-.[++>---<]>-.[----->++++<]>+.-[++++>-<]>+.>+[----->+++<]>.+[++>---<]>++.+[----->+<]>+++.----[->++<]>.+[--->+<]>++.-[->++<]>.[--->++<]>--.[->++<]>-.[--->++++<]>-.++[----->+<]>.>----------.+[------->+<]>.+++++++++++.[++>-<]>---.>-[--->+<]>----.-[->++++<]>.>+[--->+<]>---.[--->++++<]>-.-----[->+++<]>.[++>-<]>++.+[->++<]>.>-[--->+<]>++.-----[->++<]>.>++++[->++++<]>+.-[->+++<]>+.---[->+++<]>-.+++[->++<]>+.+[--->++<]>.--[--->+<]>-.--[->+++<]>.>-[--->+<]>----.[->++++<]>.++++++.----[->++<]>-.[->++++<]>--.++[++>---<]>+.--[--->+<]>--.[->+++<]>+.-[->+++<]>.[--->+<]>++.-[-->+<]>-.-[->++++++<]>+.+[++++++>-<]>.+++++++.-------.-[-->+<]>--.--[--->+<]>--.+++++++++++.-[--->+<]>+.+[--->+<]>+.-----[->++++<]>-.-[->+++++++++<]>.[->+++<]>+.-[--->+<]>+++.-----.-------.>++++++++.>--[-->+<]>.[--->+<]>--.+[++>-----<]>+.>-------.---[------>+<]>.[------->+++<]>.[->++++++<]>-.>+[--->+<]>+.+++++++++.[->+++++<]>-.[---->+++<]>-.[----->+<]>.+[-->+<]>+++++.>----.>+[--->+<]>+++++++.>----.+[----->+<]>.>+[--->+<]>+.[--->+<]>+.---[->++<]>-.---------.+[--->+<]>+.[-->+<]>--.++[--->++<]>+.-[--->++++<]>++.>++++[++++>-<]>-.>--[----->+<]>++.[++++++>-<]>.[------>+<]>---.>--[-->+<]>+.-[----->+<]>.+[--->+<]>+.[----->++++<]>.[---->+<]>+.++[++++>-<]>.++++++++++.++[->++<]>+.+++++++++++++.+[--------->+<]>.+[--->+<]>+++++.+++.[->++<]>+.[->++++<]>-.+[++++>-----<]>.-[++++++>-<]>.--[->+++<]>.[----->+<]>--.+[->++++<]>-.--------.+++++[->+++<]>+.[--->++<]>.-[--->+<]>+.[---->+++<]>.++[---->+<]>+.--[--->+++++<]>+.-[--->++<]>.>+[----->+++<]>.++[->++++<]>+.-[->++++<]>.[->+++<]>++.++[---->+<]>+++.[----->+<]>.[++>-----<]>.++[------->+<]>.++++++++.[->++++<]>++.>-[--->+<]>++.++[->+++<]>.>--[----->+<]>.>-.[----------->+<]>.--[->+++++<]>-.++[++>-----<]>.--[++++++>-<]>-.++++[->++<]>.-[--->++++<]>+.>+[----->+++<]>.---[++++++>-<]>.>--.[----->+<]>--.++++[->+++<]>+.++++++++++..[->+++++++++<]>.-[--->++++<]>.[-->+++<]>--.++++++++++.[--->+<]>.--[->+++<]>-.+[-->+++<]>-.-[->+++++<]>-.[++>---<]>--.>+++++++++++++.--[--->++++<]>-.-[----->+<]>+.-[->+++++<]>.-[->++++++<]>.--[------>+<]>.-----[->+++<]>.[->++++<]>++.[++>-<]>+++.-[--->+<]>-.-[--->++<]>-.>--[++++++>-<]>.---[++>---<]>--.>+++++++++++++.[->+++<]>-.++[->++++<]>.+[->++++<]>+.[->+++<]>++.-[++>-<]>----.[++>-----<]>+.[->+++<]>++.+[->++++++<]>+.>++[++>-<]>.[--->+<]>++.--[----->+<]>.+[--->+<]>+++.[--->++<]>.-[->+++++<]>--.>--[-->+<]>.>+++.[----->+<]>++.>---.-[-->+<]>-.+[--->+<]>++.[-->+++<]>-.-[++>---<]>-.------------.-[->++++<]>.--[++>---<]>.>----.[--->+<]>+++.++++++++++.>----.[---->+++<]>++.--[->+++<]>.-[->++++<]>.>++.>---------.+[----->+<]>+.-[--->+<]>+++.+++++++.++[->+++<]>+.[->++++<]>.>++++[++>---<]>+.[--->+++++++<]>.++[->++<]>.-[--->++++<]>.>---.[----->++<]>.>++[++>-<]>+.[-->+<]>--.>+[--->+<]>+++.+.+++[->+++<]>.-[----->+<]>++.>++++++++++.>--------------.>+++++++.+[++>---------<]>.[++++>-------<]>.+[------->+<]>--.-[--->++<]>+.++++++++.---[->++++<]>-.+++.--[->++++<]>+.>+++++.>-------------.[--->++++<]>+.+[->+++<]>++.[-->+++<]>.[-->+++++<]>-.+++++++++.+[--->++<]>-.++[------->+<]>.[->++++++<]>+.+[-->+++++<]>--.++++++++++++.+[->+++<]>.++[----->+<]>.++[->++<]>.-[--->+<]>+.>-[--->+<]>-.++++++++++++.++[->++++++<]>+.[->+++++++++<]>-.+[->+++<]>++.+++.>+[----->+<]>+.++++++++++++.>++.[---------->+<]>+.++[-->+++<]>+.>++++++++++++.+++++++++.++[--->++<]>++.--[->+++++<]>+.++[->++++<]>-.-[----->++<]>--.----------.++++++++++++.[-->+++<]>++..-[----->++<]>.---[->+++<]>.+[--->++<]>++.---[->++++<]>.---[->+++<]>+.++[++>---<]>+.[------->+<]>.+[--->++<]>.[++++++>-<]>+.-[->++<]>-.+[->++<]>+.+[----->+<]>++.-[--->++<]>-.+++++++.-[--->+<]>++++.+[--->+<]>.-[--->+<]>++.-[-->+<]>----.--[------->+++<]>.[--->++<]>+++.+[----->++<]>--.>-----.+[-->+++<]>-.-[--->+<]>---.++++++++.>+[--->+<]>++.[--->+<]>+++++++.>+[--->+<]>----.+[--->+<]>+++.---.[-->+++++<]>--..++[->+++<]>+.+[++>-<]>++++.-[++>-<]>---.>+++.[----->+<]>--.>-[--->+<]>.++.++[--->++<]>+++.>+[--->+<]>.[--->++<]>+++.[->++++<]>+.-[->+++<]>+.-[---->+<]>+.[--->++<]>---.-[->++++++<]>++.[----->+<]>+++.+[->+++<]>+.--[--->++<]>.+[->+++++<]>.>++++[++++>-<]>.+[++>-<]>++.+++[->+++<]>++.+[->+++++<]>+.>-[--->+<]>++.++[----->++<]>.>----[-->+++++<]>.--[---->+++++<]>.+[-->+<]>+++.[--->++<]>-.-[->++++<]>+.+++++++++++.[-->+<]>+.>+++++++.++++++.---[++>---<]>-.[++>-------<]>+.++[->++<]>.+[->+++<]>++.++++.------------.>+++++++++.[->+++++<]>++.+[->++++<]>-.>-[--->+<]>--.+[++++>-<]>--.-[++>---<]>.+[++>---<]>+.-[-->+++<]>.>+++++++++.+[->++++<]>+.>---------.+[---->+++++<]>+.+[-->+++<]>.++++++[->++<]>+.-[-->+<]>---.>--[-->+<]>-.+++++[->+++++<]>.---[->+++<]>.[--->+<]>+.+++[->++<]>+.[----->+<]>+.>+++[->+++++<]>.++[----->+<]>+.>--[-->+<]>-.--[++>---<]>-.+[-->+++<]>.-[------->+<]>.>+[--->+<]>+++.[++>-<]>-----.-[--->+<]>++.+[->+++++<]>+.+[++>-<]>+++++.++[->+++<]>+.-[----->++<]>+.[--->++<]>+.[--->++++<]>--.>--[--->+<]>.++[----->+<]>.[------>+<]>-.-[++>-<]>---.[----->++++<]>.[-->+++++<]>.-[--->+<]>+.--[->+++<]>+.--[->++<]>-.[->++++<]>-.-------.--[-->+++++<]>-.-[->+++++<]>++.>++[++>-<]>+++.--[++++++>-<]>-.-[->+++<]>+.++[->++<]>+.+[--->++<]>-.--[----->++<]>+.+[-->+<]>.++[----->+<]>+.[->++++++<]>+.>++++++++++++.-[--->+<]>--.>-[----->+<]>.--------.+[-->+++<]>-.--[----->+<]>+.>++[++>-<]>+++.>-[----->+<]>.--.--[->+++++<]>.++[->+++<]>++.++++++++.++++++.--------------.++++.[--->++<]>+++.[--->++<]>---.-----[->++<]>-.--[------->+<]>.[----->++<]>-.[----->+<]>+.[->++<]>-.+[---->+<]>+.++[++++>-<]>+.>+[--->+<]>++.+[-->+<]>.+++.--[----->++<]>-.-[-->+++<]>.[--->+<]>--.+[++>---<]>+.--[----->+<]>++.>+++++++..>-------[->++++<]>.[++>---<]>--.[--->+<]>----.---[->++<]>-.-[->+++<]>-.+[-->+++<]>-.--[->++++<]>.>-------.[--->++<]>-.[--->++++<]>.---[->++++++<]>.-[----->+<]>-.[-->+++<]>-.+[---->+<]>+.+++++++++.+++[->++<]>.>--------.[----->+<]>----.+[--->+<]>+.[++++++>-<]>-.>--[--->+<]>.>++[++>-<]>.--[----->+<]>-.+++++.-[->+++<]>+.>++++++++++.>++.[----->+<]>++++.+++[->+++<]>.++++++++.+++.[------->+<]>++.-[--->+<]>--.+++[->++<]>.>--[-->+++<]>.--[->+++++<]>+.[--->+<]>+.---[-->+++<]>-.-[--->++<]>.++[--->++<]>+.-[++>---<]>+.-[++>-<]>.>--[-->+<]>.+++++[-->+++<]>.--[->+++<]>-.-[-->+<]>----.--[->++++<]>--.--[------>+<]>-.++[----->+<]>+.+[->++<]>+.-[->+++<]>+.>-----.+[------>+<]>-.+[-->+<]>+.[++>-<]>++++++.----.-[++++>-<]>+.[--->++++<]>-.+[->++<]>.--[->++++<]>+.--[->+++<]>-.-[----->+<]>+.-[--->+<]>.[------->+<]>-.[++>-----<]>+.+[--->++<]>+.+[-->+<]>.-[--->+<]>++.>--.--[->++++<]>.[---->+<]>-----.-[++>---<]>.>+[--->+<]>+.[---->+<]>-----.[++>-<]>+++.[++>---<]>--.-----------.>++++[++++>-<]>-.[++>-<]>++.>-[--->+<]>++.---[-->+++++<]>.-------.>--[-->+++<]>.---[->+++<]>.[++>-<]>++.>--------.--[-->+++<]>--.+[---->+<]>+.-[++>---<]>-.-[--->++<]>-----.>----------.[------->++<]>+.-[---->+<]>++.-[-->+<]>--..-[--->++++<]>+.++++[->++<]>+.--[----->++<]>.--[->+++<]>.[-------->+<]>.+[--->+<]>+.[------->+++<]>.-[-->+<]>----.[--->+<]>-----.+[->+++<]>+.+[-->+++++<]>+.>+[--->+<]>++.+.--[---->+<]>---.---[->++<]>.---.>+[--->+<]>+++.[-->+<]>---.>+[----->+++<]>.-[--->++<]>.>-------.-[---->+<]>----.>-[--->+<]>.-----[->+++<]>-.-[->++++<]>-.[--->+<]>------.-----[->+++<]>.>++++++++++.[--->++++<]>+++.>++[++>-<]>+++.>+[--->++<]>.>+[----->+<]>.[--->+<]>--.+[->++<]>.+++++[->++<]>+.>++++++++++.[--------->++<]>+.>++++[++++>-<]>.-----[->++<]>-.---[->+++++<]>.-----.+[->++<]>+.>++++++.>--[++++++>-<]>-.++[-->+++<]>+.-----------.[--->+<]>+++.[-->+<]>++.--[++>---<]>-.>-------------.[->++++<]>--.++++[->++<]>.[--->++<]>.[++++>-<]>++.[++>---<]>--.-------.[--->+<]>---.[---->+<]>--.++++++.---[->+++<]>-.+++[->++<]>.---------.-[->++++<]>.+[--->++++<]>+.-[->+++<]>.--[->++<]>-.-[------->+<]>.--[->++++<]>.++[--->++++<]>-.+[-->+++++<]>.>--[------->+<]>-.-[++++>-<]>--.[->+++++<]>-.>++++.>------[-->+++<]>.[----->+<]>++.+++++++++++++++.--------.>----------.-[->+++++++<]>.-[--->+<]>++.>+[--->+<]>++.-[--->++<]>-.++[->++++<]>+.[--->++++<]>-.--[->++++++<]>++.-[----->+<]>.[->++<]>+.+[++>-<]>.--[->+++<]>+.[------->+<]>.+.+++[->++<]>.+.[----->+++<]>-.[->++++++<]>+.[----->+<]>+++.+++[->++<]>+.[----->+++<]>.-[---->+<]>.[++>-<]>----.[---->+++<]>+++.--[->++++++<]>.>----[-->+++<]>-.[->+++++<]>-.-[->+++++<]>--.>----[-->+++<]>.++++++++++++++.+++.---[->+++<]>.-[----->+<]>.[->+++++++++<]>.-[--->++<]>--.[->+++<]>.----[->+++++<]>.>----.[---->+++++<]>.>+[----->+<]>--.-[--->++++<]>+.-[-->+++<]>+.-[------->+++<]>-.[--->++++<]>.++[->+++++<]>+.+[----->+<]>+.--.-[-->+<]>.---[++>---<]>.+[--->+<]>++.--[--->++++<]>+.[------->+<]>+.[---->+<]>--.>+[----->++<]>.+[->++<]>.[++>---<]>-.>++++++++++.>+[----->+<]>-.[------>+<]>+.[->++++++<]>-.[->+++<]>-.[--->+<]>+++.>-----.>++++++[++>---<]>.>++++.[----->+++<]>++++.[---->+++<]>.--.-----[->++<]>.--[----->+<]>--.--[->++++<]>--.>+++.>+[--->+<]>-----.>++++.>-----[->++++<]>+.+[-->+++<]>-.-[--->++<]>.-[--->+<]>--.---------.--[->++<]>-.+[->+++<]>+.>--[-->+<]>-.---[->++++<]>-.---[->++<]>.[----->+<]>+.+[----->+++<]>.++[++>---<]>.----[->++<]>.[++++>-<]>.++++[--->++++<]>.----------.[++>-<]>.>------.[->+++++++<]>.>+++[->+++++<]>.-[++>-----<]>++.++[--->++<]>.[->++++++<]>.++++++++.[--->++<]>.>++[++>-<]>+.-[--------->+<]>.[->+++++++<]>+.+[----->++++<]>.[->+++++<]>.[++>-<]>-----.>++++.[----->++<]>++.--[---->+++<]>+.+[--->++++<]>-.---[->++<]>-.+[-->+<]>++.[++>-<]>++.[--->++++<]>.[->++<]>.>--.--[-->+++++++<]>+.--[->++++<]>--.----.>+[----->+<]>++.[--->++<]>++.-----.+++++++.>----[-->+++++<]>.-[--->+<]>++.-[--->++++<]>+.+[-->+++<]>.-----.+[--->+++++<]>.-[++>---<]>-.--------.--[->++<]>.[++>-<]>+++.[-->+<]>--.[->++++++<]>-.[--->++<]>.-----.+++[++>---<]>.>--.--[---->+<]>+++++.[--->+<]>--.>+[--->+<]>.>-[----->+<]>--.----[->++++<]>+.-[-->+++<]>-.[->+++<]>+.[-->+<]>--.[->++<]>-.[--->++<]>---.-----[-->+++<]>.[----->+<]>+.[->++<]>.++[++>---<]>++.>----.[->++++++++<]>-.[----->++<]>-.-----[->++<]>.>+[--->+<]>.+++++.>-[--->+<]>-.++++[->++<]>+.-[---->+<]>+++.+[->+++++<]>-.-[-->+<]>------.>++[++>-----<]>.[->++++<]>+.-[++>-<]>--.[--->+<]>+.++[->++<]>+.-[-->+++++<]>.[--->++++<]>.>-[--->+<]>---.>+++.+[->++++<]>+.>----[->++++<]>.[->+++<]>-.[--->+<]>++++++.++[->++<]>.[--->+<]>-.----------.+++[->++++<]>+.--[--->+<]>---.-----.>-----.>+[--------->+<]>.+++[->++<]>.+[->+++++<]>.>++[++>-<]>.>+[------->+<]>-.+[->+++<]>+.-[----->+<]>+.--[---->+<]>-.----[->+++<]>+.----.[++>-<]>.-[++>---<]>+.[----->++<]>-.>+++++++++.[->+++<]>++.+[-->+++<]>+.[-->+++<]>-.-[----->+<]>.[------->+<]>-.++[-->+++<]>.++[->+++<]>.[------->+<]>.-[------->++<]>++.[-->+<]>++++.-[--->++++<]>.++++++.++[----->+<]>.[++++++++++>-<]>-.>+++++++.-[++>---<]>+.++++[->++<]>.>+[----->+<]>-.----------.[-->+<]>-.---[->++<]>-.[->+++++<]>++.+++++++++++.>--.[++++++>-<]>----.-[----->+<]>-.>-----.+[---->+<]>+++++.>+++++++++++.-[--->+<]>+.+++++.+[--->++++<]>-.>-----------.[------->+<]>-.[----->+<]>+.[--->+<]>.-[-->+<]>-.>+[--->+<]>.>--[-->+<]>+.----[-->+++<]>-.-[---->+++<]>-.>----[-->+++<]>.[->++<]>-.[--->++++<]>--.>------------.-[->+++++<]>--.+++++++++++++.[--->++<]>---.>-[--->+<]>-.---[----->+<]>--.+[----->+<]>+.+[++>-<]>++++.[----->+<]>.[->+++<]>.-[-->+++<]>+.>+++++++++++.>----[---->+<]>.-[++>-<]>--.>+++++++.[----->++++++<]>.[------>+<]>+.+++++++++++.[->+++<]>++.++++++++++++.>-[--->+<]>--.>++++++++++.>-------------.[->++<]>.-[------->+++<]>+.[++>-<]>++++.--[->+++<]>+.-----------.-[------>+<]>++.+[++>---<]>.+[--->++<]>+.--[--->++<]>---.-[-->+<]>----.[----->++<]>.-[->++++<]>-.++[->++<]>+.-[--->++<]>-.---[->++<]>-.++++++.+[++>-<]>.-----[->+++<]>.--[-->+++<]>--.[++++++>-<]>+.-[--->++<]>+.+[---->+<]>++.++[---->+<]>.+[->++++++<]>.-[--->++++<]>--.+++++++++++++++.[--->++<]>++.[->+++<]>-.+[++++>---<]>+.----.++[->+++<]>.>--------.[->++++<]>.+[->++++<]>+.>+.+[----->++<]>.--[->++++<]>.---[->++++<]>.--[++>-------<]>.[--->++<]>-.[----->+<]>.+[--->++<]>+.[----->+++<]>-.++[------->+<]>.-[->++++<]>.---[->+++<]>.+[-->+++++<]>.[++>-<]>++++.[----->+++<]>.---[->++<]>.[->++++<]>--.+[----->+<]>+.[->++<]>+.>--[----->+<]>.---[->++<]>-.>-[----->+<]>.-[-->+<]>--.-[--->++++<]>++.[->++++<]>++.--[++>---<]>.[++>-<]>--.++[++>---<]>.--[->++<]>-.-[++++>---<]>.>-[--->+<]>--.----[->++++<]>+.-[++>---<]>.[--->++<]>+++.-----------.[->++++<]>+.-------[->++<]>.--[->++<]>.-[->++++++<]>-.-[----->+<]>+++.[--->++++<]>.[--->++++<]>+.-[++>-<]>-----.-[++>---<]>-.[-->+<]>++++.----[->+++++<]>+.-------.[--->++<]>.[-->+++<]>--.+[->++++++<]>-.-.---[->++<]>-.>----------.>+++++.-[--->+<]>+.>-------.-[---->+<]>-.-[-->+++++<]>+.+[->++++<]>-.[->++++++<]>.++.--------.+[->+++++++<]>.+++[->++<]>.[------>+<]>.[-->+<]>-.[->++<]>+.++.++++.++++[->++++<]>.[-->+++++<]>.-[->++++<]>.>++[++>-<]>+.-[----->+<]>-.+++.+[->+++<]>++.[--->++++<]>.[->++++<]>--.------.+[----->+<]>.-[---->+<]>.[--->+<]>.-[--->+++++<]>+.>+++++++++++.[--->+<]>++.-----.--[----->+<]>-.-[--->+<]>.--[--->+<]>-.[--->+++++<]>+.[-->+++<]>+.----[->++<]>.+[->++++<]>++.>--[-->+++<]>-.[++>-<]>--.--[->+++++<]>.+++++++++++.-[++>-----<]>++.>--[-->+++<]>-.++[------>+<]>+.[--->+<]>.[-->+<]>++.[->+++<]>+.+[->+++<]>++.+[-->+<]>+.++[->+++++<]>.-[->++++++<]>+.[----->++++<]>-.--[--->++<]>.[--->+<]>++.[------>+<]>----.-----[->++++<]>+.[->+++++++<]>+++.[--->++++<]>.[--->+<]>+++.-[--->+<]>+++.-[-->+<]>----.--[->+++<]>+.--------.[->++++++++<]>.-[----->+<]>++.--[--->++<]>.-[----->+++<]>-.++[-->+++++<]>+.>+++.+[--->+<]>+++.+[--->+<]>.[->+++++<]>+.>-[--->+<]>.[--->++<]>---.+[++++>-<]>---.++++[->++<]>.-[--->++++<]>-.++[->++<]>.+[--->++<]>+.-[--->++<]>----.+++++[->++<]>+.++++.[--->+<]>+.++[->+++<]>+.-[->+++++<]>-.-[--->++<]>+.>+[----->+<]>+.+[->+++<]>+.---[->++<]>-.[->++<]>+.-[++>-<]>----.-[++>-<]>--.[-->+++++<]>.+[-->+<]>++.-[->++++<]>+.>+[------->+<]>.[--->+<]>+++++.>+[--->++<]>.>++++++++++++.+[->+++<]>++.-[--->++++<]>-.[----->+<]>-.>+++++++.[----->+<]>++.>+++++++++.+[--->++++<]>+.[--->+<]>.---[-->+++++<]>.[++++>-<]>+++.>-------.+[----->+<]>-.----[->+++<]>.>+[--->+<]>++.>-[----->+<]>+.-[--->++++<]>.+[->++++<]>+.>++++++.>--[++++++>-<]>.--------.>+[--->+<]>+++.---[----->++<]>.>---.-.---[->+++++<]>.[->+++<]>.+[++>-<]>++++.-----[->++<]>.>-----.[--->+<]>+.++[->++<]>.[->++<]>-.+++[--->++++<]>.--[->+++++<]>-.>+++++++++++++.-[->++++++<]>.-[->+++++++<]>.--[->++<]>.[--->++<]>.[++>-<]>---.>---------.+[--->+<]>.[--->++<]>++++.>---.>-[--->+<]>++.[--->+<]>-.-[----->+++<]>+.+[--->++<]>.[------>+<]>+.[->+++<]>.[--->++<]>.[->++<]>.+[->++++<]>-.>--------.[--->++++<]>++.>----------.-[--->++++<]>++.-[--->+++++<]>++.-[------>+<]>.------.--[->++++<]>--.[++++++>-<]>+.[++>-----<]>-.[--->++<]>-.[->+++<]>+.[-->+++<]>+.-----.---[++>---<]>.[->+++<]>+.+.>+++++.>-----[->++++<]>.[------->++<]>+.>--.[--->+<]>.[----->++<]>.[++>---<]>+.+++[->+++<]>.+[--->++<]>+.-[--->+<]>++.++[->++<]>+.>-[--->+<]>--.-[->++<]>-.[--->+<]>--.[--->+<]>.-[->++<]>.[-------->+<]>+.+++[->++++<]>.[--->+<]>+++.[->++++<]>.--.++[++>---<]>.[-->+<]>--.>--[-->+<]>.+[-->+<]>++++.>-.>++[------>+<]>++.-[-->+<]>--.-[--->+<]>+++.---[->++++<]>+.+[------>+<]>+.[----->++<]>.>--[--->+<]>.>++[++>-<]>.++++[->++++<]>+.++[----->++<]>+.>-[--->+<]>.+++++++++++++.>----------.-[----->+<]>--.+[-->+++<]>+.+++++[->++<]>.[-->+<]>-------.+++++.[->++<]>-.----------.-[++++>-<]>--.-[---->+<]>+++.+[++>-<]>+.+[++>---<]>.+[--->+<]>+.>-----.>-[----->+<]>+++.[-->+<]>----.[->++<]>-.+[->++<]>.[--->+<]>--.------[->++<]>.[++>-<]>-.[->++<]>.>++++++.>--[-->+<]>-.>---------.-[--->+<]>-.---[->+++++<]>.[++>-----<]>++.+[-->+++<]>-.-[->++++<]>-.--[--->++<]>.+[--->++++<]>.>++++++++++++++.>-.----.[->+++++++++<]>.+++++.-[----->+<]>.[->+++<]>-.[---->+<]>--.----[->++<]>.++[->++++<]>++.[-->+++++<]>--.----[->+++<]>.[--->+<]>--..[->+++++<]>-.>+[--->++<]>..[--->+<]>++.+[--->+<]>++.-[->++++++<]>.>+++.>----[-->+++<]>-.-[-->+<]>-.+[--->++<]>++.------.---[->+++++<]>.>---------.[----->++<]>+.+[--->++<]>++.>++++[++++>-<]>.++++[->+++<]>+.>-----------.-[---->+<]>----.+++[->+++<]>.--.>++[++>-<]>.+[-->+<]>+.-------.++[->+++<]>++.>+++.[----->+++<]>.++[->++<]>+.++[->++<]>.+[--->++<]>+.+[--->++++<]>+.+[->++++<]>-.---[->+++<]>.>+[--->+<]>+++++.++[->++<]>+.--[--->+<]>--.+[-->+++<]>++.-[--->+<]>---.[->++++<]>++.>++++.-[----->+<]>----.-[----->+<]>.++++++++.[--->+<]>++.--[----->++<]>.[++++>---<]>+.[++>-<]>++.>+[----->+++<]>.+[---->+<]>.[----->+<]>++.+[--->+<]>+.>---.>+[--->+<]>++++++.[--->++<]>++.--[->+++<]>+.-[->++++<]>-.+[++>-<]>.[------>+<]>-.[--->+++++<]>.-[++>---<]>+.+[->+++<]>++.>--[-->+<]>+.>++++++++++++++.+[------->++<]>+.[->++++++<]>+.+[-->+++<]>-.>-----[->+++++<]>.+[->+++<]>+.---[->++++++<]>.[->+++<]>+.++++++++++++.--[--->+<]>--.>+[--->+<]>+++.[++>---<]>--.+[------->++++<]>.>---.[->+++++++++<]>.>+++[->++++++<]>+.+++.>+[----->+<]>.-[++++>-<]>+.[---->+<]>.>--.>++++.+[->+++++++<]>-.++[++++>-<]>+.[--->+<]>+++.[->+++<]>.[->+++++++<]>.>+.+[------>+<]>--.>--[-->+<]>.+[---->+++<]>+.>-----.[->++++<]>--.[++>-----<]>+.>+[--->+<]>.--[--->+<]>---.+++[->++++<]>+.+[--->+<]>+.[->++++<]>--.[--->+<]>--.[--->+<]>+++++.>+++.-[++>-<]>.++[->++++++<]>.-[->++++<]>--.+++++++++.[--->+<]>+++.++[->+++++<]>-.----[->++<]>.----[->++++<]>+.-[++++>---<]>++.[--->++<]>--.[-->+<]>++++.+[--->++<]>.>+++++++++.[->+++++<]>+.-----------.-[++>---<]>-.>++[++>---<]>.+[--->++++<]>.------------.+[--->++++<]>.+++[->+++++<]>+.[++>-<]>+.-[++>-<]>---.-[->++++<]>+.-[--->+<]>-.>-[----->+<]>+++.++[->++<]>+.-[----->+<]>-.>+[----->+<]>.----[->+++<]>-.+[--->+++++<]>+.>+[--->+<]>.+[++++>-<]>-.++[->+++<]>+.>---.>++++[->+++++<]>.>+[--->+<]>--.++[--->++<]>++.[-->+++<]>-.+[++>---<]>++.[--->+<]>++++.--[->+++<]>+.-----[->++<]>-.-[++>---<]>-.--[->++<]>-.+[++>-<]>++++.[------->+++<]>.>------[->+++<]>.-[->+++<]>-.+[--->++++<]>--.+++++.--[->++<]>.>++++++++++.-[----->++<]>++.--[--->++<]>-.[--->+<]>----.-----------------.[----->++<]>.++++.[++>---<]>-.++[->+++<]>++.-[->++++++<]>-.--[->++<]>.[->++<]>.-------.+[-->+<]>++.[----->+++<]>.>-[----->+<]>+.++.+[--->+<]>+++++.+++++++++++.++[->+++<]>.+[++>-<]>++.[--->+<]>++.+[->++<]>+.+++[-->+++<]>.>+++++++++++.>-----.-[-->+++<]>.++++++++++++.---.---.>+[--->+<]>+++.++++.--[--->+<]>.+++++[->++<]>.-[->+++<]>-.--[->+++++<]>.>---------.+[---->+<]>+++.[------->++<]>+.+[-->+++<]>-.++++[->+++<]>.-[++++>-<]>+.>--[-->+<]>-.-[------->+<]>+.+[--->+<]>+.-------.>-----------.-[->+++<]>-.>-[----->+<]>---.+[->++<]>+.++++++[->++<]>+.[->++<]>.[->++++<]>+.[->+++<]>-.>-[------->+<]>.---[->+++++<]>-.+[-->+++<]>+.-[----->+<]>+.>+[--->++<]>.-[----->++<]>++.[--->+++++<]>.>------.>+[--->+<]>.++++[->+++++<]>.-[-->+++<]>+.[++++>---<]>.[++>-<]>--.++[++>---<]>+.-[------>+<]>--.------------.-[++>-<]>---.---------.--[->++<]>-.>------------.-[----->+<]>+.[-->+<]>++++.++++++++++++++.-[->+++++<]>.+[----->+<]>++.[--->++<]>+.>--[-->+++++<]>.-[++>-----<]>-.[--->+<]>+++.[->+++<]>-.++++++++++++++.[--->+<]>-----.+[----->+<]>+.>--[----->+<]>--.---[->++++<]>.-----------------.+[->+++<]>++.++[-->+++<]>+.[->++<]>-.--[->+++++<]>+.>--------.-[----->+<]>+.>+[--->+<]>++.++[->+++++<]>.+[-->+++++<]>+.[->+++<]>-.[----->+<]>-.+[++++>-<]>-.+[--->++++<]>++.[++>---<]>.[--->+<]>+++.---------.-[--->+<]>++++.+++++[->++<]>.>--[-->+<]>+.>+[------->+<]>.[--->+<]>+.-----[->++<]>.[-->+<]>---.------------.[->+++++<]>+.--[->++<]>-.>++.+[----->+<]>--.--[->+++<]>.>+++++.++[----->+++<]>.+[->++<]>.+[--->++++<]>-.+++++++++.>--------.>+.+++[--->+++++<]>.[--->++++<]>-.---[++>---<]>-.>--[-->+<]>.-[----->++<]>.>+++.>--.[----->+<]>---.[----->+++<]>+.-----[->++<]>.[-->+<]>----.----[->+++<]>.---[->++<]>-.>++++++++.[----->++++<]>++.[++>-<]>+++.>----------.>--[--->+<]>.[++>-<]>+++++++.[------>+<]>+.>-[--->+<]>++.>++++++++.+[->++++<]>++.[--->++<]>++.---.+[---->+<]>-.>+++++.+[----->++++<]>+.>--------.---[->++++++<]>.--[-->+++<]>-.---[->++++<]>.>--.[------->+<]>++.[-->+++++<]>++.[++++++>-<]>.--[--->++<]>.[++++++>-<]>---.-[---->+++<]>.-[->++<]>-.--[----->+<]>+.---[->++++<]>-.[->++++++<]>.>--[-->+++<]>-.[++>-<]>+++.>-[----->+<]>+.-----------.+[----->++<]>.>--[-->+<]>+.------[->+++<]>+.+[++>-<]>++.+[->+++<]>.-[->+++++<]>++.>++++.[--------->+<]>.[->++++++++<]>+.>-------[->+++<]>.>+++++++++.+[++>-<]>+++.>-.---[-->+++<]>.[----->+<]>.[++>-<]>++++++.-.-[--->++<]>-.-[++++++>-<]>--.+[----->++<]>.>--.------[--->++++<]>.>++[++>-<]>+.++++[++>---<]>.-[++>-<]>-.--[--->++<]>---.--[--->+<]>--.>++[++>-<]>+.>+[--->+<]>----.[------->+<]>+.+++[----->+++<]>.+[++>-<]>++++.-[->+++<]>-.--[-->+++++<]>.--[------>+<]>-.++++.++++++++++++.++.+[++>---<]>.[--->++<]>.+[--->+<]>+.+.----------.>+++++++++.>--[-->+<]>+.-[----->++<]>--.[----->+<]>--.+[----->++++<]>.[----->+<]>-.++.[->++<]>-.[--->+++++<]>.>------.[->+++++<]>.>---.-[--->++<]>-.+[->++<]>+.------.--[--->+<]>.-[++>-<]>--.+[----->+<]>+.+++++++++.>+[--->++<]>.++[-->+++<]>.[->++<]>.[++++>-<]>-----.++++++++++++.-[-->+<]>--.-[->+++++<]>--.[->+++++<]>--.[--->++<]>--.>-------.+[-->+++<]>-.-[->++++<]>+.--[->++<]>.[--->++<]>++.---------.+[-->+++<]>++.>-----[->++++<]>+.+[-->+++<]>.-[++++>-<]>+.++[++>---<]>.[++>-<]>---.>++++[->+++++<]>.[--->+<]>.--[--->++<]>.+++.++[->+++<]>.---------.----[++>-----<]>.[--->++<]>++.[-->+<]>+.[->++++<]>-.[->+++<]>-.+[->++++<]>.+[--->+<]>+.-----------.-----.>-[----->+<]>-.>--[-->+<]>-.>+[--->+<]>++++.-[->+++++<]>.>+[--->+<]>+.++[->+++++<]>++.[++>-<]>-.-[--->+<]>----.>-[----->+<]>.>-[--->+<]>++++.+[-->+++<]>.+[++++>-<]>+++.-[---->+<]>+.++[->+++++<]>-.+[++++>-<]>.---[->++++<]>+.+[----->++<]>.>+[--->+<]>---.-[->+++++<]>++.>+[--->+<]>+++.[->+++++++<]>+.[->+++++<]>++.-[->+++<]>+.-[-->+<]>-.+[---->+<]>.-[->+++<]>-.---[->++++++<]>.-[--->++<]>-.-[-->+<]>---.[->+++++<]>.[->++++<]>-.+++.++.+[->+++++<]>.+++[->+++<]>+.--.[->++++<]>++.>-----[->+++<]>.-[-->+<]>---.>+[--->+<]>+.++[++>---<]>+.[++>-<]>++++.[->++++<]>.--[--->++<]>--.[-->+<]>+++++++.[++>-<]>++++.[-->+<]>+++.>+++++++.[----->++<]>.>+[------->+<]>.+[-->+<]>+++.>+[----->++<]>+.>+++++++.-[++>-<]>-.-------[->+++<]>.+[->++++<]>+.+++[++++++>-<]>+.++.+[----->+++<]>-.+[->+++<]>+.>+[--->+<]>------.+++++++++++++.--[->+++<]>-.++[->++<]>.-[->+++++<]>+.[--->+++++<]>-.-[++++++>-<]>+++.+++[++>---<]>.>-[--->+<]>++.-[--->+<]>---.[--->+<]>-----.[----->+<]>--.>----------.[->+++++++<]>.[++>---<]>++.++++++++.++[->++<]>.-.[->++++++++<]>.>---------.>+[------->+<]>-.+[--->++<]>.-[--->++<]>.>-[----->+<]>.++[->++<]>.+++++++.----[->+++<]>.>-[--->+<]>-.>++[++>-----<]>.>+[--->+<]>.--[--->+<]>-.+++[->++<]>+.--.>--[-->+<]>-.>+[--->++<]>.[--->+<]>--.[->++++<]>--.[------->++<]>.-[--->+<]>-.-[->++++<]>-.+[++>---<]>-.-[--->+<]>----.++.++++++++.>++[++>-----<]>.-[----->++<]>+.>+++++++++++.>+[----->+<]>-.>-[--->+<]>.[----->++<]>.[------->+<]>+.>+++.-[--->+<]>.[-->+<]>++.>-------.>+++++[->+++++<]>.+[++>---<]>-.-[----->+++<]>.>+++++++.++.+[++>---<]>++.++++++++++++.[--->+<]>++.>-[----->+<]>-.-[->+++<]>+.[++++>-<]>.+[++>---<]>.-[--->+<]>-.+[--->+<]>+.-[----->++<]>.[->+++<]>+.>--[----->+<]>.-[--->++++<]>.[---->+++++<]>++.+[->+++++<]>.[-->+<]>.+[-->+++<]>.++++++++++.+[->++++<]>+.[->+++++<]>-.[---->+++++<]>-.+[---->+++<]>++.[--->++<]>+.+[-->+++<]>++.>------.-[----->++<]>+.++++[->++<]>+.[->+++<]>-.[----->++<]>++.[-->+<]>---.------[->++<]>.--[--->+<]>----.[++>-<]>+.>+[--->+<]>.++++[->+++<]>+.--[++++>---<]>.>-----------.--.[----->++++<]>-.[->++<]>.>++++++++++++.+[--->++<]>+.>---------.[----->+++++++<]>.+[--->++<]>+.>---.--[->+++++<]>.++++++.--------.++++.---[->++<]>.-[->+++<]>+.--[------->+<]>+.+++[++>---<]>.>+[--->+<]>+.++[++>---<]>+.+[----->++<]>.>------.[----->+<]>-.[--->+<]>.-[++++++>-<]>+.[++++>---<]>.--[->+++<]>.----[->+++<]>-.[------->+<]>++.-[++>-----<]>+.[->++++<]>-.>--------------.[--->++<]>--.+[->++<]>.++.[-->+<]>---.------------.-[->+++<]>-.+[->++++<]>++.>++++++++++.[++++++>-<]>.[--->++++<]>--.>++++++++.[++++>-----<]>-.+++[++++++>-<]>.--[--->++<]>-.>-[--->+<]>++.-------------.--[-->+++++<]>.+++++++++++.>+[--->++<]>.[--->+<]>++.>+++++.>-----[--->++++<]>.[->+++++++<]>.[++>-<]>-.[->++++<]>.[->+++++<]>+.[--->+<]>++.--[->+++++<]>-.>-[----->+<]>+.[++++++>-<]>.-[--->++<]>--.>---.[----->++++<]>---.[->++++++<]>+.+++++++++.>++.-[----->+<]>-.+[----->++<]>-.--[--->+<]>--.+++.>--.[--->+<]>-.+++++[->++<]>+.+[-->+<]>.-[++>---<]>-.[++>---<]>-.++++.-[++>-<]>---.-[->++<]>.[++++>-<]>++.>+[--->+<]>.[------->+<]>.-[--->++<]>--.---[->++++++<]>-.++[--->++<]>+.-[++>---<]>.>-[----->+<]>---.-[->+++<]>.>++[++>-<]>.-[-->+<]>---.[--->++<]>.----------.--------.+++++++.>+++++++.+[--->++<]>+.>++.+[------->+<]>-.>----[->++++<]>-.+[-->+<]>+.+[++>-<]>++.>-.-[++++++++++>-<]>.----------------.-[----->+<]>--.[++>-----<]>-.>--[-->+++<]>.--[--->++++<]>--.[------>+<]>-.-[->++++<]>--.+[--->+++++<]>.--[->+++<]>+.++[---->+<]>++.+[->+++<]>+.---[->++<]>.>---------.-[--->++++<]>---.-[------>+<]>-.-----[->++<]>.++[->+++<]>++.>-.---[->++++<]>-.[->++++<]>++.>-[--->+<]>++.>+++++.[--->++<]>.-------[->++<]>.[----->+++<]>--.[++++>---<]>.++[++>---<]>.+[---->+<]>+.>+++++++++.[------->+<]>+.>++++++++++.[->+++++<]>.----[--->++++<]>.[----->++<]>.+++.>+++[->++++++<]>.[->+++<]>-.---[-->+++<]>.+[++++>-<]>--.>---------.[->+++<]>.+[--->+++++<]>.-[->+++++<]>++.>+[--->+<]>++++.>+++.[------->++++<]>.>+[----->+++<]>.>-[--->+<]>.>--[-->+<]>.-------.-[----->++<]>.[--->++<]>-.-----------.++[->+++<]>+.+[----->++<]>-.++++++++.[------->+<]>++.>++.[----->++<]>.>----.----[->+++++<]>.[->+++<]>-.[->++<]>-.-[++++>-<]>++++.[--->+<]>-.+[->++++<]>++.++[->++<]>+.-[->+++<]>-.++++++++++++++++.[--->+<]>++.++++++++++++++.-[--->+++++<]>.>--[--->+<]>.[++>-<]>+++++.--[->+++<]>+.+[->++++<]>++.[++>-<]>---.[++>-----<]>++.>-[----->+<]>++.[->++<]>.[++>-<]>----.+[++++++>-<]>.[----->+<]>-.[->+++++<]>++.++[->+++<]>+.[--->+<]>-.+[--->+<]>+++.>+++[->++++++<]>.-[->+++++++<]>-.-[->+++<]>.[----->+<]>++.>++[++>-<]>.>+++++++++++.-[++>---<]>--.+[----->+<]>.+++++[->++<]>.>+[--->+<]>--.+++++++++++++.++[->+++<]>++.++[->+++<]>++.>-.>++++[++>---<]>++.++[->++<]>.[++++>-<]>----.----[->++<]>.--[--->++++<]>.[----->+<]>+.[->+++<]>+.--[->+++<]>-.[----->+<]>--.-[-->+++<]>--.>+++.>+[--------->+<]>.[--->++<]>+.-[-->+++<]>+.[++>-<]>----.>--[-->+<]>-.--[++++>---<]>.--[--->++++<]>.+++[------->+<]>.+.+++++++++++.>-[----->+<]>-.+++++++.>-------.-----.-[->++<]>.+[->+++++++++<]>.>+[--->+<]>+.>+++++++++++.[--->++++<]>+.++++.[->++++<]>+.-[-->+<]>--.[-->+<]>-.+[->++++++<]>--.+[--->++<]>-.-[--->+<]>.-[----->++<]>+.+[-->+<]>++.>+++++++++++.-[--->+<]>-.>-------------.[--->+<]>.++++++++++++.>++.-[--->+<]>-------.----[->++<]>-.-[++>---<]>+.[----->+<]>-.+[->++++<]>++.>-----[->+++<]>.+[->++++<]>-.-[++>-<]>---.[++>-----<]>+.-[---->+<]>+.+[-->+<]>+.>------[->++++<]>..+++[->+++<]>.+[++>---<]>.-[++>---<]>.-----.-----.+[----->++<]>-.+[--->++<]>++.[++>---<]>+.-----------.[->+++++<]>-.+++[->+++<]>++.>+[----->++<]>--.+++[->+++<]>++.-[-->+++<]>.+[++>-<]>+++.-[------->+<]>-.>+[----->++<]>++.[++>-<]>----.------.-[->++<]>-.---------.[++++++>-<]>.[->++++<]>-.+[++>---<]>+.---[->+++++<]>.++[---->+<]>++.>------------.[-->+<]>++.++++++.-------------.+[++>-----<]>.+[++>-----<]>++.++[++++>-<]>.>+[--->+<]>.>++[++>-<]>.+[--->+<]>+++++.[------->++<]>.>+[----->+<]>.+[++>-<]>++++.>++++[->++++<]>.+[->+++<]>+.++[->+++<]>.-[----->++++<]>+.[--------->+<]>+.---[->+++<]>.-[++>-<]>--.-[->++++<]>--.>------.[----->+++<]>.>++.++++.--[++++>-<]>---.-[->++++++<]>.>-.[----->++<]>-.>+++++++++.+[--------->++<]>.[->+++++<]>--.-----[->++<]>.[-->+++++<]>.[--->+<]>---.[-->+++++<]>.+[----->++<]>.-[--->++++<]>---.+[++>---<]>-.[->+++++++<]>-.>++[++>-----<]>.[->++++++++<]>.[--->+<]>--.+[--->+<]>.[->++++++<]>.++[->+++++<]>.-----.>------------.>+++++++++++++.-[++>---<]>--.[++++>-<]>.>-.>++++[++++>-<]>-.++[->+++<]>+.-[++>---<]>.[--->+++++<]>+.[-->+++++<]>+.-[----->+<]>-.+[++++>-<]>.>----[-->+++<]>-.++++++++++++++++.-[--->++<]>.++.-[->++++++<]>.+[->+++<]>+.-[->++++<]>+.-----.-[->++++<]>-.+++[->+++<]>.>--[--->+<]>.[--->++<]>+.>-------[->+++<]>.+[-->+<]>++.[------->+<]>--.+++.+[++>---<]>-.+++++++.---[->+++<]>.--[->+++<]>-.++[->++<]>.>-.---[---->+<]>+.+[--->++<]>+.+[->++++++<]>.++++.>+[--->+<]>---.>--[-->+<]>-.++[---->+++<]>.>-----.>++[++>---<]>.>-[----->+<]>-.[-->+<]>.-[++>-<]>---.+[->++++++<]>-.+[++>---<]>.>-----------.--[----->+<]>+.>+[--->+<]>+.--[--->++<]>--.----.[-->+<]>.++++++.[--->+<]>-.[->+++++<]>++.[++>-----<]>.+[->+++++<]>.+++++++++.-.+[--->+<]>+.[----->+<]>.>---------.-[-->+<]>-.[++>---<]>+.[->++<]>-.[--->+<]>.>-----.---[->++++<]>-.[--->+<]>.[--->++++<]>+.-[-->+<]>-----.+[-->+<]>++.>-----.[--->+<]>-.-[------->+<]>++.+[->+++++<]>.--[--->++<]>--.[-->+++++<]>.+++[++>---<]>.[->++<]>-.+[--->+<]>++.[-->+<]>-.[--->+++++<]>.[--->++<]>---.>+[----->+<]>.-[----->+++<]>+.+[++>-<]>+++.++++++++++++++.[++>-<]>----.>--[-->+++<]>.>+[----->++<]>+.+[-->+<]>+++.++++++++++++++.[->+++++<]>+++.>+[--->+<]>+++.--[--->+<]>-.>+++[->+++++<]>.+[--->++<]>-.+[-->+++++<]>+.---[------->+<]>.>-[--->+<]>---.>---.[----->++++<]>-.-------[->++<]>.[------->+<]>-.[->+++<]>.[->++++++++++<]>.++++++[->++<]>+.------.-[->++<]>.>----.[--->+<]>+++++++.>+++.++[->+++++<]>.>------.--[--->++<]>.-.+[++>-<]>++.[++++++>-<]>.--[->++++++<]>.>--------.---------.--[--->++<]>-.+++[->++<]>+.[--->++<]>+++.------[->++<]>.[++>-<]>+++.+[->++++<]>+.----------.+[--->+<]>++++.[--->+<]>+.+[->++++<]>-.--[--->+<]>.-[--->+<]>-.+[-->+++++<]>--.----------------.>-----------.--[----->+<]>+.++[--->++<]>+.+[-->+<]>.--[--->++<]>.+[--->+<]>++.-[--->++<]>--.>--[-->+<]>-.[--->+<]>+++++.-[--->++++<]>.--[-->+++++++<]>.-[->++++++<]>+.-[------>+<]>.--[->++<]>-.+[-->+++<]>++.>-.------.>+++++[->+++++<]>+.>+++++++.>-[--->+<]>----.[----->+++<]>.+[---->+<]>.--[->++++++<]>-.>-------.>+[----->++<]>++.[++++>---<]>++.>---.-[--->++++<]>-.+[++++>-<]>++.-[->++++<]>.[++++>-<]>++.>-[--->+<]>--.+[++>-<]>+.--[->++<]>-.+++++++[->++<]>+.+[++>---<]>++.>--------.[->++++++<]>-.>---.>+++++++++++++.+[--->+<]>++.+[->++<]>+.[->++<]>.[->++<]>+.[->++<]>.[->++<]>+.[->++<]>+.[->++<]>+.[->++<]>.[->++<]>+.[->++<]>+.[->++<]>.[->++<]>+.[->++<]>.[->++<]>+.[->++<]>+.[->++<]>+.[->++<]>.[->++<]>+.[->++<]>+.[->++<]>.[->++<]>+.[->++<]>.[->++<]>+.>-.[--->+<]>+++++++++.>-.[----->++<]>.++[---->+++<]>+.>++++.>+[----->+<]>----.+[->++++<]>.
Krzysztof Szewczyk
źródło
2
Zgłoszenie to sam obraz, a nie kod
MilkyWay90,
Czy możesz edytować nagłówek, aby usunąć niezbędną brainfuckczęść i zaktualizować swój wynik do współczynnika kompresji?
Jo King