about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--THT/C/TP-2017/README.md42
-rw-r--r--THT/C/TP-2017/squares.c59
-rw-r--r--THT/C/TP-2017/squares/test001/squares.inp2
-rw-r--r--THT/C/TP-2017/squares/test001/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test002/squares.inp1
-rw-r--r--THT/C/TP-2017/squares/test002/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test003/squares.inp2
-rw-r--r--THT/C/TP-2017/squares/test003/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test004/squares.inp5
-rw-r--r--THT/C/TP-2017/squares/test004/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test005/squares.inp7
-rw-r--r--THT/C/TP-2017/squares/test005/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test006/squares.inp5
-rw-r--r--THT/C/TP-2017/squares/test006/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test007/squares.inp2
-rw-r--r--THT/C/TP-2017/squares/test007/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test008/squares.inp9
-rw-r--r--THT/C/TP-2017/squares/test008/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test009/squares.inp9
-rw-r--r--THT/C/TP-2017/squares/test009/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test010/squares.inp6
-rw-r--r--THT/C/TP-2017/squares/test010/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test011/squares.inp11
-rw-r--r--THT/C/TP-2017/squares/test011/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test012/squares.inp6
-rw-r--r--THT/C/TP-2017/squares/test012/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test013/squares.inp3
-rw-r--r--THT/C/TP-2017/squares/test013/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test014/squares.inp7
-rw-r--r--THT/C/TP-2017/squares/test014/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test015/squares.inp5
-rw-r--r--THT/C/TP-2017/squares/test015/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test016/squares.inp11
-rw-r--r--THT/C/TP-2017/squares/test016/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test017/squares.inp5
-rw-r--r--THT/C/TP-2017/squares/test017/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test018/squares.inp3
-rw-r--r--THT/C/TP-2017/squares/test018/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test019/squares.inp11
-rw-r--r--THT/C/TP-2017/squares/test019/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test020/squares.inp1
-rw-r--r--THT/C/TP-2017/squares/test020/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test021/squares.inp11
-rw-r--r--THT/C/TP-2017/squares/test021/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test022/squares.inp4
-rw-r--r--THT/C/TP-2017/squares/test022/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test023/squares.inp11
-rw-r--r--THT/C/TP-2017/squares/test023/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test024/squares.inp7
-rw-r--r--THT/C/TP-2017/squares/test024/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test025/squares.inp4
-rw-r--r--THT/C/TP-2017/squares/test025/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test026/squares.inp41
-rw-r--r--THT/C/TP-2017/squares/test026/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test027/squares.inp69
-rw-r--r--THT/C/TP-2017/squares/test027/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test028/squares.inp6
-rw-r--r--THT/C/TP-2017/squares/test028/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test029/squares.inp8
-rw-r--r--THT/C/TP-2017/squares/test029/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test030/squares.inp66
-rw-r--r--THT/C/TP-2017/squares/test030/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test031/squares.inp97
-rw-r--r--THT/C/TP-2017/squares/test031/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test032/squares.inp13
-rw-r--r--THT/C/TP-2017/squares/test032/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test033/squares.inp7
-rw-r--r--THT/C/TP-2017/squares/test033/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test034/squares.inp69
-rw-r--r--THT/C/TP-2017/squares/test034/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test035/squares.inp53
-rw-r--r--THT/C/TP-2017/squares/test035/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test036/squares.inp74
-rw-r--r--THT/C/TP-2017/squares/test036/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test037/squares.inp17
-rw-r--r--THT/C/TP-2017/squares/test037/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test038/squares.inp61
-rw-r--r--THT/C/TP-2017/squares/test038/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test039/squares.inp25
-rw-r--r--THT/C/TP-2017/squares/test039/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test040/squares.inp29
-rw-r--r--THT/C/TP-2017/squares/test040/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test041/squares.inp22
-rw-r--r--THT/C/TP-2017/squares/test041/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test042/squares.inp59
-rw-r--r--THT/C/TP-2017/squares/test042/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test043/squares.inp91
-rw-r--r--THT/C/TP-2017/squares/test043/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test044/squares.inp36
-rw-r--r--THT/C/TP-2017/squares/test044/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test045/squares.inp23
-rw-r--r--THT/C/TP-2017/squares/test045/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test046/squares.inp14
-rw-r--r--THT/C/TP-2017/squares/test046/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test047/squares.inp95
-rw-r--r--THT/C/TP-2017/squares/test047/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test048/squares.inp29
-rw-r--r--THT/C/TP-2017/squares/test048/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test049/squares.inp63
-rw-r--r--THT/C/TP-2017/squares/test049/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test050/squares.inp3
-rw-r--r--THT/C/TP-2017/squares/test050/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test051/squares.inp1
-rw-r--r--THT/C/TP-2017/squares/test051/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test052/squares.inp1
-rw-r--r--THT/C/TP-2017/squares/test052/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test053/squares.inp1
-rw-r--r--THT/C/TP-2017/squares/test053/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test054/squares.inp1
-rw-r--r--THT/C/TP-2017/squares/test054/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test055/squares.inp1
-rw-r--r--THT/C/TP-2017/squares/test055/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test056/squares.inp1
-rw-r--r--THT/C/TP-2017/squares/test056/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test057/squares.inp1
-rw-r--r--THT/C/TP-2017/squares/test057/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test058/squares.inp1
-rw-r--r--THT/C/TP-2017/squares/test058/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test059/squares.inp1
-rw-r--r--THT/C/TP-2017/squares/test059/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test060/squares.inp1
-rw-r--r--THT/C/TP-2017/squares/test060/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test061/squares.inp1
-rw-r--r--THT/C/TP-2017/squares/test061/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test062/squares.inp1
-rw-r--r--THT/C/TP-2017/squares/test062/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test063/squares.inp1
-rw-r--r--THT/C/TP-2017/squares/test063/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test064/squares.inp1
-rw-r--r--THT/C/TP-2017/squares/test064/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test065/squares.inp1
-rw-r--r--THT/C/TP-2017/squares/test065/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test066/squares.inp1
-rw-r--r--THT/C/TP-2017/squares/test066/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test067/squares.inp1
-rw-r--r--THT/C/TP-2017/squares/test067/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test068/squares.inp1
-rw-r--r--THT/C/TP-2017/squares/test068/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test069/squares.inp1
-rw-r--r--THT/C/TP-2017/squares/test069/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test070/squares.inp1
-rw-r--r--THT/C/TP-2017/squares/test070/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test071/squares.inp1
-rw-r--r--THT/C/TP-2017/squares/test071/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test072/squares.inp1
-rw-r--r--THT/C/TP-2017/squares/test072/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test073/squares.inp1
-rw-r--r--THT/C/TP-2017/squares/test073/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test074/squares.inp1
-rw-r--r--THT/C/TP-2017/squares/test074/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test075/squares.inp1
-rw-r--r--THT/C/TP-2017/squares/test075/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test076/squares.inp21
-rw-r--r--THT/C/TP-2017/squares/test076/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test077/squares.inp34
-rw-r--r--THT/C/TP-2017/squares/test077/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test078/squares.inp15
-rw-r--r--THT/C/TP-2017/squares/test078/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test079/squares.inp10
-rw-r--r--THT/C/TP-2017/squares/test079/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test080/squares.inp44
-rw-r--r--THT/C/TP-2017/squares/test080/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test081/squares.inp8
-rw-r--r--THT/C/TP-2017/squares/test081/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test082/squares.inp34
-rw-r--r--THT/C/TP-2017/squares/test082/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test083/squares.inp36
-rw-r--r--THT/C/TP-2017/squares/test083/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test084/squares.inp25
-rw-r--r--THT/C/TP-2017/squares/test084/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test085/squares.inp7
-rw-r--r--THT/C/TP-2017/squares/test085/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test086/squares.inp41
-rw-r--r--THT/C/TP-2017/squares/test086/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test087/squares.inp61
-rw-r--r--THT/C/TP-2017/squares/test087/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test088/squares.inp85
-rw-r--r--THT/C/TP-2017/squares/test088/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test089/squares.inp87
-rw-r--r--THT/C/TP-2017/squares/test089/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test090/squares.inp3
-rw-r--r--THT/C/TP-2017/squares/test090/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test091/squares.inp4
-rw-r--r--THT/C/TP-2017/squares/test091/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test092/squares.inp88
-rw-r--r--THT/C/TP-2017/squares/test092/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test093/squares.inp61
-rw-r--r--THT/C/TP-2017/squares/test093/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test094/squares.inp59
-rw-r--r--THT/C/TP-2017/squares/test094/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test095/squares.inp26
-rw-r--r--THT/C/TP-2017/squares/test095/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test096/squares.inp94
-rw-r--r--THT/C/TP-2017/squares/test096/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test097/squares.inp1
-rw-r--r--THT/C/TP-2017/squares/test097/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test098/squares.inp40
-rw-r--r--THT/C/TP-2017/squares/test098/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test099/squares.inp67
-rw-r--r--THT/C/TP-2017/squares/test099/squares.out1
-rw-r--r--THT/C/TP-2017/squares/test100/squares.inp92
-rw-r--r--THT/C/TP-2017/squares/test100/squares.out1
-rw-r--r--THT/C/TP-2017/squares_brute-force.pas39
-rw-r--r--THT/C/TP-2017/squares_example.pngbin0 -> 24532 bytes
204 files changed, 2526 insertions, 0 deletions
diff --git a/THT/C/TP-2017/README.md b/THT/C/TP-2017/README.md
new file mode 100644
index 0000000..e50b36e
--- /dev/null
+++ b/THT/C/TP-2017/README.md
@@ -0,0 +1,42 @@
+# Đề thi bảng C Hội thi Tin học trẻ thành phố Hà Nội lần thứ XXIII - 2017
+
+## Hình vuông
+
+Xét lưới điểm gồm *m* × *n* điểm, các hàng điểm được đánh số bắt đầu từ 1 đến
+*m* từ trên xuống dưới, các cột điểm được đánh được đánh số bắt đầu từ 1 đến
+*n* từ trái sang phải. Điểm nằm trên hàng điểm *i* và trên cột điểm *j* thì
+điểm đó có tọa độ (*i*, *j*).
+
+Tiến hành xóa đi một số điểm, hãy người ta muốn biết những điểm còn lại có thể
+tạo được bao nhiêu hình vuông mà mỗi hình vuông có 4 đỉnh là 4 điểm trong các
+điểm chưa bị xóa.
+
+### Yêu cầu
+
+Cho biết *m*, *n* và *k* điểm được xóa, hãy đếm số lượng hình vuông mà mỗi hình
+vuông có 4 đỉnh là 4 điểm trong các điểm chưa bị xóa.
+
+### Input
+* Dòng đầu tiên chứa ba số nguyên *m*, *n*, *k*;
+* Dòng thứ *i* trong *k* dòng tiếp theo chứa hai số nguyên *x<sub>i</sub>*,
+  *y<sub>i</sub>* (1 ≤ *x<sub>i</sub>* ≤ *m*; 1 ≤ *y<sub>i</sub>* ≤ *n*) là
+  thông tin về toạ độ của điểm thứ i.
+
+### Output
+
+Ghi số lượng hình vuông đếm được.
+
+### Giới hạn
+
+* Subtask 1 [25%]: *m*, *n* ≤ 10; *k* ≤ 10;
+* Subtask 2 [25%]: *m*, *n* ≤ 100; *k* ≤ 100;
+* Subtask 3 [25%]: *m*, *n* ≤ 1000; *k* = 0;
+* Subtask 4 [25%]: *m*, *n* ≤ 1000; *k* ≤ 100.
+
+### Ví dụ
+
+| squares.inp  | squares.out |
+| ------------ | :---------: |
+| 5 5 1<br>5 5 |      46     |
+
+![](squares_example.png)
diff --git a/THT/C/TP-2017/squares.c b/THT/C/TP-2017/squares.c
new file mode 100644
index 0000000..9ed7317
--- /dev/null
+++ b/THT/C/TP-2017/squares.c
@@ -0,0 +1,59 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+#define MIN(a, b) (((a) < (b)) ? (a) : (b))
+#define MAX(a, b) (((a) > (b)) ? (a) : (b))
+
+struct poin_t {
+	short x, y;
+};
+
+int main()
+{
+	FILE *f = fopen("squares.inp", "r");
+	short m, n, i, j, x, y, mini, maxi, minj, maxj, _minj, _maxj;
+	char k, c, net[1001][1001] = {};
+	long long count = 0;
+	struct poin_t *e;
+
+	fscanf(f, "%hd %hd %hhd\n", &m, &n, &k);
+	for (i = 1; i < MIN(m, n); i++)
+		count += (long long) i * (m - i) * (n - i);
+	e = malloc(k * sizeof(struct poin_t));
+	for (i = 0; i < k; i++) {
+		fscanf(f, "%hd %hd\n", &e[i].x, &e[i].y);
+		net[e[i].x][e[i].y] = 1;
+	}
+	fclose(f);
+
+	for (count *= 12; k--; e++) {
+		x = (*e).x;
+		y = (*e).y;
+		mini = MAX(x - m, 1 - y);
+		maxi = MIN(x - 1, n - y);
+		_minj = MAX(1 - x, 1 - y);
+		_maxj = MIN(m - x, n - y);
+		for (i = mini; i <= maxi; i++) {
+			minj = MAX(MAX(i - x + 1, 1 - y - i), _minj);
+			maxj = MIN(MIN(m - x + i, n - y - i), _maxj);
+			for (j = minj; j <= maxj; j++) {
+				if (!i && !j)
+					continue;
+				c = 1;
+				if (net[x - i][y + j])
+					c++;
+				if (net[x + j][y + i])
+					c++;
+				if (net[x - i + j][y + i + j])
+					c++;
+				count -= 12 / c;
+			}
+		}
+	}
+
+	f = fopen("squares.out", "w");
+	fprintf(f, "%Ld\n", count / 12);
+	fclose(f);
+
+	return 0;
+}
diff --git a/THT/C/TP-2017/squares/test001/squares.inp b/THT/C/TP-2017/squares/test001/squares.inp
new file mode 100644
index 0000000..5b59c42
--- /dev/null
+++ b/THT/C/TP-2017/squares/test001/squares.inp
@@ -0,0 +1,2 @@
+1 2 1

