Zrób mi jajko wielkanocne!


29

Nie, nie ^^vv<><>BAtakie pisanki, prawdziwe pisanki, które malujemy.

Oto (strasznie narysowane) jajko.

  __
 /  \
/    \
|    |
\____/

Na Wielkanoc malujemy je wzorami. Jak te:

  __
 /--\
/----\
|----|
\____/
  __
 /%%\
/%%%%\
|%%%%|
\____/
  __
 /~~\
/~~~~\
|~~~~|
\____/

Wyzwanie

Biorąc pod uwagę znak (do wydruku ascii) do pomalowania jajka, wydrukuj malowane jajko.

Przykłady:

&:
  __
 /&&\
/&&&&\
|&&&&|
\____/

#:
  __
 /##\
/####\
|####|
\____/

Okular

  • Końcowe znaki nowej linii / spacje są dozwolone.

8
Dlaczego głosowanie negatywne? Jeśli nie podoba ci się to pytanie, oddaj głos, a następnie podaj powód.
— Matthew Roh

2
Jednym z potencjalnych powodów może być to, że nie uważają, aby to zadanie było wystarczająco jasne lub wystarczająco jasne. Powiedziałbym, że jest wystarczająco jasny i nie jest dosłownie trywialny. To powiedziawszy, też nie jestem szczególnie podekscytowany.
— John Dvorak

17
W większości języków wyzwanie będzie bardzo trywialne. Jajko jest za krótkie, aby pozwolić na dużą oryginalność podczas gry w golfa. Moim zdaniem jest to nieciekawe wyzwanie (nie zostało piaskownicy, bo wydaje się, że bojkotujesz piaskownicę, bo nie wiem z jakich powodów), dlatego głosuję za nią.
— Dada,

25
Pozytywnie oceniany, ponieważ takie proste wyzwania są świetne dla początkujących, takich jak ja, do łatwego grania w golfa.
— Kudłaty

7
POOF! Jesteś pisanką. (Przepraszam, nie mogłem się oprzeć)
— George Cummins

Odpowiedzi:


16

Brain-Flak , 270 268 266 + 1 = 267 bajtów

+1 od -cflagi

(((((((((({}<(((([(()()())]((((((((((({}){}){}){}){}[()]))<>)<>{}())))))<>)<>(((()()()()()){}))({}()){})<>)<>>))))<<>({}<>)((()()()()()){})<>({}<>)>))))<<>((({})<>)({})<((()()()()()){})>[()()])>))<>((((({})<>)[(()()()()())({}){}])<((()()()()()){})<>((({}<>){}()))>))

Wypróbuj online!

Chciałem napisać wyjaśnienie, ale najpierw zdrzemnąłem się i zapomniałem, jak działa cała ta myśl. Twoje domysły są równie dobre jak moje.


14
To najlepsze wytłumaczenie, jakie kiedykolwiek czytałem tutaj. +1
— David Conrad

12

Python 2, 62 bajty

Super prosto. Wypróbuj online .
-1 bajt, dzięki @ mbomb007

print r'''  __
 /~\
/~~\
|~~|
\____/'''.replace('~',input()*2)


@ mbomb007 Dobry, dziękuję
— Dead Possum

2
Możesz zapisać dwa bajty, używając funkcji lambda w ten sposób
— Keerthana Prabhakaran

@KeerthanaPrabhakaran Nie jestem pewien, czy lambdas są w porządku na wyzwania ascii
— Dead Possum

1
na czym polega problem z wykorzystaniem lambda w wyzwaniach ascii? jak oni są w ogóle spokrewnieni !? : o
— Keerthana Prabhakaran

10

Węgiel drzewny , 30 26 16 bajtów

Dwa bajty zapisane dzięki @Neil dzięki wypełnieniu po wykonaniu kształtu

__↗¹←↑¹↖²↓_‖M←¤S

Wypróbuj online!

Wyjaśnienie

Program działa najpierw poprzez utworzenie prawej połowy jajka, a następnie odzwierciedlenie go w celu wygenerowania lewej połowy.

__↗¹                          Write the two bottom _s and write the /
←↑¹                           Move left and write the |
↖²                            Then write two \s
↓_                            And the top _
‖M←                          Reflect the canvas to the left
¤S                           Fill the shape with the string input

