diff --git a/src/main/dig/74xx/CrazySmallCPU.dig b/src/main/dig/74xx/CrazySmallCPU.dig
new file mode 100644
index 000000000..e5769d1de
--- /dev/null
+++ b/src/main/dig/74xx/CrazySmallCPU.dig
@@ -0,0 +1,2884 @@
+
+
+ 1
+
+
+ romContent
+
+
+ Address/Bottom
+ 0,1,5,2,6,3,7,1,4,8,4,8,c,3,7,b,2,6,a,1,5,9,0,9,3,3,a,3,b,3,c,0,a,ff,8,4,c,8,7,3,
+b,7,6,2,a,6,5,1,9,5,a,2,8,a,0,c,9,2,3,a,b,d,3,0,6,1,0,4,0,5,ff,3,4,3,2,5,2,2,4,0,
+5,ff,1,4,1,0,5,0,ff,b,1,7,3,0,6,8,9,ff,ff,7,1,7,6,0,6,5f,a,b,ff,c,d,ff,42,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,5,2,6,3,7,1,4,8,4,8,c,3,7,b,2,6,a,1,5,9,33,9,
+3,3,a,3,b,3,c,0,a,ff,8,4,c,8,7,3,b,7,6,2,a,6,5,1,9,5,a,2,8,a,0,c,9,2,3,a,b,d,3,0,
+6,1,0,4,0,5,ff,3,4,3,2,5,2,2,4,0,5,ff,1,4,1,0,5,0,ff,b,1,7,3,0,6,8,9,ff,ff,7,1,7,
+6,0,6,5f,a,b,ff,c,d,ff,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,5,2,6,3,7,1,
+4,8,4,8,c,3,7,b,2,6,a,1,5,9,0,9,3,3,a,3,b,3,c,0,a,ff,8,4,c,8,7,3,b,7,6,2,a,6,5,1,
+9,5,a,2,8,a,0,c,9,2,3,a,b,d,3,0,6,1,0,4,0,5,ff,3,4,3,2,5,2,2,4,0,5,ff,1,4,1,0,5,0,
+ff,b,1,7,3,0,6,8,9,ff,ff,7,1,7,6,0,6,5f,a,b,ff,c,d,ff,42,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,1,5,2,6,3,7,1,4,8,4,8,c,3,7,b,2,6,a,1,5,9,33,9,3,3,a,3,b,3,c,0,
+a,ff,8,4,c,8,7,3,b,7,6,2,a,6,5,1,9,5,a,2,8,a,0,c,9,2,3,a,b,d,3,0,6,1,0,4,0,5,ff,3,
+4,3,2,5,2,2,4,0,5,ff,1,4,1,0,5,0,ff,b,1,7,3,0,6,8,9,ff,ff,7,1,7,6,0,6,5f,a,b,ff,c,
+d,ff,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,5,2,6,3,7,1,4,8,4,8,c,3,7,b,2,
+6,a,1,5,9,0,9,3,3,a,3,b,3,c,0,a,ff,8,4,c,8,7,3,b,7,6,2,a,6,5,1,9,5,a,2,8,a,0,c,9,
+2,3,a,b,d,3,0,6,1,0,4,0,5,ff,3,4,3,2,5,2,2,4,0,5,ff,1,4,1,0,5,0,ff,b,1,7,3,0,6,8,
+9,ff,ff,7,1,7,6,0,6,0,a,b,ff,c,d,ff,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+1,5,2,6,3,7,1,4,8,4,8,c,3,7,b,2,6,a,1,5,9,33,9,3,3,a,3,b,3,c,0,a,ff,8,4,c,8,7,3,b,
+7,6,2,a,6,5,1,9,5,a,2,8,a,0,c,9,2,3,a,b,d,3,0,6,1,0,4,0,5,ff,3,4,3,2,5,2,2,4,0,5,
+ff,1,4,1,0,5,0,ff,b,1,7,3,0,6,8,9,ff,ff,7,1,7,6,0,6,0,a,b,ff,c,d,ff,42,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,5,2,6,3,7,1,4,8,4,8,c,3,7,b,2,6,a,1,5,9,0,9,3,3,
+a,3,b,3,c,0,a,ff,8,4,c,8,7,3,b,7,6,2,a,6,5,1,9,5,a,2,8,a,0,c,9,2,3,a,b,d,3,0,6,1,
+0,4,0,5,ff,3,4,3,2,5,2,2,4,0,5,ff,1,4,1,0,5,0,ff,b,1,7,3,0,6,8,9,ff,ff,7,1,7,6,0,
+6,0,a,b,ff,c,d,ff,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,5,2,6,3,7,1,4,8,
+4,8,c,3,7,b,2,6,a,1,5,9,33,9,3,3,a,3,b,3,c,0,a,ff,8,4,c,8,7,3,b,7,6,2,a,6,5,1,9,5,
+a,2,8,a,0,c,9,2,3,a,b,d,3,0,6,1,0,4,0,5,ff,3,4,3,2,5,2,2,4,0,5,ff,1,4,1,0,5,0,ff,
+b,1,7,3,0,6,8,9,ff,ff,7,1,7,6,0,6,0,a,b,ff,c,d,ff,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,1,5,2,6,3,7,1,4,8,4,8,c,3,7,b,2,6,a,1,5,9,0,9,3,3,a,3,b,3,c,0,a,ff,
+8,4,c,8,7,3,b,7,6,2,a,6,5,1,9,5,a,2,8,a,0,c,9,2,3,a,b,d,3,0,6,1,0,4,f,5,ff,3,4,3,
+2,5,2,2,4,f,5,ff,1,4,1,0,5,0,ff,b,1,7,3,0,6,8,9,ff,ff,7,1,7,6,0,6,5f,a,b,ff,c,d,ff,
+42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,5,2,6,3,7,1,4,8,4,8,c,3,7,b,2,6,a,
+1,5,9,33,9,3,3,a,3,b,3,c,0,a,ff,8,4,c,8,7,3,b,7,6,2,a,6,5,1,9,5,a,2,8,a,0,c,9,2,3,
+a,b,d,3,0,6,1,0,4,f,5,ff,3,4,3,2,5,2,2,4,f,5,ff,1,4,1,0,5,0,ff,b,1,7,3,0,6,8,9,ff,
+ff,7,1,7,6,0,6,5f,a,b,ff,c,d,ff,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,5,
+2,6,3,7,1,4,8,4,8,c,3,7,b,2,6,a,1,5,9,0,9,3,3,a,3,b,3,c,0,a,ff,8,4,c,8,7,3,b,7,6,
+2,a,6,5,1,9,5,a,2,8,a,0,c,9,2,3,a,b,d,3,0,6,1,0,4,f,5,ff,3,4,3,2,5,2,2,4,f,5,ff,1,
+4,1,0,5,0,ff,b,1,7,3,0,6,8,9,ff,ff,7,1,7,6,0,6,5f,a,b,ff,c,d,ff,42,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,5,2,6,3,7,1,4,8,4,8,c,3,7,b,2,6,a,1,5,9,33,9,3,3,a,
+3,b,3,c,0,a,ff,8,4,c,8,7,3,b,7,6,2,a,6,5,1,9,5,a,2,8,a,0,c,9,2,3,a,b,d,3,0,6,1,0,
+4,f,5,ff,3,4,3,2,5,2,2,4,f,5,ff,1,4,1,0,5,0,ff,b,1,7,3,0,6,8,9,ff,ff,7,1,7,6,0,6,
+5f,a,b,ff,c,d,ff,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,5,2,6,3,7,1,4,8,4,
+8,c,3,7,b,2,6,a,1,5,9,0,9,3,3,a,3,b,3,c,0,a,ff,8,4,c,8,7,3,b,7,6,2,a,6,5,1,9,5,a,
+2,8,a,0,c,9,2,3,a,b,d,3,0,6,1,0,4,f,5,ff,3,4,3,2,5,2,2,4,f,5,ff,1,4,1,0,5,0,ff,b,
+1,7,3,0,6,8,9,ff,ff,7,1,7,6,0,6,0,a,b,ff,c,d,ff,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,1,5,2,6,3,7,1,4,8,4,8,c,3,7,b,2,6,a,1,5,9,33,9,3,3,a,3,b,3,c,0,a,ff,8,
+4,c,8,7,3,b,7,6,2,a,6,5,1,9,5,a,2,8,a,0,c,9,2,3,a,b,d,3,0,6,1,0,4,f,5,ff,3,4,3,2,
+5,2,2,4,f,5,ff,1,4,1,0,5,0,ff,b,1,7,3,0,6,8,9,ff,ff,7,1,7,6,0,6,0,a,b,ff,c,d,ff,42,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,5,2,6,3,7,1,4,8,4,8,c,3,7,b,2,6,a,1,5,
+9,0,9,3,3,a,3,b,3,c,0,a,ff,8,4,c,8,7,3,b,7,6,2,a,6,5,1,9,5,a,2,8,a,0,c,9,2,3,a,b,
+d,3,0,6,1,0,4,f,5,ff,3,4,3,2,5,2,2,4,f,5,ff,1,4,1,0,5,0,ff,b,1,7,3,0,6,8,9,ff,ff,
+7,1,7,6,0,6,0,a,b,ff,c,d,ff,42,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,5,2,6,
+3,7,1,4,8,4,8,c,3,7,b,2,6,a,1,5,9,33,9,3,3,a,3,b,3,c,0,a,ff,8,4,c,8,7,3,b,7,6,2,a,
+6,5,1,9,5,a,2,8,a,0,c,9,2,3,a,b,d,3,0,6,1,0,4,f,5,ff,3,4,3,2,5,2,2,4,f,5,ff,1,4,1,
+0,5,0,ff,b,1,7,3,0,6,8,9,ff,ff,7,1,7,6,0,6,0,a,b,ff,c,d,ff,42
+
+
+ Control/Top
+ a8,7a,7a,7a,7a,7a,7a,a8,7a,7a,e8,d8,38,e8,d8,38,e8,d8,38,e8,d8,38,b8,d8,a8,88,d8,
+88,d8,88,d8,88,98,88,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,b0,a8,7a,7a,
+a8,7a,7a,7a,7a,a8,7a,7a,a8,7a,a8,7a,e8,7a,a8,7a,3f,e8,d8,79,e8,d8,79,e8,7a,a8,7a,
+3f,e8,d8,78,e8,d8,78,3f,a8,d8,78,a8,d8,78,e8,d8,88,3f,e8,98,79,e8,98,79,b0,e8,d8,
+88,e8,d8,88,b0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,a8,7a,7a,7a,7a,7a,7a,a8,7a,
+7a,e8,d8,38,e8,d8,38,e8,d8,38,e8,d8,38,b0,d8,a8,88,d8,88,d8,88,d8,88,98,88,e8,7a,
+e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,b0,a8,7a,7a,a8,7a,7a,7a,7a,a8,7a,7a,a8,
+7a,a8,7a,e8,7a,a8,7a,3f,e8,d8,79,e8,d8,79,e8,7a,a8,7a,3f,e8,d8,78,e8,d8,78,3f,a8,
+d8,78,a8,d8,78,e8,d8,88,3f,e8,98,79,e8,98,79,b0,e8,d8,88,e8,d8,88,b0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,a8,7a,7a,7a,7a,7a,7a,a8,7a,7a,e8,d8,38,e8,d8,38,e8,d8,
+38,e8,d8,38,b8,d8,a8,88,d8,88,d8,88,d8,88,98,88,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,
+7a,e8,7a,e8,7a,b0,a8,7a,7a,a8,7a,7a,7a,7a,a8,7a,7a,a8,7a,a8,7a,e8,7a,a8,7a,3f,e8,
+d8,79,e8,d8,79,e8,7a,a8,7a,3f,e8,d8,78,e8,d8,78,3f,a8,d8,78,a8,d8,78,e8,d8,88,3f,
+e8,98,79,e8,98,79,b0,e8,d8,88,e8,d8,88,b0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+a8,7a,7a,7a,7a,7a,7a,a8,7a,7a,e8,d8,38,e8,d8,38,e8,d8,38,e8,d8,38,b0,d8,a8,88,d8,
+88,d8,88,d8,88,98,88,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,b0,a8,7a,7a,
+a8,7a,7a,7a,7a,a8,7a,7a,a8,7a,a8,7a,e8,7a,a8,7a,3f,e8,d8,79,e8,d8,79,e8,7a,a8,7a,
+3f,e8,d8,78,e8,d8,78,3f,a8,d8,78,a8,d8,78,e8,d8,88,3f,e8,98,79,e8,98,79,b0,e8,d8,
+88,e8,d8,88,b0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,a8,7a,7a,7a,7a,7a,7a,a8,7a,
+7a,e8,d8,38,e8,d8,38,e8,d8,38,e8,d8,38,b8,d8,a8,88,d8,88,d8,88,d8,88,98,88,e8,7a,
+e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,b0,a8,7a,7a,a8,7a,7a,7a,7a,a8,7a,7a,a8,
+7a,a8,7a,e8,7a,a8,7a,3f,e8,d8,79,e8,d8,79,e8,7a,a8,7a,3f,e8,d8,78,e8,d8,78,3f,a8,
+d8,78,a8,d8,78,e8,d8,88,3f,e8,98,79,e8,98,79,b8,e8,d8,88,e8,d8,88,b0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,a8,7a,7a,7a,7a,7a,7a,a8,7a,7a,e8,d8,38,e8,d8,38,e8,d8,
+38,e8,d8,38,b0,d8,a8,88,d8,88,d8,88,d8,88,98,88,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,
+7a,e8,7a,e8,7a,b0,a8,7a,7a,a8,7a,7a,7a,7a,a8,7a,7a,a8,7a,a8,7a,e8,7a,a8,7a,3f,e8,
+d8,79,e8,d8,79,e8,7a,a8,7a,3f,e8,d8,78,e8,d8,78,3f,a8,d8,78,a8,d8,78,e8,d8,88,3f,
+e8,98,79,e8,98,79,b8,e8,d8,88,e8,d8,88,b0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+a8,7a,7a,7a,7a,7a,7a,a8,7a,7a,e8,d8,38,e8,d8,38,e8,d8,38,e8,d8,38,b8,d8,a8,88,d8,
+88,d8,88,d8,88,98,88,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,b0,a8,7a,7a,
+a8,7a,7a,7a,7a,a8,7a,7a,a8,7a,a8,7a,e8,7a,a8,7a,3f,e8,d8,79,e8,d8,79,e8,7a,a8,7a,
+3f,e8,d8,78,e8,d8,78,3f,a8,d8,78,a8,d8,78,e8,d8,88,3f,e8,98,79,e8,98,79,b8,e8,d8,
+88,e8,d8,88,b0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,a8,7a,7a,7a,7a,7a,7a,a8,7a,
+7a,e8,d8,38,e8,d8,38,e8,d8,38,e8,d8,38,b0,d8,a8,88,d8,88,d8,88,d8,88,98,88,e8,7a,
+e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,b0,a8,7a,7a,a8,7a,7a,7a,7a,a8,7a,7a,a8,
+7a,a8,7a,e8,7a,a8,7a,3f,e8,d8,79,e8,d8,79,e8,7a,a8,7a,3f,e8,d8,78,e8,d8,78,3f,a8,
+d8,78,a8,d8,78,e8,d8,88,3f,e8,98,79,e8,98,79,b8,e8,d8,88,e8,d8,88,b0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,a8,7a,7a,7a,7a,7a,7a,a8,7a,7a,e8,d8,38,e8,d8,38,e8,d8,
+38,e8,d8,38,b8,d8,a8,88,d8,88,d8,88,d8,88,98,88,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,
+7a,e8,7a,e8,7a,b0,a8,7a,7a,a8,7a,7a,7a,7a,a8,7a,7a,a8,7a,a8,7a,e8,7a,a8,7a,3f,e8,
+d8,79,e8,d8,79,e8,7a,a8,7a,3f,e8,d8,78,e8,d8,78,3f,a8,d8,78,a8,d8,78,e8,d8,88,3f,
+e8,98,79,e8,98,79,b0,e8,d8,88,e8,d8,88,b0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+a8,7a,7a,7a,7a,7a,7a,a8,7a,7a,e8,d8,38,e8,d8,38,e8,d8,38,e8,d8,38,b0,d8,a8,88,d8,
+88,d8,88,d8,88,98,88,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,b0,a8,7a,7a,
+a8,7a,7a,7a,7a,a8,7a,7a,a8,7a,a8,7a,e8,7a,a8,7a,3f,e8,d8,79,e8,d8,79,e8,7a,a8,7a,
+3f,e8,d8,78,e8,d8,78,3f,a8,d8,78,a8,d8,78,e8,d8,88,3f,e8,98,79,e8,98,79,b0,e8,d8,
+88,e8,d8,88,b0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,a8,7a,7a,7a,7a,7a,7a,a8,7a,
+7a,e8,d8,38,e8,d8,38,e8,d8,38,e8,d8,38,b8,d8,a8,88,d8,88,d8,88,d8,88,98,88,e8,7a,
+e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,b0,a8,7a,7a,a8,7a,7a,7a,7a,a8,7a,7a,a8,
+7a,a8,7a,e8,7a,a8,7a,3f,e8,d8,79,e8,d8,79,e8,7a,a8,7a,3f,e8,d8,78,e8,d8,78,3f,a8,
+d8,78,a8,d8,78,e8,d8,88,3f,e8,98,79,e8,98,79,b0,e8,d8,88,e8,d8,88,b0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,a8,7a,7a,7a,7a,7a,7a,a8,7a,7a,e8,d8,38,e8,d8,38,e8,d8,
+38,e8,d8,38,b0,d8,a8,88,d8,88,d8,88,d8,88,98,88,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,
+7a,e8,7a,e8,7a,b0,a8,7a,7a,a8,7a,7a,7a,7a,a8,7a,7a,a8,7a,a8,7a,e8,7a,a8,7a,3f,e8,
+d8,79,e8,d8,79,e8,7a,a8,7a,3f,e8,d8,78,e8,d8,78,3f,a8,d8,78,a8,d8,78,e8,d8,88,3f,
+e8,98,79,e8,98,79,b0,e8,d8,88,e8,d8,88,b0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+a8,7a,7a,7a,7a,7a,7a,a8,7a,7a,e8,d8,38,e8,d8,38,e8,d8,38,e8,d8,38,b8,d8,a8,88,d8,
+88,d8,88,d8,88,98,88,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,b0,a8,7a,7a,
+a8,7a,7a,7a,7a,a8,7a,7a,a8,7a,a8,7a,e8,7a,a8,7a,3f,e8,d8,79,e8,d8,79,e8,7a,a8,7a,
+3f,e8,d8,78,e8,d8,78,3f,a8,d8,78,a8,d8,78,e8,d8,88,3f,e8,98,79,e8,98,79,b8,e8,d8,
+88,e8,d8,88,b0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,a8,7a,7a,7a,7a,7a,7a,a8,7a,
+7a,e8,d8,38,e8,d8,38,e8,d8,38,e8,d8,38,b0,d8,a8,88,d8,88,d8,88,d8,88,98,88,e8,7a,
+e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,b0,a8,7a,7a,a8,7a,7a,7a,7a,a8,7a,7a,a8,
+7a,a8,7a,e8,7a,a8,7a,3f,e8,d8,79,e8,d8,79,e8,7a,a8,7a,3f,e8,d8,78,e8,d8,78,3f,a8,
+d8,78,a8,d8,78,e8,d8,88,3f,e8,98,79,e8,98,79,b8,e8,d8,88,e8,d8,88,b0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,a8,7a,7a,7a,7a,7a,7a,a8,7a,7a,e8,d8,38,e8,d8,38,e8,d8,
+38,e8,d8,38,b8,d8,a8,88,d8,88,d8,88,d8,88,98,88,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,
+7a,e8,7a,e8,7a,b0,a8,7a,7a,a8,7a,7a,7a,7a,a8,7a,7a,a8,7a,a8,7a,e8,7a,a8,7a,3f,e8,
+d8,79,e8,d8,79,e8,7a,a8,7a,3f,e8,d8,78,e8,d8,78,3f,a8,d8,78,a8,d8,78,e8,d8,88,3f,
+e8,98,79,e8,98,79,b8,e8,d8,88,e8,d8,88,b0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
+a8,7a,7a,7a,7a,7a,7a,a8,7a,7a,e8,d8,38,e8,d8,38,e8,d8,38,e8,d8,38,b0,d8,a8,88,d8,
+88,d8,88,d8,88,98,88,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,e8,7a,b0,a8,7a,7a,
+a8,7a,7a,7a,7a,a8,7a,7a,a8,7a,a8,7a,e8,7a,a8,7a,3f,e8,d8,79,e8,d8,79,e8,7a,a8,7a,
+3f,e8,d8,78,e8,d8,78,3f,a8,d8,78,a8,d8,78,e8,d8,88,3f,e8,98,79,e8,98,79,b8,e8,d8,
+88,e8,d8,88,b0
+
+
+ ALU
+ 4,10,20,30,40,50,60,70,80,90,4,4,4,4,4,4,10,20,30,40,50,60,70,80,90,5,4,4,4,4,4,4,
+20,30,40,50,60,70,80,90,5,11,4,4,4,4,4,4,30,40,50,60,70,80,90,5,11,21,4,4,4,4,4,4,
+40,50,60,70,80,90,5,11,21,31,4,4,4,4,4,4,50,60,70,80,90,5,11,21,31,41,4,4,4,4,4,4,
+60,70,80,90,5,11,21,31,41,51,4,4,4,4,4,4,70,80,90,5,11,21,31,41,51,61,4,4,4,4,4,4,
+80,90,5,11,21,31,41,51,61,71,4,4,4,4,4,4,90,5,11,21,31,41,51,61,71,81,4,4,4,4,4,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,91,81,71,61,51,41,31,21,11,4,4,4,4,4,4,10,4,91,81,71,
+61,51,41,31,21,4,4,4,4,4,4,20,10,4,91,81,71,61,51,41,31,4,4,4,4,4,4,30,20,10,4,91,
+81,71,61,51,41,4,4,4,4,4,4,40,30,20,10,4,91,81,71,61,51,4,4,4,4,4,4,50,40,30,20,10,
+4,91,81,71,61,4,4,4,4,4,4,60,50,40,30,20,10,4,91,81,71,4,4,4,4,4,4,70,60,50,40,30,
+20,10,4,91,81,4,4,4,4,4,4,80,70,60,50,40,30,20,10,4,91,4,4,4,4,4,4,90,80,70,60,50,
+40,30,20,10,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
+4,4,4,10,4,10,4,10,4,10,4,10,4,10,4,10,4,10,4,4,20,20,4,4,20,20,4,4,20,20,4,4,20,
+20,4,10,20,30,4,10,20,30,4,10,20,30,4,10,20,30,4,4,4,4,40,40,40,40,4,4,4,4,40,40,
+40,40,4,10,4,10,40,50,40,50,4,10,4,10,40,50,40,50,4,4,20,20,40,40,60,60,4,4,20,20,
+40,40,60,60,4,10,20,30,40,50,60,70,4,10,20,30,40,50,60,70,4,4,4,4,4,4,4,4,88,88,88,
+88,88,88,88,88,4,10,4,10,4,10,4,10,88,98,88,98,88,98,88,98,4,4,20,20,4,4,20,20,88,
+88,a8,a8,88,88,a8,a8,4,10,20,30,4,10,20,30,88,98,a8,b8,88,98,a8,b8,4,4,4,4,40,40,
+40,40,88,88,88,88,c8,c8,c8,c8,4,10,4,10,40,50,40,50,88,98,88,98,c8,d8,c8,d8,4,4,20,
+20,40,40,60,60,88,88,a8,a8,c8,c8,e8,e8,4,10,20,30,40,50,60,70,88,98,a8,b8,c8,d8,e8,
+f8,4,10,20,30,40,50,60,70,88,98,a8,b8,c8,d8,e8,f8,10,10,30,30,50,50,70,70,98,98,b8,
+b8,d8,d8,f8,f8,20,30,20,30,60,70,60,70,a8,b8,a8,b8,e8,f8,e8,f8,30,30,30,30,70,70,
+70,70,b8,b8,b8,b8,f8,f8,f8,f8,40,50,60,70,40,50,60,70,c8,d8,e8,f8,c8,d8,e8,f8,50,
+50,70,70,50,50,70,70,d8,d8,f8,f8,d8,d8,f8,f8,60,70,60,70,60,70,60,70,e8,f8,e8,f8,
+e8,f8,e8,f8,70,70,70,70,70,70,70,70,f8,f8,f8,f8,f8,f8,f8,f8,88,98,a8,b8,c8,d8,e8,
+f8,88,98,a8,b8,c8,d8,e8,f8,98,98,b8,b8,d8,d8,f8,f8,98,98,b8,b8,d8,d8,f8,f8,a8,b8,
+a8,b8,e8,f8,e8,f8,a8,b8,a8,b8,e8,f8,e8,f8,b8,b8,b8,b8,f8,f8,f8,f8,b8,b8,b8,b8,f8,
+f8,f8,f8,c8,d8,e8,f8,c8,d8,e8,f8,c8,d8,e8,f8,c8,d8,e8,f8,d8,d8,f8,f8,d8,d8,f8,f8,
+d8,d8,f8,f8,d8,d8,f8,f8,e8,f8,e8,f8,e8,f8,e8,f8,e8,f8,e8,f8,e8,f8,e8,f8,f8,f8,f8,
+f8,f8,f8,f8,f8,f8,f8,f8,f8,f8,f8,f8,f8,4,10,20,30,40,50,60,70,88,98,a8,b8,c8,d8,e8,
+f8,10,4,30,20,50,40,70,60,98,88,b8,a8,d8,c8,f8,e8,20,30,4,10,60,70,40,50,a8,b8,88,
+98,e8,f8,c8,d8,30,20,10,4,70,60,50,40,b8,a8,98,88,f8,e8,d8,c8,40,50,60,70,4,10,20,
+30,c8,d8,e8,f8,88,98,a8,b8,50,40,70,60,10,4,30,20,d8,c8,f8,e8,98,88,b8,a8,60,70,40,
+50,20,30,4,10,e8,f8,c8,d8,a8,b8,88,98,70,60,50,40,30,20,10,4,f8,e8,d8,c8,b8,a8,98,
+88,88,98,a8,b8,c8,d8,e8,f8,6,12,22,32,42,52,62,72,98,88,b8,a8,d8,c8,f8,e8,12,6,32,
+22,52,42,72,62,a8,b8,88,98,e8,f8,c8,d8,22,32,6,12,62,72,42,52,b8,a8,98,88,f8,e8,d8,
+c8,32,22,12,6,72,62,52,42,c8,d8,e8,f8,88,98,a8,b8,42,52,62,72,6,12,22,32,d8,c8,f8,
+e8,98,88,b8,a8,52,42,72,62,12,6,32,22,e8,f8,c8,d8,a8,b8,88,98,62,72,42,52,22,32,6,
+12,f8,e8,d8,c8,b8,a8,98,88,72,62,52,42,32,22,12,6,10,10,10,10,10,10,10,10,10,10,10,
+10,10,10,10,10,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,30,30,30,30,30,30,
+30,30,30,30,30,30,30,30,30,30,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,50,
+50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,60,60,60,60,60,60,60,60,60,60,60,60,
+60,60,60,60,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,8a,8a,8a,8a,8a,8a,8a,
+8a,88,88,88,88,88,88,88,88,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,a8,a8,
+a8,a8,a8,a8,a8,a8,a8,a8,a8,a8,a8,a8,a8,a8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,
+b8,b8,b8,c8,c8,c8,c8,c8,c8,c8,c8,c8,c8,c8,c8,c8,c8,c8,c8,d8,d8,d8,d8,d8,d8,d8,d8,
+d8,d8,d8,d8,d8,d8,d8,d8,e8,e8,e8,e8,e8,e8,e8,e8,e8,e8,e8,e8,e8,e8,e8,e8,f8,f8,f8,
+f8,f8,f8,f8,f8,f8,f8,f8,f8,f8,f8,f8,f8,5,5,5,5,5,5,5,5,7,7,7,7,7,7,7,7,0,1,2,3,4,
+5,6,7,8,9,a,b,c,d,e,f,0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,0,1,2,3,4,5,6,7,8,9,a,b,c,d,
+e,f,0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,0,1,2,3,4,5,6,
+7,8,9,a,b,c,d,e,f,0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,
+0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,0,1,2,3,4,5,6,7,8,
+9,a,b,c,d,e,f,0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,0,1,
+2,3,4,5,6,7,8,9,a,b,c,d,e,f,0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,0,1,2,3,4,5,6,7,8,9,a,
+b,c,d,e,f,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,6,6,6,6,6,6,6,6,4,4,4,4,4,4,4,4,6,6,6,6,6,6,6,
+6,4,4,4,4,4,4,4,4,6,6,6,6,6,6,6,6,4,4,4,4,4,4,4,4,6,6,6,6,6,6,6,6,4,4,4,4,4,4,4,4,
+6,6,6,6,6,6,6,6,4,4,4,4,4,4,4,4,6,6,6,6,6,6,6,6,4,4,4,4,4,4,4,4,6,6,6,6,6,6,6,6,4,
+4,4,4,4,4,4,4,6,6,6,6,6,6,6,6,10,20,30,40,50,60,70,80,90,5,4,4,4,4,4,4,20,30,40,50,
+60,70,80,90,5,11,4,4,4,4,4,4,30,40,50,60,70,80,90,5,11,21,4,4,4,4,4,4,40,50,60,70,
+80,90,5,11,21,31,4,4,4,4,4,4,50,60,70,80,90,5,11,21,31,41,4,4,4,4,4,4,60,70,80,90,
+5,11,21,31,41,51,4,4,4,4,4,4,70,80,90,5,11,21,31,41,51,61,4,4,4,4,4,4,80,90,5,11,
+21,31,41,51,61,71,4,4,4,4,4,4,90,5,11,21,31,41,51,61,71,81,4,4,4,4,4,4,5,11,21,31,
+41,51,61,71,81,91,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,91,81,71,61,51,41,31,21,
+11,5,4,4,4,4,4,4,4,91,81,71,61,51,41,31,21,11,4,4,4,4,4,4,10,4,91,81,71,61,51,41,
+31,21,4,4,4,4,4,4,20,10,4,91,81,71,61,51,41,31,4,4,4,4,4,4,30,20,10,4,91,81,71,61,
+51,41,4,4,4,4,4,4,40,30,20,10,4,91,81,71,61,51,4,4,4,4,4,4,50,40,30,20,10,4,91,81,
+71,61,4,4,4,4,4,4,60,50,40,30,20,10,4,91,81,71,4,4,4,4,4,4,70,60,50,40,30,20,10,4,
+91,81,4,4,4,4,4,4,80,70,60,50,40,30,20,10,4,91,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,10,4,10,4,10,4,10,4,10,4,10,4,10,4,10,4,4,
+20,20,4,4,20,20,4,4,20,20,4,4,20,20,4,10,20,30,4,10,20,30,4,10,20,30,4,10,20,30,4,
+4,4,4,40,40,40,40,4,4,4,4,40,40,40,40,4,10,4,10,40,50,40,50,4,10,4,10,40,50,40,50,
+4,4,20,20,40,40,60,60,4,4,20,20,40,40,60,60,4,10,20,30,40,50,60,70,4,10,20,30,40,
+50,60,70,4,4,4,4,4,4,4,4,88,88,88,88,88,88,88,88,4,10,4,10,4,10,4,10,88,98,88,98,
+88,98,88,98,4,4,20,20,4,4,20,20,88,88,a8,a8,88,88,a8,a8,4,10,20,30,4,10,20,30,88,
+98,a8,b8,88,98,a8,b8,4,4,4,4,40,40,40,40,88,88,88,88,c8,c8,c8,c8,4,10,4,10,40,50,
+40,50,88,98,88,98,c8,d8,c8,d8,4,4,20,20,40,40,60,60,88,88,a8,a8,c8,c8,e8,e8,4,10,
+20,30,40,50,60,70,88,98,a8,b8,c8,d8,e8,f8,4,10,20,30,40,50,60,70,88,98,a8,b8,c8,d8,
+e8,f8,10,10,30,30,50,50,70,70,98,98,b8,b8,d8,d8,f8,f8,20,30,20,30,60,70,60,70,a8,
+b8,a8,b8,e8,f8,e8,f8,30,30,30,30,70,70,70,70,b8,b8,b8,b8,f8,f8,f8,f8,40,50,60,70,
+40,50,60,70,c8,d8,e8,f8,c8,d8,e8,f8,50,50,70,70,50,50,70,70,d8,d8,f8,f8,d8,d8,f8,
+f8,60,70,60,70,60,70,60,70,e8,f8,e8,f8,e8,f8,e8,f8,70,70,70,70,70,70,70,70,f8,f8,
+f8,f8,f8,f8,f8,f8,88,98,a8,b8,c8,d8,e8,f8,88,98,a8,b8,c8,d8,e8,f8,98,98,b8,b8,d8,
+d8,f8,f8,98,98,b8,b8,d8,d8,f8,f8,a8,b8,a8,b8,e8,f8,e8,f8,a8,b8,a8,b8,e8,f8,e8,f8,
+b8,b8,b8,b8,f8,f8,f8,f8,b8,b8,b8,b8,f8,f8,f8,f8,c8,d8,e8,f8,c8,d8,e8,f8,c8,d8,e8,
+f8,c8,d8,e8,f8,d8,d8,f8,f8,d8,d8,f8,f8,d8,d8,f8,f8,d8,d8,f8,f8,e8,f8,e8,f8,e8,f8,
+e8,f8,e8,f8,e8,f8,e8,f8,e8,f8,f8,f8,f8,f8,f8,f8,f8,f8,f8,f8,f8,f8,f8,f8,f8,f8,4,10,
+20,30,40,50,60,70,88,98,a8,b8,c8,d8,e8,f8,10,4,30,20,50,40,70,60,98,88,b8,a8,d8,c8,
+f8,e8,20,30,4,10,60,70,40,50,a8,b8,88,98,e8,f8,c8,d8,30,20,10,4,70,60,50,40,b8,a8,
+98,88,f8,e8,d8,c8,40,50,60,70,4,10,20,30,c8,d8,e8,f8,88,98,a8,b8,50,40,70,60,10,4,
+30,20,d8,c8,f8,e8,98,88,b8,a8,60,70,40,50,20,30,4,10,e8,f8,c8,d8,a8,b8,88,98,70,60,
+50,40,30,20,10,4,f8,e8,d8,c8,b8,a8,98,88,88,98,a8,b8,c8,d8,e8,f8,6,12,22,32,42,52,
+62,72,98,88,b8,a8,d8,c8,f8,e8,12,6,32,22,52,42,72,62,a8,b8,88,98,e8,f8,c8,d8,22,32,
+6,12,62,72,42,52,b8,a8,98,88,f8,e8,d8,c8,32,22,12,6,72,62,52,42,c8,d8,e8,f8,88,98,
+a8,b8,42,52,62,72,6,12,22,32,d8,c8,f8,e8,98,88,b8,a8,52,42,72,62,12,6,32,22,e8,f8,
+c8,d8,a8,b8,88,98,62,72,42,52,22,32,6,12,f8,e8,d8,c8,b8,a8,98,88,72,62,52,42,32,22,
+12,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,20,20,20,20,20,20,20,20,20,20,
+20,20,20,20,20,20,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,40,40,40,40,40,
+40,40,40,40,40,40,40,40,40,40,40,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,50,
+60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,70,70,70,70,70,70,70,70,70,70,70,
+70,70,70,70,70,8a,8a,8a,8a,8a,8a,8a,8a,88,88,88,88,88,88,88,88,98,98,98,98,98,98,
+98,98,98,98,98,98,98,98,98,98,a8,a8,a8,a8,a8,a8,a8,a8,a8,a8,a8,a8,a8,a8,a8,a8,b8,
+b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,c8,c8,c8,c8,c8,c8,c8,c8,c8,c8,c8,c8,
+c8,c8,c8,c8,d8,d8,d8,d8,d8,d8,d8,d8,d8,d8,d8,d8,d8,d8,d8,d8,e8,e8,e8,e8,e8,e8,e8,
+e8,e8,e8,e8,e8,e8,e8,e8,e8,f8,f8,f8,f8,f8,f8,f8,f8,f8,f8,f8,f8,f8,f8,f8,f8,5,5,5,
+5,5,5,5,5,7,7,7,7,7,7,7,7,0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,0,1,2,3,4,5,6,7,8,9,a,b,
+c,d,e,f,0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,0,1,2,3,4,
+5,6,7,8,9,a,b,c,d,e,f,0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,0,1,2,3,4,5,6,7,8,9,a,b,c,d,
+e,f,0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,0,1,2,3,4,5,6,
+7,8,9,a,b,c,d,e,f,0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,
+0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,0,1,2,3,4,5,6,7,8,
+9,a,b,c,d,e,f,0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
+4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,6,6,6,6,6,
+6,6,6,4,4,4,4,4,4,4,4,6,6,6,6,6,6,6,6,4,4,4,4,4,4,4,4,6,6,6,6,6,6,6,6,4,4,4,4,4,4,
+4,4,6,6,6,6,6,6,6,6,4,4,4,4,4,4,4,4,6,6,6,6,6,6,6,6,4,4,4,4,4,4,4,4,6,6,6,6,6,6,6,
+6,4,4,4,4,4,4,4,4,6,6,6,6,6,6,6,6,4,4,4,4,4,4,4,4,6,6,6,6,6,6,6,6,4,10,20,30,40,50,
+60,70,88,98,a8,b8,c8,d8,e8,f8,10,20,30,40,50,60,70,8a,98,a8,b8,c8,d8,e8,f8,5,20,30,
+40,50,60,70,8a,9a,a8,b8,c8,d8,e8,f8,5,11,30,40,50,60,70,8a,9a,aa,b8,c8,d8,e8,f8,5,
+11,21,40,50,60,70,8a,9a,aa,ba,c8,d8,e8,f8,5,11,21,31,50,60,70,8a,9a,aa,ba,ca,d8,e8,
+f8,5,11,21,31,41,60,70,8a,9a,aa,ba,ca,da,e8,f8,5,11,21,31,41,51,70,8a,9a,aa,ba,ca,
+da,ea,f8,5,11,21,31,41,51,61,88,98,a8,b8,c8,d8,e8,f8,7,13,23,33,43,53,63,73,98,a8,
+b8,c8,d8,e8,f8,5,13,23,33,43,53,63,73,89,a8,b8,c8,d8,e8,f8,5,11,23,33,43,53,63,73,
+89,99,b8,c8,d8,e8,f8,5,11,21,33,43,53,63,73,89,99,a9,c8,d8,e8,f8,5,11,21,31,43,53,
+63,73,89,99,a9,b9,d8,e8,f8,5,11,21,31,41,53,63,73,89,99,a9,b9,c9,e8,f8,5,11,21,31,
+41,51,63,73,89,99,a9,b9,c9,d9,f8,5,11,21,31,41,51,61,73,89,99,a9,b9,c9,d9,e9,4,fb,
+eb,db,cb,bb,ab,9b,89,71,61,51,41,31,21,11,10,4,fb,eb,db,cb,bb,ab,99,89,71,61,51,41,
+31,21,20,10,4,fb,eb,db,cb,bb,a9,99,89,71,61,51,41,31,30,20,10,4,fb,eb,db,cb,b9,a9,
+99,89,71,61,51,41,40,30,20,10,4,fb,eb,db,c9,b9,a9,99,89,71,61,51,50,40,30,20,10,4,
+fb,eb,d9,c9,b9,a9,99,89,71,61,60,50,40,30,20,10,4,fb,e9,d9,c9,b9,a9,99,89,71,70,60,
+50,40,30,20,10,4,f9,e9,d9,c9,b9,a9,99,89,88,70,60,50,40,30,20,10,6,f9,e9,d9,c9,b9,
+a9,99,98,88,70,60,50,40,30,20,12,6,f9,e9,d9,c9,b9,a9,a8,98,88,70,60,50,40,30,22,12,
+6,f9,e9,d9,c9,b9,b8,a8,98,88,70,60,50,40,32,22,12,6,f9,e9,d9,c9,c8,b8,a8,98,88,70,
+60,50,42,32,22,12,6,f9,e9,d9,d8,c8,b8,a8,98,88,70,60,52,42,32,22,12,6,f9,e9,e8,d8,
+c8,b8,a8,98,88,70,62,52,42,32,22,12,6,f9,f8,e8,d8,c8,b8,a8,98,88,72,62,52,42,32,22,
+12,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
+10,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,30,30,30,30,30,30,30,30,30,30,
+30,30,30,30,30,30,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,50,50,50,50,50,
+50,50,50,50,50,50,50,50,50,50,50,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,
+70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,88,88,88,88,88,88,88,88,88,88,88,
+88,88,88,88,88,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,a8,a8,a8,a8,a8,a8,
+a8,a8,a8,a8,a8,a8,a8,a8,a8,a8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,c8,
+c8,c8,c8,c8,c8,c8,c8,c8,c8,c8,c8,c8,c8,c8,c8,d8,d8,d8,d8,d8,d8,d8,d8,d8,d8,d8,d8,
+d8,d8,d8,d8,e8,e8,e8,e8,e8,e8,e8,e8,e8,e8,e8,e8,e8,e8,e8,e8,f8,f8,f8,f8,f8,f8,f8,
+f8,f8,f8,f8,f8,f8,f8,f8,f8,4,10,20,30,40,50,60,70,88,98,a8,b8,c8,d8,e8,f8,4,10,20,
+30,40,50,60,70,88,98,a8,b8,c8,d8,e8,f8,4,10,20,30,40,50,60,70,88,98,a8,b8,c8,d8,e8,
+f8,4,10,20,30,40,50,60,70,88,98,a8,b8,c8,d8,e8,f8,4,10,20,30,40,50,60,70,88,98,a8,
+b8,c8,d8,e8,f8,4,10,20,30,40,50,60,70,88,98,a8,b8,c8,d8,e8,f8,4,10,20,30,40,50,60,
+70,88,98,a8,b8,c8,d8,e8,f8,4,10,20,30,40,50,60,70,88,98,a8,b8,c8,d8,e8,f8,4,10,20,
+30,40,50,60,70,88,98,a8,b8,c8,d8,e8,f8,4,10,20,30,40,50,60,70,88,98,a8,b8,c8,d8,e8,
+f8,4,10,20,30,40,50,60,70,88,98,a8,b8,c8,d8,e8,f8,4,10,20,30,40,50,60,70,88,98,a8,
+b8,c8,d8,e8,f8,4,10,20,30,40,50,60,70,88,98,a8,b8,c8,d8,e8,f8,4,10,20,30,40,50,60,
+70,88,98,a8,b8,c8,d8,e8,f8,4,10,20,30,40,50,60,70,88,98,a8,b8,c8,d8,e8,f8,4,10,20,
+30,40,50,60,70,88,98,a8,b8,c8,d8,e8,f8,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,10,20,30,
+40,50,60,70,88,98,a8,b8,c8,d8,e8,f8,4,20,40,60,8a,aa,ca,ea,4,20,40,60,88,a8,c8,e8,
+4,30,60,9a,ca,fa,20,50,88,b8,e8,10,40,70,a8,d8,4,40,8a,ca,4,40,8a,ca,4,40,88,c8,4,
+40,88,c8,4,50,aa,fa,40,9a,ea,30,88,d8,20,70,c8,10,60,b8,4,60,ca,20,8a,ea,40,aa,4,
+60,c8,20,88,e8,40,a8,4,70,ea,50,ca,30,aa,10,88,f8,60,d8,40,b8,20,98,4,88,4,88,4,88,
+4,88,6,88,6,88,6,88,6,88,4,98,20,b8,40,d8,60,f8,88,12,a8,32,c8,52,e8,72,4,a8,40,e8,
+88,20,c8,60,6,a8,42,e8,88,22,c8,62,4,b8,60,10,c8,70,20,d8,88,32,e8,98,42,f8,a8,52,
+4,c8,88,40,4,c8,88,40,6,c8,88,42,6,c8,88,42,4,d8,a8,70,40,10,e8,b8,88,52,22,f8,c8,
+98,62,32,4,e8,c8,a8,88,60,40,20,6,e8,c8,a8,88,62,42,22,4,f8,e8,d8,c8,b8,a8,98,88,
+72,62,52,42,32,22,12,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
+4,4,4,4,4,4,4,4,4,4,10,10,10,10,10,10,10,10,4,4,4,4,4,4,10,10,10,10,10,20,20,20,20,
+20,4,4,4,4,10,10,10,10,20,20,20,20,30,30,30,30,4,4,4,4,10,10,10,20,20,20,30,30,30,
+40,40,40,4,4,4,10,10,10,20,20,30,30,30,40,40,40,50,50,4,4,4,10,10,20,20,30,30,30,
+40,40,50,50,60,60,4,4,10,10,20,20,30,30,42,42,52,52,62,62,72,72,4,4,10,10,20,20,30,
+30,42,52,52,62,62,72,72,88,4,4,10,10,20,30,30,40,52,52,62,62,72,88,88,98,4,4,10,20,
+20,30,40,40,52,62,62,72,88,88,98,a8,4,4,10,20,30,30,40,50,62,62,72,88,98,98,a8,b8,
+4,4,10,20,30,40,40,50,62,72,88,88,98,a8,b8,c8,4,4,10,20,30,40,50,60,72,72,88,98,a8,
+b8,c8,d8,4,4,10,20,30,40,50,60,72,88,98,a8,b8,c8,d8,e8,4,4,4,4,4,4,4,4,4,4,4,4,4,
+4,4,4,4,10,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,20,10,4,4,4,4,4,4,4,4,4,4,4,4,4,4,30,10,
+10,4,4,4,4,4,4,4,4,4,4,4,4,4,40,20,10,10,4,4,4,4,4,4,4,4,4,4,4,4,50,20,10,10,10,4,
+4,4,4,4,4,4,4,4,4,4,60,30,20,10,10,10,4,4,4,4,4,4,4,4,4,4,70,30,20,10,10,10,10,4,
+4,4,4,4,4,4,4,4,88,40,20,20,10,10,10,12,6,6,6,6,6,6,6,4,98,40,30,20,10,10,10,12,12,
+6,6,6,6,6,6,4,a8,50,30,20,20,10,10,12,12,12,6,6,6,6,6,4,b8,50,30,20,20,10,10,12,12,
+12,12,6,6,6,6,4,c8,60,40,30,20,20,10,12,12,12,12,12,6,6,6,4,d8,60,40,30,20,20,10,
+12,12,12,12,12,12,6,6,4,e8,70,40,30,20,20,20,12,12,12,12,12,12,12,6,4,f8,70,50,30,
+30,20,20,12,12,12,12,12,12,12,12,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,10,10,10,10,
+10,10,10,10,10,10,10,10,10,10,4,4,4,20,20,20,20,20,20,20,20,20,20,20,20,20,4,4,10,
+4,30,30,30,30,30,30,30,30,30,30,30,30,4,4,4,10,4,40,40,40,40,40,40,40,40,40,40,40,
+4,4,10,20,10,4,50,50,50,50,50,50,50,50,50,50,4,4,4,4,20,10,4,60,60,60,60,60,60,60,
+60,60,4,4,10,10,30,20,10,4,70,70,70,70,70,70,70,70,4,4,4,20,4,30,20,10,6,88,88,88,
+88,88,88,88,4,4,10,4,10,40,30,20,12,6,98,98,98,98,98,98,4,4,4,10,20,4,40,30,22,12,
+6,a8,a8,a8,a8,a8,4,4,10,20,30,10,50,40,32,22,12,6,b8,b8,b8,b8,4,4,4,4,4,20,4,50,42,
+32,22,12,6,c8,c8,c8,4,4,10,10,10,30,10,60,52,42,32,22,12,6,d8,d8,4,4,4,20,20,40,20,
+4,62,52,42,32,22,12,6,e8,4,4,10,4,30,4,30,10,72,62,52,42,32,22,12,6,10,20,30,40,50,
+60,70,8a,98,a8,b8,c8,d8,e8,f8,5,20,30,40,50,60,70,8a,9a,a8,b8,c8,d8,e8,f8,5,11,30,
+40,50,60,70,8a,9a,aa,b8,c8,d8,e8,f8,5,11,21,40,50,60,70,8a,9a,aa,ba,c8,d8,e8,f8,5,
+11,21,31,50,60,70,8a,9a,aa,ba,ca,d8,e8,f8,5,11,21,31,41,60,70,8a,9a,aa,ba,ca,da,e8,
+f8,5,11,21,31,41,51,70,8a,9a,aa,ba,ca,da,ea,f8,5,11,21,31,41,51,61,8a,9a,aa,ba,ca,
+da,ea,fa,5,11,21,31,41,51,61,71,98,a8,b8,c8,d8,e8,f8,5,13,23,33,43,53,63,73,89,a8,
+b8,c8,d8,e8,f8,5,11,23,33,43,53,63,73,89,99,b8,c8,d8,e8,f8,5,11,21,33,43,53,63,73,
+89,99,a9,c8,d8,e8,f8,5,11,21,31,43,53,63,73,89,99,a9,b9,d8,e8,f8,5,11,21,31,41,53,
+63,73,89,99,a9,b9,c9,e8,f8,5,11,21,31,41,51,63,73,89,99,a9,b9,c9,d9,f8,5,11,21,31,
+41,51,61,73,89,99,a9,b9,c9,d9,e9,5,11,21,31,41,51,61,71,89,99,a9,b9,c9,d9,e9,f9,fb,
+eb,db,cb,bb,ab,9b,8b,71,61,51,41,31,21,11,5,4,fb,eb,db,cb,bb,ab,9b,89,71,61,51,41,
+31,21,11,10,4,fb,eb,db,cb,bb,ab,99,89,71,61,51,41,31,21,20,10,4,fb,eb,db,cb,bb,a9,
+99,89,71,61,51,41,31,30,20,10,4,fb,eb,db,cb,b9,a9,99,89,71,61,51,41,40,30,20,10,4,
+fb,eb,db,c9,b9,a9,99,89,71,61,51,50,40,30,20,10,4,fb,eb,d9,c9,b9,a9,99,89,71,61,60,
+50,40,30,20,10,4,fb,e9,d9,c9,b9,a9,99,89,71,70,60,50,40,30,20,10,4,f9,e9,d9,c9,b9,
+a9,99,89,88,70,60,50,40,30,20,10,6,f9,e9,d9,c9,b9,a9,99,98,88,70,60,50,40,30,20,12,
+6,f9,e9,d9,c9,b9,a9,a8,98,88,70,60,50,40,30,22,12,6,f9,e9,d9,c9,b9,b8,a8,98,88,70,
+60,50,40,32,22,12,6,f9,e9,d9,c9,c8,b8,a8,98,88,70,60,50,42,32,22,12,6,f9,e9,d9,d8,
+c8,b8,a8,98,88,70,60,52,42,32,22,12,6,f9,e9,e8,d8,c8,b8,a8,98,88,70,62,52,42,32,22,
+12,6,f9,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,10,10,10,10,10,10,10,10,10,10,10,10,10,10,
+10,10,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,30,30,30,30,30,30,30,30,30,
+30,30,30,30,30,30,30,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,50,50,50,50,
+50,50,50,50,50,50,50,50,50,50,50,50,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,
+60,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,70,88,88,88,88,88,88,88,88,88,88,
+88,88,88,88,88,88,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,98,a8,a8,a8,a8,a8,
+a8,a8,a8,a8,a8,a8,a8,a8,a8,a8,a8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,
+c8,c8,c8,c8,c8,c8,c8,c8,c8,c8,c8,c8,c8,c8,c8,c8,d8,d8,d8,d8,d8,d8,d8,d8,d8,d8,d8,
+d8,d8,d8,d8,d8,e8,e8,e8,e8,e8,e8,e8,e8,e8,e8,e8,e8,e8,e8,e8,e8,f8,f8,f8,f8,f8,f8,
+f8,f8,f8,f8,f8,f8,f8,f8,f8,f8,4,10,20,30,40,50,60,70,88,98,a8,b8,c8,d8,e8,f8,4,10,
+20,30,40,50,60,70,88,98,a8,b8,c8,d8,e8,f8,4,10,20,30,40,50,60,70,88,98,a8,b8,c8,d8,
+e8,f8,4,10,20,30,40,50,60,70,88,98,a8,b8,c8,d8,e8,f8,4,10,20,30,40,50,60,70,88,98,
+a8,b8,c8,d8,e8,f8,4,10,20,30,40,50,60,70,88,98,a8,b8,c8,d8,e8,f8,4,10,20,30,40,50,
+60,70,88,98,a8,b8,c8,d8,e8,f8,4,10,20,30,40,50,60,70,88,98,a8,b8,c8,d8,e8,f8,4,10,
+20,30,40,50,60,70,88,98,a8,b8,c8,d8,e8,f8,4,10,20,30,40,50,60,70,88,98,a8,b8,c8,d8,
+e8,f8,4,10,20,30,40,50,60,70,88,98,a8,b8,c8,d8,e8,f8,4,10,20,30,40,50,60,70,88,98,
+a8,b8,c8,d8,e8,f8,4,10,20,30,40,50,60,70,88,98,a8,b8,c8,d8,e8,f8,4,10,20,30,40,50,
+60,70,88,98,a8,b8,c8,d8,e8,f8,4,10,20,30,40,50,60,70,88,98,a8,b8,c8,d8,e8,f8,4,10,
+20,30,40,50,60,70,88,98,a8,b8,c8,d8,e8,f8,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,10,20,
+30,40,50,60,70,88,98,a8,b8,c8,d8,e8,f8,4,20,40,60,8a,aa,ca,ea,4,20,40,60,88,a8,c8,
+e8,4,30,60,9a,ca,fa,20,50,88,b8,e8,10,40,70,a8,d8,4,40,8a,ca,4,40,8a,ca,4,40,88,c8,
+4,40,88,c8,4,50,aa,fa,40,9a,ea,30,88,d8,20,70,c8,10,60,b8,4,60,ca,20,8a,ea,40,aa,
+4,60,c8,20,88,e8,40,a8,4,70,ea,50,ca,30,aa,10,88,f8,60,d8,40,b8,20,98,4,88,4,88,4,
+88,4,88,6,88,6,88,6,88,6,88,4,98,20,b8,40,d8,60,f8,88,12,a8,32,c8,52,e8,72,4,a8,40,
+e8,88,20,c8,60,6,a8,42,e8,88,22,c8,62,4,b8,60,10,c8,70,20,d8,88,32,e8,98,42,f8,a8,
+52,4,c8,88,40,4,c8,88,40,6,c8,88,42,6,c8,88,42,4,d8,a8,70,40,10,e8,b8,88,52,22,f8,
+c8,98,62,32,4,e8,c8,a8,88,60,40,20,6,e8,c8,a8,88,62,42,22,4,f8,e8,d8,c8,b8,a8,98,
+88,72,62,52,42,32,22,12,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,
+4,4,4,4,4,4,4,4,4,4,4,10,10,10,10,10,10,10,10,4,4,4,4,4,4,10,10,10,10,10,20,20,20,
+20,20,4,4,4,4,10,10,10,10,20,20,20,20,30,30,30,30,4,4,4,4,10,10,10,20,20,20,30,30,
+30,40,40,40,4,4,4,10,10,10,20,20,30,30,30,40,40,40,50,50,4,4,4,10,10,20,20,30,30,
+30,40,40,50,50,60,60,4,4,10,10,20,20,30,30,42,42,52,52,62,62,72,72,4,4,10,10,20,20,
+30,30,42,52,52,62,62,72,72,88,4,4,10,10,20,30,30,40,52,52,62,62,72,88,88,98,4,4,10,
+20,20,30,40,40,52,62,62,72,88,88,98,a8,4,4,10,20,30,30,40,50,62,62,72,88,98,98,a8,
+b8,4,4,10,20,30,40,40,50,62,72,88,88,98,a8,b8,c8,4,4,10,20,30,40,50,60,72,72,88,98,
+a8,b8,c8,d8,4,4,10,20,30,40,50,60,72,88,98,a8,b8,c8,d8,e8,4,4,4,4,4,4,4,4,4,4,4,4,
+4,4,4,4,4,10,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,20,10,4,4,4,4,4,4,4,4,4,4,4,4,4,4,30,10,
+10,4,4,4,4,4,4,4,4,4,4,4,4,4,40,20,10,10,4,4,4,4,4,4,4,4,4,4,4,4,50,20,10,10,10,4,
+4,4,4,4,4,4,4,4,4,4,60,30,20,10,10,10,4,4,4,4,4,4,4,4,4,4,70,30,20,10,10,10,10,4,
+4,4,4,4,4,4,4,4,88,40,20,20,10,10,10,12,6,6,6,6,6,6,6,4,98,40,30,20,10,10,10,12,12,
+6,6,6,6,6,6,4,a8,50,30,20,20,10,10,12,12,12,6,6,6,6,6,4,b8,50,30,20,20,10,10,12,12,
+12,12,6,6,6,6,4,c8,60,40,30,20,20,10,12,12,12,12,12,6,6,6,4,d8,60,40,30,20,20,10,
+12,12,12,12,12,12,6,6,4,e8,70,40,30,20,20,20,12,12,12,12,12,12,12,6,4,f8,70,50,30,
+30,20,20,12,12,12,12,12,12,12,12,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,10,10,10,10,
+10,10,10,10,10,10,10,10,10,10,4,4,4,20,20,20,20,20,20,20,20,20,20,20,20,20,4,4,10,
+4,30,30,30,30,30,30,30,30,30,30,30,30,4,4,4,10,4,40,40,40,40,40,40,40,40,40,40,40,
+4,4,10,20,10,4,50,50,50,50,50,50,50,50,50,50,4,4,4,4,20,10,4,60,60,60,60,60,60,60,
+60,60,4,4,10,10,30,20,10,4,70,70,70,70,70,70,70,70,4,4,4,20,4,30,20,10,6,88,88,88,
+88,88,88,88,4,4,10,4,10,40,30,20,12,6,98,98,98,98,98,98,4,4,4,10,20,4,40,30,22,12,
+6,a8,a8,a8,a8,a8,4,4,10,20,30,10,50,40,32,22,12,6,b8,b8,b8,b8,4,4,4,4,4,20,4,50,42,
+32,22,12,6,c8,c8,c8,4,4,10,10,10,30,10,60,52,42,32,22,12,6,d8,d8,4,4,4,20,20,40,20,
+4,62,52,42,32,22,12,6,e8,4,4,10,4,30,4,30,10,72,62,52,42,32,22,12,6
+
+
+
+
+
+
+ 28c64.dig
+
+
+ Label
+ Address/Bottom
+
+
+
+
+
+ 28c64.dig
+
+
+ Label
+ Control/Top
+
+
+
+
+
+ 74161.dig
+
+
+ rotation
+
+
+
+ Label
+ PChi
+
+
+
+
+
+ 74161.dig
+
+
+ rotation
+
+
+
+ Label
+ PClow
+
+
+
+
+
+ 74161.dig
+
+
+ Label
+ A
+
+
+
+
+
+ 74161.dig
+
+
+ Label
+ B
+
+
+
+
+
+ 74157.dig
+
+
+ Label
+ MUX
+
+
+
+
+
+ 74161.dig
+
+
+ Label
+ Flags
+
+
+
+
+
+ 28c64.dig
+
+
+ Label
+ ALU
+
+
+
+
+
+ 7432.dig
+
+
+ Label
+ OR
+
+
+
+
+
+ Ground
+
+
+
+
+ VDD
+
+
+
+
+ Clock
+
+
+ runRealTime
+ true
+
+
+ rotation
+
+
+
+ Label
+ C
+
+
+ Frequency
+ 2147483647
+
+
+
+
+
+ VDD
+
+
+
+
+ Ground
+
+
+
+
+ A623308A.dig
+
+
+ Label
+ RAM
+
+
+
+
+
+ VDD
+
+
+
+
+ Ground
+
+
+
+
+ VDD
+
+
+
+
+ Ground
+
+
+
+
+ Terminal
+
+
+ termWidth
+ 100
+
+
+
+
+
+ Splitter
+
+
+ rotation
+
+
+
+ Input Splitting
+ 1*8
+
+
+ Output Splitting
+ 0-7,0-3,4-7
+
+
+
+
+
+ Splitter
+
+
+ rotation
+
+
+
+ Input Splitting
+ 1*8
+
+
+
+
+
+ Tunnel
+
+
+ rotation
+
+
+
+ NetName
+ addr
+
+
+
+
+
+ Tunnel
+
+
+ rotation
+
+
+
+ NetName
+ addr
+
+
+
+
+
+ Out
+
+
+ Label
+ addr
+
+
+ Bits
+ 8
+
+
+
+
+
+ Splitter
+
+
+ rotation
+
+
+
+ Input Splitting
+ 1*8
+
+
+
+
+
+ Tunnel
+
+
+ rotation
+
+
+
+ NetName
+ instr
+
+
+
+
+
+ Tunnel
+
+
+ rotation
+
+
+
+ NetName
+ instr
+
+
+
+
+
+ Out
+
+
+ Label
+ instr
+
+
+ Bits
+ 8
+
+
+ intFormat
+ bin
+
+
+
+
+
+ Not
+
+
+ rotation
+
+
+
+
+
+
+ Const
+
+
+
+
+ Tunnel
+
+
+ rotation
+
+
+
+ NetName
+ B
+
+
+
+
+
+ Tunnel
+
+
+ rotation
+
+
+
+ NetName
+ A
+
+
+
+
+
+ Tunnel
+
+
+ rotation
+
+
+
+ NetName
+ A
+
+
+
+
+
+ Out
+
+
+ Label
+ A
+
+
+ Bits
+ 4
+
+
+
+
+
+ Tunnel
+
+
+ rotation
+
+
+
+ NetName
+ B
+
+
+
+
+
+ Out
+
+
+ Label
+ B
+
+
+ Bits
+ 4
+
+
+
+
+
+ Text
+
+
+ textFontSize
+ 36
+
+
+ Description
+ Warren’s Crazy Small CPU
+designed by Warren Toomey
+
+See https://github.com/DoctorWkt/CSCv2
+or https://minnie.tuhs.org/Programs/CrazySmallCPU
+
+
+
+
+
+ Testcase
+
+
+ Testdata
+
+ # Clocks the CPU until the last Fibunacci
+# number is calculated which is "6765"
+
+C AB
+repeat(721) C x
+C 0x36
+C x
+C 0x37
+C x
+C 0x36
+C x
+C 0x35
+
+
+
+
+
+
+
+ Tunnel
+
+
+ rotation
+
+
+
+ NetName
+ AB
+
+
+
+
+
+ Tunnel
+
+
+ rotation
+
+
+
+ NetName
+ AB
+
+
+
+
+
+ Tunnel
+
+
+ rotation
+
+
+
+ NetName
+ AB
+
+
+
+
+
+ Out
+
+
+ Label
+ AB
+
+
+ Bits
+ 8
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/dig/lib/RAMs/A623308A.dig b/src/main/dig/lib/RAMs/A623308A.dig
new file mode 100644
index 000000000..399025756
--- /dev/null
+++ b/src/main/dig/lib/RAMs/A623308A.dig
@@ -0,0 +1,666 @@
+
+
+ 1
+
+
+ shapeType
+ DIL
+
+
+ Description
+ 8K X 8 BIT CMOS SRAM
+
+
+ lockedMode
+ true
+
+
+ Width
+ 11
+
+
+
+
+ RAMSinglePortSel
+
+
+ AddrBits
+ 13
+
+
+ Label
+ *
+
+
+ Bits
+ 8
+
+
+ inverterConfig
+
+ CS
+ OE
+ WE
+
+
+
+
+
+
+ Splitter
+
+
+ splitterSpreading
+ 2
+
+
+ Input Splitting
+ 1*13
+
+
+ Output Splitting
+ 13
+
+
+
+
+
+ In
+
+
+ Label
+ A0
+
+
+ pinNumber
+ 10
+
+
+
+
+
+ In
+
+
+ Label
+ A1
+
+
+ pinNumber
+ 9
+
+
+
+
+
+ In
+
+
+ Label
+ A2
+
+
+ pinNumber
+ 8
+
+
+
+
+
+ In
+
+
+ Label
+ A3
+
+
+ pinNumber
+ 7
+
+
+
+
+
+ In
+
+
+ Label
+ A4
+
+
+ pinNumber
+ 6
+
+
+
+
+
+ In
+
+
+ Label
+ A5
+
+
+ pinNumber
+ 5
+
+
+
+
+
+ In
+
+
+ Label
+ A6
+
+
+ pinNumber
+ 4
+
+
+
+
+
+ In
+
+
+ Label
+ A7
+
+
+ pinNumber
+ 3
+
+
+
+
+
+ In
+
+
+ Label
+ A8
+
+
+ pinNumber
+ 25
+
+
+
+
+
+ In
+
+
+ Label
+ A9
+
+
+ pinNumber
+ 24
+
+
+
+
+
+ In
+
+
+ Label
+ A10
+
+
+ pinNumber
+ 21
+
+
+
+
+
+ In
+
+
+ Label
+ A11
+
+
+ pinNumber
+ 23
+
+
+
+
+
+ In
+
+
+ Label
+ A12
+
+
+ pinNumber
+ 2
+
+
+
+
+
+ In
+
+
+ Label
+ ~CE
+
+
+ pinNumber
+ 20
+
+
+ InDefault
+
+
+
+
+
+
+ In
+
+
+ Label
+ ~OE
+
+
+ pinNumber
+ 22
+
+
+ InDefault
+
+
+
+
+
+
+ In
+
+
+ Label
+ ~WE
+
+
+ pinNumber
+ 27
+
+
+ InDefault
+
+
+
+
+
+
+ BusSplitter
+
+
+ splitterSpreading
+ 3
+
+
+ Bits
+ 8
+
+
+
+
+
+ Out
+
+
+ Label
+ D0
+
+
+ pinNumber
+ 11
+
+
+
+
+
+ Out
+
+
+ Label
+ D1
+
+
+ pinNumber
+ 12
+
+
+
+
+
+ Out
+
+
+ Label
+ D2
+
+
+ pinNumber
+ 13
+
+
+
+
+
+ Out
+
+
+ Label
+ D3
+
+
+ pinNumber
+ 15
+
+
+
+
+
+ Out
+
+
+ Label
+ D4
+
+
+ pinNumber
+ 16
+
+
+
+
+
+ Out
+
+
+ Label
+ D5
+
+
+ pinNumber
+ 17
+
+
+
+
+
+ Out
+
+
+ Label
+ D6
+
+
+ pinNumber
+ 18
+
+
+
+
+
+ Out
+
+
+ Label
+ D7
+
+
+ pinNumber
+ 19
+
+
+
+
+
+ PowerSupply
+
+
+
+
+ In
+
+
+ Label
+ VCC
+
+
+ pinNumber
+ 28
+
+
+ InDefault
+
+
+
+
+
+
+ In
+
+
+ Label
+ GND
+
+
+ pinNumber
+ 14
+
+
+
+
+
+ NOr
+
+
+ inverterConfig
+
+ In_2
+
+
+
+ Inputs
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/test/java/de/neemann/digital/integration/TestExamples.java b/src/test/java/de/neemann/digital/integration/TestExamples.java
index 7323657f2..39779dd6b 100644
--- a/src/test/java/de/neemann/digital/integration/TestExamples.java
+++ b/src/test/java/de/neemann/digital/integration/TestExamples.java
@@ -32,8 +32,8 @@ public class TestExamples extends TestCase {
*/
public void testDistExamples() throws Exception {
File examples = new File(Resources.getRoot().getParentFile().getParentFile(), "/main/dig");
- assertEquals(253, new FileScanner(this::check).scan(examples));
- assertEquals(171, testCasesInFiles);
+ assertEquals(255, new FileScanner(this::check).scan(examples));
+ assertEquals(172, testCasesInFiles);
}
/**
diff --git a/src/test/java/de/neemann/digital/lang/TestExamplesLanguage.java b/src/test/java/de/neemann/digital/lang/TestExamplesLanguage.java
index 7dde9fd5f..f26c5dc45 100644
--- a/src/test/java/de/neemann/digital/lang/TestExamplesLanguage.java
+++ b/src/test/java/de/neemann/digital/lang/TestExamplesLanguage.java
@@ -29,7 +29,8 @@ public class TestExamplesLanguage extends TestCase {
private static void check(File file) throws PinException, NodeException, ElementNotFoundException, IOException {
if (file.getPath().contains("74xx")
- || file.getPath().contains("EPROMs"))
+ || file.getPath().contains("EPROMs")
+ || file.getPath().contains("RAMs"))
return;
Circuit circuit = new ToBreakRunner(file).getCircuit();