+1 2

diff --git a/THT/C/TP-2017/squares/test001/squares.out b/THT/C/TP-2017/squares/test001/squares.out
new file mode 100644
index 0000000..1874828
--- /dev/null
+++ b/THT/C/TP-2017/squares/test001/squares.out
@@ -0,0 +1 @@
+0

diff --git a/THT/C/TP-2017/squares/test002/squares.inp b/THT/C/TP-2017/squares/test002/squares.inp
new file mode 100644
index 0000000..0f55792
--- /dev/null
+++ b/THT/C/TP-2017/squares/test002/squares.inp
@@ -0,0 +1 @@
+2 2 0

diff --git a/THT/C/TP-2017/squares/test002/squares.out b/THT/C/TP-2017/squares/test002/squares.out
new file mode 100644
index 0000000..f33dfa2
--- /dev/null
+++ b/THT/C/TP-2017/squares/test002/squares.out
@@ -0,0 +1 @@
+1

diff --git a/THT/C/TP-2017/squares/test003/squares.inp b/THT/C/TP-2017/squares/test003/squares.inp
new file mode 100644
index 0000000..d57b228
--- /dev/null
+++ b/THT/C/TP-2017/squares/test003/squares.inp
@@ -0,0 +1,2 @@
+1 1 1

+1 1

diff --git a/THT/C/TP-2017/squares/test003/squares.out b/THT/C/TP-2017/squares/test003/squares.out
new file mode 100644
index 0000000..1874828
--- /dev/null
+++ b/THT/C/TP-2017/squares/test003/squares.out
@@ -0,0 +1 @@
+0

diff --git a/THT/C/TP-2017/squares/test004/squares.inp b/THT/C/TP-2017/squares/test004/squares.inp
new file mode 100644
index 0000000..ba90d01
--- /dev/null
+++ b/THT/C/TP-2017/squares/test004/squares.inp
@@ -0,0 +1,5 @@
+2 2 4

+1 1

+1 2

+2 2

+2 1

diff --git a/THT/C/TP-2017/squares/test004/squares.out b/THT/C/TP-2017/squares/test004/squares.out
new file mode 100644
index 0000000..1874828
--- /dev/null
+++ b/THT/C/TP-2017/squares/test004/squares.out
@@ -0,0 +1 @@
+0

diff --git a/THT/C/TP-2017/squares/test005/squares.inp b/THT/C/TP-2017/squares/test005/squares.inp
new file mode 100644
index 0000000..040f0e7
--- /dev/null
+++ b/THT/C/TP-2017/squares/test005/squares.inp
@@ -0,0 +1,7 @@
+2 3 6

+1 2

+2 3

+1 3

+2 2

+2 1

+1 1

diff --git a/THT/C/TP-2017/squares/test005/squares.out b/THT/C/TP-2017/squares/test005/squares.out
new file mode 100644
index 0000000..1874828
--- /dev/null
+++ b/THT/C/TP-2017/squares/test005/squares.out
@@ -0,0 +1 @@
+0

diff --git a/THT/C/TP-2017/squares/test006/squares.inp b/THT/C/TP-2017/squares/test006/squares.inp
new file mode 100644
index 0000000..16bd6ac
--- /dev/null
+++ b/THT/C/TP-2017/squares/test006/squares.inp
@@ -0,0 +1,5 @@
+4 4 4

+1 2

+3 1

+3 2

+4 4

diff --git a/THT/C/TP-2017/squares/test006/squares.out b/THT/C/TP-2017/squares/test006/squares.out
new file mode 100644
index 0000000..3d2c52f
--- /dev/null
+++ b/THT/C/TP-2017/squares/test006/squares.out
@@ -0,0 +1 @@
+5

diff --git a/THT/C/TP-2017/squares/test007/squares.inp b/THT/C/TP-2017/squares/test007/squares.inp
new file mode 100644
index 0000000..74d6160
--- /dev/null
+++ b/THT/C/TP-2017/squares/test007/squares.inp
@@ -0,0 +1,2 @@
+2 3 1

+2 1

diff --git a/THT/C/TP-2017/squares/test007/squares.out b/THT/C/TP-2017/squares/test007/squares.out
new file mode 100644
index 0000000..f33dfa2
--- /dev/null
+++ b/THT/C/TP-2017/squares/test007/squares.out
@@ -0,0 +1 @@
+1

diff --git a/THT/C/TP-2017/squares/test008/squares.inp b/THT/C/TP-2017/squares/test008/squares.inp
new file mode 100644
index 0000000..48f6aa7
--- /dev/null
+++ b/THT/C/TP-2017/squares/test008/squares.inp
@@ -0,0 +1,9 @@
+2 4 8

+1 2

+1 4

+1 3

+2 1

+2 4

+2 3

+2 2

+1 1

diff --git a/THT/C/TP-2017/squares/test008/squares.out b/THT/C/TP-2017/squares/test008/squares.out
new file mode 100644
index 0000000..1874828
--- /dev/null
+++ b/THT/C/TP-2017/squares/test008/squares.out
@@ -0,0 +1 @@
+0

diff --git a/THT/C/TP-2017/squares/test009/squares.inp b/THT/C/TP-2017/squares/test009/squares.inp
new file mode 100644
index 0000000..9eb2b15
--- /dev/null
+++ b/THT/C/TP-2017/squares/test009/squares.inp
@@ -0,0 +1,9 @@
+3 4 8

+2 4

+1 4

+2 1

+3 2

+1 1

+3 4

+1 3

+1 2

diff --git a/THT/C/TP-2017/squares/test009/squares.out b/THT/C/TP-2017/squares/test009/squares.out
new file mode 100644
index 0000000..1874828
--- /dev/null
+++ b/THT/C/TP-2017/squares/test009/squares.out
@@ -0,0 +1 @@
+0

diff --git a/THT/C/TP-2017/squares/test010/squares.inp b/THT/C/TP-2017/squares/test010/squares.inp
new file mode 100644
index 0000000..40c9ce9
--- /dev/null
+++ b/THT/C/TP-2017/squares/test010/squares.inp
@@ -0,0 +1,6 @@
+4 4 5

+4 2

+1 1

+3 3

+2 3

+3 2

diff --git a/THT/C/TP-2017/squares/test010/squares.out b/THT/C/TP-2017/squares/test010/squares.out
new file mode 100644
index 0000000..f33dfa2
--- /dev/null
+++ b/THT/C/TP-2017/squares/test010/squares.out
@@ -0,0 +1 @@
+1

diff --git a/THT/C/TP-2017/squares/test011/squares.inp b/THT/C/TP-2017/squares/test011/squares.inp
new file mode 100644
index 0000000..3c92768
--- /dev/null
+++ b/THT/C/TP-2017/squares/test011/squares.inp
@@ -0,0 +1,11 @@
+3 5 10

+2 5

+2 4

+1 5

+3 4

+2 3

+3 5

+3 1

+1 4

+3 3

+3 2

diff --git a/THT/C/TP-2017/squares/test011/squares.out b/THT/C/TP-2017/squares/test011/squares.out
new file mode 100644
index 0000000..f33dfa2
--- /dev/null
+++ b/THT/C/TP-2017/squares/test011/squares.out
@@ -0,0 +1 @@
+1

diff --git a/THT/C/TP-2017/squares/test012/squares.inp b/THT/C/TP-2017/squares/test012/squares.inp
new file mode 100644
index 0000000..4253629
--- /dev/null
+++ b/THT/C/TP-2017/squares/test012/squares.inp
@@ -0,0 +1,6 @@
+1 6 5

+1 4

+1 2

+1 3

+1 5

+1 6

diff --git a/THT/C/TP-2017/squares/test012/squares.out b/THT/C/TP-2017/squares/test012/squares.out
new file mode 100644
index 0000000..1874828
--- /dev/null
+++ b/THT/C/TP-2017/squares/test012/squares.out
@@ -0,0 +1 @@
+0

diff --git a/THT/C/TP-2017/squares/test013/squares.inp b/THT/C/TP-2017/squares/test013/squares.inp
new file mode 100644
index 0000000..0fb7310
--- /dev/null
+++ b/THT/C/TP-2017/squares/test013/squares.inp
@@ -0,0 +1,3 @@
+3 6 2

+2 4

+2 1

diff --git a/THT/C/TP-2017/squares/test013/squares.out b/THT/C/TP-2017/squares/test013/squares.out
new file mode 100644
index 0000000..3b0923b
--- /dev/null
+++ b/THT/C/TP-2017/squares/test013/squares.out
@@ -0,0 +1 @@
+9

diff --git a/THT/C/TP-2017/squares/test014/squares.inp b/THT/C/TP-2017/squares/test014/squares.inp
new file mode 100644
index 0000000..f5bb9a3
--- /dev/null
+++ b/THT/C/TP-2017/squares/test014/squares.inp
@@ -0,0 +1,7 @@
+5 4 6

+5 1

+2 1

+3 4

+5 2

+5 3

+4 2

diff --git a/THT/C/TP-2017/squares/test014/squares.out b/THT/C/TP-2017/squares/test014/squares.out
new file mode 100644
index 0000000..e30739c
--- /dev/null
+++ b/THT/C/TP-2017/squares/test014/squares.out
@@ -0,0 +1 @@
+7

diff --git a/THT/C/TP-2017/squares/test015/squares.inp b/THT/C/TP-2017/squares/test015/squares.inp
new file mode 100644
index 0000000..bca76e2
--- /dev/null
+++ b/THT/C/TP-2017/squares/test015/squares.inp
@@ -0,0 +1,5 @@
+4 1 4

+4 1

+1 1

+3 1

+2 1

diff --git a/THT/C/TP-2017/squares/test015/squares.out b/THT/C/TP-2017/squares/test015/squares.out
new file mode 100644
index 0000000..1874828
--- /dev/null
+++ b/THT/C/TP-2017/squares/test015/squares.out
@@ -0,0 +1 @@
+0

diff --git a/THT/C/TP-2017/squares/test016/squares.inp b/THT/C/TP-2017/squares/test016/squares.inp
new file mode 100644
index 0000000..3e11afb
--- /dev/null
+++ b/THT/C/TP-2017/squares/test016/squares.inp
@@ -0,0 +1,11 @@
+7 5 10

+6 1

+7 2

+7 1

+6 2

+1 4

+3 5

+6 4

+2 2

+4 3

+1 2

diff --git a/THT/C/TP-2017/squares/test016/squares.out b/THT/C/TP-2017/squares/test016/squares.out
new file mode 100644
index 0000000..bc120cb
--- /dev/null
+++ b/THT/C/TP-2017/squares/test016/squares.out
@@ -0,0 +1 @@
+21

diff --git a/THT/C/TP-2017/squares/test017/squares.inp b/THT/C/TP-2017/squares/test017/squares.inp
new file mode 100644
index 0000000..6e1b4df
--- /dev/null
+++ b/THT/C/TP-2017/squares/test017/squares.inp
@@ -0,0 +1,5 @@
+6 6 4

+2 6

+3 6

+6 4

+5 4

diff --git a/THT/C/TP-2017/squares/test017/squares.out b/THT/C/TP-2017/squares/test017/squares.out
new file mode 100644
index 0000000..ed32e11
--- /dev/null
+++ b/THT/C/TP-2017/squares/test017/squares.out
@@ -0,0 +1 @@
+65

diff --git a/THT/C/TP-2017/squares/test018/squares.inp b/THT/C/TP-2017/squares/test018/squares.inp
new file mode 100644
index 0000000..d9bb64c
--- /dev/null
+++ b/THT/C/TP-2017/squares/test018/squares.inp
@@ -0,0 +1,3 @@
+2 1 2

+2 1

+1 1

diff --git a/THT/C/TP-2017/squares/test018/squares.out b/THT/C/TP-2017/squares/test018/squares.out
new file mode 100644
index 0000000..1874828
--- /dev/null
+++ b/THT/C/TP-2017/squares/test018/squares.out
@@ -0,0 +1 @@
+0

