Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro für Modulo großer(16 stellige) Zahlen

Makro für Modulo großer(16 stellige) Zahlen
07.09.2018 23:15:25
alifa
Hallo,
wie kann man mit einem Makro Mod 2, Mod 3..bis Mod 16 einer 16 stelligen Zahl prüfen? Wie prüft man ob die ersten 14 Ziffern der Zahl mit 13 restlos teilbar ist? Das Problem ist die Größe der Zahl.
Danke in Voraus, alifa
Anzeige

43
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro für Modulo großer(16 stellige) Zahlen
07.09.2018 23:43:10
daniel
Hi
bei Zahlen, die zu groß für die Funktion MOD sind, aber noch innerhalb der Genauigkeitsgrenzen von Excel liegen (15 Stellen) kannst du so prüfen, ob eine Zahl x durch y teilbar ist:
If (x/y) = INT(x/y) Then
den Rest berechnest du dann so
... = x - y * Int(x/y)

sollte die Anzahl der Stellen die 15 überschreiten, aber kleiner gleich 20 sein (wobei ich mir da nicht genau sicher bin, wo die grenze liegt) könntest du dir noch mit der Funktion CDec behelfen:
dim x as Variant
x = CDec("1234567890123456")
if (x / 13) = int(x / 13) then
msgbox "Durch 13 teilbar"
Else
msgbox "nicht durch 13 teilbar"
end if
die ersten 14 Stellen einer Zahl bekommst du so:
=CDbl(Left(Format(x, "0"), 14))

Gruß Daniel
Anzeige
AW: Makro für Modulo großer(16 stellige) Zahlen
08.09.2018 00:00:46
daniel
habs noch mal getestet, das CDec funtioniert bis 29 Stellen, das sollte für deine Zwecke ausreichen.
Gruß Daniel
AW: Makro für Modulo großer(16 stellige) Zahlen
08.09.2018 10:02:48
alifa
Danke für die Hilfe. Wieder mal klar und deutlich!
Gruß, alifa
Das ist schon der richtige Ansatz, ...
08.09.2018 03:38:38
Luc:-?
…Daniel (& Erhard),
allerdings kann die Xl-Fkt MOD (REST) bis zu 14stellige Zahlen verarbeiten, der vbOperator Mod kann ebenso wie VBAs Operator \ (ganzzahlige Division) nur maximal 10stellige Zahlen divi­die­ren, sonst kommt es zum Über­lauf. Der vbOperator / kommt mit größe­ren Zahlen zurecht, weshalb er hier angewendet wdn muss. Die vbFktt Int und Fix können die dann auch zu Ganzzahlen machen, wobei letztere angeraten ist, wenn man auch für negative Dividenden ein Ergebnis analog der vbFkt Mod erzielen will. Mit Int ent­spricht das Ergebnis in diesem Fall eher dem der XlFkt. In manchen PgmmierSprachen wird deshalb zwischen modulo (mathemat mod) und remainder unterschieden, ansonsten steht mod mal für das Eine, mal das Andere. Mod in Basic-Dialekten (auch VBA) entspricht dabei rem, die Xl-Fkt (math) mod.
Mit der vbFkt CDec wird der nicht-deklarierbare Datentyp Decimal erzeugt. Da dann auch der UDF-Rückgabewert decimal ist, bleibt ein temporäres Negativ-Vorzeichen erhalten, so dass nachfolgd UDF (Trivial-Version) bei Anwendung in einer ZellFml ggf -0 (rote Null) liefert, was dann von Xl nicht als =0 (schwarze Null) gewertet wird. Im VBE wird dieser Unterschied nicht sichtbar. Mit CLng bzw Deklarierung der UDF As Long wird das vermieden:
Function xMod(Dividend, Divisor)
Dim dd, dv As Variant
dd = CDec(Dividend): dv = CDec(Divisor)
xMod = CLng(dd - dv * Fix(dd / dv))
End Function
Eine ZellFml sähe dann so aus: =xMod(A1;16) für eine (16stellige) TextZahl in A1 (remainder 16).
Die mögliche Länge einer der UDF übergebenen TextZahl liegt übrigens über 20 (mind 22). ;-)
🙈 🙉 🙊 🐵 Morhn, Luc :-?
„Die Intelligenzmenge ist auf diesem Planeten eine Konstante, die Bevölkerung nimmt aber zu!“ Auch deshalb informieren mit …
Anzeige
Ah-ja, sah ich leider erst jetzt! ;-) owT
08.09.2018 03:42:12
Luc:-?
:-?
... beim Eierkauf...
08.09.2018 03:58:09
Augen
:-)
Hatte nach 23h m.keiner Präzisierg gerechnet!
08.09.2018 14:49:26
Luc:-?
Du etwa (mit Eiern)…‽ ;-]
Luc :-?
Anzeige
AW: RPP63
08.09.2018 09:48:46
Fennek
Hallo,
RPP63 hat diesen Code entwickelt:

RPP63
Function BigModulo&(Basis&, Exponent&, ModOp&)
Dim i&
BigModulo = 1
For i = 1 To Exponent
  BigModulo = (BigModulo * Basis) Mod ModOp
Next
End Function
Bei Bedarf kann ich auch ein xlsx mit dem Formel-Äquivalent hochladen.
mfg
Anzeige
An einen Bedarf Alifas glaube ich eher nicht, ...
08.09.2018 18:00:06
Luc:-?
…Fennek,
er hat sich ja auch nicht für meine Ausführungen interessiert, die aber auch eher an die Allgemeinheit (& Daniel) gerichtet waren und Erhard wohl ohnehin kaum verstanden haben wird… ;-]
Bei Ralfs UDF ist aber nicht ganz klar, wie die Argumentierung ausfallen soll. Auch die Deklarierung aller Argumente als Long deutet eher auf eine FallStudie (bzw TeilLösung), weniger auf eine praktische Anwendbarkeit auf das Problem überlanger Zahlen hin und Mod ist nun mal auf 10stellige Zahlen, BigModulo wohl gar auf 9stellige, begrenzt. In diesem Zusammenhang könnte ein/e Anwen­dungs­Bsp/-Beschreibung hilfreich sein, um den eigentl Zweck besser verstehen zu können.
Nachtrag zu Decimal:
Daniel hätte nicht testen müssen, denn in der VBE-Hilfe steht's ja (29 Stellen ist zu simpel!):
Ein Datentyp, der Zahlen als Potenzen zur Basis 10 enthält. Für Zahlen ohne Nachkommastellen liegt der Wertebereich innerhalb ±79 228 162 514 264 337 593 543 950 335. Für Zahlen mit 28 Nachkommastellen liegt der Wertebereich innerhalb ±7,9228162514264337593543950335. Die kleinste positive Zahl mit einem Wert ungleich Null, die als Wert vom Typ Decimal dargestellt werden kann, ist 0,0000000000000000000000000001. (Ergänzung von mir)
Gruß, Luc :-?
Anzeige
AW: An einen Bedarf Alifas glaube ich eher nicht, ...
08.09.2018 19:49:23
Daniel
Hi Luc
warum schreibst du deine Beiträge für Menschen, die das momentan nicht intressiert (die Allgemeinheit) und nicht für denjenigen, der das Problem aktuell hat?
Gruß Daniel
AW: Wollte sich doch nur entschuldigen, weil er ..
08.09.2018 20:22:37
Gerd
Hi
.. nicht alle Beiträge gelesen hatte. :-)
Gruß Gerd
Was soll die blöde Bemerkung, ...
09.09.2018 02:40:08
Luc:-?
Daniel?
Ist dir nicht aufgefallen, dass Erhard alias alifa meine AW nicht mal erwähnt hat? Das hatte ich allerdings auch nicht unbedingt erwartet (kenn ich schon)! Deshalb hatte ich auch primär dich angesprochen, denn du hattest ja decimal ins Spiel gebracht. Und der BT, den du nun unbedingt sachfremd kommentieren musstest, war an Fennek (bzgl Ralfs UDF) gerichtet und du nur nebenbei erwähnt… :-]
Im Übrigen solltest du ja wissen, dass es hier mehr stille Mitleser als Fragesteller gibt. In Foren wie OL wird das dank KlickZählern auch deutlich…
Und was das „Entschuldigen“ betrifft, Gerd,
bezog sich der betreffende obere Beitrag nur auf Daniels Nachtrag mit den 29 Stellen. Nur den hatte ich noch nicht gesehen als ich meinen 1.BT gesendet habe.
Morhn, Luc :-?
Anzeige
AW: Was soll die blöde Bemerkung, ...
09.09.2018 11:12:32
Daniel
warum sollte alifa deinen Beitrag erwähnen?
du hast ja explizit mich angesprochen und nicht ihn.
Warum nennst du ihn eigentlich Erhard?
Wäre es für dich ok, wenn hier jemand statt luc deinen Realnamen verwenden würde?
Du bist doch ein Anhänger von Vornamen, ...
09.09.2018 14:01:32
Vornamen,
…Daniel,
sogar nicht nur in der GrußFormel… :-]
Ansonsten ist die Alifa-Geschichte schon alt und deshalb kenne ich den, ebenso wie bspw deinen Nachnamen oder den echten von Rudi M.
Und mein NickName ist ja nun fast mit der Kurzform meines echten Vornamens identisch, nur etwas anders geschrieben… ;-)
Luc :-?
Anzeige
AW: Du bist doch ein Anhänger von Vornamen, ...
09.09.2018 14:14:26
Vornamen,
ich bin ein Anhänger davon, jeden Menschen so anzusprechen, wie er sich das wünscht, dh mit dem Namen, den er selbst für sich verwendet.
Das las sich schon mal anders...! owT
09.09.2018 15:28:41
Luc:-?
:-?
dann hast du das damals falsch interpretiert
09.09.2018 15:51:19
Daniel
Anzeige
weil ich mich damals vielleicht einfach auf
09.09.2018 16:05:04
Daniel
die Forums-FAQ bezogen habe in welcher steht, dass NicNames nicht erwünscht sind.
Aber nur in der Grußformel und Anrede! owT
10.09.2018 02:08:11
Luc:-?
:-?
das kann ich so aus der FAQ nicht herauslesen
10.09.2018 15:50:36
Daniel
die macht da keinen Unterscheid zwischen Anrede und Nickname.
btw. in Foren, die einen eindeutigen Nicknamen verlangen, meldest du dich ja gar nicht erst an.
ansonsten ist es einfach eine Frage er Höflichkeit und Respekts, den Namen zu verwenden, den sein Gegenüber sich ausgesucht hat.
Anzeige
Erst wenn dieser (zweckmäßig) 1-deutige Nickname …
10.09.2018 19:37:57
Luc:-?
…anstelle eines in den FAQ geforderten Vornamens auch in der Kommunikation gebraucht wird, wäre das ein Verstoß gg den Sinn des folgd FAQ-Zitats: „Nenne Deinen Vornamen, damit man Dich ansprechen kann.“ Es könnte ja auch (irgend-)ein Vorname sein, nicht etwa sowas wie rumpelstilzchen23!
Und da alifa den schon mal diesbzgl verwendet hatte, konnte ich ihn auch benutzen, ganz im Sinne der FAQ-Forderung zur Kom­mu­ni­kation untereinander… :-]
Ein Nickname unter Name dient dagg als eindeutiger Ersatz des vollen Namens, ganz im Sinne der DSGVO, die hier Vorrang haben muss, auch, wenn das für einen am Buchstaben Klebenden nicht eindeutig zu sein scheint. Die Praxis ist hier und anderswo schon lange so…
Woher willst du übrigens wissen, dass ich anderswo nicht auch angemeldet bin? Nur, weil ich, falls dort möglich, das kaum nutze?
Luc :-?
Anzeige
AW: Nicki Lauda
10.09.2018 19:45:29
Gerd
Hi Luc,
bist du nur im Clever-Forum gesperrt gewesen oder auch bei Online-Excel?
Gruß Gerd
OT: Offiziell nur im CEF, nicht angemeldet ...
10.09.2018 20:05:22
Luc:-?
…im MOF (schlechte Erfahrungen mit Karma & Co), nicht neu angemeldet bei Spotlight, Gerd;
das verblichene OlXl (OEF) ist ein Sonderfall, weil dort jemand, der es konnte, in dessen letzten Wochen eine auf mein Einloggen reagierende indirekte Sperre mit Verbindungsprobleme vortäuschender Meldung eingebaut hatte, also eine besonders perfide Sperr-Variante, weshalb ich annehme, dass das auf einen bestimmten CEF-OEF-„Doppelagenten“ zurückging.
Ansonsten kann man in Foren zu auch politischen Themen noch ganz andere Moderatoren-Willkür und von Forum zu Forum kon­träre -Einschätzungen erleben…
Gruß, Luc :-?
Anzeige
Weil du gerne und viel über dich selber redest
10.09.2018 22:11:19
Daniel
Gern und viel 'redest' ja du erst recht, ...
11.09.2018 00:25:25
Luc:-?
…wenn auch kaum über dich, so doch über deine Xl-Lieblingsmethoden und -abneigungen. Summa summarum kam bei deinen Palavern in den letzten Jahren wohl mehr Text zusammen.
Aber inwiefern nun dein Betreff irgendetwas mit meinem BT zu tun hätte, entzieht sich aufmerksamer Betrachtung; wohl eher ein Ausweichmanöver…!
Luc :-?
Anzeige
natürlich rede ich über Excelthemen, dies ist ja
11.09.2018 00:59:24
Daniel
auch ein Excelforum.
So, so, deine endlosen spitzfindigen und ...
11.09.2018 19:26:12
Luc:-?
…oft unsachlichen Nachbohrereien fallen für dich auch noch unter fachlich, meine Hinweise auf UDFs u.ä. rechnest du aber mit zu SmallTalk (der ja auch mal sein kann)…‽
Erwarte keine weitere AW! Die ist mir (vorerst oder überhpt) nicht möglich.
Luc :-?
jetzt wirds absurd
11.09.2018 20:14:05
Daniel
ähm Luc, wenn ich dich darauf aufmerksam machen darf, dann warst du selber es, der sich die Mühe gemacht hat meine Beiträge bezüglich ihrer Fachlichkeit zu berwerten.
Ich habe dazu nichts geschrieben.
Anzeige
Das ist es schon lange! Ciao! owT
12.09.2018 02:11:54
Luc:-?
:-?
Übrigens, ...
09.09.2018 14:22:01
Luc:-?
…woher weißt du denn, dass es sich bei alifa, im Ggsatz zu bspw amira um einen Er handelt? Oder schließt du das nur aus (meinem) Erhard?
Luc :-?
Korr: Meinte 'amina'! owT
11.09.2018 00:27:24
Luc:-?
:-?
Anzeige
Bezüglich der UDF
09.09.2018 09:01:44
RPP63
Moin Luc und Fennek!
Mit meiner UDF (in der ich lediglich einen im Netz zu findenden Algorithmus umgesetzt habe) habe ich auf eine konkrete Aufgabenstellung reagiert.
Wer mag, kann sich den Thread (auf den der TE übrigens auch nicht reagiert hatte) ja mal ansehen.
Dort ging es explizit um die Ermittlung von 348^15 mod 1357
http://www.clever-excel-forum.de/Thread-Mod-Rest-in-VBA-oder-Formel
Deshalb mein Disclaimer:
Das U in UDF bedeutet nicht universell, sondern User. ;)
Gruß Ralf
Anzeige
AW: Bezüglich der UDF
09.09.2018 11:18:46
Daniel
naja, was hätte die Reaktion auch sein sollen?
in deiner Antwort fehlt ja noch der Hinweis, wie man zu einer beliebigen Zahl deren Basis und Exponent ermitteln kann.
Wie meinen?
09.09.2018 11:58:11
RPP63
Mit meiner UDF […] habe ich auf eine konkrete Aufgabenstellung reagiert.
Es ging nicht um Splittung einer beliebigen Zahl in Basis und Exponent, sondern um die Ermittlung des Modulo einer Zahl, die den von VBA geforderten Long (2.147.483.647) überschreitet!
Die Reaktion hätte bspw. sein können, dass er sich für die funktionierende Lösung bedankt.
Also eigentlich ganz einfach …
Anzeige
AW: Wie meinen?
09.09.2018 12:30:12
Daniel
ja und dazu muss man, wenn man deine Funktion verwenden will, diese in Basis und Exponent aufteilen, weil deine Funktion eben nicht die Zahl als Eingabeparameter verlangt, sondern Basis und Exponent.
versuch doch einfach mal, mit deinem Lösungvorschlag den Rest von
123456890123456789012345678 und 13 zu ermitteln.
Anzeige
Eine funktionierende Lösung für seine Frage
09.09.2018 13:27:48
Daniel
wäre folgende Funktion, welche den Rest berechnen kann für
- einen bliebig langen, als Text vorliegenden Dividenden
- einen Divisor bis zu 14 stellen länge.
Function BigModulo(TextZahl As String, Divisor As Double) As Double
Dim i As Long
Dim d As Double
For i = 1 To Len(TextZahl)
BigModulo = Val(Rest & Mid(TextZahl, i, 1))
If BigModulo > Divisor Then
BigModulo = BigModulo - Divisor * Int(Rest / Divisor)
End If
Next
End Function
Gruß Daniel
Anzeige
Die lag hier schon vor u.damit ist dein Umbau ...
09.09.2018 14:12:52
Luc:-?
…von Ralfs UDF, die für einen anderen Zweck bestimmt war, von dem Fennek meinte abstrahieren zu können, überflüssig, Daniel,
abgesehen mal davon, dass ich UDF-Umbauten unter gleichem Namen ablehne. Ralf kann ja wohl nicht dafür verantwortlich gemacht wdn, dass seine UDF hier von Fennek ins Spiel gebracht wurde. Aber naja, Besserwisserei und Sich-Anlegen-Wollen um (fast) jeden Preis kennt man ja von dir… :->
Luc :-?
Anzeige
AW: Die lag hier schon vor u.damit ist dein Umbau ...
09.09.2018 14:37:20
Daniel
Hi Luc
du darfst dir, wenn du meine Funktion für dich übernehmen willst, dir gerne einen anderen Namen ausdenken, das steht jedem frei.
Du hast in sofern recht, dass man
09.09.2018 14:51:27
Daniel
Fennek dafür verantwortlich machen müsste, dass er einfach einen Code aus dem Internet übernommen hat, ohne darauf zu schauen, ob dieser auch zur Fragestellung passt.
Gruß Daniel
Anzeige
Eben! Und ich muss nicht deine Adaption ...
10.09.2018 02:19:31
Luc:-?
…übernehmen, Daniel,
denn ich habe ja schon eine vglbare (TrivialVersion), die jetzt aber xRem heißt (→VBA-Mod), während xMod jetzt CInt verwendet (→Xl-MOD/REST). Was aus xMod wdn wird, hatte ich an anderer Stelle im Thread bereits erwähnt…
Luc :-?
Anzeige
wenn interessiert denn, welche Funktionen
10.09.2018 12:06:10
daniel
du alle hast und wie die heißen?
Dich bekanntlich nicht, aber xMod steht oben! owT
10.09.2018 14:35:05
Luc:-?
:-?
AW: Bezüglich der UDF - jetzt klar!
09.09.2018 14:50:36
Luc:-?
Ja, Ralf,
damit lagen ja sowohl Basis als auch Exponent bereits vor, was ich vermutet hatte. Also tatsächlich eine etwas andere Aufgabenstellung. Und natürlich weiß ich, was das U in UDF bedeutet… ;-]
Trotzdem ist Deine UDF insofern auch (relativ) universell, nämlich bezogen auf genau solche Vorgaben. Für andere muss man halt eine andere UDF benutzen, wie bspw eine auf Datentyp Variant mit Untertyp Decimal beruhende. Auch deshalb sind mir Daniels Attacken auf Deine UDF unbegreiflich…
Übrigens, meine TrivialVersion erweitere ich gerade auf Bereiche/Datenfelder für Dividend u/o Divisor und sowohl Remainder- (wie Mod in VBA) als auch Modulo-Variante (wie MOD/REST in Xl). (Deutsches REST würde allerdings besser zum VBA-Operator passen, denn MOD ergibt mathematisches Modulo!)
Nebenbei, musste zwischendurch den Browser wechseln, denn FF verweigert seit geraumer Zeit den Zugriff aufs CEF. Ist wohl schon die KI/AI bei Mozilla am Wirken… ;-]
Gruß + schöSo, Luc :-?
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Makro für Modulo großer 16-stelliger Zahlen


