diff --git a/day 7/day_7_mark.js b/day 7/day_7_mark.js
new file mode 100644
index 0000000000000000000000000000000000000000..e150d85bec4eb04ea60c7db0fb5fd36059f61bb7
--- /dev/null
+++ b/day 7/day_7_mark.js	
@@ -0,0 +1,12 @@
+range = x => [...Array(x).keys()]
+
+totals = input.split("\n").map(x => Number(x.split(":")[0]))
+numbers = input.split("\n").map(x => x.split(": ")[1].split(" ").map(Number))
+
+output1 = numbers.map((x,k) => range(2**(x.length-1)).reduce((y,z) => y + (totals[k] == x.reduce((a,b,i) => 2**(i-1) & z ? a+b : a*b)) > 0 ? totals[k] : 0, 0)).reduce((x,y) => x+y)
+
+concat = (a,b) => Number(a.toString() + b.toString())
+
+base3 = (x,l) => x.toString(3,l).padStart(l,'0').split('').map(Number)
+
+output2 = numbers.map((x,k) => range(3**(x.length-1)).map(y=> base3(y,x.length-1)).reduce((y,z) => y + (totals[k] == x.reduce((a,b,i) => (z[i-1] ? (z[i-1] == 2 ? concat(a,b) : z[i-1] == 1 ? a*b : a+b) : a+b))) > 0 ? totals[k] : 0, 0)).reduce((x,y) => x+y)