Drucken Sie das griechische Alphabet!


11

Ziemlich offensichtlich muss man das griechische Alphabet drucken. Aber ich dachte, ich würde es etwas interessanter machen, also gibt es eine Wendung: Wenn Ihr Programm mit einem Argument (irgendetwas) ausgeführt wird, sollte es das griechische Alphabet in Kleinbuchstaben ausgeben.

Information

  1. Griechisches Alphabet (Hauptstädte): ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ
  2. Griechisches Alphabet (Kleinbuchstaben): αβγδεζηθικλμνξοπρστυφχψω

Regeln / Anforderungen

  • Jede Einreichung muss ein vollständiges Programm sein.
  • Builtins zum Drucken des griechischen Alphabets sind nicht gestattet
  • Es gelten Standardlücken
  • Sie müssen genau das drucken, was angezeigt wird.

Wertung

Programme werden nach Bytes bewertet. Wenn Sie einen anderen Zeichensatz als UTF-8 verwenden, geben Sie dies bitte an. Versuchen Sie, die geringsten Bytes aus allen herauszuholen, das ist !

Testfälle

./program
==> ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ

./program 1
==> αβγδεζηθικλμνξοπρστυφχψω

./program 'lower'
==> αβγδεζηθικλμνξοπρστυφχψω

./program 123897883421
==> αβγδεζηθικλμνξοπρστυφχψω

./program ""
==> αβγδεζηθικλμνξοπρστυφχψω

greek();
==> ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ

greek("blah");
==> αβγδεζηθικλμνξοπρστυφχψω

greek(123);
==> αβγδεζηθικλμνξοπρστυφχψω

Einsendungen

Um sicherzustellen, dass Ihre Antwort angezeigt wird, beginnen Sie Ihre Antwort mit einer Überschrift unter Verwendung der folgenden Markdown-Vorlage:

# Language Name, N bytes

Wo Nist die Größe Ihrer Einreichung? Wenn Sie Ihren Score zu verbessern, Sie können alte Rechnungen in der Überschrift halten, indem man sich durch das Anschlagen. Zum Beispiel:

# Ruby, <s>104</s> <s>101</s> 96 bytes

Wenn Sie dort mehrere Zahlen in Ihre Kopfzeile aufnehmen möchten (z. B. weil Ihre Punktzahl die Summe von zwei Dateien ist oder Sie die Strafen für Dolmetscherflaggen separat auflisten möchten), stellen Sie sicher, dass die tatsächliche Punktzahl die letzte Zahl in der Kopfzeile ist:

# Perl, 43 + 2 (-p flag) = 45 bytes

Sie können den Sprachnamen auch zu einem Link machen, der dann im Leaderboard-Snippet angezeigt wird:

# [><>](http://esolangs.org/wiki/Fish), 121 bytes

Bestenliste

Hier ist ein Stack-Snippet, mit dem Sie sowohl eine regelmäßige Rangliste als auch eine Übersicht der Gewinner nach Sprache erstellen können.


5
Zählt eine leere Zeichenfolge als Argument oder ohne Argument? Bitte verwenden Sie die Sandbox , um Feedback zu erhalten, bevor Sie eine Herausforderung auf der Hauptseite veröffentlichen.
Mego


2
Wird das Argument immer ein Argument sein oder kann es zwei oder mehr Argumente geben?
Erik der Outgolfer

1
Kritixi genehmigt die Herausforderung.
user41805

4
Ich bin ein bisschen verwirrt von Ihren letzten drei Testfällen; Sie sehen aus wie Funktionsaufrufe, doch die Regeln verlangen ausdrücklich ein vollständiges Programm.
Dennis

Antworten:


7

05AB1E , 16 Bytes

Verwendet die CP-1252- Codierung.

24Ý17K913+çJDl¹s

Probieren Sie es online aus!

Erläuterung

24Ý               # push range [0 ... 24]
   17K            # remove 17
      913+        # add 913 to each
          ç       # convert from code point
           J      # join to string
            Dl    # push a lowercase copy
              ¹   # push the input
               s  # swap the top 2 elements of the stack
                  # implicitly display the top of the stack

Meinten Sie [0 ... 23]oder [0, 24)anstelle von [0 ... 24]oder [0, 24]?
Erik der Outgolfer

1
@EriktheGolfer Es gibt ein weiteres Zeichen zwischen dem Bereich der griechischen Alphabet-Codepunkte.
Jimmy23013

@ Jimmy23013 Oh richtig, ich war wirklich verwirrt. Ich arbeite es in einer anderen Sprache, die ich hier nicht erzählen werde. Ich bin jetzt dazu verpflichtet.
Erik der Outgolfer

