diff --git a/docs/resources/game-theory.md b/docs/resources/game-theory.md
new file mode 100644
index 0000000..948137a
--- /dev/null
+++ b/docs/resources/game-theory.md
@@ -0,0 +1,51 @@
+---
+tags:
+ - Maths
+---
+# Game Theory
+
+Author: Theo830
+
+
+## Nim's game
+### Problem
+2 παίκτες πάιζουν ένα παιχνίδι. Έχεις n στοίβες που πέτρες που η κάθε μια έχει a[i] πέτρες. Ο κάθε παίκτης στη σειρά του μπορεί να αφαιρέσει κάποιες πέτρες (> 0) από κάποια στοίβη (μια στοίβη). Χάνει αυτός που δεν μπορεί να κάνει κάποια κίνηση (δηλαδή έχουν αφαιρεθεί όλες οι πέτρες). Να βρείτε ποιος νικάει και την στρατηγική νίκης.
+
+### Solution
+ Αν το XOR όλων των $a_i = 0$ κερδίζει ο δεύτερος αλλιώς κερδίζει ο πρώτος (άρα το $\bigoplus_{i=1}^n a_i=0$ είναι losing position (1) ). Η απόδειξη είναι ότι όταν είσαι κάπου που το xor όλων των $a_i$ είναι 0 τότε αφαιρόντας οποιοδήποτε αριθμό πετρών, το xor δεν θα είναι πλέον 0.
+{ .annotate }
+
+1. Για να αποδείξουμε στο game theory ότι μια στρατηγική είναι σωστή, συχνά χρησιμοποιούμε [backwards induction](https://en.wikipedia.org/wiki/Backward_induction). Δηλαδή αποδεικνύουμε ότι όταν είμαστε σε losing position μπορούμε να πάμε μόνο σε winning position, και όταν είμαστε σε winning position, υπάρχει τουλάχιστο ένας τρόπος να πάμε σε losing position.
+
+
+ Επίσης θέλουμε να δείξουμε ότι όποτε το xor δεν είναι 0, μπορούμε με μια κίνηση να κάνουμε το xor να είναι 0. Έστω ότι το xor = $d$ ($d > 0$). Μπορούμε να επιλέξουμε κάποιο $i$ και να αφαιρέσω αρκετές πέτρες έτσι ώστε να μείνουν $a_i \oplus d$ πέτρες. Όμως επίσης έχουμε τον περιορισμό $a_i \oplus d < a_i$ (αλλιώς ο αριθμός πετρών που πρέπει να αφαιρέσουμε είναι μικρότερος ή ίσος του μηδέν, το οποίο δεν γίνεται σύμφωνα με το πρόβλημα). Για να ισχύει η συνθήκη, μπορούμε να επιλέξουμε το $i$ με το μέγιστο $a_i$.
+
+ Έστω το $d$ να έχει το πιο μεγάλο bit του να είναι το $2^k$. Υπάρχει τουλάχιστο ένα $i$ έτσι ώστε το $a_i$ να έχει το bit $2^k$ on, αλλιώς το $d$ δεν θα έιχε το bit (Σύμφωνα με τον τρόπο υπολογισμού του XOR). Άρα επιλέγοντας πάντα τον πιο μεγάλο αριθμό, μπορούμε να αφαιρέσουμε $a_i - \bigoplus_{j=1}^n a_j$ πέτρες, για να αναγκάσουμε τον αντίπαλο να πάει σε losing position.
+
+## Grundy Theory
+Βασικά τούτος ο "τύπος" μπορεί να σου πει ποιος νικάει οποιοδήποτε παιχνίδι με 2 παίκτες που δεν έχει ισοπαλία.
+Μετατρέπει κάθε state του παιχνιδιού σε ένα Nim's value.
+
+Έστω $S(x)$ το Nim's value όταν είμαι στο state $x$.
+Αν $S(x) = 0$ εν Losing state αλλιώς εν winning (όπως ακριβώς στο Nim).
+O τύπος είναι $S(x) = mex\{S(y)\}$ (1) για κάθε state $y$ που μπορώ να πάω απευθείας από το $x$.
+{ .annotate }
+
+1. MEX = Minimum Exclusive Value. Δηλαδή, ο πιο μικρός μη αρνητικός αριθμός που δεν έιναι σε ένα set. Π.χ. $mex\{1,2,4,5,6\} = 3$
+
+Αν το $x$ όταν σπάζει πάει σε πάνω από ένα state ταυτόχρονα πχ $y_1,y_2,\ldots, y_k$:
+
+$$S(x) = mex\{S(y_1) \oplus S(y_2) \oplus \ldots \oplus S(y_k)\}$$
+
+!!! note
+ Σε πολλά (αρκετά δύσκολα) προβλήματα το S(x) μπορεί να εν περιοδικό.
+
+
+## Resources
+
+-
+
+## Problems
+
+-
+-
diff --git a/mkdocs.yml b/mkdocs.yml
index bea4b2a..987b034 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -49,6 +49,7 @@ markdown_extensions:
- pymdownx.snippets:
auto_append:
- includes/abbreviations.md
+ - md_in_html
- pymdownx.highlight:
anchor_linenums: true
- pymdownx.inlinehilite