Komprimieren Sie eine Sequenz mit maximaler Diskrepanz 2


18

Geben Sie diese Binärsequenz der Länge 1160 aus:

-++-+--++-++-+--+--++-+--+--++-+--++-++-+-++--++-+---+-++-+--+--++++--+--++-+--++-++----++-++-+-++--++-+-+---++-+--++-++-+--++-+--+---+-++-+--++-++-+--+--++-++-+--++-+--+++-+-+----+++-+--+--+++---++-++-+--+--+++--+-+-+--+-+++-++-+--+--++-+--++-++-+--+--++--+++---+++-+---++-+--++--+-+--+-+++-+--++-++-+--++-+--+--++-+--++--+-++-+-+--+-+-++-+--++-+--+--++-+-+-++-+-+-++---+-+--++++--+---++-+-++-+--++-+--+--++-+--++++--+---+-++++--+--++-++-+--++-+--+--++-+--++-++-+--++-+--+--++-++-+----+++-+--++--+++---+-++-+--+-++---+-++-++-+--+--++--++++-+--+--+--++++--+--+++---++-++-+--++--+-+--+--++-++-+--+--+-+++-++-+--+--++--+-++-++-+--+--+--++-++-+--+++---++-+--++-++---+++---++-++----+++--+-++-+--+--++-+--++-++-+-++--++--++----+++-++--++----++-+++--++---+++----+-+-++-++-++-+-+----+++--++-+--++-++-+--+--+--++-+--++-++-+--++--+-+--+-+-+-++++---+-+-++--+--+-+-+-++-+-+++--+-+--+--+-+++--+-+++---++-+--+--++-++--++---++-+-++--++-+---+-++-+--+-++--++-+--++-+--+-+++-+--++--+-+-+++--+-+--++-++-+--+--+-++---+-++-+-++--++-+--+++-+----++--+-++-+-++--++-+--++-+-++--++-+---+-++-+--+++----+-+-++--++-+--++-++-++-+--+--+--++++---++---+-+-++-+-+++--+-++--+-+--+-+-++---+++-++

Die Sequenz

Diese endliche Sequenz ist eng strukturiert, was hoffentlich zu einzigartigen Komprimierungsmethoden führt. Es ergibt sich aus dem Diskrepanzproblem von Erdős, das in einer früheren Herausforderung aufgezeigt wurde .

Wenn die Terme als +1 und -1 behandelt werden, handelt es sich um eine Sequenz mit maximaler Länge der Diskrepanz 2, was bedeutet, dass:

dWenn Sie für jede positive Schrittgröße jeden dTerm (beginnend mit dem ddritten Term) nehmen, bleibt die laufende Summe der resultierenden Sequenz zwischen -2 und 2 einschließlich.

Wenn Sie davon ausgehen, dass jedes +einen Schritt nach rechts und -einen Schritt nach links bedeutet, bedeutet dies, dass der Schritt jeder dAnweisung niemals mehr als 2 Schritte von der Startposition entfernt ist.

Wenn Sie zum Beispiel d=3jeden dritten Term nehmen, erhalten Sie die Sequenz +-++--+--+-..., deren laufende Summe [1,0,1,2,1,0,1,0,-1,0,1,...]niemals -3 oder 3 ergibt .

-++-+--++-++-+--+--++-+--+--++-+--+...
  ^  ^  ^  ^  ^  ^  ^  ^  ^  ^  ^
  +  -  +  +  -  -  +  -  -  +  -
   1  0  1  2  1  0  1  0 -1  0  -1  ...

Diese Sequenz wurde 2014 über eine Computersuche gefunden. Siehe dieses Dokument , in dem die Sequenz in Anhang B wiedergegeben ist. Die Suche beweist, dass 1160 die maximale Länge einer Diskrepanz-2-Sequenz ist, obwohl es mehr als eine Sequenz dieser Länge gibt. Das 2015 nachgewiesene Erdős-Diskrepanzproblem besagt, dass eine solche Sequenz eine endliche Länge haben muss, um eine maximale Diskrepanz canstelle von 2 zu erreichen.

Zeitbedarf

Ihr Code sollte innerhalb von 5 Sekunden fertig sein . Dies soll das brachiale Erzwingen einschränken.

Ausgabeformat