diff --git a/THT/C/TP-2017/squares/test019/squares.inp b/THT/C/TP-2017/squares/test019/squares.inp
new file mode 100644
index 0000000..e295571
--- /dev/null
+++ b/THT/C/TP-2017/squares/test019/squares.inp
@@ -0,0 +1,11 @@
+2 8 10

+2 7

+2 8

+1 5

+1 2

+2 5

+2 4

+1 8

+1 6

+1 1

+1 4

diff --git a/THT/C/TP-2017/squares/test019/squares.out b/THT/C/TP-2017/squares/test019/squares.out
new file mode 100644
index 0000000..1874828
--- /dev/null
+++ b/THT/C/TP-2017/squares/test019/squares.out
@@ -0,0 +1 @@
+0

diff --git a/THT/C/TP-2017/squares/test020/squares.inp b/THT/C/TP-2017/squares/test020/squares.inp
new file mode 100644
index 0000000..a8c3d6a
--- /dev/null
+++ b/THT/C/TP-2017/squares/test020/squares.inp
@@ -0,0 +1 @@
+7 3 0

diff --git a/THT/C/TP-2017/squares/test020/squares.out b/THT/C/TP-2017/squares/test020/squares.out
new file mode 100644
index 0000000..2e1d452
--- /dev/null
+++ b/THT/C/TP-2017/squares/test020/squares.out
@@ -0,0 +1 @@
+22

diff --git a/THT/C/TP-2017/squares/test021/squares.inp b/THT/C/TP-2017/squares/test021/squares.inp
new file mode 100644
index 0000000..5548b12
--- /dev/null
+++ b/THT/C/TP-2017/squares/test021/squares.inp
@@ -0,0 +1,11 @@
+8 4 10

+6 2

+4 3

+5 3

+8 3

+8 2

+2 2

+6 4

+3 1

+1 1

+7 4

diff --git a/THT/C/TP-2017/squares/test021/squares.out b/THT/C/TP-2017/squares/test021/squares.out
new file mode 100644
index 0000000..f0c2fe3
--- /dev/null
+++ b/THT/C/TP-2017/squares/test021/squares.out
@@ -0,0 +1 @@
+12

diff --git a/THT/C/TP-2017/squares/test022/squares.inp b/THT/C/TP-2017/squares/test022/squares.inp
new file mode 100644
index 0000000..79abd61
--- /dev/null
+++ b/THT/C/TP-2017/squares/test022/squares.inp
@@ -0,0 +1,4 @@
+3 5 3

+3 3

+2 1

+3 2

diff --git a/THT/C/TP-2017/squares/test022/squares.out b/THT/C/TP-2017/squares/test022/squares.out
new file mode 100644
index 0000000..3d2c52f
--- /dev/null
+++ b/THT/C/TP-2017/squares/test022/squares.out
@@ -0,0 +1 @@
+5

diff --git a/THT/C/TP-2017/squares/test023/squares.inp b/THT/C/TP-2017/squares/test023/squares.inp
new file mode 100644
index 0000000..9d0fbed
--- /dev/null
+++ b/THT/C/TP-2017/squares/test023/squares.inp
@@ -0,0 +1,11 @@
+5 8 10

+5 4

+4 4

+2 7

+5 2

+4 8

+2 3

+2 8

+3 4

+1 6

+2 2

diff --git a/THT/C/TP-2017/squares/test023/squares.out b/THT/C/TP-2017/squares/test023/squares.out
new file mode 100644
index 0000000..949d335
--- /dev/null
+++ b/THT/C/TP-2017/squares/test023/squares.out
@@ -0,0 +1 @@
+30

diff --git a/THT/C/TP-2017/squares/test024/squares.inp b/THT/C/TP-2017/squares/test024/squares.inp
new file mode 100644
index 0000000..c1cdda6
--- /dev/null
+++ b/THT/C/TP-2017/squares/test024/squares.inp
@@ -0,0 +1,7 @@
+9 2 6

+3 1

+6 2

+8 2

+2 2

+5 1

+2 1

diff --git a/THT/C/TP-2017/squares/test024/squares.out b/THT/C/TP-2017/squares/test024/squares.out
new file mode 100644
index 0000000..1874828
--- /dev/null
+++ b/THT/C/TP-2017/squares/test024/squares.out
@@ -0,0 +1 @@
+0

diff --git a/THT/C/TP-2017/squares/test025/squares.inp b/THT/C/TP-2017/squares/test025/squares.inp
new file mode 100644
index 0000000..655317a
--- /dev/null
+++ b/THT/C/TP-2017/squares/test025/squares.inp
@@ -0,0 +1,4 @@
+4 8 3

+1 2

+2 1

+2 6

diff --git a/THT/C/TP-2017/squares/test025/squares.out b/THT/C/TP-2017/squares/test025/squares.out
new file mode 100644
index 0000000..a898dae
--- /dev/null
+++ b/THT/C/TP-2017/squares/test025/squares.out
@@ -0,0 +1 @@
+41

diff --git a/THT/C/TP-2017/squares/test026/squares.inp b/THT/C/TP-2017/squares/test026/squares.inp
new file mode 100644
index 0000000..742325a
--- /dev/null
+++ b/THT/C/TP-2017/squares/test026/squares.inp
@@ -0,0 +1,41 @@
+49 7 40

+45 2

+5 6

+28 6

+29 1

+48 2

+15 3

+12 5

+5 1

+1 4

+46 1

+33 6

+39 7

+14 5

+29 2

+4 4

+24 5

+48 6

+43 5

+17 2

+48 4

+12 7

+47 4

+47 6

+40 4

+31 5

+43 4

+15 6

+42 2

+31 6

+1 7

+18 7

+8 6

+49 7

+24 6

+25 1

+32 2

+19 3

+7 3

+41 3

+10 3

diff --git a/THT/C/TP-2017/squares/test026/squares.out b/THT/C/TP-2017/squares/test026/squares.out
new file mode 100644
index 0000000..90dab75
--- /dev/null
+++ b/THT/C/TP-2017/squares/test026/squares.out
@@ -0,0 +1 @@
+1579

diff --git a/THT/C/TP-2017/squares/test027/squares.inp b/THT/C/TP-2017/squares/test027/squares.inp
new file mode 100644
index 0000000..69c8c77
--- /dev/null
+++ b/THT/C/TP-2017/squares/test027/squares.inp
@@ -0,0 +1,69 @@
+30 3 68

+26 2

+30 2

+29 3

+28 2

+24 2

+10 2

+3 1

+13 3

+7 3

+4 1

+2 3

+22 1

+1 2

+24 1

+5 3

+3 3

+21 3

+8 2

+17 3

+9 1

+4 2

+2 2

+14 2

+21 2

+9 2

+12 3

+6 2

+21 1

+24 3

+8 1

+12 1

+18 1

+9 3

+6 3

+14 3

+3 2

+16 3

+18 2

+29 1

+20 2

+13 2

+16 1

+17 1

+6 1

+27 1

+22 3

+10 3

+23 1

+20 3

+8 3

+5 1

+18 3

+14 1

+29 2

+25 1

+28 3

+19 2

+26 3

+1 1

+11 2

+10 1

+7 1

+19 3

+7 2

+4 3

+19 1

+30 1

+13 1

diff --git a/THT/C/TP-2017/squares/test027/squares.out b/THT/C/TP-2017/squares/test027/squares.out
new file mode 100644
index 0000000..1874828
--- /dev/null
+++ b/THT/C/TP-2017/squares/test027/squares.out
@@ -0,0 +1 @@
+0

diff --git a/THT/C/TP-2017/squares/test028/squares.inp b/THT/C/TP-2017/squares/test028/squares.inp
new file mode 100644
index 0000000..cf087cc
--- /dev/null
+++ b/THT/C/TP-2017/squares/test028/squares.inp
@@ -0,0 +1,6 @@
+25 7 5

+25 3

+2 3

+20 6

+8 1

+7 5

diff --git a/THT/C/TP-2017/squares/test028/squares.out b/THT/C/TP-2017/squares/test028/squares.out
new file mode 100644
index 0000000..7961847
--- /dev/null
+++ b/THT/C/TP-2017/squares/test028/squares.out
@@ -0,0 +1 @@
+1079

diff --git a/THT/C/TP-2017/squares/test029/squares.inp b/THT/C/TP-2017/squares/test029/squares.inp
new file mode 100644
index 0000000..df233a3
--- /dev/null
+++ b/THT/C/TP-2017/squares/test029/squares.inp
@@ -0,0 +1,8 @@
+23 8 7

+12 7

+10 4

+13 4

+7 7

+17 6

+9 8

+20 3

diff --git a/THT/C/TP-2017/squares/test029/squares.out b/THT/C/TP-2017/squares/test029/squares.out
new file mode 100644
index 0000000..dfc89b8
--- /dev/null
+++ b/THT/C/TP-2017/squares/test029/squares.out
@@ -0,0 +1 @@
+1323

diff --git a/THT/C/TP-2017/squares/test030/squares.inp b/THT/C/TP-2017/squares/test030/squares.inp
new file mode 100644
index 0000000..90818b7
--- /dev/null
+++ b/THT/C/TP-2017/squares/test030/squares.inp
@@ -0,0 +1,66 @@
+40 33 65

+14 31

+33 9

+40 13

+39 24

+37 30

+12 4

+40 8

+10 8

+5 17

+39 30

+10 12

+28 13

+3 31

+30 4

+36 21

+11 5

+16 13

+15 11

+30 23

+10 27

+7 17

+18 10

+13 30

+34 12

+10 25

+21 19

+38 7

+26 19

+35 18

+38 12

+31 1

+28 5

+39 5

+40 24

+19 24

+3 21

+12 23

+7 15

+17 23

+6 13

+25 4

+16 32

+36 3

+39 1

+22 33

+24 9

+36 8

+17 20

+23 33

+11 10

+19 33

+17 1

+10 30

+21 24

+13 10

+15 30

+21 1

+31 21

+14 11

+37 32

+35 6

+2 30

+11 11

+18 30

+14 17

diff --git a/THT/C/TP-2017/squares/test030/squares.out b/THT/C/TP-2017/squares/test030/squares.out
new file mode 100644
index 0000000..4fa4af9
--- /dev/null
+++ b/THT/C/TP-2017/squares/test030/squares.out
@@ -0,0 +1 @@
+115551

diff --git a/THT/C/TP-2017/squares/test031/squares.inp b/THT/C/TP-2017/squares/test031/squares.inp
new file mode 100644
index 0000000..df12b85
--- /dev/null
+++ b/THT/C/TP-2017/squares/test031/squares.inp
@@ -0,0 +1,97 @@
+33 21 96

+24 19

+7 15

+12 14

+23 12

+30 6

+18 4

+10 18

+1 14

+24 7

+1 10

+13 1

+18 12

+31 8

+3 11

+14 4

+1 9

+12 20

+21 1

+10 21

+4 3

+20 7

+23 16

+32 9

+1 5

+22 10

+20 21

+20 18

+32 20

+1 15

+23 10

+27 15

+17 14

+12 1

+27 20

+4 12

+15 21

+18 9

+23 17

+3 10

+8 18

+14 12

+21 19

+30 19

+21 7

+5 9

+33 12

+29 14

+17 8

+31 12

+18 3

+31 15

+28 7

+32 1

+31 3

+2 3

+6 7

+13 6

+32 12

+10 20

+6 13

+30 13

+15 5

+6 4

+22 8

+15 14

+3 8

+23 20

+9 19

+2 10

+2 11

+30 4

+25 10

+18 11

+11 7

+33 1

+12 13

+16 14

+33 21

+6 14

+23 5

+3 20

+16 9

+10 14

+8 19

+17 10

+13 20

+16 13

+12 10

+33 13

+5 8

+4 14

+22 9

+14 1

+24 20

+22 15

+27 6

diff --git a/THT/C/TP-2017/squares/test031/squares.out b/THT/C/TP-2017/squares/test031/squares.out
new file mode 100644
index 0000000..6d83e8a
--- /dev/null
+++ b/THT/C/TP-2017/squares/test031/squares.out
@@ -0,0 +1 @@
+19034

diff --git a/THT/C/TP-2017/squares/test032/squares.inp b/THT/C/TP-2017/squares/test032/squares.inp
new file mode 100644
index 0000000..c0e781d
--- /dev/null
+++ b/THT/C/TP-2017/squares/test032/squares.inp
@@ -0,0 +1,13 @@
+9 24 12

+7 7

+4 2

+2 19

+1 1

+3 4

+4 7

+5 21

+7 5

+9 11

+2 8

+1 15

+6 23

diff --git a/THT/C/TP-2017/squares/test032/squares.out b/THT/C/TP-2017/squares/test032/squares.out
new file mode 100644
index 0000000..857670d
--- /dev/null
+++ b/THT/C/TP-2017/squares/test032/squares.out
@@ -0,0 +1 @@
+1879

diff --git a/THT/C/TP-2017/squares/test033/squares.inp b/THT/C/TP-2017/squares/test033/squares.inp
new file mode 100644
index 0000000..7fcf7ec
--- /dev/null
+++ b/THT/C/TP-2017/squares/test033/squares.inp
@@ -0,0 +1,7 @@
+52 9 6

+52 9

+21 8

+20 2