←_↘może być tak ↓_, ale w rzeczywistości można wypełnić po odzwierciedlać do 16 bajtów: __↗¹←↑¹↖²↓_‖M←¤S.
— Neil,

@Neil Dzięki za zapoznanie mnie z¤
— Kritixi Lithos

9

Galaretka , 24  22 bajtów

Ḥ;“ ¶/\|_”“Ṁ¢ṚR;ḳ}AṠ’ṃ

Wypróbuj online!

W jaki sposób?

Ḥ;“ ¶/\|_”“Ṁ¢ṚR;ḳ}AṠ’ṃ - Main link: character c  e.g. '~'
Ḥ                      - double c: ['~','~']
  “ _¶/\|”             - string literal: [' ','_',<newline>,'/','\','|']
 ;                     - concatenate c:  [['~','~'],' ','_',<newline>,'/','\','|']
          “Ṁ¢ṚR;ḳ}AṠ’  - base 250 number: 3067183430901851641706
                     ṃ - base decompression with reversed @rguments:
                       -     take the number and convert it to a base length(the list)
                       -     then index (1-based) into that same list.
                       -     i.e.: 3067183430901851641706 in base 7
                                 = 22003241534115361163500004
                                   indexed into [['~','~'],' ','_',<newline>,'/','\','|']
                                 = [' ',' ','_','_',<newline>,' ','/',['~','~'],'\',<newline>,'/',['~','~'],['~','~'],'\',<newline>,'|',['~','~'],['~','~'],'|',<newline>,'\','_','_','_','_','/']
                       - implicit print:  __
                                         /~~\
                                        /~~~~\
                                        |~~~~|
                                        \____/

3
Nominuję twoje wyjaśnienie ṃdla najdłuższego wyjaśnienia pojedynczego bajtu.
— Magic Octopus Urn

Wydaje się, że stał się całkiem przydatnym atomem, pomyślałem, że dam mu trochę czasu w centrum uwagi!
— Jonathan Allan

2
Widzę, że Dennis często go używa, ale po raz pierwszy wydaje mi się, że to zrozumiałem; czas nie został zmarnowany! Dałeś mi 1 jednostkę nauki.
— Magic Octopus Urn

1
To jedno z moich dzieci :)
— Jonathan Allan

6

Sed, 43 znaki

s:.:  __\n /&&\\\n/&&&&\\\n|&&&&|\n\\____/:

Przykładowy przebieg:

bash-4.3$ sed 's:.:  __\n /&&\\\n/&&&&\\\n|&&&&|\n\\____/:' <<< '★'
  __
 /★★\
/★★★★\
|★★★★|
\____/

Właśnie to napisałem, zaledwie kilka sekund szybciej.
— Riley

6

JavaScript (ES6), 53 49 47 bajtów

Jestem pewien, że uda mi się z tego trochę wyciągnąć - \denerwowanie mnie to denerwowanie.

f=

c=>`  __
 /${c+=c}\\
/${c+=c}\\
|${c}|
\\____/`

console.log(f`-`)
console.log(f`%`)
console.log(f`~`)
console.log(f`&`)
console.log(f`#`)

  • 4 bajty zapisane przez przeniesienie s=c+cprzypisania zmiennej do pierwszego zestawu {}.
  • 2 bajty zaoszczędzone przy użyciu c+=czamiast s=c+c& s=s+s, częściowo dzięki Neilowi, który zauważył to ulepszenie w tym samym czasie, w którym je robiłem.

Maluj własne!


Byłoby trochę lepiej, jeśli umieścisz te dane wejściowe w <pre><code>s. Dobra robota.
— Matthew Roh

Dzięki, @SIGSEGV. Konsole zachowują białe znaki i domyślnie używają przynajmniej czcionki o stałej szerokości, więc nie trzeba drukować na pre.
— Kudłaty

1
Dlaczego nie c+=c?
— Neil

Dzięki, @Neil, właśnie edytowałem to w sobie, ale zaktualizuję je jeszcze raz, aby skinąć głową.
— Kudłaty

@Arnauld Nie musisz liczyć f=\nczęści dla liczby bajtów. Tylko tak działa fragment kodu.
— AdmBorkBork

5

Alice , 53 52 bajty, niekonkurujące

Dzięki Leo za pośrednie zaoszczędzenie 1 bajtu.

/o *^i}'.*[;.h~r}}~"{.[^\\
@"S .^~ y~a}~~.["{!~"}^^^

Wypróbuj online!

Niestety musiałem naprawić błąd y(transliteracja), aby to działało, więc oznaczyłem go jako niekonkurujący.

Wyjaśnienie

Podstawową ideą jest utworzenie ciągu jajka, ale ~jako symbolu zastępczego dla dwóch kopii danych wejściowych. Jednak inne znaki wejściowe nie są szczególnie przyjazne dla ciągów Alice, ponieważ nie mogą one zawierać linii znaków i wszystkie /\_|będą wymagały ucieczki (ponieważ są traktowane jak lustra i ściany). Więc mogę zapisać niektóre bajty, używając również symboli zastępczych dla nich, a następnie transliterując je. Symbolami zastępczymi dla /\_|są .[^{, które są po prostu postacią tuż przed tą, którą reprezentują. Do linii używam }.

Teraz kod ... cały program można rozwiązać w trybie porządkowym, ponieważ potrzebujemy tylko przetwarzania ciągów, a nie przetwarzania liczb całkowitych. Ponadto nie potrzebujemy żadnego warunkowego przepływu sterowania. Cały program można wyrazić liniowo. Ogólna struktura programu jest następująca:

/...//
@....

W takim programie adres IP przeskakuje w górę iw dół przez ...sekcję, najpierw wykonując tylko połowę znaków. Następnie dwa /na końcu przesuwają adres IP o jedną komórkę w prawo, aby w drodze powrotnej wykonał drugą połowę (ponownie podskakując w górę i w dół), aż w końcu @zakończy działanie programu. Jeśli więc rozwiniemy zabawną zygzakowatą strukturę pośrodku, program, który wykonujemy, wygląda tak:

"  ^^} .~[}.~~[}{~~{}[^^^^.""!}"r.h~;a*y'~i.*So

Przejdźmy przez to:

"  ^^} .~[}.~~[}{~~{}[^^^^."
      This first string is simply the egg template I've talked about.
"!}"  Push this string. It covers all the characters we need to replace
      in the template except ~.
r     Range expansion. Turns '!}' into '!"#$...z{|}'.
.     Duplicate.
h~;   Split off the first character, swap it to the top and discard it.
a*    Append a linefeed.
      We've now basically rotated the string to the left, but appended
      a linefeed instead of the exclamation mark we've shifted off.
      This maps each character in the string to the next one, except }
      which gets mapped to a linefeed.
y     Transliterate. Since the strings have the same length, this just maps
      each character in the first string to the corresponding character in
      the second string, replacing all of our placeholder characters.
'~    Push "~".
i.*   Read the input and duplicate it.
S     Substitute all "~" with the doubled input.
o     Output the result.

: D jest tutaj !! Ten język wygląda fajnie
— Conor O'Brien

@ ConorO'Brien dziękuję. Podjąłem już starsze wyzwania na wypadek, gdybyś chciał zobaczyć więcej próbek. :)
— Martin Ender

4

PowerShell , 50 49 48 bajtów

'  __
 /11\
/1111\
|1111|
\____/'-replace1,$args

Wypróbuj online!

Prosta zamiana łańcucha na łańcuch literalny. Niewiele miejsca na grę w golfa.

-1 bajt dzięki HyperNeutrino; -1 bajt dzięki Wubs


4

Marchewka , 34 bajty, niekonkurująca

  __
 /##\\
/####\\
|####|
\\____/

Nie konkuruje, ponieważ właśnie naprawiłem błąd interpretera w wiodących białych znakach, które nie były wyświetlane.

Wypróbuj online tutaj .

Po pierwsze, jesteśmy w trybie karetki, w którym każda postać jest wypychana na „stos”. I wreszcie „stos” zostaje wydrukowany jako wydruk.

W trybie karetki #popycha dane wejściowe, więc instancje #są w zasadzie zastępowane danymi wejściowymi (FYI #to jednobajtowy program cat).


4

SOGL V0.12 , 21 18 16 bajtów

0≈⁾‛≤¦¶W?5┼EB§  ‘

Wypróbuj tutaj!

Cały program jest skompresowany:

  __
 /ŗŗ\
/ŗŗŗŗ\
|ŗŗŗŗ|
\____/

gdzie ŗzostaje zastąpiony przez dane wejściowe.

13 bajtów prawie też działa, ale robi niepotrzebne rzeczy przy pewnych wejściach.


Musisz pomalować jajko. (tj. wypełnij wnętrze jajka postaciami)
— Matthew Roh

@SIGSEGV - Wyjaśniono, że osiąga się to poprzez zastąpienie spacji wejściem i zastąpienie myślników spacjami kodem@,ŗ -@ŗ
— Jonathan Allan

Czy SOGOL będzie wkrótce w TIO?
— Jonathan Allan

@JonathanAllan Jeśli ktoś może go tam dostać, to tak.
— dzaima

Porozmawiaj z Dennis w pokoju talk-tryitonline-net .
— Jonathan Allan

3

05AB1E , 34 33 32 bajty

„__I244S×'/ì'\«`©¦¨'|.ø®R¹'_‡).c

Wypróbuj online!

Wyjaśnienie

„__                               # push "__"
   I244S×                         # push a list of the input repeated 2 and 4 and 4 times
         '/ì                      # prepend "/"
            '\«                   # append "\"
               `                  # split list to separate items
                ©                 # store a copy of the last one in register
                 ¦¨               # remove first and last item of the string
                   '|.ø           # surround with pipes
                       ®R         # retrieve the string from register and reverse it
                         ¹'_‡     # replace input with "_"
                             ).c  # print each line centered

•jÀňiXƒÐ[Z•6B6ôvy5ÝJ"_ |/\"¹«‡,dla 32, ale zupełnie inaczej. To mnie oszukało i sprawiło, że pomyślałem, że mogę użyć palindromize ... Cholera, że ())(i /\\/są palindromy.
— Magic Octopus Urn

1
@carusocomputing: Powinieneś opublikować go osobno. Jest na tyle inny, że może być interesujący sam w sobie :)
— Emigna 14.04.17

3

Python 3.6 , 53 bajty

lambda x:fr'''  __
 /{2*x}\
/{4*x}\
|{4*x}|
\____/'''
  • Nienazwana funkcja pobierająca znak xi zwracająca ciąg znaków.
  • Wykorzystuje ciągi f Pythona 3.6 jako dodatkową alternatywę dla wcześniejszych wersji .format()- {}załączone części tego ciągu są kodem do oceny.
  • Ciąg jest również ciągiem r i trzykrotnie cytowanym, co pozwala zaoszczędzić jeden bajt:

lambda x:f'  __\n /{2*x}\\\n/{4*x}\\\n|{4*x}|\n\____/'

Nie widzę jednak internetowego tłumacza dla Pythona 3.6.
Wypróbuj w repl.it (mówi 3.5, ale jest 3.6)



3

Brainfuck - 257 bajtów 181 bajtów

Gra w golfa: wersja na żywo kliknij tutaj

+++++++[>++++++<-]>[>+>++>++>++<<<<-]>+++++>>>>++++++++++[>+++>+<<<++++<+<+>>>-]>++<<<--<+>>>,>..<<<<..>>>>>.<.<<<<<.>>>>..<<.>>>>.<<<<<<.>>>>....<<.>>>>.<<<.>....<.>>>.<<<<.<....<.

Nie jestem zawodowym golfistą. To jest moja próba, o ile pamiętam: D

Wydajność:

  __ 
 /XX\ 
/XXXX\ 
|XXXX| 
\____/ where X is the given char.

Niegolfowany (+ komentarze):

; chars:
; _ 95
; / 47
; \ 92
; | 142
; min val = 42 (7 times 6)

; lets do some math
+++++++[>++++++<-]> ; effectively 7 times 6

; now lets copy this to the next pointers multiplying by 2 
the subsequent ones after the 1st
[>+>++>++>++<<<<-]

>+++++
>>>

> ; empty space starting from this pointer
++++++++++[>+++>+<<<++++<+<+>>>-]
>++<
<<--<+
>>>,
>..<<<<..>>>>>.<.
<<<<<.
>>>>..<<.>>>>.
<<<<<<.>>>>....<<.>>>>.
<<<.>....<.
>>>.<<<<.<....<.

2

05AB1E , 32 29 26 bajtów (Dzięki Emigna / Adnan)

•jÀňiXƒÐ[Z•6B6ôvy5ÝJ¹"_ |/\ÿ"‡,

Wypróbuj online!

•jÀňiXƒÐ[Z•6B6ô # Push ['110011', '135541', '355554', '255552', '400003']
vy               # For each encrypted block...
  5ÝJ            # Push 012345.
     ¹"_ |/\ÿ"   # Push "_ |/\{input_char}".
              ‡, # Swap the charsets.

Wersja 29-bajtowa (wymagana jest także inteligentniejsza wersja bez kodowania ze względu na kodowanie nowego wiersza):

05AB1E , 29 bajtów (Emigna)

•P£<r7»TwDšç6•5ÝJI"
_/ÿ\|"‡.c

Wypróbuj online 2!


26 bajtowe rozszerzenie sugestii Emigny, używając S do rozdzielenia znaków na tablicę, a następnie [b] do interpolacji każdej cyfry z odpowiednią lokalizacją w poprzedniej tablicy. Jest to zasadniczo transliteracja elementarna (inteligentna).

05AB1E , 26 bajtów (Adnan)

"
_/ÿ\|"•P£<r7»TwDšç6•Sè.c

Wypróbuj online 3!


1
Jest to 3 bajty krótsze. Bardziej podobna do twojej odpowiedzi niż moja :)
— Emigna

1
@Emigna, że ​​bezpośrednia transliteracja za pomocą nowego wiersza jest nowatorskim pomysłem, podoba mi się to; może to szczerze znokautować 5 bajtów wielu moich istniejących rozwiązań.
— Magic Octopus Urn


1
@adnan Sè- sneaky sneaky ...
— Magic Octopus Urn

Wydaje mi się, że prawie wszystkie moje odpowiedzi zasługują na uznanie Admigna, tak naprawdę nie poznałbym języka bez obu waszych stałych przykładów.
— Magic Octopus Urn

2

PHP, 51 bajtów

$a.=$a=$argn;echo"  __
 /$a\
/$a$a\
|$a$a|
\____/";

PHP, 58 bajtów bez fizycznych podziałów liniowych

$a.=$a=$argn;echo"  __\n /$a\\\n/$a$a\\\n|$a$a|\n\\____/";

uruchom to z -Ropcją

61 bajtów

echo strtr("  __\n /88\\\n/8888\\\n|8888|\n\\____/",8,$argn);

Przechowuj wartość dwukrotnie; usuń niepotrzebne miejsce; użyj dosłownego znaku nowej linii: pastebin.com/EghdAYMf
— manatwork 14.04.17

@manatwork Dziękuję, że tak naprawdę nie zastanawiam się nad podwójnym wkładem
— Jörg Hülsermann

zapisz 7 bajtów z fizycznymi podziałami linii i nie unikając ukośników odwrotnych (ostatni i tak nie wymaga ucieczki). Aha i btw: -Rnie jest parametrem, jest opcją.
— Tytus

@Titus Nienawidzę fizycznych łamań linii Zrobione
— Jörg Hülsermann

@Tytus, prawda, choć man phpnazywa je parametrem : „Można również przetwarzać standardowy wiersz po wierszu za pomocą parametru -R lub -F.”
— manatwork

2

BF, 142 140 bajtów

++++[->++++<]>[->+++>++++++>+>++++++>++>++++++++<<<<<<],>->---->------>->..<..<.>>.<<<<.<..
>>.>.<<.<....>>.>.>>>----.<....>.<<<.<.>>....<<<.

Jest to podzielone na dwie linie dla jasności; nowa linia nie jest liczona.

Pisanie tego typu w BF jest dość łatwe, ale nie jest trywialne, jak zoptymalizować kolejność komórek, aby zminimalizować ruch. Napisałem scenariusz brutal-forcer, aby wypróbować wszystkie kombinacje i znaleźć najkrótszy. Grałem trochę w golfa, aby wziąć pod uwagę okazję do gry w golfa, której nie wziąłem pod uwagę.


@JoKing Sugeruję, abyś zamieścił to jako osobną odpowiedź, ponieważ wydaje się bardzo różne od mojej.
— Esolanging Fruit


2

C (gcc) , 95 88 85 bajtów

Podziękowania dla Alberta za -7 bajtów

Dzięki także pułapowi -3 bajtów

f(c){for(int*s=L"  __\n /00\\\n/0000\\\n|0000|\n\\____/\n";*s;s+=printf(*s%6?s:&c));}

Wypróbuj online!


Nie deklaruj *qpo prostu zagnieżdżenia go bezpośrednio w pętli for, aby zaoszczędzić 5 bajtów. char*s;f(c){for(s=" __\n /11\\\n/1111\\\n|1111|\n\\____/\n";*s;putchar(*s^49?*s:c),s++);}
— Albert Renshaw,

Możesz także zaoszczędzić 2 dodatkowe bajty, deklarując *swewnątrz argumentu deklaracji for-loop:f(c){for(char*s=" __\n /11\\\n/1111\\\n|1111|\n\\____/\n";*s;putchar(*s^49?*s:c),s++);}
— Albert Renshaw

Możesz ogolić jeszcze 1 bajt, sprawdzając znak ASCII, który ma wartość liczbową wynoszącą jedną cyfrę. 1jest 49w ASCII, ale to 2 bajty, użyj czegoś o wartości od 0 do 9, na przykład znak tabulacji `` jest wartością ASCII 9.
— Albert Renshaw,

Zaproponuj *s;f(c){for(szamiastf(c){for(int*
— ceilingcat

1

SpecBAS - 70 bajtów

1 INPUT a$:  ?"  __"'" /";a$*2;"\"'"/";a$*4;"\"'"|";a$*4;"|"'"\____/"

?jest skrótem dla PRINTpolecenia, a apostrof przenosi kursor do następnego wiersza.




1

Lua, 66 bajtów

print((([[  __
 /ee\
/eeee\
|eeee|
\____/]]):gsub("e",io.read())))

((([[[#NailedIt]])))




1

[R], 65 bajtów

cat(gsub('x',scan(,''),"  __\n /xx\\\n/xxxx\\\n|xxxx|\n\\____/"))

Dość mało widowiskowy, proszę znaleźć krótszy w R ... To twój podstawowy gsub


1

C ++ 208 bajtów

W odpowiedzi na komentarze: Jest to kompletny post.

#include<iostream>
using namespace std;int main(){char e;cin>>e;cout<<"  __  \n";cout<<" /"<<e<<e<<"\\ "<<endl;cout<<"/"<<e<<e<<e<<e<<"\\"<<endl;cout<<"|"<<e<<e<<e<<e<<"|"<<endl;cout<<"\\____/ \n";return 0;}

1

C # , 56 bajtów


Grał w golfa

i=>"  __\n /i\\\n/ii\\\n|ii|\n\\____/".Replace("i",i+i);

Nie golfił

i => 
   "  __\n /i\\\n/ii\\\n|ii|\n\\____/"
      .Replace( "i", i + i );

Nieczytelny czytelny

i => 
   "  __\n /i\\\n/ii\\\n|ii|\n\\____/"

      // Replace every instance of 'i' with the input cloned twice
      .Replace( "i", i + i );

Pełny kod

using System;
using System.Collections.Generic;

namespace Namespace {
   class Program {
      static void Main( String[] args ) {
         Func<String, String> f = i => 
            "  __\n /i\\\n/ii\\\n|ii|\n\\____/"
               .Replace( "i", i + i );

         List<String>
            testCases = new List<String>() {
               "-",
               "%",
               "~",
               "o",
               " ",
         };

         foreach( String testCase in testCases ) {
            Console.WriteLine( $" Input: {testCase}\nOutput:\n{f( testCase )}\n" );
         }

         Console.ReadLine();
      }
   }
}

Wydawnictwa

  • v1.0 - 56 bytes- Wstępne rozwiązanie.

Notatki

Wydrukowane wyniki w podanym linku nie będą wyglądały na udawane, ponieważ użyta czcionka nie jest jednolita.


1

C (gcc) , 87 bajtów

e(d){printf("  __\n /%c%c\\\n/%c%c%c%c\\\n|%c%c%c%c|\n\\____/\n",d,d,d,d,d,d,d,d,d,d);}

printf bez stdio.h powoduje ostrzeżenia, ale nie ma błędów, umożliwiając pomyślną kompilację.

Wyjaśnienie

Instrukcja Printf, która umieszcza wszystko w jednym wierszu, formatując znak dekoracyjny za pomocą% c.

Wypróbuj online


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.