Wiem, że można to zrobić dużo krócej, ale na razie tylko taki sposob znam :) . Chyba gdzieś jest błąd w konstrukcji, ale nie mogę go znaleźć.