+8 7

+36 2

+35 9

diff --git a/THT/C/TP-2017/squares/test033/squares.out b/THT/C/TP-2017/squares/test033/squares.out
new file mode 100644
index 0000000..1ac7c18
--- /dev/null
+++ b/THT/C/TP-2017/squares/test033/squares.out
@@ -0,0 +1 @@
+5444

diff --git a/THT/C/TP-2017/squares/test034/squares.inp b/THT/C/TP-2017/squares/test034/squares.inp
new file mode 100644
index 0000000..c04c6af
--- /dev/null
+++ b/THT/C/TP-2017/squares/test034/squares.inp
@@ -0,0 +1,69 @@
+13 22 68

+8 9

+4 3

+3 22

+12 20

+1 6

+7 11

+2 11

+6 12

+13 22

+6 3

+12 1

+4 11

+6 6

+6 2

+9 3

+5 19

+10 9

+9 9

+6 1

+6 9

+8 15

+1 14

+11 21

+9 15

+10 8

+7 7

+2 19

+6 18

+6 7

+5 16

+1 13

+2 12

+8 2

+10 15

+9 1

+13 20

+2 16

+1 1

+7 21

+6 22

+7 18

+5 22

+3 8

+1 19

+7 17

+11 16

+5 14

+3 7

+2 7

+3 1

+2 1

+4 4

+1 12

+1 5

+12 9

+3 2

+8 21

+11 20

+6 20

+2 8

+3 16

+6 10

+5 2

+11 10

+13 4

+1 8

+12 3

+12 15

diff --git a/THT/C/TP-2017/squares/test034/squares.out b/THT/C/TP-2017/squares/test034/squares.out
new file mode 100644
index 0000000..4be2da2
--- /dev/null
+++ b/THT/C/TP-2017/squares/test034/squares.out
@@ -0,0 +1 @@
+2022

diff --git a/THT/C/TP-2017/squares/test035/squares.inp b/THT/C/TP-2017/squares/test035/squares.inp
new file mode 100644
index 0000000..57d97b6
--- /dev/null
+++ b/THT/C/TP-2017/squares/test035/squares.inp
@@ -0,0 +1,53 @@
+6 49 52

+3 23

+4 32

+3 13

+3 28

+2 7

+3 10

+5 26

+2 5

+4 42

+1 20

+1 12

+1 29

+6 37

+1 30

+2 29

+4 9

+1 34

+6 48

+5 30

+6 17

+4 40

+2 41

+4 21

+6 21

+4 46

+2 36

+6 2

+3 21

+1 5

+2 48

+6 32

+3 18

+3 33

+3 29

+6 38

+6 45

+6 20

+3 44

+6 4

+5 34

+5 12

+2 27

+2 38

+1 37

+6 36

+2 24

+3 11

+5 27

+6 22

+1 48

+3 15

+5 36

diff --git a/THT/C/TP-2017/squares/test035/squares.out b/THT/C/TP-2017/squares/test035/squares.out
new file mode 100644
index 0000000..c9d5dd5
--- /dev/null
+++ b/THT/C/TP-2017/squares/test035/squares.out
@@ -0,0 +1 @@
+712

diff --git a/THT/C/TP-2017/squares/test036/squares.inp b/THT/C/TP-2017/squares/test036/squares.inp
new file mode 100644
index 0000000..9da8684
--- /dev/null
+++ b/THT/C/TP-2017/squares/test036/squares.inp
@@ -0,0 +1,74 @@
+35 21 73

+3 1

+15 9

+4 19

+20 10

+9 6

+21 20

+5 17

+35 13

+33 1

+14 20

+9 15

+9 5

+17 1

+2 1

+23 20

+15 15

+14 15

+29 13

+25 12

+34 10

+13 13

+32 14

+27 8

+13 15

+22 10

+11 2

+31 5

+4 2

+8 7

+7 13

+15 8

+27 16

+19 15

+18 4

+1 4

+15 2

+3 6

+8 8

+33 2

+8 13

+31 16

+29 4

+6 8

+22 16

+5 14

+26 18

+23 12

+29 1

+17 2

+2 11

+11 16

+26 1

+15 10

+7 18

+4 15

+29 12

+17 13

+31 19

+26 13

+19 8

+32 21

+26 19

+25 15

+25 19

+17 11

+5 3

+13 14

+33 6

+33 14

+10 15

+12 3

+22 11

+34 13

diff --git a/THT/C/TP-2017/squares/test036/squares.out b/THT/C/TP-2017/squares/test036/squares.out
new file mode 100644
index 0000000..adfc758
--- /dev/null
+++ b/THT/C/TP-2017/squares/test036/squares.out
@@ -0,0 +1 @@
+24630

diff --git a/THT/C/TP-2017/squares/test037/squares.inp b/THT/C/TP-2017/squares/test037/squares.inp
new file mode 100644
index 0000000..818547f
--- /dev/null
+++ b/THT/C/TP-2017/squares/test037/squares.inp
@@ -0,0 +1,17 @@
+59 58 16

+30 45

+54 21

+11 42

+32 35

+20 47

+19 12

+27 47

+26 16

+22 18

+54 57

+44 3

+43 12

+18 31

+35 22

+46 15

+47 40

diff --git a/THT/C/TP-2017/squares/test037/squares.out b/THT/C/TP-2017/squares/test037/squares.out
new file mode 100644
index 0000000..43bf442
--- /dev/null
+++ b/THT/C/TP-2017/squares/test037/squares.out
@@ -0,0 +1 @@
+954855

diff --git a/THT/C/TP-2017/squares/test038/squares.inp b/THT/C/TP-2017/squares/test038/squares.inp
new file mode 100644
index 0000000..520c2a6
--- /dev/null
+++ b/THT/C/TP-2017/squares/test038/squares.inp
@@ -0,0 +1,61 @@
+3 35 60

+1 35

+3 13

+2 2

+2 12

+2 18

+2 7

+2 3

+2 16

+3 33

+2 27

+2 11

+2 32

+3 25

+2 17

+1 10

+1 21

+3 7

+3 26

+1 33

+2 24

+1 26

+1 6

+3 27

+1 18

+3 4

+1 14

+2 21

+2 35

+3 21

+1 34

+2 20

+2 22

+3 9

+1 9

+3 23

+1 12

+3 18

+1 31

+1 13

+3 14

+2 14

+3 28

+3 35

+1 32

+1 25

+1 16

+2 8

+3 22

+1 5

+2 28

+2 30

+3 3

+3 32

+3 12

+3 16

+2 13

+1 17

+1 30

+1 28

+2 19

diff --git a/THT/C/TP-2017/squares/test038/squares.out b/THT/C/TP-2017/squares/test038/squares.out
new file mode 100644
index 0000000..78c6bae
--- /dev/null
+++ b/THT/C/TP-2017/squares/test038/squares.out
@@ -0,0 +1 @@
+2

diff --git a/THT/C/TP-2017/squares/test039/squares.inp b/THT/C/TP-2017/squares/test039/squares.inp
new file mode 100644
index 0000000..1befa92
--- /dev/null
+++ b/THT/C/TP-2017/squares/test039/squares.inp
@@ -0,0 +1,25 @@
+3 8 24

+2 5

+3 6

+2 3

+3 4

+1 4

+1 1

+1 7

+2 6

+3 2

+2 1

+1 5

+3 8

+2 8

+1 3

+3 5

+1 2

+1 6

+2 2

+2 7

+3 3

+1 8

+2 4

+3 1

+3 7

diff --git a/THT/C/TP-2017/squares/test039/squares.out b/THT/C/TP-2017/squares/test039/squares.out
new file mode 100644
index 0000000..1874828
--- /dev/null
+++ b/THT/C/TP-2017/squares/test039/squares.out
@@ -0,0 +1 @@
+0

diff --git a/THT/C/TP-2017/squares/test040/squares.inp b/THT/C/TP-2017/squares/test040/squares.inp
new file mode 100644
index 0000000..ffda075
--- /dev/null
+++ b/THT/C/TP-2017/squares/test040/squares.inp
@@ -0,0 +1,29 @@
+37 43 28

+29 39

+20 42

+3 25

+18 20

+17 21

+8 39

+16 9

+14 17

+7 28

+17 31

+10 3

+20 43

+2 15

+34 9

+31 14

+21 43

+32 29

+36 11

+5 9

+24 4

+37 16

+37 36

+23 12

+5 16

+22 33

+1 30

+8 18

+36 8

diff --git a/THT/C/TP-2017/squares/test040/squares.out b/THT/C/TP-2017/squares/test040/squares.out
new file mode 100644
index 0000000..65831c0
--- /dev/null
+++ b/THT/C/TP-2017/squares/test040/squares.out
@@ -0,0 +1 @@
+192892

diff --git a/THT/C/TP-2017/squares/test041/squares.inp b/THT/C/TP-2017/squares/test041/squares.inp
new file mode 100644
index 0000000..79a4f68
--- /dev/null
+++ b/THT/C/TP-2017/squares/test041/squares.inp
@@ -0,0 +1,22 @@
+37 60 21

+36 15

+27 27

+13 25

+30 5

+5 57

+15 48

+9 30

+26 20

+4 11

+15 10

+11 15

+19 14

+13 43

+27 47

+1 22

+24 10

+9 39

+10 20

+30 56

+36 48

+12 60

diff --git a/THT/C/TP-2017/squares/test041/squares.out b/THT/C/TP-2017/squares/test041/squares.out
new file mode 100644
index 0000000..dc23255
--- /dev/null
+++ b/THT/C/TP-2017/squares/test041/squares.out
@@ -0,0 +1 @@
+336955

diff --git a/THT/C/TP-2017/squares/test042/squares.inp b/THT/C/TP-2017/squares/test042/squares.inp
new file mode 100644
index 0000000..2e118c0
--- /dev/null
+++ b/THT/C/TP-2017/squares/test042/squares.inp
@@ -0,0 +1,59 @@
+71 30 58

+54 27

+12 4

+31 18

+64 11

+8 2

+2 3

+42 23

+31 26

+57 11

+66 8

+22 15

+28 5

+35 19

+70 22

+50 28

+28 19

+19 18

+68 23

+10 22

+52 9

+66 24

+48 28

+31 24

+15 26

+27 26

+51 8

+47 25

+66 22

+62 10

+58 21

+65 21

+20 25

+27 1

+27 20

+40 21

+48 18

+21 24

+2 5

+29 10

+22 23

+67 11

+64 19

+62 19

+47 9

+25 14

+39 21

+58 24

+8 20

+57 12

+3 1

+58 28

+58 1

+4 4

+45 24

+36 2

+13 27

+11 27

+55 2

diff --git a/THT/C/TP-2017/squares/test042/squares.out b/THT/C/TP-2017/squares/test042/squares.out
new file mode 100644
index 0000000..f628a42
--- /dev/null
+++ b/THT/C/TP-2017/squares/test042/squares.out
@@ -0,0 +1 @@
+225639

diff --git a/THT/C/TP-2017/squares/test043/squares.inp b/THT/C/TP-2017/squares/test043/squares.inp
new file mode 100644
index 0000000..e8268ae
--- /dev/null
+++ b/THT/C/TP-2017/squares/test043/squares.inp
@@ -0,0 +1,91 @@
+67 26 90

+67 14

+8 10

+63 26

+17 7

+31 12

+51 3

+14 23

+38 1

+13 21

+8 8

+8 4

+24 19

+1 17

+29 1

+45 11

+27 15

+6 10

+5 17

+19 13

+12 17

+65 16

+11 6

+54 9

+40 8

+39 26

+35 7

+66 6

+25 2

+53 25

+38 13

+27 26

+65 20

+41 1

+8 21

+28 24

+53 20

+47 7

+62 4

+18 6

+51 26

+31 14

+64 18

+66 25

+58 17

+25 7

+60 9

+43 24

+29 24

+3 17

+52 3

+34 7

+53 5

+51 17

+54 5

+21 12

+54 15

+37 6

+32 6

+46 7

+2 24

+7 15

+20 4

+10 25

+23 10

+4 10

+23 13

+22 11

+64 9

+57 10

+26 23

+2 19

+56 1

+45 25

+11 22

+67 24

+7 7

+59 18

+20 26

+30 4

+54 20

+63 14

+42 7

+7 17

+60 18

+52 2

+48 15

+4 17

+12 8

+56 6

+47 4

diff --git a/THT/C/TP-2017/squares/test043/squares.out b/THT/C/TP-2017/squares/test043/squares.out
new file mode 100644
index 0000000..6b41852
--- /dev/null
+++ b/THT/C/TP-2017/squares/test043/squares.out
@@ -0,0 +1 @@
+128952

diff --git a/THT/C/TP-2017/squares/test044/squares.inp b/THT/C/TP-2017/squares/test044/squares.inp
new file mode 100644
index 0000000..d2bf19f
--- /dev/null
+++ b/THT/C/TP-2017/squares/test044/squares.inp
@@ -0,0 +1,36 @@
+23 52 35

+23 28

+15 19

+1 4

+1 52

+8 46

+19 11

+20 23

+23 34

+2 29

+2 14

+22 17

+8 41

+13 9

+23 5

+10 27

+16 12

+10 13

+18 28

+13 26

+6 49

+7 27

+6 11

+13 2

+17 5

+22 22

+16 27

+18 34

+4 25

+9 35

+10 1

+16 1

+7 42

+7 32

+9 40

+19 20

diff --git a/THT/C/TP-2017/squares/test044/squares.out b/THT/C/TP-2017/squares/test044/squares.out
new file mode 100644
index 0000000..44c3bae
--- /dev/null
+++ b/THT/C/TP-2017/squares/test044/squares.out
@@ -0,0 +1 @@
+72666

diff --git a/THT/C/TP-2017/squares/test045/squares.inp b/THT/C/TP-2017/squares/test045/squares.inp
new file mode 100644
index 0000000..f7ac09a
--- /dev/null
+++ b/THT/C/TP-2017/squares/test045/squares.inp
@@ -0,0 +1,23 @@
+58 4 22

+22 1

+45 1

+40 4

+42 1

+45 4

+17 3

+32 3

+32 4

+43 4

+56 4

+17 4

+47 4

+39 3

+34 3

+45 2

+55 4

+3 3

+9 4

+44 4

+5 1

+30 2

+13 4

diff --git a/THT/C/TP-2017/squares/test045/squares.out b/THT/C/TP-2017/squares/test045/squares.out
new file mode 100644
index 0000000..64d360d
--- /dev/null
+++ b/THT/C/TP-2017/squares/test045/squares.out
@@ -0,0 +1 @@
+379

diff --git a/THT/C/TP-2017/squares/test046/squares.inp b/THT/C/TP-2017/squares/test046/squares.inp
new file mode 100644
index 0000000..73272e0
--- /dev/null
+++ b/THT/C/TP-2017/squares/test046/squares.inp
@@ -0,0 +1,14 @@
+89 27 13

+78 12

+40 15

+45 13

+49 19

+58 15

+31 15

+9 19

+29 15

+15 2

+50 22

+29 8

+86 25

+86 18

diff --git a/THT/C/TP-2017/squares/test046/squares.out b/THT/C/TP-2017/squares/test046/squares.out
new file mode 100644
index 0000000..0e28547
--- /dev/null
+++ b/THT/C/TP-2017/squares/test046/squares.out
@@ -0,0 +1 @@
+241640

diff --git a/THT/C/TP-2017/squares/test047/squares.inp b/THT/C/TP-2017/squares/test047/squares.inp
new file mode 100644
index 0000000..9560ddd
--- /dev/null
+++ b/THT/C/TP-2017/squares/test047/squares.inp
@@ -0,0 +1,95 @@
+71 43 94

+63 29

+55 15

+23 19

+26 37

+15 1

+35 35

+71 40

+65 22

+9 7

+2 18

+64 7

+39 6

+15 42

+48 14

+46 12

+9 34

+19 23

+5 38

+15 43

+10 4

+14 7

+49 41

+4 10

+8 2

+10 37

+23 4

+22 42

+19 33

+54 18

+71 3

+38 31

+68 25

+29 7

+8 27

+30 29

+22 41

+36 20

+47 23

+33 40

+67 11

+63 12

+50 40

+35 17

+10 34

+29 15

+51 10

+21 14

+8 22

+65 10

+51 32

+44 4

+57 24

+60 25

+35 14

+63 2

+66 23

+20 3

+44 37

+38 41

+39 12

+67 5

+22 13

+70 9

+65 1

+33 39

+59 34

+55 14

+49 28

+23 42

+14 34

+48 33

+60 27

+2 16

+46 26

+32 7

+64 2

+23 17

+34 7

+37 7

+10 21

+51 8

+59 9

+5 25

+21 20

+3 31

+68 20

+69 28

+38 21

+57 43

+27 11

+26 30

+27 43

+47 40

+26 11

diff --git a/THT/C/TP-2017/squares/test047/squares.out b/THT/C/TP-2017/squares/test047/squares.out
new file mode 100644
index 0000000..94035fd
--- /dev/null
+++ b/THT/C/TP-2017/squares/test047/squares.out
@@ -0,0 +1 @@
+580248

diff --git a/THT/C/TP-2017/squares/test048/squares.inp b/THT/C/TP-2017/squares/test048/squares.inp
new file mode 100644
index 0000000..a9c56e3
--- /dev/null
+++ b/THT/C/TP-2017/squares/test048/squares.inp
@@ -0,0 +1,29 @@
+68 61 28

+14 8

+8 60

+3 10

+16 43

+31 22

+57 12

+16 24

+34 60

+64 8

+46 3

+55 49

+38 51

+67 30

+41 59

+4 39

+14 37

+28 51

+41 1

+53 12

+29 18

+49 28

+54 8

+22 53

+67 44

+45 48

+60 6

+38 31

+51 8

diff --git a/THT/C/TP-2017/squares/test048/squares.out b/THT/C/TP-2017/squares/test048/squares.out
new file mode 100644
index 0000000..f9c0b59
--- /dev/null
+++ b/THT/C/TP-2017/squares/test048/squares.out
@@ -0,0 +1 @@
+1382010

diff --git a/THT/C/TP-2017/squares/test049/squares.inp b/THT/C/TP-2017/squares/test049/squares.inp
new file mode 100644
index 0000000..a2242b7
--- /dev/null
+++ b/THT/C/TP-2017/squares/test049/squares.inp
@@ -0,0 +1,63 @@
+91 23 62

+51 18

+39 18

+85 10

+10 2

+90 22

+80 16

+7 18

+45 19

+66 19

+68 9

+83 22

+73 11

+29 5

+46 12

+64 15

+13 8

+18 3

+44 11

+28 12

+79 18

+54 2

+32 16

+78 4

+74 16

+91 8

+78 20

+38 11

+12 6

+77 18

+6 23

+32 15

+84 4

+88 5

+59 9

+63 12

+4 1

+47 12

+50 11

+31 11

+7 8

+21 23

+33 16

+40 19

+54 12

+66 9

+29 9

+30 7

+2 13

+4 20

+24 1

+68 18

+58 19

+71 10

+70 18

+78 9

+66 8

+90 6

+82 19

+54 1

+54 6

+4 7

+91 14

diff --git a/THT/C/TP-2017/squares/test049/squares.out b/THT/C/TP-2017/squares/test049/squares.out
new file mode 100644
index 0000000..f3937a3
--- /dev/null
+++ b/THT/C/TP-2017/squares/test049/squares.out
@@ -0,0 +1 @@
+142837

diff --git a/THT/C/TP-2017/squares/test050/squares.inp b/THT/C/TP-2017/squares/test050/squares.inp
new file mode 100644
index 0000000..eb9d4fb
--- /dev/null
+++ b/THT/C/TP-2017/squares/test050/squares.inp
@@ -0,0 +1,3 @@
+97 61 2

+37 21

+20 33

diff --git a/THT/C/TP-2017/squares/test050/squares.out b/THT/C/TP-2017/squares/test050/squares.out
new file mode 100644
index 0000000..77a14e4
--- /dev/null
+++ b/THT/C/TP-2017/squares/test050/squares.out
@@ -0,0 +1 @@
+2510717

diff --git a/THT/C/TP-2017/squares/test051/squares.inp b/THT/C/TP-2017/squares/test051/squares.inp
new file mode 100644
index 0000000..324c968
--- /dev/null
+++ b/THT/C/TP-2017/squares/test051/squares.inp
@@ -0,0 +1 @@
+2 3 0

diff --git a/THT/C/TP-2017/squares/test051/squares.out b/THT/C/TP-2017/squares/test051/squares.out
new file mode 100644
index 0000000..78c6bae
--- /dev/null
+++ b/THT/C/TP-2017/squares/test051/squares.out
@@ -0,0 +1 @@
+2

diff --git a/THT/C/TP-2017/squares/test052/squares.inp b/THT/C/TP-2017/squares/test052/squares.inp
new file mode 100644
index 0000000..d17a5b4
--- /dev/null
+++ b/THT/C/TP-2017/squares/test052/squares.inp
@@ -0,0 +1 @@
+44 4 0

diff --git a/THT/C/TP-2017/squares/test052/squares.out b/THT/C/TP-2017/squares/test052/squares.out
new file mode 100644
index 0000000..163368c
--- /dev/null
+++ b/THT/C/TP-2017/squares/test052/squares.out
@@ -0,0 +1 @@
+420

diff --git a/THT/C/TP-2017/squares/test053/squares.inp b/THT/C/TP-2017/squares/test053/squares.inp
new file mode 100644
index 0000000..5c4b472
--- /dev/null
+++ b/THT/C/TP-2017/squares/test053/squares.inp
@@ -0,0 +1 @@
+93 57 0

diff --git a/THT/C/TP-2017/squares/test053/squares.out b/THT/C/TP-2017/squares/test053/squares.out
new file mode 100644
index 0000000..e18527f
--- /dev/null
+++ b/THT/C/TP-2017/squares/test053/squares.out
@@ -0,0 +1 @@
+1990212

diff --git a/THT/C/TP-2017/squares/test054/squares.inp b/THT/C/TP-2017/squares/test054/squares.inp
new file mode 100644
index 0000000..a2c75ab
--- /dev/null
+++ b/THT/C/TP-2017/squares/test054/squares.inp
@@ -0,0 +1 @@
+92 85 0

diff --git a/THT/C/TP-2017/squares/test054/squares.out b/THT/C/TP-2017/squares/test054/squares.out
new file mode 100644
index 0000000..bb7ef2e
--- /dev/null
+++ b/THT/C/TP-2017/squares/test054/squares.out
@@ -0,0 +1 @@
+5065830

diff --git a/THT/C/TP-2017/squares/test055/squares.inp b/THT/C/TP-2017/squares/test055/squares.inp
new file mode 100644
index 0000000..aa0e027
--- /dev/null
+++ b/THT/C/TP-2017/squares/test055/squares.inp
@@ -0,0 +1 @@
+14 47 0

diff --git a/THT/C/TP-2017/squares/test055/squares.out b/THT/C/TP-2017/squares/test055/squares.out
new file mode 100644
index 0000000..f6d0eaa
--- /dev/null
+++ b/THT/C/TP-2017/squares/test055/squares.out
@@ -0,0 +1 @@
+18200

diff --git a/THT/C/TP-2017/squares/test056/squares.inp b/THT/C/TP-2017/squares/test056/squares.inp
new file mode 100644
index 0000000..7723bab
--- /dev/null
+++ b/THT/C/TP-2017/squares/test056/squares.inp
@@ -0,0 +1 @@
+199 130 0

diff --git a/THT/C/TP-2017/squares/test056/squares.out b/THT/C/TP-2017/squares/test056/squares.out
new file mode 100644
index 0000000..4284f06
--- /dev/null
+++ b/THT/C/TP-2017/squares/test056/squares.out
@@ -0,0 +1 @@
+49063430

diff --git a/THT/C/TP-2017/squares/test057/squares.inp b/THT/C/TP-2017/squares/test057/squares.inp
new file mode 100644
index 0000000..f48e645
--- /dev/null
+++ b/THT/C/TP-2017/squares/test057/squares.inp
@@ -0,0 +1 @@
+158 34 0

diff --git a/THT/C/TP-2017/squares/test057/squares.out b/THT/C/TP-2017/squares/test057/squares.out
new file mode 100644
index 0000000..85af5f0
--- /dev/null
+++ b/THT/C/TP-2017/squares/test057/squares.out
@@ -0,0 +1 @@
+922845

diff --git a/THT/C/TP-2017/squares/test058/squares.inp b/THT/C/TP-2017/squares/test058/squares.inp
new file mode 100644
index 0000000..5991206
--- /dev/null
+++ b/THT/C/TP-2017/squares/test058/squares.inp
@@ -0,0 +1 @@
+205 196 0

diff --git a/THT/C/TP-2017/squares/test058/squares.out b/THT/C/TP-2017/squares/test058/squares.out
new file mode 100644
index 0000000..965b4b5
--- /dev/null
+++ b/THT/C/TP-2017/squares/test058/squares.out
@@ -0,0 +1 @@
+134273230

diff --git a/THT/C/TP-2017/squares/test059/squares.inp b/THT/C/TP-2017/squares/test059/squares.inp
new file mode 100644
index 0000000..fbe3644
--- /dev/null
+++ b/THT/C/TP-2017/squares/test059/squares.inp
@@ -0,0 +1 @@
+321 14 0

diff --git a/THT/C/TP-2017/squares/test059/squares.out b/THT/C/TP-2017/squares/test059/squares.out
new file mode 100644
index 0000000..31cf519
--- /dev/null
+++ b/THT/C/TP-2017/squares/test059/squares.out
@@ -0,0 +1 @@
+142870

diff --git a/THT/C/TP-2017/squares/test060/squares.inp b/THT/C/TP-2017/squares/test060/squares.inp
new file mode 100644
index 0000000..5d1ba99
--- /dev/null
+++ b/THT/C/TP-2017/squares/test060/squares.inp
@@ -0,0 +1 @@
+88 283 0

diff --git a/THT/C/TP-2017/squares/test060/squares.out b/THT/C/TP-2017/squares/test060/squares.out
new file mode 100644
index 0000000..05e1a92
--- /dev/null
+++ b/THT/C/TP-2017/squares/test060/squares.out
@@ -0,0 +1 @@
+27141796

diff --git a/THT/C/TP-2017/squares/test061/squares.inp b/THT/C/TP-2017/squares/test061/squares.inp
new file mode 100644
index 0000000..abe25bc
--- /dev/null
+++ b/THT/C/TP-2017/squares/test061/squares.inp
@@ -0,0 +1 @@
+299 319 0

diff --git a/THT/C/TP-2017/squares/test061/squares.out b/THT/C/TP-2017/squares/test061/squares.out
new file mode 100644
index 0000000..c3a74f2
--- /dev/null
+++ b/THT/C/TP-2017/squares/test061/squares.out
@@ -0,0 +1 @@
+755139450

diff --git a/THT/C/TP-2017/squares/test062/squares.inp b/THT/C/TP-2017/squares/test062/squares.inp
new file mode 100644
index 0000000..af85697
--- /dev/null
+++ b/THT/C/TP-2017/squares/test062/squares.inp
@@ -0,0 +1 @@
+384 134 0

diff --git a/THT/C/TP-2017/squares/test062/squares.out b/THT/C/TP-2017/squares/test062/squares.out
new file mode 100644
index 0000000..1130e48
--- /dev/null
+++ b/THT/C/TP-2017/squares/test062/squares.out
@@ -0,0 +1 @@
+127115415

diff --git a/THT/C/TP-2017/squares/test063/squares.inp b/THT/C/TP-2017/squares/test063/squares.inp
new file mode 100644
index 0000000..d5544ef
--- /dev/null
+++ b/THT/C/TP-2017/squares/test063/squares.inp
@@ -0,0 +1 @@
+365 144 0

diff --git a/THT/C/TP-2017/squares/test063/squares.out b/THT/C/TP-2017/squares/test063/squares.out
new file mode 100644
index 0000000..af0816a
--- /dev/null
+++ b/THT/C/TP-2017/squares/test063/squares.out
@@ -0,0 +1 @@
+145808520

diff --git a/THT/C/TP-2017/squares/test064/squares.inp b/THT/C/TP-2017/squares/test064/squares.inp
new file mode 100644
index 0000000..f82dcba
--- /dev/null
+++ b/THT/C/TP-2017/squares/test064/squares.inp
@@ -0,0 +1 @@
+462 474 0

diff --git a/THT/C/TP-2017/squares/test064/squares.out b/THT/C/TP-2017/squares/test064/squares.out
new file mode 100644
index 0000000..f4b38aa
--- /dev/null
+++ b/THT/C/TP-2017/squares/test064/squares.out
@@ -0,0 +1 @@
+3993731973

diff --git a/THT/C/TP-2017/squares/test065/squares.inp b/THT/C/TP-2017/squares/test065/squares.inp
new file mode 100644
index 0000000..7c9d0a9
--- /dev/null
+++ b/THT/C/TP-2017/squares/test065/squares.inp
@@ -0,0 +1 @@
+66 373 0

diff --git a/THT/C/TP-2017/squares/test065/squares.out b/THT/C/TP-2017/squares/test065/squares.out
new file mode 100644
index 0000000..bc63d42
--- /dev/null
+++ b/THT/C/TP-2017/squares/test065/squares.out
@@ -0,0 +1 @@
+16287700

diff --git a/THT/C/TP-2017/squares/test066/squares.inp b/THT/C/TP-2017/squares/test066/squares.inp
new file mode 100644
index 0000000..9ddfa2d
--- /dev/null
+++ b/THT/C/TP-2017/squares/test066/squares.inp
@@ -0,0 +1 @@
+249 115 0

diff --git a/THT/C/TP-2017/squares/test066/squares.out b/THT/C/TP-2017/squares/test066/squares.out
new file mode 100644
index 0000000..c7ce389
--- /dev/null
+++ b/THT/C/TP-2017/squares/test066/squares.out
@@ -0,0 +1 @@
+48537590

diff --git a/THT/C/TP-2017/squares/test067/squares.inp b/THT/C/TP-2017/squares/test067/squares.inp
new file mode 100644
index 0000000..426bc28
--- /dev/null
+++ b/THT/C/TP-2017/squares/test067/squares.inp
@@ -0,0 +1 @@
+19 523 0

diff --git a/THT/C/TP-2017/squares/test067/squares.out b/THT/C/TP-2017/squares/test067/squares.out
new file mode 100644
index 0000000..f6a0531
--- /dev/null
+++ b/THT/C/TP-2017/squares/test067/squares.out
@@ -0,0 +1 @@
+585390

diff --git a/THT/C/TP-2017/squares/test068/squares.inp b/THT/C/TP-2017/squares/test068/squares.inp
new file mode 100644
index 0000000..886f5b7
--- /dev/null
+++ b/THT/C/TP-2017/squares/test068/squares.inp
@@ -0,0 +1 @@
+86 428 0

diff --git a/THT/C/TP-2017/squares/test068/squares.out b/THT/C/TP-2017/squares/test068/squares.out
new file mode 100644
index 0000000..66d9fe2
--- /dev/null
+++ b/THT/C/TP-2017/squares/test068/squares.out
@@ -0,0 +1 @@
+40808075

diff --git a/THT/C/TP-2017/squares/test069/squares.inp b/THT/C/TP-2017/squares/test069/squares.inp
new file mode 100644
index 0000000..61d5d88
--- /dev/null
+++ b/THT/C/TP-2017/squares/test069/squares.inp
@@ -0,0 +1 @@
+607 65 0

diff --git a/THT/C/TP-2017/squares/test069/squares.out b/THT/C/TP-2017/squares/test069/squares.out
new file mode 100644
index 0000000..4870059
--- /dev/null
+++ b/THT/C/TP-2017/squares/test069/squares.out
@@ -0,0 +1 @@
+26289120

diff --git a/THT/C/TP-2017/squares/test070/squares.inp b/THT/C/TP-2017/squares/test070/squares.inp
new file mode 100644
index 0000000..d9885ae
--- /dev/null
+++ b/THT/C/TP-2017/squares/test070/squares.inp
@@ -0,0 +1 @@
+432 295 0

diff --git a/THT/C/TP-2017/squares/test070/squares.out b/THT/C/TP-2017/squares/test070/squares.out
new file mode 100644
index 0000000..691cdc0
--- /dev/null
+++ b/THT/C/TP-2017/squares/test070/squares.out
@@ -0,0 +1 @@
+1217284460

diff --git a/THT/C/TP-2017/squares/test071/squares.inp b/THT/C/TP-2017/squares/test071/squares.inp
new file mode 100644
index 0000000..a743f21
--- /dev/null
+++ b/THT/C/TP-2017/squares/test071/squares.inp
@@ -0,0 +1 @@
+217 67 0

diff --git a/THT/C/TP-2017/squares/test071/squares.out b/THT/C/TP-2017/squares/test071/squares.out
new file mode 100644
index 0000000..5c03311
--- /dev/null
+++ b/THT/C/TP-2017/squares/test071/squares.out
@@ -0,0 +1 @@
+9196286

diff --git a/THT/C/TP-2017/squares/test072/squares.inp b/THT/C/TP-2017/squares/test072/squares.inp
new file mode 100644
index 0000000..ce67d71
--- /dev/null
+++ b/THT/C/TP-2017/squares/test072/squares.inp
@@ -0,0 +1 @@
+552 253 0

diff --git a/THT/C/TP-2017/squares/test072/squares.out b/THT/C/TP-2017/squares/test072/squares.out
new file mode 100644
index 0000000..9fda302
--- /dev/null
+++ b/THT/C/TP-2017/squares/test072/squares.out
@@ -0,0 +1 @@
+1148426202

diff --git a/THT/C/TP-2017/squares/test073/squares.inp b/THT/C/TP-2017/squares/test073/squares.inp
new file mode 100644
index 0000000..dd0b981
--- /dev/null
+++ b/THT/C/TP-2017/squares/test073/squares.inp
@@ -0,0 +1 @@
+668 835 0

diff --git a/THT/C/TP-2017/squares/test073/squares.out b/THT/C/TP-2017/squares/test073/squares.out
new file mode 100644
index 0000000..b97e84f
--- /dev/null
+++ b/THT/C/TP-2017/squares/test073/squares.out
@@ -0,0 +1 @@
+24889426494

diff --git a/THT/C/TP-2017/squares/test074/squares.inp b/THT/C/TP-2017/squares/test074/squares.inp
new file mode 100644
index 0000000..da5fd25
--- /dev/null
+++ b/THT/C/TP-2017/squares/test074/squares.inp
@@ -0,0 +1 @@
+254 45 0

diff --git a/THT/C/TP-2017/squares/test074/squares.out b/THT/C/TP-2017/squares/test074/squares.out
new file mode 100644
index 0000000..5d02034
--- /dev/null
+++ b/THT/C/TP-2017/squares/test074/squares.out
@@ -0,0 +1 @@
+3514170

diff --git a/THT/C/TP-2017/squares/test075/squares.inp b/THT/C/TP-2017/squares/test075/squares.inp
new file mode 100644
index 0000000..bf08e69
--- /dev/null
+++ b/THT/C/TP-2017/squares/test075/squares.inp
@@ -0,0 +1 @@
+895 104 0

diff --git a/THT/C/TP-2017/squares/test075/squares.out b/THT/C/TP-2017/squares/test075/squares.out
new file mode 100644
index 0000000..220e332
--- /dev/null
+++ b/THT/C/TP-2017/squares/test075/squares.out
@@ -0,0 +1 @@
+158028780

diff --git a/THT/C/TP-2017/squares/test076/squares.inp b/THT/C/TP-2017/squares/test076/squares.inp
new file mode 100644
index 0000000..48f421c
--- /dev/null
+++ b/THT/C/TP-2017/squares/test076/squares.inp
@@ -0,0 +1,21 @@
+9 7 20

+3 6

+4 7

+9 6

+8 4

+6 5

+2 5

+1 1

+4 3

+7 3

+8 1

+3 3

+4 2

+2 4

+8 7

+7 1

+5 4

+9 5

+2 1

+2 3

+2 6

diff --git a/THT/C/TP-2017/squares/test076/squares.out b/THT/C/TP-2017/squares/test076/squares.out
new file mode 100644
index 0000000..ce21699
--- /dev/null
+++ b/THT/C/TP-2017/squares/test076/squares.out
@@ -0,0 +1 @@
+68

diff --git a/THT/C/TP-2017/squares/test077/squares.inp b/THT/C/TP-2017/squares/test077/squares.inp
new file mode 100644
index 0000000..b242be0
--- /dev/null
+++ b/THT/C/TP-2017/squares/test077/squares.inp
@@ -0,0 +1,34 @@
+49 56 33

+21 28

+36 32

+45 13

+38 31

+42 41

+2 14

+16 1

+26 47

+21 48

+12 22

+16 53

+47 47

+15 18

+18 34

+1 23

+42 7

+8 24

+11 48

+13 30

+44 35

+11 21

+40 10

+40 32

+46 31

+6 54

+11 1

+37 51

+10 52

+15 14

+9 3

+9 48

+24 10

+6 23

diff --git a/THT/C/TP-2017/squares/test077/squares.out b/THT/C/TP-2017/squares/test077/squares.out
new file mode 100644
index 0000000..a705720
--- /dev/null
+++ b/THT/C/TP-2017/squares/test077/squares.out
@@ -0,0 +1 @@
+588965

diff --git a/THT/C/TP-2017/squares/test078/squares.inp b/THT/C/TP-2017/squares/test078/squares.inp
new file mode 100644
index 0000000..ce8563e
--- /dev/null
+++ b/THT/C/TP-2017/squares/test078/squares.inp
@@ -0,0 +1,15 @@
+16 76 14

+7 24

+2 40

+8 4

+14 45

+14 12

+2 75

+10 50

+14 1

+4 3

+13 21

+15 59

+13 8

+2 51

+1 42

diff --git a/THT/C/TP-2017/squares/test078/squares.out b/THT/C/TP-2017/squares/test078/squares.out
new file mode 100644
index 0000000..7a8f4e0
--- /dev/null
+++ b/THT/C/TP-2017/squares/test078/squares.out
@@ -0,0 +1 @@
+44404

diff --git a/THT/C/TP-2017/squares/test079/squares.inp b/THT/C/TP-2017/squares/test079/squares.inp
new file mode 100644
index 0000000..b96e087
--- /dev/null
+++ b/THT/C/TP-2017/squares/test079/squares.inp
@@ -0,0 +1,10 @@
+48 120 9

+19 62

+34 62

+17 2

+8 78

+16 44

+43 58

+47 56

+10 84

+38 61

diff --git a/THT/C/TP-2017/squares/test079/squares.out b/THT/C/TP-2017/squares/test079/squares.out
new file mode 100644
index 0000000..c084206
--- /dev/null
+++ b/THT/C/TP-2017/squares/test079/squares.out
@@ -0,0 +1 @@
+1756126

diff --git a/THT/C/TP-2017/squares/test080/squares.inp b/THT/C/TP-2017/squares/test080/squares.inp
new file mode 100644
index 0000000..7141d65
--- /dev/null
+++ b/THT/C/TP-2017/squares/test080/squares.inp
@@ -0,0 +1,44 @@
+122 46 43

+82 11

+11 29

+119 12

+86 32

+103 44

+70 12

+59 36

+76 31

+65 19

+58 33

+93 13

+22 14

+21 19

+53 20

+40 26

+10 18

+104 40

+95 30

+67 43

+120 17

+9 46

+94 33

+33 36

+45 27

+27 41

+97 5

+18 36

+103 30

+81 39

+8 41

+99 22

+77 45

+111 38

+92 40

+69 1

+34 12

+67 29

+36 22

+119 29

+28 27

+2 36

+62 26

+4 28

diff --git a/THT/C/TP-2017/squares/test080/squares.out b/THT/C/TP-2017/squares/test080/squares.out
new file mode 100644
index 0000000..8047f8a
--- /dev/null
+++ b/THT/C/TP-2017/squares/test080/squares.out
@@ -0,0 +1 @@
+1555721

diff --git a/THT/C/TP-2017/squares/test081/squares.inp b/THT/C/TP-2017/squares/test081/squares.inp
new file mode 100644
index 0000000..35b7bb2
--- /dev/null
+++ b/THT/C/TP-2017/squares/test081/squares.inp
@@ -0,0 +1,8 @@
+138 197 7

+86 183

+132 47

+133 193

+114 164

+84 191

+68 193

+2 92

diff --git a/THT/C/TP-2017/squares/test081/squares.out b/THT/C/TP-2017/squares/test081/squares.out
new file mode 100644
index 0000000..d1ae237
--- /dev/null
+++ b/THT/C/TP-2017/squares/test081/squares.out
@@ -0,0 +1 @@
+56022938

diff --git a/THT/C/TP-2017/squares/test082/squares.inp b/THT/C/TP-2017/squares/test082/squares.inp
new file mode 100644
index 0000000..1767854
--- /dev/null
+++ b/THT/C/TP-2017/squares/test082/squares.inp
@@ -0,0 +1,34 @@
+147 35 33

+51 16

+23 9

+116 30

+110 3

+143 11

+129 7

+82 4

+15 18

+72 30

+47 16

+76 10

+45 31

+127 33

+125 18

+47 24

+89 3

+64 12

+134 14

+28 18

+103 30

+143 29

+26 1

+30 6

+102 14

+115 18

+73 22

+90 6

+32 25

+71 32

+17 8

+48 19

+42 35

+66 23

diff --git a/THT/C/TP-2017/squares/test082/squares.out b/THT/C/TP-2017/squares/test082/squares.out
new file mode 100644
index 0000000..b93a19c
--- /dev/null
+++ b/THT/C/TP-2017/squares/test082/squares.out
@@ -0,0 +1 @@
+899869

diff --git a/THT/C/TP-2017/squares/test083/squares.inp b/THT/C/TP-2017/squares/test083/squares.inp
new file mode 100644
index 0000000..9cf90c8
--- /dev/null
+++ b/THT/C/TP-2017/squares/test083/squares.inp
@@ -0,0 +1,36 @@
+235 115 35

+145 13

+223 60

+32 87

+216 14

+20 41

+113 10

+107 18

+50 7

+82 27

+107 53

+204 92

+225 79

+122 68

+205 114

+143 54

+83 106

+46 39

+98 50

+123 46

+11 69

+35 108

+142 89

+53 96

+197 92

+77 110

+25 14

+20 94

+221 78

+28 4

+34 46

+203 37

+60 12

+157 36

+192 13

+143 1

diff --git a/THT/C/TP-2017/squares/test083/squares.out b/THT/C/TP-2017/squares/test083/squares.out
new file mode 100644
index 0000000..c596ec2
--- /dev/null
+++ b/THT/C/TP-2017/squares/test083/squares.out
@@ -0,0 +1 @@
+44767248

diff --git a/THT/C/TP-2017/squares/test084/squares.inp b/THT/C/TP-2017/squares/test084/squares.inp
new file mode 100644
index 0000000..a20fdbb
--- /dev/null
+++ b/THT/C/TP-2017/squares/test084/squares.inp
@@ -0,0 +1,25 @@
+345 44 24

+193 3

+248 36

+277 34

+10 37

+249 32

+285 38

+258 14

+177 12

+159 2

+190 43

+244 14

+319 11

+213 4

+307 19

+242 36

+24 15

+173 35

+99 35

+99 42

+123 12

+109 26

+200 41

+236 11

+93 6

diff --git a/THT/C/TP-2017/squares/test084/squares.out b/THT/C/TP-2017/squares/test084/squares.out
new file mode 100644
index 0000000..5d7df46
--- /dev/null
+++ b/THT/C/TP-2017/squares/test084/squares.out
@@ -0,0 +1 @@
+4554198

diff --git a/THT/C/TP-2017/squares/test085/squares.inp b/THT/C/TP-2017/squares/test085/squares.inp
new file mode 100644
index 0000000..dda9ea5
--- /dev/null
+++ b/THT/C/TP-2017/squares/test085/squares.inp
@@ -0,0 +1,7 @@
+32 206 6

+6 8

+1 160

+30 94

+18 138

+3 147

+27 114

diff --git a/THT/C/TP-2017/squares/test085/squares.out b/THT/C/TP-2017/squares/test085/squares.out
new file mode 100644
index 0000000..4a42695
--- /dev/null
+++ b/THT/C/TP-2017/squares/test085/squares.out
@@ -0,0 +1 @@
+1033168

diff --git a/THT/C/TP-2017/squares/test086/squares.inp b/THT/C/TP-2017/squares/test086/squares.inp
new file mode 100644
index 0000000..c4b7593
--- /dev/null
+++ b/THT/C/TP-2017/squares/test086/squares.inp
@@ -0,0 +1,41 @@
+86 305 40

+11 32

+33 232

+77 150

+13 58

+71 96

+2 190

+40 294

+56 58

+6 274

+53 198

+82 152

+14 113

+63 47

+53 37

+16 40

+1 70

+1 261

+46 75

+82 109

+56 285

+62 147

+43 181

+51 253

+11 44

+76 163

+66 31

+86 166

+26 182

+20 167

+11 112

+83 259

+68 95

+15 233

+48 137

+36 246

+14 242

+14 251

+83 211

+27 232

+81 238

diff --git a/THT/C/TP-2017/squares/test086/squares.out b/THT/C/TP-2017/squares/test086/squares.out
new file mode 100644
index 0000000..b361096
--- /dev/null
+++ b/THT/C/TP-2017/squares/test086/squares.out
@@ -0,0 +1 @@
+27598338

diff --git a/THT/C/TP-2017/squares/test087/squares.inp b/THT/C/TP-2017/squares/test087/squares.inp
new file mode 100644
index 0000000..5c73a9c
--- /dev/null
+++ b/THT/C/TP-2017/squares/test087/squares.inp
@@ -0,0 +1,61 @@
+479 468 60

+3 455

+266 120

+55 459

+346 48

+335 388

+85 99

+452 389

+346 33

+143 406

+340 196

+351 433

+164 301

+180 242

+173 266

+296 252

+432 65

+83 315

+420 84

+14 393

+317 30

+199 447

+380 70

+346 73

+230 33

+309 71

+241 269

+389 168

+229 438

+251 172

+120 434

+290 28

+146 103

+277 395

+82 77

+77 122

+200 174

+205 274

+129 184

+64 126

+19 228

+13 249

+131 451

+222 317

+348 90

+228 357

+434 460

+17 71

+87 76

+163 54

+277 137

+409 326

+168 156

+129 45

+30 295

+394 363

+182 190

+274 313

+472 276

+1 302

+70 198

diff --git a/THT/C/TP-2017/squares/test087/squares.out b/THT/C/TP-2017/squares/test087/squares.out
new file mode 100644
index 0000000..bb227c8
--- /dev/null
+++ b/THT/C/TP-2017/squares/test087/squares.out
@@ -0,0 +1 @@
+4181058556

diff --git a/THT/C/TP-2017/squares/test088/squares.inp b/THT/C/TP-2017/squares/test088/squares.inp
new file mode 100644
index 0000000..c139258
--- /dev/null
+++ b/THT/C/TP-2017/squares/test088/squares.inp
@@ -0,0 +1,85 @@
+210 335 84

+113 32

+206 11

+84 172

+127 183

+14 274

+87 245

+152 76

+51 266

+199 211

+145 79

+61 173

+162 81

+18 242

+205 102

+11 167

+197 301

+54 331

+160 321

+1 259

+54 46

+158 157

+112 325

+25 119

+83 54

+79 65

+120 185

+141 8

+177 259

+105 132

+83 75

+31 98

+170 270

+150 13

+86 259

+109 256

+140 28

+35 279

+6 58

+67 46

+126 56

+103 1

+146 179

+173 124

+103 48

+29 292

+179 170

+121 117

+156 179

+148 272

+204 58

+63 291

+149 197

+77 207

+84 198

+49 75

+73 62

+200 160

+62 120

+52 81

+123 195

+55 287

+100 187

+176 304

+49 241

+90 302

+129 68

+115 197

+205 119

+143 250

+156 151

+204 139

+88 48

+75 119

+10 224

+39 171

+50 174

+39 218

+159 93

+113 74

+141 325

+173 47

+49 28

+69 236

+149 217

diff --git a/THT/C/TP-2017/squares/test088/squares.out b/THT/C/TP-2017/squares/test088/squares.out
new file mode 100644
index 0000000..463d54b
--- /dev/null
+++ b/THT/C/TP-2017/squares/test088/squares.out
@@ -0,0 +1 @@
+353229388

diff --git a/THT/C/TP-2017/squares/test089/squares.inp b/THT/C/TP-2017/squares/test089/squares.inp
new file mode 100644
index 0000000..823c496
--- /dev/null
+++ b/THT/C/TP-2017/squares/test089/squares.inp
@@ -0,0 +1,87 @@
+327 6 86

+298 1

+134 6

+109 5

+324 3

+211 6

+120 4

+34 5

+258 4

+232 5

+302 6

+72 3

+38 1

+237 3

+67 5

+58 1

+105 6

+268 4

+177 2

+15 3

+152 2

+224 3

+177 4

+188 5

+74 2

+278 1

+184 3

+234 3

+322 3

+141 6

+289 6

+3 1

+11 6

+194 6

+102 2

+82 5

+91 2

+105 3

+239 4

+187 2

+259 4

+272 5

+276 5

+136 4

+138 1

+303 6

+217 1

+27 4

+178 1

+117 4

+323 6

+5 4

+201 6

+237 4

+95 3

+319 3

+282 2

+300 6

+7 2

+187 3

+97 1

+278 3

+207 1

+38 5

+177 3

+207 6

+313 2

+192 3

+317 5

+315 1

+213 5

+166 2

+153 4

+292 4

+10 5

+34 4

+248 4

+112 5

+209 4

+198 4

+127 3

+174 6

+211 2

+308 3

+189 3

+201 4

+23 5

diff --git a/THT/C/TP-2017/squares/test089/squares.out b/THT/C/TP-2017/squares/test089/squares.out
new file mode 100644
index 0000000..6ec0453
--- /dev/null
+++ b/THT/C/TP-2017/squares/test089/squares.out
@@ -0,0 +1 @@
+9436

diff --git a/THT/C/TP-2017/squares/test090/squares.inp b/THT/C/TP-2017/squares/test090/squares.inp
new file mode 100644
index 0000000..f16eed9
--- /dev/null
+++ b/THT/C/TP-2017/squares/test090/squares.inp
@@ -0,0 +1,3 @@
+379 517 2

+20 122

+160 58

diff --git a/THT/C/TP-2017/squares/test090/squares.out b/THT/C/TP-2017/squares/test090/squares.out
new file mode 100644
index 0000000..dd67756
--- /dev/null
+++ b/THT/C/TP-2017/squares/test090/squares.out
@@ -0,0 +1 @@
+2971391826

diff --git a/THT/C/TP-2017/squares/test091/squares.inp b/THT/C/TP-2017/squares/test091/squares.inp
new file mode 100644
index 0000000..8d71826
--- /dev/null
+++ b/THT/C/TP-2017/squares/test091/squares.inp
@@ -0,0 +1,4 @@
+589 208 3

+368 92

+260 137

+7 191

diff --git a/THT/C/TP-2017/squares/test091/squares.out b/THT/C/TP-2017/squares/test091/squares.out
new file mode 100644
index 0000000..767bf09
--- /dev/null
+++ b/THT/C/TP-2017/squares/test091/squares.out
@@ -0,0 +1 @@
+727326894

diff --git a/THT/C/TP-2017/squares/test092/squares.inp b/THT/C/TP-2017/squares/test092/squares.inp
new file mode 100644
index 0000000..21a4b2e
--- /dev/null
+++ b/THT/C/TP-2017/squares/test092/squares.inp
@@ -0,0 +1,88 @@
+264 248 87

+11 39

+140 221

+252 232

+241 248

+155 59

+81 18

+88 37

+238 204

+130 231

+35 89

+66 239

+74 198

+33 88

+123 212

+242 159

+177 111

+20 113