7

Ruby, 56 Bytes

Volles Programm. Ich denke nicht, dass eine Funktions- / Lambda-Antwort für diese Sprache kürzer sein wird.

Dangit, Sigma ς. Deshalb können wir keine schönen Dinge haben. Und Sie auch (nicht renderndes Zeichen, das als Platzhalter für "Großbuchstaben" dient ς)

print *($*[0]?([*?α..?ω]-[?ς]):[*?Α..?Ρ,*?Σ..?Ω])

6
Ich denke, dies druckt ein zusätzliches Sigma in Kleinbuchstaben, ς
Angs

1
Dies druckt jetzt ein zusätzliches U + 03A2.
LegionMammal978

5

JavaScript (ES6), 89 83 81 Byte

(...a)=>String.fromCharCode(...[...Array(24)].map((_,i)=>i*1.06+913+32*a.length))

Wenn ein Zeichenarray akzeptabel ist, gilt für 82 80 78 Byte:

(...a)=>[...Array(24)].map((_,i)=>String.fromCharCode(i*1.06+913+32*a.length))

Bearbeiten: Dank @ETHproductions wurden einige Bytes gespeichert.


Die Verwendung String.fromCharCode(...array)ist wieder kürzer:(...a)=>String.fromCharCode(...[...Array(24)].map((_,i)=>i+(i>16)+913+32*!!a.length))
ETHproductions

1
Und seit String.fromCharCodeEtagen können Sie zwei weitere Bytes wie (...a)=>String.fromCharCode(...[...Array(24)].map((_,i)=>i*1.06+913+32*!!a.length))
folgt

@ETHproductions Ich kann nicht glauben, dass ich vergessen habe, es zu benutzen, String.fromCharCode(...)aber ich mag diesen i*1.06Trick! Leider ist das Verständnis dieses Mal ein Byte länger, soweit ich das beurteilen kann.
Neil

Ich habe es geschafft, es auf (...a)=>String.fromCharCode(...[for(_ of Array(i=24))i++*42/41+889+32*!!a.length])(82) zu bringen.
ETHproductions

Sie können das entfernen !!, da es nur null oder eins Argumente gibt.
ETHproductions

4

Haskell, 114 108 Bytes

import System.Environment
q[a,b]=[a..b]
f[]=q"ΑΡ"++q"ΣΩ"
f _=q"αρ"++q"σω"
main=f<$>getArgs>>=putStr

Vielen Dank an @xnor für das Speichern von 6 Bytes

Dies könnte in der Kategorie der längsten Importe gewinnen, wenn nichts anderes…


Es sieht so aus, als ob es sich lohnt, q[a,b]=[a..b]4-mal zu definieren .
xnor

1
getArgs>>=putStr.fist kürzer.
Ørjan Johansen


3

Pyke, 55 21 20 Bytes

24Fi16>913s.C)sz!hAl

Probieren Sie es hier aus!

24F          )       -   for i in range(24):
   i16>              -       i > 16
       913s          -      sum(i, ^, 913)
           .C        -     chr(^)
              s      -  sum(^) - created uppercase alphabet
                  Al - [len, lower, upper][V](^)
                 h   -  V + 1
               z!    -   not input()

2

Eigentlich 62 Bytes

 "$ù"E"ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ"@ƒ.X

Probieren Sie es online aus!

Da ein Teil des griechischen Großbuchstabens in CP437 nicht vorhanden ist, wird diese Lösung in UTF-8 codiert und entsprechend bewertet. Hier ist ein Hexdump (reversibel mit xxd -r):

00000000: 2022 24c3 b922 4522 ce91 ce92 ce93 ce94   "$.."E"........
00000010: ce95 ce96 ce97 ce98 ce99 ce9a ce9b ce9c  ................
00000020: ce9d ce9e ce9f cea0 cea1 cea3 cea4 cea5  ................
00000030: cea6 cea7 cea8 cea9 2240 c692 2e58 0a    ........"@...X.

Erläuterung:

 "$ù"E"ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ"@ƒ.X
<space>                               push the number of items present on the stack
 `$ù`E                                select `ù` (lowercase) if the number of items is not 0, else `$` (stringify - does nothing to a string)
      "ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ"      push the uppercase Greek alphabet
                                @ƒ    call the selected function
                                  .   print
                                   X  discard

2

Python 3, 80 77 76 Bytes

import sys;a='ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ';print([a,a.lower()][-len(sys.argv)])

Alte Version:

import sys;a='ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ';print([a,a.lower()][len(sys.argv)-1])

Ältere Version:

import sys;a='ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ';print(a.lower()if len(sys.argv)>1else a)

[a,a.lower()][len(sys.argv)-1]weil die Kommentare besagen, dass es immer nur ein Argument geben wird.
Wert Tinte

Sie können ein weiteres Byte mit rasieren [a.lower(),a][-len(sys.argv)].
Toriningen

2
Welche Codierung verwenden Sie, dass dies 76 Bytes sind?
AdmBorkBork


2

R, 104 99 92 Bytes

g=function(x)for(i in sprintf("'\\u%04X'",913:937+32*!missing(x))[-18])cat(eval(parse(t=i)))

Golfen auf der zweiten Version, die ich vorher hatte. Arbeiten Sie genauso wie in der vorherigen Version.

Vielen Dank an @JDL für das Rasieren von 7 Bytes!

Alte Versionen mit 104 Bytes:

Ich habe zwei verschiedene Lösungen mit der gleichen Byteanzahl:

f=function(x){a="ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ";cat(if(missing(x))a else tolower(a))}

Oder:

g=function(x)for(i in sprintf("'\\u%04X'",if(missing(x))913:937 else 945:969)[-18])cat(eval(parse(t=i)))

Erklärungen:

#First one is trivial
f=function(x){
     a="ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ" #String to print
     #If argument missing, print uppercase else lowercase 
     cat(if(missing(x))a else tolower(a)) 
     }
#Second one more interesting:
g=function(x)
     #Create escaped unicode strings (i. e. "'\\u03B1'" etc.), loop over them...
     for(i in sprintf("'\\u%04X'",if(missing(x))913:937 else 945:969)[-18])
          #...eval the strings
          cat(eval(parse(t=i))) 

Verwendungszweck:

> f()
ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ
> g()
ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ
> f(1)
αβγδεζηθικλμνξοπρστυφχψω
> g(1)
αβγδεζηθικλμνξοπρστυφχψω
> f("a")
αβγδεζηθικλμνξοπρστυφχψω
> g("a")
αβγδεζηθικλμνξοπρστυφχψω