Sie können zwei festgelegte unterschiedliche Zeichen oder Werte für +und -in einem beliebigen listen- oder zeichenfolgenähnlichen Format verwenden. Das Format sollte eines sein, bei dem die 1160-Bit-Werte direkt abgelesen werden können, und nicht beispielsweise als Zahl über ihre Binärdarstellung oder als Zeichenfolge über Zeichenwerte codiert werden. Für die Ausgabe von Zeichenfolgen ist eine nachgestellte Newline zulässig.

Bestenliste


Häufigste Teilzeichenfolgen mit einer Länge von 1 bis 16, falls jemand dies wissen möchte
Nur ASCII

Ich habe das Gefühl, dass es sehr schwer sein wird, die Komprimierung zu übertreffen ...
Esolanging Fruit

Antworten:


3

Jelly , 149 Bytes

“×GOẈ*m¬¿3d{ẋạ⁻@Ɓ]ZĊỵINBƬḊṿẊ*N¹Ẹ÷ƲẋɼoṬḳ£®⁾ƙŒọ¡[P1&ạ€ẊʠNỌXḢṖėÐß⁹Ụṗ¬⁹E#ụḷḌṁżżR=Ɗѳıɲ-ṭỌṾɲẎĿỴ⁶€ḋtɦÐ\ỵƒ⁾ƒụṫṡĊKpƭẏkaṪ,Ẋȧ⁻ḅMɓ%YḷsƲƭl¤æĊbṬ9D6ẎƘẓ^Œ⁷Ɲḷḷ€ḟ1g’B

Es gibt ein Muster, zum Beispiel sind nur 81 der 8 binären Zeichenfolgen mit 256 Längen vorhanden, wenn man die Sequenz in acht zerlegt, aber ich habe (zumindest noch) keine Möglichkeit bemerkt, irgendeine zu verwenden, um die Byteanzahl von dieser direkten Basis zu reduzieren 250 Komprimierung in eine Binärliste umgewandelt.

Probieren Sie es online! (Die Fußzeile formatiert die Binärliste zu einer Zeichenfolge, um den direkten Vergleich zu erleichtern.)


3

Python 2 , 269 259 256 247 245 243 Bytes

r=[1]
c=int('bmqnh8j8rdo4mirjos6uxbfthu8t39pjy6up43axryzwbwcu5d528nsakitjwqbo6dnnozy0oybhk6jduaoc53lqkzdb04opj5t50a24w9he5y7qbgd2',36)
while c:t=sum(sum(r[::-k])/3for k in range(1,264)if len(r)%k<1);r[-1:]=cmp(0,t)or c%2*2-1,1;c>>=t==0
print r

Probieren Sie es online!


3

JavaScript (ES6), 263 253 252 Byte

Ich habe versucht, so wenig Nutzdaten wie möglich zu verwenden. Leider - aber nicht überraschend - erfordert dies ziemlich viel Dekomprimierungscode.

Nervenzusammenbruch:

  • Nutzdaten: 75 Byte, codiert als Base64-Zeichenfolge mit 100 Zeichen
  • Code: 163 153 152 Bytes

Unten ist eine formatierte Version ohne die Daten. Der Rohcode befindet sich im Demo-Snippet.

f = (a = Array(264).fill(n = p = 0)) =>
  n++ < 1160 ?
    '+/-'[
      p += !a.some((v, i) =>
        n % i | v * v - 4 ?
          0
        :
          r = v / 2,
        r = atob`...`.charCodeAt(p / 8) >> p % 8 & 1 || -1
      ),
      r + 1
    ] +
    f(a.map((v, i) => n % i ? v : v - r))
  :
    ''

Wie?

Wir verfolgen die laufenden Summen eines [i] jedes i- ten Terms. Jedes Mal, wenn eine dieser Summen die Untergrenze -2 erreicht , wissen wir, dass der nächste Term ein + sein muss . Die gleiche Logik gilt für die obere Grenze. Dies ist bis zu i = 264 hilfreich und speichert darüber hinaus kein zusätzliches Byte.

Dies lässt uns mit 599 Begriffen, die nicht erraten werden können. Wir speichern sie als ⌈599 / 8 75 = 75 Bytes, codiert in einer 100- stelligen Base64-Zeichenfolge.

Demo


3

Jelly , 110 109 107 Bytes

;1mS€:3o/Nȯ®Ṫṭḷ
“ĖṄẋ{Xṛ-İIṗ®6⁼Ḟ2a⁻!Ċẉȥ+¡Ƒ¥mvrẓsṘ×⁴ç&$nỴỤ)M7?ẊẎḅ=ṠƈTṙḌȥụẋXḌ⁵Ḣ⁺ḲL÷æTƥĿv€%ḟ¢®!Ė’BḤ’©ṛ⁽¡ɠÆD€Nç/

Dies dauert bei TIO zu lange, dauert aber auf meinem Desktop-Computer weniger als 3 Sekunden.

Probieren Sie es online!


3

Jelly , 135 133 130 129 105 104 Bytes

42“I=İėZP*ðEḄẈṆ'mBƝėŻƝ6®Ṇɼḥ[bȦėṡV£(6ṘɱX)Ṅẹ6~K7°ȤÄỴ¥ƝÇ5prḳġŻ£ƭṗṄFṾḃ{©@ɼ’ḃÄċL
L+Ø.ÆDm@NÇ¡§§No¥/Ṡo-ṭ
Ç⁽¡ɠ¡Ḋ

Basierend auf den vorherigen Elementen der Sequenz erstellt der Algorithmus eine fundierte Vermutung, was das nächste Element sein könnte. Dies funktioniert mit Ausnahme von 99 Elementen, deren Indizes fest codiert sind, damit die entsprechenden Elemente ausgetauscht werden können.

Probieren Sie es online!


2

MATL , 224 Bytes

862:o'$Te]BQHoHxkw!-CEjv(j=zGp.8_C{\?wkH{t&%W.:ja#7=+>"/,=0wDJ+"2BREtgh9_2I%1>+99T3kPrknzlJ}&8kUR(S!pX]C]05u{"6MHA7"gg(M6\5Vp.k.18Y(c~m&wroTrN)sf" |>\,Lg80C:nUez|l;<h~m(%]4xx6?`=qGtZ):d"*"@~1M.T}jJ)Bl7>Ns >9$8R1MlkG'F3:qZaY"

Die Ausgabe hat die Form 1 0 0 1 0 ..., wobei 1entspricht '-'und 0entspricht '+'.

Probieren Sie es online!

Erläuterung

Die Sequenz wurde lauflängencodiert. Alle 720 Läufe haben die Längen 1, 2, 3 oder 4, wobei 3 oder 4 weniger häufig sind. Also wurde jede 3 durch 2, 0, 1 ersetzt (ein Lauf von 2, dann ein Lauf von 0 des anderen Symbols, dann wieder ein Lauf von 1) und in ähnlicher Weise wurde jede 4 durch 2, 0, 2 ersetzt ergibt ein ternäres Array der Länge 862.

Dieses Array wird in Base-94-Codierung konvertiert und ist die lange Zeichenfolge, die im code ( '$Te...kG') angezeigt wird . Die Base 94-Codierung verwendet alle 95 druckbaren ASCII-Zeichen mit Ausnahme des einfachen Anführungszeichens (das maskiert werden müsste).

Der Code konvertiert diese Zeichenfolge von der Basis 94 zur Basis 3 und verwendet das Ergebnis, um die Symbole [1 0 1 0 ... 0](Array mit der Länge 862) mit der Lauflänge zu decodieren .


2

Jelly , 95 Bytes

“qạʂṅs⁽fØʋZ%BÞġı½.m0&u⁺TsƝȧAuỴż⁶3uÞ$+ȷ@4Ṣ’BḤC©µmLÆD$§SṠȯ®ṪNLḟ“⁶ .£µ+£gÐ9Ц.ñ×µ¥¤®‘ÄḤ¤ɗ}¡ṭø⁽¡ɠ¡Ḋ