+2 239

+73 73

+96 167

+206 200

+256 96

+103 116

+182 160

+263 146

+197 182

+168 213

+21 135

+86 238

+242 70

+54 17

+223 96

+184 240

+97 190

+140 49

+144 243

+189 175

+137 199

+36 14

+205 180

+108 120

+255 198

+75 178

+70 44

+89 228

+152 144

+237 96

+47 57

+74 195

+154 241

+120 183

+119 152

+217 236

+244 177

+128 114

+182 80

+212 47

+137 217

+78 180

+169 243

+155 19

+239 79

+14 101

+241 239

+142 147

+5 169

+92 68

+192 64

+129 86

+259 21

+112 233

+87 101

+217 50

+145 86

+181 49

+213 64

+178 188

+112 60

+33 174

+154 148

+237 36

+111 190

+241 212

+133 238

+164 238

+220 176

+150 73

diff --git a/THT/C/TP-2017/squares/test092/squares.out b/THT/C/TP-2017/squares/test092/squares.out
new file mode 100644
index 0000000..7974b90
--- /dev/null
+++ b/THT/C/TP-2017/squares/test092/squares.out
@@ -0,0 +1 @@
+354002391

diff --git a/THT/C/TP-2017/squares/test093/squares.inp b/THT/C/TP-2017/squares/test093/squares.inp
new file mode 100644
index 0000000..8bce1fc
--- /dev/null
+++ b/THT/C/TP-2017/squares/test093/squares.inp
@@ -0,0 +1,61 @@
+389 34 60

+277 32

+197 4

+187 19

+95 17

+281 2

+44 23

+386 30

+329 16

+208 18

+166 7

+112 5

+196 21

+343 25

+107 10

+195 17

+92 33

+132 2

+75 9

+386 4

+223 28

+286 34

+39 6

+143 26

+348 10

+33 12

+65 32

+244 25

+243 28

+327 16

+364 12

+56 5

+101 22

+167 24

+1 32

+28 5

+89 26

+188 19

+98 16

+342 26

+127 21

+360 4

+380 15

+175 34

+89 27

+114 26

+302 32

+107 25

+149 29

+187 14

+224 14

+388 33

+91 26

+138 17

+103 17

+141 1

+40 8

+140 17

+346 10

+117 34

+145 4

diff --git a/THT/C/TP-2017/squares/test093/squares.out b/THT/C/TP-2017/squares/test093/squares.out
new file mode 100644
index 0000000..e052301
--- /dev/null
+++ b/THT/C/TP-2017/squares/test093/squares.out
@@ -0,0 +1 @@
+2391487

diff --git a/THT/C/TP-2017/squares/test094/squares.inp b/THT/C/TP-2017/squares/test094/squares.inp
new file mode 100644
index 0000000..8a5e7c6
--- /dev/null
+++ b/THT/C/TP-2017/squares/test094/squares.inp
@@ -0,0 +1,59 @@
+261 552 58

+203 124

+33 335

+122 490

+31 313

+61 356

+38 155

+95 171

+100 276

+248 314

+69 302

+124 144

+212 81

+213 204

+196 433

+76 330

+130 101

+49 129

+50 500

+114 219

+193 472

+138 540

+232 198

+217 8

+9 402

+149 268

+159 490

+251 94

+7 135

+139 261

+54 75

+15 199

+154 9

+202 443

+203 56

+8 329

+107 145

+12 17

+65 61

+51 386

+57 492

+89 31

+73 156

+252 220

+92 541

+234 245

+48 456

+200 156

+17 259

+121 456

+2 425

+212 132

+249 140

+10 303

+244 518

+202 67

+94 427

+238 408

+78 470

diff --git a/THT/C/TP-2017/squares/test094/squares.out b/THT/C/TP-2017/squares/test094/squares.out
new file mode 100644
index 0000000..e0fb8da
--- /dev/null
+++ b/THT/C/TP-2017/squares/test094/squares.out
@@ -0,0 +1 @@
+1247028352

diff --git a/THT/C/TP-2017/squares/test095/squares.inp b/THT/C/TP-2017/squares/test095/squares.inp
new file mode 100644
index 0000000..b092802
--- /dev/null
+++ b/THT/C/TP-2017/squares/test095/squares.inp
@@ -0,0 +1,26 @@
+125 163 25

+4 160

+61 55

+86 152

+103 155

+19 106

+95 109

+90 59

+70 122

+74 99

+12 129

+76 26

+48 133

+109 118

+40 89

+73 43

+54 16

+110 80

+32 24

+10 125

+94 151

+52 134

+74 54

+4 24

+120 2

+110 109

diff --git a/THT/C/TP-2017/squares/test095/squares.out b/THT/C/TP-2017/squares/test095/squares.out
new file mode 100644
index 0000000..65eef2b
--- /dev/null
+++ b/THT/C/TP-2017/squares/test095/squares.out
@@ -0,0 +1 @@
+32555685

diff --git a/THT/C/TP-2017/squares/test096/squares.inp b/THT/C/TP-2017/squares/test096/squares.inp
new file mode 100644
index 0000000..51bb75d
--- /dev/null
+++ b/THT/C/TP-2017/squares/test096/squares.inp
@@ -0,0 +1,94 @@
+90 426 93

+89 201

+62 327

+15 418

+42 55

+88 235

+49 134

+3 12

+56 13

+25 247

+9 36

+37 19

+51 74

+2 196

+51 214

+47 390

+72 179

+39 46

+50 99

+67 403

+81 254

+35 152

+55 381

+63 129

+4 376

+73 52

+34 400

+61 400

+43 148

+64 8

+66 151

+18 78

+60 114

+77 267

+22 189

+69 314

+58 272

+86 129

+24 138

+14 341

+29 227

+24 55

+69 250

+66 59

+61 371

+20 56

+78 286

+87 383

+48 42

+59 226

+46 409

+26 119

+26 120

+29 201

+18 404

+82 342

+78 116

+42 99

+34 85

+85 184

+21 345

+50 65

+5 263

+18 202

+55 276

+60 172

+53 324

+79 137

+90 308

+69 409

+42 247

+76 271

+11 224

+62 208

+47 72

+17 293

+88 259

+31 236

+56 131

+80 169

+46 185

+11 281

+74 310

+32 134

+89 262

+80 158

+77 207

+33 35

+69 247

+89 382

+48 407

+43 143

+2 73

+64 417

diff --git a/THT/C/TP-2017/squares/test096/squares.out b/THT/C/TP-2017/squares/test096/squares.out
new file mode 100644
index 0000000..9a2b2bc
--- /dev/null
+++ b/THT/C/TP-2017/squares/test096/squares.out
@@ -0,0 +1 @@
+45832212

diff --git a/THT/C/TP-2017/squares/test097/squares.inp b/THT/C/TP-2017/squares/test097/squares.inp
new file mode 100644
index 0000000..ec51be0
--- /dev/null
+++ b/THT/C/TP-2017/squares/test097/squares.inp
@@ -0,0 +1 @@
+92 690 0

diff --git a/THT/C/TP-2017/squares/test097/squares.out b/THT/C/TP-2017/squares/test097/squares.out
new file mode 100644
index 0000000..7e485c5
--- /dev/null
+++ b/THT/C/TP-2017/squares/test097/squares.out
@@ -0,0 +1 @@
+83569304

diff --git a/THT/C/TP-2017/squares/test098/squares.inp b/THT/C/TP-2017/squares/test098/squares.inp
new file mode 100644
index 0000000..ed6785b
--- /dev/null
+++ b/THT/C/TP-2017/squares/test098/squares.inp
@@ -0,0 +1,40 @@
+130 509 39

+55 150

+34 175

+53 117

+60 288

+127 111

+123 355

+19 241

+115 81

+11 504

+66 203

+22 199

+48 226

+97 111

+56 491

+105 217

+94 299

+123 173

+70 245

+105 461

+42 86

+45 404

+53 236

+54 131

+14 350

+68 125

+13 79

+116 169

+9 150

+59 372

+38 390

+21 54

+102 391

+93 131

+19 116

+83 360

+104 445

+101 310

+12 479

+90 339

diff --git a/THT/C/TP-2017/squares/test098/squares.out b/THT/C/TP-2017/squares/test098/squares.out
new file mode 100644
index 0000000..7573bfe
--- /dev/null
+++ b/THT/C/TP-2017/squares/test098/squares.out
@@ -0,0 +1 @@
+162158785

diff --git a/THT/C/TP-2017/squares/test099/squares.inp b/THT/C/TP-2017/squares/test099/squares.inp
new file mode 100644
index 0000000..b869b4d
--- /dev/null
+++ b/THT/C/TP-2017/squares/test099/squares.inp
@@ -0,0 +1,67 @@
+937 292 66

+433 34

+905 113

+747 85

+524 44

+310 44

+792 130

+427 130

+87 266

+427 275

+818 6

+421 76

+14 3

+573 258

+934 156

+766 48

+579 243

+857 21

+763 250

+468 5

+554 133

+686 104

+794 190

+55 161

+726 104

+420 288

+620 126

+717 142

+506 184

+149 29

+384 258

+73 166

+646 198

+894 270

+746 188

+366 21

+548 25

+286 166

+507 35

+282 13

+692 113

+244 286

+904 161

+621 259

+65 133

+11 272

+935 9

+207 211

+293 279

+196 138

+870 75

+611 191

+473 112

+523 99

+298 105

+576 121

+394 132

+187 49

+616 198

+351 246

+736 215

+390 123

+477 49

+738 208

+420 16

+906 147

+744 278

diff --git a/THT/C/TP-2017/squares/test099/squares.out b/THT/C/TP-2017/squares/test099/squares.out
new file mode 100644
index 0000000..c6e6371
--- /dev/null
+++ b/THT/C/TP-2017/squares/test099/squares.out
@@ -0,0 +1 @@
+3279062757

diff --git a/THT/C/TP-2017/squares/test100/squares.inp b/THT/C/TP-2017/squares/test100/squares.inp
new file mode 100644
index 0000000..41cc58d
--- /dev/null
+++ b/THT/C/TP-2017/squares/test100/squares.inp
@@ -0,0 +1,92 @@
+373 635 91

+217 74

+259 387

+252 358

+356 314

+108 325

+109 254

+343 87

+299 134

+76 36

+213 528

+279 10

+132 145

+163 535

+215 582

+175 206

+281 434

+3 17

+163 597

+126 135

+228 96

+290 59

+29 425

+59 211

+249 335

+276 625

+220 80

+367 362

+187 186

+51 356

+256 553

+225 428

+221 598

+204 473

+351 325

+49 89

+28 66

+58 203

+92 226

+222 522

+229 320

+87 331

+183 634

+180 403

+170 371

+300 526

+176 97

+283 547

+63 169

+199 186

+308 430

+67 77

+174 114

+228 617

+69 399

+283 162

+30 572

+354 222

+175 99

+126 623

+44 74

+162 364

+247 477

+36 592

+115 70

+312 336

+242 85

+77 491

+61 130

+338 144

+108 635

+67 537

+373 414

+116 407

+47 380

+173 605

+163 546

+346 388

+51 87

+34 235

+35 611

+338 78

+168 63

+57 20

+222 396

+201 201

+75 574

+225 617

+127 169

+89 551

+191 232

+109 162

diff --git a/THT/C/TP-2017/squares/test100/squares.out b/THT/C/TP-2017/squares/test100/squares.out
new file mode 100644
index 0000000..d33c43f
--- /dev/null
+++ b/THT/C/TP-2017/squares/test100/squares.out
@@ -0,0 +1 @@
+3873309556

diff --git a/THT/C/TP-2017/squares_brute-force.pas b/THT/C/TP-2017/squares_brute-force.pas
new file mode 100644
index 0000000..0b389d9
--- /dev/null
+++ b/THT/C/TP-2017/squares_brute-force.pas
@@ -0,0 +1,39 @@
+(* The method I actually used at the contest, approx 15% time-out. *)
+uses math;
+
+var
+  f: text;
+  m, n, i, j, x, y: int16;
+  k: int8;
+  net: array[1..1000, 1..1000] of boolean;
+  count: int64 = 0;
+
+begin
+  assign(f, 'squares.inp');
+  reset(f);
+  readln(f, m, n, k);
+  for x := 1 to m do
+    for y := 1 to n do
+      net[x][y] := true;
+  repeat
+    dec(k);
+    readln(f, x, y);
+    net[x][y] := false
+  until k = 0;
+  close(f);
+
+  for x := 1 to m - 1 do
+    for y := 1 to n - 1 do
+      if net[x, y] then
+        for i := 0 to x - 1 do
+          for j := 1 to min(m - x, n - y - i) do
+            if net[x - i, y + j] and
+               net[x + j, y + i] and
+               net[x - i + j, y + i + j] then
+              count := count + 1;
+
+  assign(f, 'squares.out');
+  rewrite(f);
+  writeln(f, count);
+  close(f)
+end.
diff --git a/THT/C/TP-2017/squares_example.png b/THT/C/TP-2017/squares_example.png
new file mode 100644
index 0000000..c96ebca
--- /dev/null
+++ b/THT/C/TP-2017/squares_example.png
Binary files differ