Schritt-für-Schritt-Anleitung

Um mit einem Makro das Modulo von großen 16-stelligen Zahlen zu berechnen, kannst du folgende Schritte befolgen:

  1. VBA-Editor öffnen: Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Neues Modul erstellen: Klicke mit der rechten Maustaste auf "VBAProject (DeinWorkbookName)", wähle "Einfügen" und dann "Modul".

  3. Makro-Code einfügen: Kopiere und füge den folgenden Code in das Modul ein:

    Function BigModulo(TextZahl As String, Divisor As Double) As Double
       Dim i As Long
       Dim Rest As Double
       For i = 1 To Len(TextZahl)
           Rest = Val(Rest & Mid(TextZahl, i, 1))
           If Rest >= Divisor Then
               Rest = Rest - Divisor * Int(Rest / Divisor)
           End If
       Next
       BigModulo = Rest
    End Function
  4. Makro ausführen: Du kannst das Makro jetzt in einer Zelle verwenden, indem du =BigModulo(A1;16) eingibst, wobei A1 die Zelle ist, die die 16-stellige Zahl enthält.


Häufige Fehler und Lösungen

  • Fehler: "Überlauf": Wenn du mit Zahlen arbeitest, die zu groß für die Standardmodulo-Funktion sind, verwende einen Textformat für die 16-stellige Zahl.

  • Lösung: Stelle sicher, dass die Zahl als Text formatiert ist, um Überläufe zu vermeiden. Du kannst dies erreichen, indem du ein Apostroph (') vor die Zahl in der Zelle setzt.

  • Fehler: Falsches Ergebnis bei Modulo 10 oder 11: Überprüfe, ob die Zahl korrekt übergeben wird und dass der Divisor nicht größer als 14 ist, wenn du die mod-Funktion in Excel verwendest.


Alternative Methoden

  1. CDec-Funktion verwenden: Wenn du mit sehr großen Zahlen (bis zu 29 Stellen) arbeiten möchtest, kannst du die CDec-Funktion in VBA verwenden:

    Dim x As Variant
    x = CDec("1234567890123456")
    If (x / 13) = Int(x / 13) Then
       MsgBox "Durch 13 teilbar"
    Else
       MsgBox "Nicht durch 13 teilbar"
    End If
  2. Excel-Modul-Funktion: Du kannst auch die Excel-Modul-Funktion wie =MOD(A1;16) verwenden, aber beachte die 14-stellige Begrenzung für Zahlen.


Praktische Beispiele

  • Beispiel 1: Berechne das Modulo von 1234567890123456 und 16:

    • Verwende die Formel =BigModulo("1234567890123456"; 16).
  • Beispiel 2: Prüfe, ob die ersten 14 Ziffern von 1234567890123456 durch 13 teilbar sind:

    • Verwende den Code:
    Dim TestZahl As String
    TestZahl = Left("1234567890123456", 14)
    If BigModulo(TestZahl, 13) = 0 Then
       MsgBox "Die Zahl ist durch 13 teilbar."
    Else
       MsgBox "Die Zahl ist nicht durch 13 teilbar."
    End If

Tipps für Profis

  • Bei der Verwendung von langen Zahlenformaten in Excel ist es nützlich, sie als Text zu formatieren, um Genauigkeitsprobleme zu vermeiden.

  • Experimentiere mit verschiedenen Divisoren wie 10 oder 11, um die Funktionsweise der Modulofunktionen besser zu verstehen.

  • Nutze die CDec-Funktion für sehr große Zahlen und kombiniere sie mit Int für ganzzahlige Divisionen.


FAQ: Häufige Fragen

1. Wie viele Stellen kann die Excel MOD-Funktion verarbeiten?
Die Excel MOD-Funktion kann bis zu 14-stellige Zahlen verarbeiten. Für größere Zahlen solltest du das VBA-Skript verwenden.

2. Was ist der Unterschied zwischen MOD in Excel und dem VBA-Operator Mod?
Die Excel MOD-Funktion kann nur mit Zahlen bis zu 14 Stellen arbeiten, während der VBA-Operator Mod mit größeren Zahlen umgehen kann, solange sie im richtigen Format vorliegen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige