Interaktywne dowody za pomocą Postselection?


9

Zdefiniuj model obliczeniowy MPostBQP, aby był identyczny z PostBQP, z wyjątkiem tego, że dopuszczamy wielomianowo wiele pomiarów kubitowych przed pomiarem selekcyjnym i pomiarem końcowym.

Czy możemy podać jakiekolwiek dowody wskazujące, że MPostBQP ma większą moc niż PostBQP?

Zdefiniuj MPostBQP [k], aby umożliwić wiele rund pomiaru i wyboru po dokonaniu ostatecznego pomiaru. Wybierz indeksowanie, więc MPostBQP [1] = PostBQP i MPostBQP [2] = MPostBQP i tak dalej. (Aktualizacja: formalna definicja jest podana poniżej).

Rozważ gry Arthur-Merlin. Być może możemy je zasymulować w tym modelu obliczeniowym: Postselekcja może przyjąć rolę Merlina w tworzeniu przekonujących wiadomości, a pomiary pośrednie mogą przyjąć rolę rzutów monetą Arthura. Ta możliwość sprawia, że ​​pytam:

Czy mamy AM [k] MPostBQP [k]?

Jest to faktycznie znane dla , co mówi MA PP. Pokazanie go dla oznaczałoby MPostBQP = PP tylko wtedy, gdy AM PP. Ponieważ istnieje wyrocznia, w stosunku do której AM nie jest zawarte w PP , może to dać odpowiedź twierdzącą na moje pierwsze pytanie.k=1k=2

Wreszcie, w przypadku wielomianowo wielu rund,

Czy mamy PSPACE MPostBQP [poli]? Jeśli tak, czy to równość?

Byłoby to filozoficznie interesujące (przynajmniej dla mnie), ponieważ powiedziałoby nam, że „możliwa do rozwiązania” klasa problemów dla „wybierającego czarownika” obejmuje (lub jest ) całą PSPACE.

EDYCJA: Poproszono mnie o formalną definicję MPostBQP. (Zaktualizowałem poniższe).

MPostBQP [k] to klasa języków dla której istnieje jednolita rodzina obwodów kwantowych taka że dla wszystkich wejścia procedura poniżej wydajnością ważne z prawdopodobieństwem co najmniej , jeżeli oraz z prawdopodobieństwem najwyżej Jeżeli . Procedura, która pozwala na pewne wybory, które mogą zależeć od (ale nie ), jest zdefiniowana następująco:L{0,1}{Cn}n1x2/3xL1/3xLLx

Procedura: Krok 1. Zastosuj operator unitarny odpowiadający do stanu wejściowego . Zauważ, że długość pierwszego jest najwyżej wielomianowa o długości . Krok 2. Dla : Jeśli jest parzyste, zmierz dowolną liczbę kubitów z pierwszego rejestru (najwyżej wielomianowo, biorąc pod uwagę rozmiar rejestru). Jeśli jest nieparzyste, to zaznacz tak, że wybrany pojedynczy kubit w pierwszym rejestrze mierzy jakoCn|00|x|00xi=1kii|0(i mają gwarancję, że prawdopodobieństwo jest niezerowe, więc postselekcja jest oczywiście ważna). Krok 3. Na koniec zmierz ostatni kubit w pierwszym rejestrze i zwróć true, jeśli zmierzymy a false w przeciwnym razie.|1

Mamy MPostBQP [0] = BQP, MPostBQP [1] = PostBQP, a MPostBQP: = MPostBQP [2]. Próbuję odzwierciedlić klasy Arthura-Merlina, gdzie AM [0] = BPP, AM [1] = MA i AM [2] = AM.

EDYCJA (27.03.11 17.00): Wydaje się, że debata na temat tego, jak należy zdefiniować postselekcję w tym kontekście. Oczywiście mam na myśli definicję, która nie trywializuje mojego pytania! :) Przyjęłam następującą definicję : Po zaznaczeniu k-tego bitu oznacza to, że rzutujemy stan na podprzestrzeń, w której k-bit ma wartość0i normalizować. Okazuje się, że w schemacie, w którym dokonujemy selekcji przed wykonaniem pomiarów, możemy uzyskać ostateczne statystyki, patrząc na prawdopodobieństwa warunkowe w schemacie, w którym selekcje po zastępowane są pomiarami. Twierdzę jednak, że ta charakterystyka załamuje się, gdy pomiary i selekcje są przeplatane. Myślę, że zamieszanie wynika z tego, że ludzie używają tej „definicji prawdopodobieństwa warunkowego” (która działa w szczególnym przypadku, z której uogólniam) jako definicji postselekcji, a nie podanej właśnie definicji „pomiaru wymuszonego”, która wyraźnie zależy od porządek z powodu braku przemienności. Mam nadzieję, że to pomoże!

EDYCJA (27.03.11 9 wieczorem): Postselekcję zdefiniowałem już w formalizmie czysto państwowym. Niel podał analizę formalizmu macierzy gęstości, który nie zgadza się z moim dla przykładu 3-kubitowego. Winowajcą jest ponownie definicja postselekcji. Zdefiniuj ponowny wybór w ustawieniu macierzy gęstości w następujący sposób. Biorąc pod uwagę macierz gęstości , przepisz ją jako mieszaninę stanów rozdzielnych . Niech będzie wynikiem postselekcji (na niektórych kubitach) przy użyciu czystego stanu formalizmu, który zdefiniowałem powyżej. Zdefiniuj wynik postselekcji na jako .MM=pi|aiai||AiMpi|AiAi|

Jest to bardziej sensowna definicja, ponieważ nie daje nam wyników, które mówią, że po dokonaniu selekcji zmieniamy statystyki zdarzeń (pomiarów), które już oglądaliśmy. Oznacza to, że to prawdopodobieństwo monet, które „już przerzuciliśmy”. Nie ma dla mnie sensu stwierdzenie, że cofniemy się w czasie i uprzedzimy monetę, która już się wydarzyła, ponieważ zwiększyłoby to prawdopodobieństwo obecnej selekcji.pi

EDYCJA (28.03.11 13.00): Niel przyznaje, że z moimi definicjami problem ma sens i nie trywializuje - ale z zastrzeżeniem, że nie powinienem nazywać go postselekcją . Biorąc pod uwagę zamieszanie, muszę się z nim zgodzić. Nazwijmy więc to, co zdefiniowałem jako selekcję , która wykonuje „wymuszony pomiar”. Prawdopodobnie powinienem zmienić nazwę zdefiniowanych przeze mnie klas złożoności (aby nie mieć w nich „Post”), więc nazwijmy je QMS [k] (wybór kwantowy).


Czy możesz zdefiniować MPostBQP bardziej formalnie? Jeśli masz na myśli, że ta klasa ma zdolność do późniejszego wyboru w oparciu o wynik kilku bitów, to klasa ta powinna być zawarta w PostBQP.
Robin Kothari,

Kluczową ideą nie jest wielokrotne wybieranie wielu bitów jednocześnie, ponieważ, jak zauważa Robin, to nie pomaga. Ma to na celu przeplatanie pomiarów i selekcji dodatkowych. Nie możemy dojeżdżać do nich; kolejność ma znaczenie. Na przykład nie zadziała w PostBQP, aby zmierzyć odpowiedź, a następnie wybrać opcję.
Shaun Harker

Zobacz komentarz do odpowiedzi Niel; możemy odroczyć zarówno pomiary, jak i selekcje po, aż do ewolucji kwantowej. Ja już to robić! Ten sam argument nie wydaje się również zmieniać kolejności selekcji po pomiarach, ponieważ pomiary nie są jednolite. W szczególności mówię, że pomiary i selekcje końcowe są niejednolitymi operacjami na stanie kwantowym, które się nie zmieniają, o ile mogę stwierdzić, że nie możemy bez strat odłożyć wszystkich selekcji następczych do czasu po wszystkich pomiarach.
Shaun Harker

@Shaun Harker: fakt, że pomiary i selekcje po dokonaniu wyboru są niejednolite, w rzeczywistości nie daje nam więcej informacji na temat tego, czy dojeżdżają do pracy. Być może mógłbyś wskazać, dlaczego Twoim zdaniem nie dojeżdżają do pracy?
Niel de Beaudrap

Z powodu uwikłania. Oto przykład. Przygotuj stanα|000+1/2α2|011+1/2β2|101+β|110. Wybierać0<α<β<1. Jeśli najpierw zmierzymy pierwszy kubit, a następnie dokonamy wyboru trzeciego kubitu, a następnie zmierzymy drugi kubit pod kątem naszego wyniku, otrzymamy0 lub 1z jednakowym prawdopodobieństwem. Jeśli najpierw wybierzemy trzeci kubit, a następnie zmierzmy pierwszy kubit, a na koniec zmierzymy drugi kubit pod kątem naszego wyniku, otrzymamy0 rzadziej niż dostajemy 1.
Shaun Harker

Odpowiedzi:


5

Z komentarzy wynika, że ​​Shaun ma na myśli coś innego niż to, co zwykle rozumie się po selekcji. Rozumiem teraz, że oznacza to, że statystyki dla wszelkich pomiarów wykonanych przed określonym ponownym wyborem nie powinny być zmieniane przez późniejszy dodatkowy wybór. Jest to podobne do posiadania operatora projekcji, w którym normalizacja przeprowadzana jest nad każdą gałęzią funkcji falowej odpowiadającej konkretnemu zakresowi pomiarowemu, a nie nad funkcją falową jako całością.

W tym przypadku argumenty podane w innych odpowiedziach przeze mnie i Neila już się nie utrzymują. Rzeczywiście łatwo to zauważyćPPP[k] MPostBQP [k], ponieważ MPostBQP[k] można postrzegać jako maszynę BQP, która potrafi k zapytania do wyroczni PP i odtąd P#P MPostBQP .

Więc teraz mamy nietrywialną dolną granicę, a co z górną granicą? Najwyraźniej problem tkwi w PSPACE , ale czy możemy to zrobić lepiej? Właściwie myślę, że możemy.

Możemy zapisać dowolne obliczenia w MPostBQP jako sekwencję warstw formy: obliczenia kwantowe, po których następuje ponowny wybór, a następnie pojedynczy pomiar kubitowy. Rzeczywiście, może to być alternatywny sposób sformułowania MPostBQP [k], jako obliczenia złożonego zktakie warstwy (to nieco różni się od definicji Shaun, która moim zdaniem ma liczyć tylko liczbę postselekcji), a następnie ostatnia warstwa klasycznego post-processingu. Użyję tej definicji MPostBQP [k] poniżej, ponieważ prowadzi to do bardziej estetycznego wyniku.

Poniżej zaktualizowano oryginalną wersję, aby naprawić dziurę w dowodzie.

Najpierw chcemy obliczyć wynik pomiaru pierwszego mierzonego kubita (nie wybrany ponownie!). Aby to zrobić, najpierw zauważamy, że wszelkie obliczenia kwantowe można wyrazić tylko za pomocą bramek Hadamarda i bramek Toffoli oraz amplitudyαw określonego obliczeniowego stanu bazowego |w w danych wyjściowych można zapisać maksymalnie jako sumę 2H warunki aj,w, gdzie Hjest całkowitą liczbą bramek Hadamarda, z których każda odpowiada unikalnej ścieżce obliczeniowej. Wyraźnie,aj,w=±2H/2. Prawdopodobieństwo uzyskania stanu końcowego|w jest następnie podane przez αw2=(jaj,w)2=i,jaj,wai,w. Chcemy obliczyć całkowite prawdopodobieństwo pomiaru 1. NiechS0 być zbiorem obliczeniowych stanów bazowych, które spełniają kryteria po selekcji (tj. kubit po selekcji wynosi 1) i daje 0 dla mierzonego kubita, i niech S1być zbiorem obliczeniowych stanów bazowych, które spełniają kryteria po selekcji i dają 1 dla mierzonego kubitu. Możemy zdefiniować

π0±=wS0±sign(aj,wai,w)=±aj,wai,w
i
π1±=±wS1sign(aj,wai,w)=±aj,wai,w.

W tym przypadku prawdopodobieństwo zmierzenia 1 uwarunkowanego na 1 dla wybranego kubit jest podane przez π1+π1π1+π1π0+π0+. Jak możemy to ustalić za pomocą 4 połączeń z wyrocznią #P. Używamy tego do generowania losowego bitub1 która wynosi 1 z prawdopodobieństwem X1, to samo co pomiar kwantowy. Zatem MPostBQP [1] jest wBPP#P[4].

Następnie obliczamy wynik pomiaru drugiego kubitu. Aby to zrobić, uruchamiamy te same zapytania #P jak dla pierwszej warstwy, ale w obwodzie uzyskanym przez skomponowanie pierwszych dwóch warstw i gdzie wybieramy 1 dla każdego z wybranych kubitów, ale także dlab1 dla wyniku pomiaru 1. Zauważ, że chociaż jest to selekcja stanów 3 kubitów zamiast 1, jest to trywialna modyfikacja #Podpytuje, po prostu dodając ancilla, która jest ustawiana tylko wtedy, gdy wszystkie 3 kubity spełniają wymagane warunki i zamiast tego wybiera po tej ancilli. To następnie generuje prawidłowe warunkowe prawdopodobieństwa wyjściowe dla wyniku drugiego zmierzonego kubitu, który oznaczamyb2. Zauważ, że użyliśmy teraz 8 połączeń z wyrocznią #P .

Powtarzamy ten proces iteracyjnie, aby na warstwie j wybieramy 1 dla wszystkich j poprzedzające wybrane kubity i dalej bi<j dla wszystkich poprzednich pomiarów i oznacz wynik odpowiedniego P#P maszyna bj. W sumie jest to wymagane4j zapytania oracle.

Mamy więc MPostBQP [k]P#P[4k], co w połączeniu z poprzednim wynikiem, że PPP[k] MPostBQP[k], implikuje to PPP[k] MPostBQP [k]BPP#P[4k], a zatem MPostBQP =P#P.


4

[Poprawiony.] Poprawiłem swoją odpowiedź w oparciu o twoje poprawki do twojego pytania, zachowałem treść mojej pierwotnej odpowiedzi, ale skróciłem ją. Bardziej szczegółowy opis procesu „symulacji” został zastąpiony, ale przypuszczam, że można go zobaczyć, przeglądając historię edycji tego postu.

Większość ludzi zrozumie „postselekcję” w sensie warunkowego prawdopodobieństwa. Rzeczywiście, obecna wersja artykułu z Wikipedii na temat PostBQP opisuje to w ten sposób; i postrzegana jako operacja na operatorach gęstości (w której stosuje się całkowicie pozytywną mapę nie zwiększającą się trace śladu, taką, że Φ 2  = Φ, a następnie renormalizującą ślad) odzyskuje się tę definicję.

Biorąc pod uwagę tę definicję postselekcji, twoja definicja algorytmu MPostBQP [ k ] może być symulowana przez algorytm PostBQP , poprzez odroczenie selekcji końcowej i wykonanie ich jednocześnie w odpowiedni sposób. Jest to zauważone mniej lub bardziej wyraźnie na stronie 3 artykułu Aaronsona: Obliczenia kwantowe, postselekcja i probabilistyczny czas wielomianowy, który wprowadza klasę PostBQP .

Można to wyraźnie pokazać, zauważając, że aby sekwencja bitów P 1  ,   P 2  , ... została wybrana ( np. W 1stanie, co jest zwykle), nie ma różnicy między uwarunkowaniem, że są one 1w środku obliczenia i uwarunkowania są 1na końcu obliczeń, o ile wartości tych bitów nie zostaną zmienione w międzyczasie. Następnie, zamiast wybierania każdego z nich indywidualnie . Ponadto, obliczenie AND może być przeprowadzone w dowolnym punkcie między ostatnią transformacją bitu a jego późniejszą selekcją. Nie wpłynie to w żaden sposób na wspólne statystyki żadnej z właściwości państwa.1 , możemy obliczyć ich logiczne ORAZ przed dokonaniem wyboru, a następnie wybrać to połączenie1

Tak więc, używając wspólnej definicji postselekcji w kategoriach prawdopodobieństw warunkowych, mielibyśmy MPostBQP [ k ] =  PostBQP dla wszystkich k  > 0.

Jak zauważyłem w powyższych komentarzach, nie sądzę, że operacja, którą opisujesz na stanie wektory - w szczególności obejmujące renormalizację wektorów stanu niezależnie w każdej gałęzi rozkładu prawdopodobieństwa nad wynikami pomiaru- odpowiada postselekcji, ponieważ wiele osób w tej dziedzinie (epsecialnie eksperymentalni) opisałoby to pojęcie. Może nawet powodować pewne „niefizyczne” właściwości, jeśli zostanie rozszerzony na mapowanie operatorów gęstości. Jest to jednak możliwy sposób konstruowania czegoś w rodzaju drzew decyzyjnych, których węzły są oznaczone przez wektory stanu, a zatem jest to zasadniczo sam w sobie rozsądny proces badania. Po prostu nie nazwałbym tego procesu „postselekcją”.

[Edytuj.] Ze względu na porządek usunąłem obliczony przykład. Przypuszczam, że można to zobaczyć, przeglądając historię edycji tego postu.


Argument wydaje się niekompletny. Komentarz w artykule Aaronsona wskazuje, że nie zyskujemy żadnej mocy, przerywając selekcje po jednostkowych ewolucjach, podobnie jak nie pomaga to w przeplataniu pomiarów z ewolucjami jednostkowymi. Ale ja nie robię; Przeplatam postselekcję i pomiary. Udzielenie odpowiedzi przeczącej na moje pytanie w ten sposób wymagałoby udowodnienia, że ​​zawsze możemy zamówić selekcje po pomiarach bez utraty mocy. (Nie jest to dla mnie oczywiste.) Pozostała część odpowiedzi wyjaśnia tylko, dlaczego zdefiniowałem klasę, aby wybrała tylko jeden bit w każdej rundzie.
Shaun Harker

@Shaun Harker: Niezależnie od tego, czy artykuł Aaronsona odpowiada na twoje pytanie, moja odpowiedź powyżej powinna. Efekt ponownej selekcji ma przede wszystkim umożliwić pomiarom realizację prawdopodobieństw warunkowych, a nie prawdopodobieństw „bezwarunkowych”. Po wybraniu bitówdojotjest zasadniczo taki sam jak wybór koniunkcji warunków dla prawdopodobieństw warunkowych. Te warunkowe prawdopodobieństwa na bitachdojot nie zmieniaj, tylko przez odroczenie oceny, czy warunek się utrzymuje, tak długo jak bity dojotsą pozostawione bez szwanku.
Niel de Beaudrap

Wygląda na to, że argumentujesz, że otrzymamy te same statystyki, jeśli zmienimy kolejność selekcji i pomiarów. Ale jeśli mierzymy niektóre bity przed ponownym wyborem, wówczas mierzymy z innego rozkładu, to mielibyśmy, gdybyśmy mierzyli te same bity po ponownym wyborze. Statystyki nie są takie same.
Shaun Harker

W celu gromadzenia statystyk, ponowny wybór może być zaimplementowany fizycznie (choć nieefektywnie), po prostu odrzucając próby, w których nie zachodzi pożądany warunek. Na status, czy warunek końcowy się utrzymuje ( np. „Ten pojedynczy bit jest w stanie | 1⟩” lub „te pięć bitów jest w stanie | 1⟩”) nie ma wpływu na kolejność pomiarów, o ile operacje nie są stosowane do zmiany bitów przechowujących wyniki. Ponieważ fakt, czy próba zostanie odrzucona, czy nie, jest niezależny od zlecenia pomiaru w PostBQP , możemy odłożyć wybór po zakończeniu do końca.
Niel de Beaudrap

Ta charakterystyka postselekcji ma zastosowanie tylko wtedy, gdy wykonujemy postselekcję przed pomiarami. Trzy przykłady kubitów, które podałem, już to zademonstrowały. Jeśli się mylę co do tego, proszę odpowiedzieć bezpośrednio odrzucając ten przykład, który podaje różne statystyki w zależności od kolejności pomiarów i selekcji.
Shaun Harker

3

Z definicji MPostBQP mogłoby się wydawać , że jest to po prostu PostBQP w fantazyjnej sukience. Zamiast próbować przekonać cię, że pomiary można zmienić, być może bardziej przekonujące byłoby udowodnienie MPostBQP = PP , ponieważ wiadomo, że PostBQP = PP (patrz quant-ph / 0412187 ). Aby to udowodnić, podzieliliśmy to na dwa zadania:

  1. udowadniając, że PPMPostBQP i
  2. udowadniając, że MPostBQP PP

Pierwsze zadanie jest trywialne, ponieważ PP = PostBQP = MPostBQP [1]MPostBQP . Drugie zadanie jest naprawdę głównym pytaniem tutaj, ale można na nie odpowiedzieć, dokonując prostej adaptacji dowodu, że PostBQP = PP , podanego w quant-ph / 0412187 ( zarys strony dowodu na Wikipedii na PostBQP ).

