diff --git a/media/Pasted image 20251011092804.png b/media/Pasted image 20251011092804.png new file mode 100644 index 0000000..9f8eb22 Binary files /dev/null and b/media/Pasted image 20251011092804.png differ diff --git a/media/Pasted image 20251011092828.png b/media/Pasted image 20251011092828.png new file mode 100644 index 0000000..36a1cec Binary files /dev/null and b/media/Pasted image 20251011092828.png differ diff --git a/uczelnia/1_semestr/1 semestr.md b/uczelnia/1_semestr/1 semestr.md index 23b6b27..93b6bf4 100644 --- a/uczelnia/1_semestr/1 semestr.md +++ b/uczelnia/1_semestr/1 semestr.md @@ -3,3 +3,4 @@ [[Fizyka dla informatyków]] [[Programowanie]] [[Algebra liniowa]] +[[wprowadzenie_do_informatyki/Wprowadzenie do informatyki|Wprowadzenie do informatyki]] diff --git a/uczelnia/1_semestr/algorytmy/2 wykład/2 wykład.md b/uczelnia/1_semestr/algorytmy/2 wykład/2 wykład.md new file mode 100644 index 0000000..00edcd6 --- /dev/null +++ b/uczelnia/1_semestr/algorytmy/2 wykład/2 wykład.md @@ -0,0 +1,7 @@ +[[Ramię robota]] +[[Schemat tworzenia algorytmu]] +[[Podstawy rozwiązywania problemów]] +[[Algorytmy sortowania]] +[[Algorytmy wyszukiwania]] +[[Przetwarzanie napisów]] +[[Problemy grafowe]] \ No newline at end of file diff --git a/uczelnia/1_semestr/algorytmy/2 wykład/Algorytmy sortowania.md b/uczelnia/1_semestr/algorytmy/2 wykład/Algorytmy sortowania.md new file mode 100644 index 0000000..fe800ea --- /dev/null +++ b/uczelnia/1_semestr/algorytmy/2 wykład/Algorytmy sortowania.md @@ -0,0 +1,5 @@ +- bubble sort +- selection sort +- quick sort +- merge sort +- heap sort \ No newline at end of file diff --git a/uczelnia/1_semestr/algorytmy/2 wykład/Algorytmy wyszukiwania.md b/uczelnia/1_semestr/algorytmy/2 wykład/Algorytmy wyszukiwania.md new file mode 100644 index 0000000..c762639 --- /dev/null +++ b/uczelnia/1_semestr/algorytmy/2 wykład/Algorytmy wyszukiwania.md @@ -0,0 +1,2 @@ +- [[Wyszukiwanie sekwencyjne]] +- [[Wyszukiwanie binarne]] \ No newline at end of file diff --git a/uczelnia/1_semestr/algorytmy/2 wykład/Cykl eulera.md b/uczelnia/1_semestr/algorytmy/2 wykład/Cykl eulera.md new file mode 100644 index 0000000..6487999 --- /dev/null +++ b/uczelnia/1_semestr/algorytmy/2 wykład/Cykl eulera.md @@ -0,0 +1 @@ +Taka droga pomiędzy elementami grafu, gdzie nie powtarzamy jednej ścieżki i kończymy tam, gdzie zaczęliśmy. \ No newline at end of file diff --git a/uczelnia/1_semestr/algorytmy/2 wykład/Najbliższy sąsiad.md b/uczelnia/1_semestr/algorytmy/2 wykład/Najbliższy sąsiad.md new file mode 100644 index 0000000..f6c0844 --- /dev/null +++ b/uczelnia/1_semestr/algorytmy/2 wykład/Najbliższy sąsiad.md @@ -0,0 +1,3 @@ +Łączy aktualnym punkt z najbliższym sąsiadem. + +Ten algorytm jest zły!!!!! Są przykłady w których ten algorytm obiera najgorszą możliwą trasę. \ No newline at end of file diff --git a/uczelnia/1_semestr/algorytmy/2 wykład/Najkrótsza ścieżka.md b/uczelnia/1_semestr/algorytmy/2 wykład/Najkrótsza ścieżka.md new file mode 100644 index 0000000..e304455 --- /dev/null +++ b/uczelnia/1_semestr/algorytmy/2 wykład/Najkrótsza ścieżka.md @@ -0,0 +1 @@ +Jaka jest najlepsza trasa między miastami? \ No newline at end of file diff --git a/uczelnia/1_semestr/algorytmy/2 wykład/Podstawy rozwiązywania problemów.md b/uczelnia/1_semestr/algorytmy/2 wykład/Podstawy rozwiązywania problemów.md new file mode 100644 index 0000000..dbfdf25 --- /dev/null +++ b/uczelnia/1_semestr/algorytmy/2 wykład/Podstawy rozwiązywania problemów.md @@ -0,0 +1,9 @@ +1. Zrozumienie problemu +2. Odpowiednie środki obliczeniowe + Rozwiązanie dokładne lub przybliżone + Struktury danych +3. [[Schemat tworzenia algorytmu | Projektowanie algorytmu]] +4. Projektowania algorytmów +5. Dowód poprawności +6. Analiza algorytmu +7. Implementacja algorytmu \ No newline at end of file diff --git a/uczelnia/1_semestr/algorytmy/2 wykład/Problemy grafowe.md b/uczelnia/1_semestr/algorytmy/2 wykład/Problemy grafowe.md new file mode 100644 index 0000000..58745c9 --- /dev/null +++ b/uczelnia/1_semestr/algorytmy/2 wykład/Problemy grafowe.md @@ -0,0 +1,5 @@ +Graf to zbiór punktów zwanych wierzchołkami z których część lub wszystkie są ze sobą połączone liniami zwanymi krawędziami. + +[[Przykłady algorytmów grafowych]] + +[[Cykl eulera]] \ No newline at end of file diff --git a/uczelnia/1_semestr/algorytmy/2 wykład/Przejście grafu.md b/uczelnia/1_semestr/algorytmy/2 wykład/Przejście grafu.md new file mode 100644 index 0000000..7a26ccc --- /dev/null +++ b/uczelnia/1_semestr/algorytmy/2 wykład/Przejście grafu.md @@ -0,0 +1 @@ +Jak dotrzeć do wszystkich punktów w sieci? \ No newline at end of file diff --git a/uczelnia/1_semestr/algorytmy/2 wykład/Przetwarzanie napisów.md b/uczelnia/1_semestr/algorytmy/2 wykład/Przetwarzanie napisów.md new file mode 100644 index 0000000..b6967e8 --- /dev/null +++ b/uczelnia/1_semestr/algorytmy/2 wykład/Przetwarzanie napisów.md @@ -0,0 +1 @@ +To sobie pominiemy hihi \ No newline at end of file diff --git a/uczelnia/1_semestr/algorytmy/2 wykład/Przykłady algorytmów grafowych.md b/uczelnia/1_semestr/algorytmy/2 wykład/Przykłady algorytmów grafowych.md new file mode 100644 index 0000000..02765a2 --- /dev/null +++ b/uczelnia/1_semestr/algorytmy/2 wykład/Przykłady algorytmów grafowych.md @@ -0,0 +1,3 @@ +[[Przejście grafu]] +[[Najkrótsza ścieżka]] +[[Sortowanie topologiczne]] \ No newline at end of file diff --git a/uczelnia/1_semestr/algorytmy/2 wykład/Ramię robota.md b/uczelnia/1_semestr/algorytmy/2 wykład/Ramię robota.md new file mode 100644 index 0000000..19ce98e --- /dev/null +++ b/uczelnia/1_semestr/algorytmy/2 wykład/Ramię robota.md @@ -0,0 +1,3 @@ +Algorytm który ma za zadanie znaleźć najlepszą drogę w połączeniu punktów. +- [[Najbliższy sąsiad]] +- \ No newline at end of file diff --git a/uczelnia/1_semestr/algorytmy/2 wykład/Schemat tworzenia algorytmu.md b/uczelnia/1_semestr/algorytmy/2 wykład/Schemat tworzenia algorytmu.md new file mode 100644 index 0000000..e3730a0 --- /dev/null +++ b/uczelnia/1_semestr/algorytmy/2 wykład/Schemat tworzenia algorytmu.md @@ -0,0 +1,6 @@ +1. Sformułowanie problemu +2. Określenie danych wejściowych +3. Metody rozwiązania problemu i rozkład na zadania +4. Formalizacja +5. Kodowanie +6. Testowanie \ No newline at end of file diff --git a/uczelnia/1_semestr/algorytmy/2 wykład/Sortowanie topologiczne.md b/uczelnia/1_semestr/algorytmy/2 wykład/Sortowanie topologiczne.md new file mode 100644 index 0000000..8b5f196 --- /dev/null +++ b/uczelnia/1_semestr/algorytmy/2 wykład/Sortowanie topologiczne.md @@ -0,0 +1 @@ +Czy zestaw coś tam coś tam (nie zdążyłem przepisać trololo) \ No newline at end of file diff --git a/uczelnia/1_semestr/algorytmy/2 wykład/Wyszukiwanie binarne.md b/uczelnia/1_semestr/algorytmy/2 wykład/Wyszukiwanie binarne.md new file mode 100644 index 0000000..cfa6de2 --- /dev/null +++ b/uczelnia/1_semestr/algorytmy/2 wykład/Wyszukiwanie binarne.md @@ -0,0 +1 @@ +Najpierw sortujemy, a potem wyszukujemy. \ No newline at end of file diff --git a/uczelnia/1_semestr/algorytmy/2 wykład/Wyszukiwanie sekwencyjne.md b/uczelnia/1_semestr/algorytmy/2 wykład/Wyszukiwanie sekwencyjne.md new file mode 100644 index 0000000..509ba8e --- /dev/null +++ b/uczelnia/1_semestr/algorytmy/2 wykład/Wyszukiwanie sekwencyjne.md @@ -0,0 +1 @@ +Porównujemy kolejne wartości, aż znajdziemy. \ No newline at end of file diff --git a/uczelnia/1_semestr/algorytmy/3 wykład/3 wykład.md b/uczelnia/1_semestr/algorytmy/3 wykład/3 wykład.md new file mode 100644 index 0000000..ac09fa8 --- /dev/null +++ b/uczelnia/1_semestr/algorytmy/3 wykład/3 wykład.md @@ -0,0 +1 @@ +[[Sprawność algorytmów]] \ No newline at end of file diff --git a/uczelnia/1_semestr/algorytmy/3 wykład/Sprawność algorytmów.md b/uczelnia/1_semestr/algorytmy/3 wykład/Sprawność algorytmów.md new file mode 100644 index 0000000..8c7e5a6 --- /dev/null +++ b/uczelnia/1_semestr/algorytmy/3 wykład/Sprawność algorytmów.md @@ -0,0 +1 @@ +A \ No newline at end of file diff --git a/uczelnia/1_semestr/algorytmy/Algorytmy.md b/uczelnia/1_semestr/algorytmy/Algorytmy.md index 996f837..58dca29 100644 --- a/uczelnia/1_semestr/algorytmy/Algorytmy.md +++ b/uczelnia/1_semestr/algorytmy/Algorytmy.md @@ -1 +1,3 @@ -[[uczelnia/1_semestr/algorytmy/1_wykład/1 wykład]] \ No newline at end of file +[[uczelnia/1_semestr/algorytmy/1_wykład/1 wykład]] +[[2 wykład/2 wykład|2 wykład]] +[[3 wykład/3 wykład|3 wykład]] diff --git a/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/2 wykład.md b/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/2 wykład.md new file mode 100644 index 0000000..d9dddc1 --- /dev/null +++ b/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/2 wykład.md @@ -0,0 +1,2 @@ +[[Szeregi liczbowe]] +[[Funkcje]] \ No newline at end of file diff --git a/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Badanie zbieżności.md b/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Badanie zbieżności.md new file mode 100644 index 0000000..d2540f7 --- /dev/null +++ b/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Badanie zbieżności.md @@ -0,0 +1,6 @@ +[[Kryterium porównawcze]] +[[Kryterium Cauche'ego (pierwiastkowe)]] +[[Kryterium d'Alemberta (ułamkowe)]] + +Podsumowując: +Wszystkie te kryteria działają podobnie. Cauche'ego i d'Alemberta mówi nam, że gdy kolejne elementy ciągu są mniejsze/większego to szereg będzie zbieżny/rozbieżny. Pierwszy w przypadku pierwiastków, drugi w przypadku ułamków. Kryterium porównawcze mówi nam to samo, ale w przypadku, gdy mamy 2 różne szeregi. \ No newline at end of file diff --git a/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Funkcja odwrotna.md b/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Funkcja odwrotna.md new file mode 100644 index 0000000..ee9851e --- /dev/null +++ b/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Funkcja odwrotna.md @@ -0,0 +1 @@ +Podnosimy f^-1 diff --git a/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Funkcje.md b/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Funkcje.md new file mode 100644 index 0000000..370e672 --- /dev/null +++ b/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Funkcje.md @@ -0,0 +1,3 @@ +- Przesuwanie funkcji o wektor (dość proste, nie będę się opisywał) +- [[Złożenie funkcji]] +- [[Funkcja odwrotna]] \ No newline at end of file diff --git a/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Granica-Suma szeregu.md b/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Granica-Suma szeregu.md new file mode 100644 index 0000000..de93a5b --- /dev/null +++ b/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Granica-Suma szeregu.md @@ -0,0 +1,2 @@ +Granica szeregu nazywamy jego sumą. +Czyli lim Xn = (sigma)^(nieskończoność) n=1 Xn \ No newline at end of file diff --git a/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Kryterium Cauche'ego (pierwiastkowe).md b/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Kryterium Cauche'ego (pierwiastkowe).md new file mode 100644 index 0000000..b8ac0cb --- /dev/null +++ b/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Kryterium Cauche'ego (pierwiastkowe).md @@ -0,0 +1,12 @@ +Jeżeli granica z sqrt(an, n) < 1, to szereg jest zbieżny +Jeżeli granica z sqrt(an, n) > 1, to szereg jest rozbieżny +Jeżeli granica z sqrt(an, n) = 1, to kryterium nie rozstrzyga zbieżności szeregu + +Dodatkowo, jeśli od pewnego momentu >= 1, to jest to szereg rozbieżny. + +Kryterium Cauchy'ego często wykorzystuje się podczas badania zbieżności szeregów, we wzorach których występują potęgi n-tego stopnia. + +Czyli intuicyjnie: +- Gdy granica pierwiastka stopnia n z każdego kolejnego elementu ciągu jest mniejsza niż 1, to te pierwiastki muszą sumować się do 1, bo będziemy sumować coraz to mniejsze ułamki (to tak jakbyśmy w nieskończoność zamalowywali coraz mniejszy element kwadratu- gdybyśmy w nieskończoność zamalowywali coraz to mniejsze części, to w końcu zamalujemy go całego) +- Gdy ta granica jest większa od 1, to dodajemy pierwiastki coraz to większych liczby, więc ucieka nam to w nieskończoność. +- Gdy ta granica jest równa 1, to nic nam to nie mówi \ No newline at end of file diff --git a/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Kryterium d'Alemberta (ułamkowe).md b/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Kryterium d'Alemberta (ułamkowe).md new file mode 100644 index 0000000..ca503de --- /dev/null +++ b/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Kryterium d'Alemberta (ułamkowe).md @@ -0,0 +1,13 @@ +Dla ciągu o wyrazach (an + 1) / an: +- Jeżeli granica jest mniejsza niż 1, to szereg jest zbieżny +- Jeżeli granica jest większa od 1, to szereg jest rozbieżny +- Jeżeli jest równa 1, to nic nam to nie mówi + +Dodatkowo jeśli od pewnego momentu granica jest >= 1, to szereg jest rozbieżny. + +Na ludzki: +Gdy mamy taki szereg, że każdy kolejny element ciągu to element ciągu zwiększony o 1 i podzielony przez ten element, to +- przy granicy mniejszej od 1 będziemy dodawali ułamki, więc zbiegamy do 1 +- przy granicy większej od 1 będziemy uciekali do nieskończoności +- przy granicy równej 1 nic nam to nie mówi + diff --git a/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Kryterium porównawcze.md b/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Kryterium porównawcze.md new file mode 100644 index 0000000..6ec8194 --- /dev/null +++ b/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Kryterium porównawcze.md @@ -0,0 +1,17 @@ +Porównujemy szereg, którego zbieżność znamy z innym, który badamy. + +Dla dwóch dodatnich szeregów: +A i B + +Jeżeli dla prawie wszystkich n zachodzi a, <= bn to: +- ze zbieżności szeregu B wynika zbieżność szeregu A +- z rozbnieśności szeregu A wynika rozbieżność szeregu B + +Czyli tłumacząc to na język bardziej ludzki. Gdy kolejne elementy ciągu są mniejsze, niż elementy drugiego ciągu, to: +- ze zbieżności większego wynika zbieżność mniejszego +- z rozbnieżności mniejszego wynika rozbieżność większego + +Jeśli mniejszy ucieka w nieskończoność, to większy tym bardziej. +Jeśli większy zbiega do konkretnej wartości, to mniejszy tym bardziej. + +[Zadania](https://www.matemaks.pl/kryterium-porownawcze.html) \ No newline at end of file diff --git a/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Szereg harmoniczny.md b/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Szereg harmoniczny.md new file mode 100644 index 0000000..12199f7 --- /dev/null +++ b/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Szereg harmoniczny.md @@ -0,0 +1,6 @@ +Tak wygląda szereg harmoniczny (to szereg ciągu 1/n\[Czyli innymi słowy: mamy ciąg 1/n, dodajemy wszystkie jego elementy(to jest szereg), wtedy jego granica(suma szeregu) wynosi nieskończoność(bo wszystkie jego wyrazy można uprościć do 1 + 1/2 + 1/2 + 1/2 ... + 1/2, jeśli zgrupujemy kolejne wyrazy w nawiasy, które zawierają w sobie 2^n elementów) więc nigdy nie przestaje on rosnąć.)]) +![[../../../../media/Pasted image 20251011092804.png]] + + +Dowód zbieżności (a raczej rozbieżności) szeregu harmonicznego. +![[../../../../media/Pasted image 20251011092828.png]] \ No newline at end of file diff --git a/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Szeregi liczbowe.md b/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Szeregi liczbowe.md new file mode 100644 index 0000000..bf30de8 --- /dev/null +++ b/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Szeregi liczbowe.md @@ -0,0 +1,11 @@ +[Bardzo fajne źródło](https://www.matemaks.pl/szeregi-liczbowe.html) +Dla ciągu Xn określamy ciąg Sn wzorem Sn = (sigma)^n i=1 Xi +wtedy +S1 = X1 +S2 = X1 + X2 +S3 = X1 + X2 + X3 +itd. +[[Zbieżność]] +[[Granica-Suma szeregu]] +[[Szereg harmoniczny]] +[[Badanie zbieżności]] \ No newline at end of file diff --git a/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Zbieżność.md b/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Zbieżność.md new file mode 100644 index 0000000..353aa7d --- /dev/null +++ b/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Zbieżność.md @@ -0,0 +1,5 @@ +Szereg jest zbieżny, gdy Sn sum częściowych jest zbieżny. +Zbieżność oznacza dążenie do konkretnej liczby. +Rozbieżność oznaczy dążenie nieokreślonej wartości (nieskończoność, minus nieskończoność\[to jest - szereg rośnie, rośnie i rośnie, nie wiemy kiedy przestanie rosnąść]) + +Jeżeli szereg jest zbieżny, to granica ciągu jest równa 0. \ No newline at end of file diff --git a/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Złożenie funkcji.md b/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Złożenie funkcji.md new file mode 100644 index 0000000..8d6c45d --- /dev/null +++ b/uczelnia/1_semestr/matematyka_ze_statystyką/2_wykład/Złożenie funkcji.md @@ -0,0 +1,3 @@ +f o g(x) = f(g(x)) | Funkcja f jest złożona z funkcją g(x) tzn, że jako argumentu funkcji f możemy użyć g(x) + +**To nie jest przemienne** diff --git a/uczelnia/1_semestr/matematyka_ze_statystyką/Matematyka ze statystyką.md b/uczelnia/1_semestr/matematyka_ze_statystyką/Matematyka ze statystyką.md index 4d05e15..81a2620 100644 --- a/uczelnia/1_semestr/matematyka_ze_statystyką/Matematyka ze statystyką.md +++ b/uczelnia/1_semestr/matematyka_ze_statystyką/Matematyka ze statystyką.md @@ -1,2 +1,3 @@ [[uczelnia/1_semestr/matematyka_ze_statystyką/1_wykład/1 wykład|1 wykład]] +[[2_wykład/2 wykład|2 wykład]] Na 7 i 14 spotkaniu: kolokwia \ No newline at end of file diff --git a/uczelnia/1_semestr/wprowadzenie_do_informatyki/2 sykład/2 wykład.md b/uczelnia/1_semestr/wprowadzenie_do_informatyki/2 sykład/2 wykład.md new file mode 100644 index 0000000..ab041e9 --- /dev/null +++ b/uczelnia/1_semestr/wprowadzenie_do_informatyki/2 sykład/2 wykład.md @@ -0,0 +1 @@ +[[Zapis liczb rzeczywistych]] \ No newline at end of file diff --git a/uczelnia/1_semestr/wprowadzenie_do_informatyki/2 sykład/Zapis liczb rzeczywistych.md b/uczelnia/1_semestr/wprowadzenie_do_informatyki/2 sykład/Zapis liczb rzeczywistych.md new file mode 100644 index 0000000..294f31f --- /dev/null +++ b/uczelnia/1_semestr/wprowadzenie_do_informatyki/2 sykład/Zapis liczb rzeczywistych.md @@ -0,0 +1,6 @@ +Rejestr - elektroniczny element pamięciowy, w którym jestesmy w stanie przechowywać zera i jedynki. Jest zbudowany z przerzutników. + +Notacja wykładnicza liczby. + +float - mniejsza precyzja +double - większa precyzja \ No newline at end of file diff --git a/uczelnia/1_semestr/wprowadzenie_do_informatyki/Wprowadzenie do informatyki.md b/uczelnia/1_semestr/wprowadzenie_do_informatyki/Wprowadzenie do informatyki.md new file mode 100644 index 0000000..796d21e --- /dev/null +++ b/uczelnia/1_semestr/wprowadzenie_do_informatyki/Wprowadzenie do informatyki.md @@ -0,0 +1 @@ +[[2 sykład/2 wykład|2 wykład]] \ No newline at end of file