Ein Mittelpunkt zwischen meinen beiden vorherigen Ansätzen.

Der Code versucht, 842 Elemente der Sequenz zu erraten und die verbleibenden 318 fest zu codieren. 19 der Vermutungen sind falsch und müssen über eine Liste fest codierter Indizes zurückgesetzt werden.

Probieren Sie es online!

Wie es funktioniert

“qạʂṅs⁽fØʋZ%BÞġı½.m0&u⁺TsƝȧAuỴż⁶3uÞ$+ȷ@4Ṣ’

380009100940380065412452185545474826295694594854898450166594167299196720639075810827320738450934©

BḤC©

BC1±1

µmLÆD$§SṠȯ®ṪNLḟ“⁶ .£µ+£gÐ9Ц.ñ×µ¥¤®‘ÄḤ¤ɗ}¡ṭ

0

mLÆD$§SṠȯ®ṪNLḟ“⁶ .£µ+£gÐ9Ц.ñ×µ¥¤®‘ÄḤ¤ɗ}¡ṭ  Monadic chain. Arument: A (array)

 LÆÐ$                                       Compute all divisors of the length of A.
m                                           For each divisor d, generate the subarray
                                            of each d-th element.
     §                                      Take the sum of each subarray.
      S                                     Take the sum of the sums.
       Ṡ                                    Take the sign of the sum.
        ȯ®                                  If the result is 0, replace it with the
                                            array in the register.
          Ṫ                                 Tail; pop and yield the last element,
                                            modifying the register for a zero sum.
                                            This is a no-op for a non-zero sum.
              “⁶ .£µ+£gÐ9Ц.ñ×µ¥¤®‘ÄḤ¤      Yield all indices of incorrect guesses.
           NLḟ                        ɗ¡    If the length of A doesn't appear among
                                            the indices, negate the result.
                                        ṭ   Append the result to A.