Poniższe elementy zostały dostosowane ze szkicu próbnego Wikipedii dla PostBQP = PP .

Możemy zapisać obwód odpowiadający dowolnemu obliczeniu MPostBQP jako szereg jednolitych bramek i selekcji końcowych . Bez utraty ogólności możemy założyć, że po wybraniu kubitu nigdy nie jest on ponownie podejmowany. Zatem stan kwantowy uzyskany na końcu obliczeń podaje: |ψ=i(Pi1jAij)|x, gdzie Pi1 oznacza projektor dla qubit i na |1 podprzestrzeń i Aijsą macierzami odpowiadającymi elementarnym bramkom. Zauważ, że bez utraty ogólności możemy założyć, że wszystkie wpisy wAij są prawdziwe kosztem dodatkowego kubita.

Teraz pozwól {pi} być zbiorem kubitów, które są później wybrane i niech qbyć kubitem wyjściowym. My definiujemyπ0=wS0ψw2 i π1=wS1ψw2, gdzie S0 (S1) to zbiór obliczeniowych stanów bazowych, dla których pi=1i i q=0 (q=1). Definicja MPostBQP zapewnia, że ​​alboπ(1)2π(0) lub π02π1. Chodzi o to, aby zbudować maszynę PP do porównaniaπ0 i π1. Wyrażającyψw, część końcowego działania fal ψ odpowiadający konkretnemu obliczeniowemu stanowi bazowemu w, jako suma ścieżek i zastąpienie indeksów i i j na Aij z jednym indeksem k od 1 do G, otrzymujemy ψw=α1...αGAw,αGGAαG,αG1G1...Aα2,α11xα1.

The idea, then, is to construct a PP machine which accepts with probability 12(1+C(π1π0)) for some C>0, since then xL would imply that 12(1+π1π0)>12 and 12(1+π1π0)<12 if xL.

Now let α={αi} and F(A,w,α,X)=Aw,αGGAαG,αG1G1...Aα2,α11xα1. Then π1π0=wS1α,αF(A,w,α,X)F(A,w,α,X)wS0α,αF(A,w,α,X)F(A,w,α,X).

Such a PP machine can then be defined as follows:

  1. Pick a computational basis state w uniformly at random.
  2. If wS0S1, then stop and accept with probability 1/2, and reject otherwise.
  3. Pick two sequences α and α of G computational basis states uniformly at random.
  4. Compute X=F(A,w,α,x)F(A,w,α,x).
  5. If wS1 then accept with probability 1+X2, and reject otherwise. Alternatively, if wS0 then accept with probability 1X2, and reject otherwise.

This then puts MPostBQP[k] PP, for all k, and hence MPostBQP is no more powerful than PostBQP.


This argument shows that interspersing multiple postselections with unitary evolutions doesn't give us anything more than PP. I totally agree. We can without loss of power defer them to the end and we only need one. I don't see that this argument tells me anything more than that. But my question asks something different; it regards unitary evolution followed by rounds of measurement and selection (with final probabilities reckoned via this decision tree method). So I don't see that this addresses my question.
Shaun Harker

Not to say I don't (extremely) appreciate the effort you put into your response. I just don't see that it addresses what I was really try to get at, which I admittedly didn't do too great of a job of explaining.
Shaun Harker

1
@Shaun: I don't see the distinction. Are you suggesting that adding measurements changes the power? This is certainly not the case, as measurements are always equivalent to unitary evolution on a larger Hilbert space.
Joe Fitzsimons

@Shaun: My point is that mathematically the situation with measurements and the situation without (but with a suitably enlarged Hilbert space) are identical. I'm not trying to make any kind of philosophical point, or favoring one interpretation of quantum mechanics, I'm simply pointing out that adding measurements makes no difference to the computational power due to a well established (mathematical) result.
Joe Fitzsimons

1
@Shaun: It seems to me that you are implementing post-selection incorrectly. If you implement it in the normal way (i.e. considering what statistics you get if you consider only those results which fit a particular criteria), then you get PostBQP = MPostBQP, as both Niel and I have shown. You also get identical statistics independent of the ordering for the measurements of the state you gave in the comments. Importantly the first qubit does not give 0 and 1 with equal probability. (to be continued)
Joe Fitzsimons
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.