Aus bestimmten Gründen funktioniert es nicht mit R-Fiddle (es ändert "sich 'standardmäßig in, wodurch der Code einen Fehler auslöst ), aber Sie können es auf Ideone ausprobieren .


Ersetzen +'if'(missing(x),0,32)durch +32*!missing(x)?
JDL

@ JDL Danke! Ich weiß nicht, warum ich nicht daran gedacht habe.
Planapus

2

Japt , 21 19 Bytes

;Ck"rz" c+816+32*NÊ

Test it (keine Eingabe)
Test it (leere String-Eingabe)


Erläuterung

      :Implicit input.
;C    :The lowercase alphabet.
k"rz" :Remove r & z.
c+    :Map over the charcodes of the string and add...
816+  :    816 plus...
32*NÊ :    32 multiplied by the length of the array of input variables; 0 if no input is supplied, 1 if a single input is supplied.
      :Implicit output of resulting string

1

Scala, 82 Bytes

print((('Α'to'Ρ')++('Σ'to'Ω')).mkString.map(& =>if(args.size<1)&else&toLower))

Ungolfed:

print((('Α'to'Ρ')++('Σ'to'Ω')).mkString.map(s=>if(args.size==0)s else s.toLower))

Leider (('Α'to'Ρ')++('Σ'to'Ω'))ist eine Vector[Char], die als gedruckte werden würde Vector('Α', 'Β', ..., so dass es in einen String mit umgewandelt werden muss , mkStringum .Das Argument mapaufgerufen &Räume zwischen zu speichern &else, else&und & toLower.


1

Gelee , 21 Bytes

,⁸Ea32µ24R%18T+912+µỌ

Ein vollständiges Programm

TryItOnline! - Beachten Sie, dass nach dem Ausführen mit einem Argument eine Aktualisierung erforderlich ist, um ohne Argument ausgeführt zu werden.

Wie?

,⁸Ea32µ24R%18T+912+µỌ - Main link
,⁸                    - pair (,) with left argument (defaults: left=0, ⁸=[])
                            no argument: [0,[]]
                               argument: [argument,argument]
  E                   - all items equal? -> no argument: 0; argument: 1
   a32                - and 32           -> no argument: 0; argument: 32
      µ               - monadic chain separation
       24R            - range(25)        -> [  1,  2,  3,..., 17, 18, 19,..., 25]
          %18         - mod 18           -> [  1,  1,  1,...,  1,  0,  1,...,  1]
             T        - truthy indices   -> [  1,  2,  3,..., 17,     19,..., 25]
              +912    - add 912          -> [913,914,915,...,929,    931,...,937]
                  +   - add the 0 or 32 (lowercase letters are 32 code points higher)
                   µ  - monadic chain separation
                    Ọ - cast to ordinals

1

PowerShell v2 +, 68 Byte

(($a=-join([char[]](913..929+931..937))).toLower(),$a)[!$args.count]

Nur ASCII, aber Ausgabe in UTF-16. Konstruiert ein charArray der entsprechenden Zeichen, setzt -joines zu einer Zeichenfolge zusammen und speichert es in $a. Verwendet dann !$args.countals Index in das Tupel, um entweder auszugeben, $awenn keine Argumente vorhanden sind oder $a.ToLower()wenn mindestens ein Argument vorhanden ist.

PS C:\Tools\Scripts\golfing> .\print-the-greek-alphabet.ps1
ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ

PS C:\Tools\Scripts\golfing> .\print-the-greek-alphabet.ps1 ''
αβγδεζηθικλμνξοπρστυφχψω

1

PHP, 84 Bytes

Online Version

<?=($argc<2?trim:mb_strtolower)("ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ");

PHP, 87 Bytes

$s="ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ";echo$argc>1?mb_strtolower($s):$s;

gotcha . Du scheinst irgendwie abwesend zu sein. $argc>1ist 8 Bytes kürzer als isset($argv[1])und benötigt kein Leerzeichen.
Titus

1

APL (Dyalog Extended) , 26 Bytes

Der normale Weg, mehrere Argumente an APL-Programme zu übergeben, ist eine Liste. Dieses Programm fordert Sie daher zur Eingabe einer solchen Liste auf, die 0 oder 1 Argumente enthalten kann.

'ς΢'~⍨⍳'Ω'×~≢⎕

Probieren Sie es online aus!

 Eingabeaufforderung für die Argumentliste

 Zählen Sie die Anzahl der Argumente (0 oder 1).

~ negiere das (1 oder 0)

'Ω'× Omega damit "multiplizieren" (1 hält Großbuchstaben, 0 Falten in Kleinbuchstaben)

 Alle Zeichen aus Α- Ωoder α- ωjeweils

'ς΢'~⍨ Entfernen Sie die letzten Sigmen in Kleinbuchstaben und "Großbuchstaben"


0

Python 2, 108 Bytes

#coding=iso-8859-7
import sys;print'αβγδεζηθικλμνξοπρστυφχψω'if~-len(sys.argv)else'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ'

Schrecklich Golf, vielleicht :(

Und nein, ich kann nicht verwenden A.lower().

Vielen Dank an 13285 (alexwlchan) für -11 Bytes.


Dies ist die Golfversion, die ich machen kann.
Erik der Outgolfer

Sie können 8 Bytes sparen, indem Sie die Zuweisung überspringen A,aund diese Zeichenfolgen direkt in der verwenden print.
Alexwlchan

@alexwlchan Richtig, ich habe einfach nicht daran gedacht ... aber immer noch furchtbar Golf gespielt.
Erik der Outgolfer

0

Mathematica, 91 Bytes

Print@{#&,ToLowerCase}[[Length@$ScriptCommandLine]][""<>"Α"~CharacterRange~"Ω"~Drop~{18}]

Skript. Nimmt einfach den Zeichenbereich von Αbis Ω, entfernt U + 03A2 / ς, konvertiert entweder in Kleinbuchstaben oder nicht und druckt.


0

Perl, 39 + 3 ( -C2Flag) = 44 42 Bytes

 perl -C2 -E 'say map{chr$_+954-!@ARGV*32}-9..7,9..15'

0

JavaScript, 95 Bytes

95 Bytes, aber nur 71 Zeichen. Bytezähler . Verwenden Sie die Methode von @Neil, um festzustellen, ob Argumente übergeben werden.

(...a)=>'ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ'[`to${a.length?'Low':'Upp'}erCase`]()

0

Java 7, 176 Bytes

class M{public static void main(String[]a){System.out.print(a.length>0?"αβγδεζηθικλμνξοπρστυφχψω":"ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ");}}

Java 8, 173 Bytes

interface M{static void main(String[]a){System.out.print(a.length>0?"αβγδεζηθικλμνξοπρστυφχψω":"ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ");}}

0

Groovy Script, 54 51 Bytes

((913..937)-930).each{print((char)(args?it+32:it))}

Bearbeiten

Umgeschaltet von 913..937und it==930?:nach(913..937)-930


Kann mir jemand erklären, warum meine Antwort abgelehnt wurde? Hat es gegen Regeln verstoßen?
Victor A.

0

Python 3, 80 Bytes

import sys;print(''.join(chr(x+881+len(sys.argv)*32)for x in range(25)if x!=17))

0

C #, 174 Bytes

Lazy Implementierung, kann es wahrscheinlich viel Golf spielen

class P{static void main(string[] a){System.Console.Write(a.Length>0?"αβγδεζηθικλμνξοπρστυφχψω":"ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ");}}

0

PHP, 79 Bytes

for($i=944-32*!--$argc;$i++-9&31;$i+=$i%32==1)echo html_entity_decode("&#$i;");

generiert Unicode-HTML-Entitäten und dekodiert sie. Laufen Sie mit -r.


0

Pip , 21 20 Bytes

C:913+32*#g+Y,24RM17

Dies ist ein unvergesslicher Tag. Pip hat tied geschlagen Jelly! 1

1 Und gegen zwei andere Golflangs verloren, aber was auch immer.

Probieren Sie es online aus!

Erläuterung

             ,25      Numbers 0 through 24
                RM17  Remove 17 (ς)
            Y         Yank (to get correct order of operations)
  913                 Char code of capital alpha
      32*#g           32 times number of cmdline args (must be 0 or 1)
     +     +          Add everything up
C:                    Convert to characters (using the compute-and-assign metaoperator to
                        lower the precedence of C)

0

tcl, 73

 puts [expr $argc>0?"αβγδεζηθικλμνξοπρστυφχψω":"ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ"]

Demo



0

Braingolf , 24 Bytes

l?#α:#Α|# 9->[.!@ 1+];

Probieren Sie es online aus!

Erläuterung:

l?#α:#Α|# 9->[.!@ 1+];  Implicit input of args to stack
l                       Push length of stack
 ?                      If last item (length) is != 0..
  #α                    ..Push lowercase alpha
    :                   else
     #Α                 ..Push uppercase alpha
       |                endif
        #<space>        Push 32 (ordinal of a space)
          9-            Subtract 9 (23)
            >           Move last item to start of stack
             [......]   Do-While loop, will run 24 times
              .         Duplicate last item
               !@       Print without popping
                  1     Push 1
                   +    Pop last 2 items (1 and duplicate) and push sum
                     ;  Suppress implicit output


-1

Perl unter Windows - Konsole hat keine Unicode-Unterstützung - (42 Bytes, einschließlich Leerzeichen)

Dies ist nicht meine Lösung, ich passe lediglich die Perl-Lösung von Denis Ibaev oben an die Windows-Konsole Perl an.

perl -E"say map{chr$_+151-!@ARGV*24}1..24"
ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ
$ perl -E"say map{chr$_+151-!@ARGV*24}1..24" with one or many arguments
αβγδεζηθικλμνξοπρσςτυφχψ

Der Code der Konsolenseite muss natürlich griechisch sein:

chcp 737

HINWEIS: Nur eine kleine Idee. Auf dieser Seite kann ich sehen, dass einige der Antworten CHARACTERS verwenden, die anscheinend über 255 Unicode waren. Daher benötigen diese Zeichen mindestens 2 Byte für den Code (möglicherweise 4, wenn eine Konsole mit 32-Bit-Unicode-Zeichen verwendet wird?). Wäre es nicht besser, wenn die Wettbewerbsmaßnahme die CHARACTER-Einheit (Unicode oder ASCII oder EBCDIC oder was auch immer) wäre und nicht nur BYTES? Wäre es nicht einfacher und einheitlicher (frage mich, ob dieses Adjektiv auf Englisch existiert, "unificateur" auf Französisch)?


Vorheriger fehlerhafter Code: Druckt kein Omega in Kleinbuchstaben.

Korrigierter Code (70 Zeichen):

perl -E"$i=!@ARGV+0;@a=73;pop@a if$i;say map{chr$_+151-$i*24}1..24,@a"
ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩ
perl -E"$i=!@ARGV+0;@a=73;pop@a if$i;say map{chr$_+151-$i*24}1..24,@a" foo
αβγδεζηθικλμνξοπρσςτυφχψω

Ich weiß, dass wir nicht die Sigma-Form "Wortende" ("ς") drucken sollen, aber da es im Altgriechischen ein Rechtschreibfehler ist, reguläres Sigma ("σ") am Ende eines Kleinbuchstaben zu verwenden, Ich entscheide mich, es zu drucken, da der Titel dieses Puzzles "Print the Greek alphabet" ist und dass dieses Zeichen Teil davon ist ...

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.