ø⁽¡ɠ¡Ḋ

0⁽¡ɠ11600


Arithmetische Codierung scheint einfacher zu sein, als einige Einträge manuell zu ändern. Hast du das versucht oder ist Jelly nicht dafür geeignet?
Lirtosiast

Es müssen nur 19 Einträge geändert werden, die in 23 Bytes codiert sind. Ich denke ein arithmetischer Decoder wäre länger, zumindest mit den dazugehörigen Daten.
Dennis

1

Holzkohle , 150 Bytes

”a∧∨~℅¹÷Oμ6fCC⁼∕⁵^;Ÿ‘«·T:∕D_=v§AHŒ,—<Pr¢E!◨±L^|.τ"NO“šþŽ∧<n`bÞE÷β$+Z⟦5⁶⁻.λ‹ζd⧴X>w,⊞?‹⟧⌈⪪-h÷³N“K⁺L¿>ρ@P⟲↘3νηKx÷?>™Ž¿•:8V¦£œεG↧x℅7¶	NRü"m”⟦)&¶bE“Yv”

Probieren Sie es online!

Verwendet die eingebaute String-Komprimierung von Charcoal. Verwendet .für -und !für +.


1

CJam, 153 Bytes

"Ke²ÉLº[
O%2¹d²Ý,Éeñlr[´KeÙ.Y­K-iZ[*Të
ÊYl°Ý
ËeËd¼Y%³l69,ÖÉmÙ¤¶ÉcN9<il²S3ÄÏ#8õ$¯d¶Ë%Õ¦Õ(Öѣɦ]-2ËEd¶)/4¦YLºXõ2É-°çR5©Ä"256b2b

Verwendet 1für -und 0für +.

Enthält nicht druckbare Dateien. Probieren Sie es online!

Das ist ziemlich einfach. Konvertiert eine lange Sequenz von Base 256 nach Base 2.


1

Python 3 , 236 232 Bytes

Vielen Dank an Mego für das Speichern von 4 Bytes

#coding:437
print(bin(int.from_bytes('ûKe▓╔L║[\rûO%2╣d▓▌,û╔eè±lr[\x1a┤KeÆ┘Ä.Y¡\x16K-ûiZû[*Tδ\r╩Yl░▌\rÆ╦eÆ╦d╝YÄû¥%│\x0bl69,╓╔m\x12┘ñ╢╔cûN9<il▓S3─╧#8⌡$»\x19d╢╦%Ü╒\x0eª╒(╓╤úû╔£ª]-2╦EÜìd╢¥)û/4ªYL║X⌡2╔-░τRì5⌐─'.encode('437'),'big'))[2:])

Probieren Sie es online!

Verwendet die CP-437-Codierung. Vielen Dank an Dennis für den Hinweis auf einen Fehler.


437ist ein Alias ​​für cp437, so dass Sie 4 Bytes abschneiden können, indem Sie die cpBits bei jedem Auftreten entfernen.
Mego

0

Python 2 , 364 250 Bytes

Vielen Dank an Jonathan Allan für das Speichern von 114 Bytes.

print bin(int('28x0lphxjx8ze4uuhtdzo0oebr25amtmuxm62cbit0ibdwjm2sf50clh2ejq0a73ndseo5tove8uqca6nf66bo4abbkg867woh2b435at0o3pddvqmsqp29b6as5bd4eo28xgwkkj607gp66icba1q4n9fc13dltp45j340mpzbc56wsrbb3oejnczsbzfgh82xdi8aku8m4wlmwuxkgy4yaew7pu4p1g',36))[2:]

Probieren Sie es online!


0

C # , 385 Bytes


Daten

  • Eingang keine ein
  • Ausgabe String Das vorgetäuschte Ergebnis.

Golf gespielt

()=>{var s="i´\u009aM6³E¤òi°ÚÍF\u009bM\"Ói6\u009au\u000e\u0093\u008d¤åK´\u009am&qѦRé´Òi\u0096¥i¤Õ«\u0014ò5¦\u0093O\"òm4\u009am4\u009bC¦qibÚLô\u0093ÉÆÓ)6\u0092í&[I6\u009ci±ÆÃ\u0096\u0093M¬Ì;0ÜÇ\nÛPæ\u009bI4Úe*ñY*×).\\i6cY¢ÒÍ4ºer\u009bIbÖiÐËY¦³E§\nÍ6ÒO\u0018­rÊV;";var o="";foreach(var c in s)foreach(var b in Convert.ToString(c,2).PadLeft(8,'0'))o+=(char)(43+(49-(int)b)*2);return o;};

Ungolfed

() => {
    var s = "i´\u009aM6³E¤òi°ÚÍF\u009bM\"Ói6\u009au\u000e\u0093\u008d¤åK´\u009am&qѦRé´Òi\u0096¥i¤Õ«\u0014ò5¦\u0093O\"òm4\u009am4\u009bC¦qibÚLô\u0093ÉÆÓ)6\u0092í&[I6\u009ci±ÆÃ\u0096\u0093M¬Ì;0ÜÇ\nÛPæ\u009bI4Úe*ñY*×).\\i6cY¢ÒÍ4ºer\u009bIbÖiÐËY¦³E§\nÍ6ÒO\u0018­rÊV;";
    var o = "";

    foreach( var c in s )
        foreach( var b in Convert.ToString( c, 2 ).PadLeft( 8, '0' ) )
            o += (char) ( 43 + ( 49 - (int) b ) * 2 );

    return o;
};

Vollständiger Code

using System;

namespace Namespace {
   class Program {
      static void Main( String[] args ) {
        Func<String> f = () => {
            var s = "i´\u009aM6³E¤òi°ÚÍF\u009bM\"Ói6\u009au\u000e\u0093\u008d¤åK´\u009am&qѦRé´Òi\u0096¥i¤Õ«\u0014ò5¦\u0093O\"òm4\u009am4\u009bC¦qibÚLô\u0093ÉÆÓ)6\u0092í&[I6\u009ci±ÆÃ\u0096\u0093M¬Ì;0ÜÇ\nÛPæ\u009bI4Úe*ñY*×).\\i6cY¢ÒÍ4ºer\u009bIbÖiÐËY¦³E§\nÍ6ÒO\u0018­rÊV;";
            var o = "";

            foreach( var c in s )
                foreach( var b in Convert.ToString( c, 2 ).PadLeft( 8, '0' ) )
                    o += (char) ( 43 + ( 49 - (int) b ) * 2 );

            return o;
        };

        Console.WriteLine( $" Input: <none>\nOutput: {f()}\n" );

        Console.ReadLine();
      }
   }
}

Releases

  • v1.0 - 385 bytes- Anfangslösung.

Anmerkungen

  • Keiner

0

05AB1E , 149 Bytes

•19GÈRÕŸ
pт6½÷Ü;вVåΔĀÈ₄¤Ü³Aʒм5[¦PŠÅøœ^‚₆賦ìóV“LÛ'ßq;αÎΩªî»(2∍©däf×5 V5Ú”gÜ/\^(Ã∊Ƶ!3šÍ3°(§A΄ǝ₂È₅ç£6óàÖCsa*zƒÚ¥Î\ªD¹,n∊ðˆ.ëçPαǝƒ.É∍¯ü₂³Λ‘g∍Θþ“‚œΔи‹•b

Super langweilig. Nur eine komprimierte Zahl. Verwendet 1für -und 0für+ .

Probieren Sie es online!


0

PHP, 276 Bytes

<?=gzinflate(base64_decode("dVJRFgMgCDoQj/tfb2+boqj9VJohQgQI8rv+D1yHuIIytGLsYh6vwAlYIMS62mVCiWMm56vfHiGOuTwjiMHQEC7OVlkNzzK0LZFTN8l0gavGdX4wOfJDsZpXZS0csig0l13wEsoRlvKzhYHMv+F9MnxaCXHWrC2Kx4UqQ8o4qmgNcsjbzA5lZG7LE6LdNMlt2sRKFpNhk/sL59N6DSMKp4No7vP2QcP0c2XWb6nPblqYfJBfHw=="));

Probieren Sie es online!


0

Ruby , 245 Bytes

puts"%b"%"28x0lphxjx8ze4uuhtdzo0oebr25amtmuxm62cbit0ibdwjm2sf50clh2ejq0a73ndseo5tove8uqca6nf66bo4abbkg867woh2b435at0o3pddvqmsqp29b6as5bd4eo28xgwkkj607gp66icba1q4n9fc13dltp45j340mpzbc56wsrbb3oejnczsbzfgh82xdi8aku8m4wlmwuxkgy4yaew7pu4p1g".to_i(36)

Ausgang 0 für + und 1 für -.

Probieren Sie es online!


0

Perl, 164 Bytes

print unpack'b*','-Y²lÍ¢%O
[³bÙ²DËlY®pɱ%§Ò-Y¶deJ-Ki¥%«Õ(O¬eÉòDO¶,Y¶,ÙÂeF[2/ÉcËlI·dÚl9cÃiɲ53Ü;ãPÛ
gÙ,[¦TTët:lÆEK³,]¦NÙFkÓeÍ¢åP³lKòµNSjÜ'

Hexdump:

00000000: 7072 696e 7420 756e 7061 636b 2762 2a27  print unpack'b*'
00000010: 2c27 962d 59b2 6ccd a225 4f96 0d5b b362  ,'.-Y.l..%O..[.b
00000020: d9b2 44cb 966c 59ae 70c9 b125 a7d2 2d59  ..D..lY.p..%..-Y
00000030: b664 8e8b 654a 972d 4b96 69a5 9625 abd5  .d..eJ.-K.i..%..
00000040: 284f ac65 c9f2 444f b62c 59b6 2cd9 c265  (O.e..DO.,Y.,..e
00000050: 8e96 465b 322f c993 63cb 946c 49b7 64da  ..F[2/..c..lI.d.
00000060: 926c 3996 8d63 c369 c9b2 3533 dc0c 3be3  .l9..c.i..53..;.
00000070: 50db 0a67 d992 2c5b a654 8f9a 54eb 9474  P..g..,[.T..T..t
00000080: 3a96 6cc6 9a45 4bb3 2c5d a64e d992 466b  :.l..EK.,].N..Fk
00000090: 960b d39a 65cd a2e5 50b3 6c4b f218 b54e  ....e...P.lK...N
000000a0: 536a dc27                                Sj.'

Die naheliegende, langweilige Lösung: Setzen Sie einfach alle Bits in eine Binärzeichenfolge, 8 Bits pro Byte. Verwendet 0 für - und 1 für +. Ich werde versuchen, dies etwas mehr zu golfen.


0

Retina , 333 Bytes


ADG-RMCGHQFDLEM+-FAG-CADGPAKBBLHBCH-EGHJBORGEH-HB-FJOBPRCA+JAG-A+A+NJHQLIB-R+Q-OQPRAGP-HBEH-CGNCDGEH+BCCHQH-PDJCEGOGECDGCPK-FNH-EDLHCRIEELHDELEKE-HLJDDA+LHFGCFADJJBK+-JDCJBI+JCOOLGEDELMCGNAGKBEJKJEGCNCIF+BLECMMCAKLJDFDGCH+-E-JIQDJJNHD¶
R
GF
Q
+C
P
EA
O
CK
N
D-
M
I-A
L
--
K
D+
J
CB
I
A++
H
E+
G
AB
F
-AD
E
C+
D
B+
C
-B
B
-+
A
-++-+-

Probieren Sie es online!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.