]> git.bts.cx Git - p8-perfgraph.git/commitdiff
Updated to make the token count smaller main
authorBen Sherratt <redacted>
Mon, 5 Jan 2026 11:55:46 +0000 (11:55 +0000)
committerBen Sherratt <redacted>
Mon, 5 Jan 2026 11:59:10 +0000 (11:59 +0000)
perfgraph.p8

index 54c76c676ea0bcc57d7ff8aa1781ba36f97df466..d11cf5f49691845968c202651329cfba1bdf1a0f 100644 (file)
@@ -4,6 +4,8 @@ __lua__
 -- perfgraph for pico-8
 --   simple performance graphs
 
 -- perfgraph for pico-8
 --   simple performance graphs
 
+-- version: v2
+
 --[[
 
 this is a super simple way
 --[[
 
 this is a super simple way
@@ -30,19 +32,18 @@ see full example on tab 2!
 _p_perf={}
 
 function p_start(name,col)
 _p_perf={}
 
 function p_start(name,col)
-       local idx=_p_perf[name]
-       if(idx==nil)idx=#_p_perf+1
+       local idx=_p_perf[name] or #_p_perf+1
        _p_perf[name]=idx
        _p_perf[name]=idx
-       if(_p_perf[idx]==nil)_p_perf[idx]={name=name,col=col or idx%15+1}
-       local p=_p_perf[idx]
+       local p=_p_perf[idx] or {name=name,col=col or idx%15+1}
        p.ct=p.ct or 0
        p.st=stat(1)
        p.ct=p.ct or 0
        p.st=stat(1)
+       _p_perf[idx]=p
 end
 
 function p_end(name)
        assert(_p_perf[name])
        local p=_p_perf[_p_perf[name]]
 end
 
 function p_end(name)
        assert(_p_perf[name])
        local p=_p_perf[_p_perf[name]]
-       p.ct+=max(stat(1)-p.st,0)
+       p.ct+=stat(1)-p.st
 end
 
 function p_show(x,y,w,compact)
 end
 
 function p_show(x,y,w,compact)
@@ -50,14 +51,14 @@ function p_show(x,y,w,compact)
        clip()
        fillp()
        
        clip()
        fillp()
        
-       for idx,tp in ipairs(_p_perf) do
-               if tp.ct then
+       for idx,p in ipairs(_p_perf) do
+               if p.ct then
                        rectfill(x,y,x+w,y+4,0)
                        rectfill(x,y,x+w,y+4,0)
-                       rectfill(x,y,x+tp.ct*w,y+4,tp.col)
-                       ?"\^o0ff"..tp.name..":"..flr((tp.ct*100)+0.5).."%",x+w+4,y,7
+                       rectfill(x,y,x+p.ct*w,y+4,p.col)
+                       ?"\^o0ff"..p.name..":"..flr(p.ct*100+0.5).."%",x+w+4,y,7
                        y+=6
                        y+=6
+                       p.ct=nil
                end
                end
-               tp.ct=nil
        end
 
        camera(cx,cy)
        end
 
        camera(cx,cy)
@@ -74,6 +75,8 @@ p_start("frame")
 
 cls()
 
 
 cls()
 
+camera(sin(time()*0.01)*10, cos(time()*0.02)*10)
+
 f=10
 fl=true
 for i=0,-5000,-10 do
 f=10
 fl=true
 for i=0,-5000,-10 do
@@ -111,132 +114,132 @@ __gfx__
 00077000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
 00700700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
 __label__
 00077000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
 00700700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
 __label__
-00007777777777777777777777777777777700000000000000000000000000000000000000000000000000000077777777777777777770000000000000000000
-02222222222222222222222200000000007707770777077707770777000007000777070700000000000000000000077777777777777777000000000000000000
-02222222222222222222222200000000007707000707070707770700007007000707000700000000000000000000000777777777777777700000000000000000
-02222222222222222222222200000000000007700770077707070770000007770777007000000000000000000000000007777777777777770000000000000000
-72222222222222222222222200000000000007000707070707070700007007070007070000000000000000000000000000077777777777777000000000000000
-72222222222222222222222200000000000007000707070707070777000007770007070700000000000000000000000000000777777777777700000000000000
-77777777777777777777777777777000000000000000000000000000000000000000000000000000000000000000000000000000000077770000000000000000
-73333330000000000000000000000000000000770777077700770700077700000077077707000077070707000777077707770077077000000770077707070000
-73333330000000000000000000000000000007000070070707000700070000000700070707000700070707000707007000700707070700700070070700070000
-73333330000000000000000000000000000007000070077007000700077000000700077707000700070707000777007000700707070700007070077700700000
-73333330000000000000000000000000000007000070070707000700070000000700070707000700070707000707007000700707070700700070070707000000
-73333330000000000000000000000000000000770777070700770777077707770077070707770077007707770707007007770770070700000777077707070000
-77777777777777777777000000000000000000000000000000000000000007770000000000000000000000000000000000000000000000070000000000000000
-74444444000000000000000000000000000000770777077700770707077707770770077707770707000007770770070700000000000000007777777770000000
-74444444000000000000000000000000000007000070070707000707070007770707070707070707007000070070000700000000000000000777777777000000
-74444444000000000000000000000000000007000070077007070707077077770707077007770707000007770070007007000000000000000077777777000000
-74444444000000000000000000000000000007000070070707000700070007770707070707070777007007000070070007770000000000000007777777700000
-74444444000000000000000000000000000000770777070700770777077707770777070707070777000007770777070707777700000000000000777777770000
-77777777777777000000000000000000000000000000000000000000000007770000000000000000077700000000000007777770000000000000077777770000
-77777777777770000000000000000000000000007777777777777777777777777777777777777777777777777777777777777777700000000000007777777000
-77777777777700000000000000000000000000077777777777777777777777777777777777777777777777777777777777777777770000000000000777777700
-77777777777000000000000000000000000007777777777777777777777777777777777777777777777777777777777777777777777700000000000077777700
-77777777777000000000000000000000000077777777777777777777770000000000000007777777777777777777777777777777777770000000000077777770
-77777777770000000000000000000000000777777777777777777000000000000000000000000077777777777777777777777777777777000000000007777770
-77777777700000000000000000000000077777777777777777000000000000000000000000000000077777777777777777777777777777770000000000777777
-77777777000000000000000000000000777777777777777000000000000000000000000000000000000077777777777777777777777777777000000000077777
-77777777000000000000000000000007777777777777700000000000000000000000000000000000000000777777777777777777777777777700000000077777
-77777770000000000000000000000077777777777770000000000000000000000000000000000000000000007777777777777777777777777770000000007777
-77777700000000000000000000000777777777777000000000000000000000000000000000000000000000000077777777777777777777777777000000000777
-77777700000000000000000000007777777777700000000000000000000000000000000000000000000000000000777777777777777777777777700000000777
-77777000000000000000000000077777777777000000000000777777777777700000000000000000000000000000077777777777777777777777770000000077
-77770000000000000000000000777777777700000000007777777777777777777770000000000000000000000000000777777777777777777777777000000007
-77770000000000000000000000777777777000000007777777777777777777777777770000000000000000000000000077777777777777777777777000000007
-77700000000000000000000007777777770000007777777777777777777777777777777770000000000000000000000007777777777777777777777700000000
-77700000000000000000000077777777000000777777777777777777777777777777777777700000000000000000000000077777777777777777777770000000
-77000000000000000000000777777770000077777777777777777777777777777777777777777000000000000000000000007777777777777777777777000000
-77000000000000000000000777777700000777777777777777777700000000000777777777777700000000000000000000000777777777777777777777000000
-70000000000000000000007777777000077777777777777777000000000000000000077777777777000000000000000000000077777777777777777777700000
-70000000000000000000077777770000777777777777777700000000000000000000000777777777700000000000000000000007777777777777777777770000
-00000000000000000000077777700007777777777777700000000000000000000000000000777777770000000000000000000000777777777777777777770000
-00000000000000000000777777700777777777777777000000000000000000000000000000077777777700000000000000000000777777777777777777777000
-00000000000000000007777777007777777777777700000000000000000000000077777777700777777770000000000000000000077777777777777777777700
-00000000000000000007777770077777777777777000000000000000000000077777777777777777777777000000000000000000007777777777777777777700
-00000000000000000077777700777777777777770000000000000000000007777777777777777777777777700000000000000000000777777777777777777770
-00000000000000000077777700777777777777700000000000000000000777777777777777777777777777700000000000000000000777777777777777777770
-00000000000000000777777007777777777777000000000000000000007777777777777777777777777777770000000000000000000077777777777777777777
-00000000000000000777770077777777777770000000000000000000077777777777777777777777777777777000000000000000000007777777777777777777
-00000000000000000777770777777777777700000000000000000000777777777770000000777777777777777700000000000000000007777777777777777777
-00000000000000007777700777777777777000000000000000000007777777777000000000007777777777777700000000000000000000777777777777777777
-00000000000000007777707777777777770000000000000000000077777777770000000000000777777777777770000000000000000000777777777777777777
-00000000000000077777077777777777770000000000000000000777777777700000000000000077777777777777000000000000000000077777777777777777
-00000000000000077777077777777777700000000000000000000777777777000000000000000007777777777777000000000000000000077777777777777777
-00000000000000077770777777777777000000000000000000007777777770000000000000000000777777777777700000000000000000007777777777777777
-00000000000000777770777777777777000000000000000000007777777770000000000000000000777777777777700000000000000000007777777777777777
-00000000000000777707777777777777000000000000000000077777777700000000000000000000077777777777770000000000000000000777777777777777
-00000000000000777707777777777770000000000000000000077777777700000000000000000000077777777777770000000000000000000777777777777777
-00000000000000777707777777777770000000000000000000077777777770000000000000000000077777777777770000000000000000000777777777777777
-00000000000007777077777777777700000000000000000000777777777700000000000000000000077777777777777000000000000000000077777777777777
-00000000000007777077777777777700000000000000000000777777777700000000000000000000077777777777777000000000000000000077777777777777
-00000000000007777077777777777700000000000000000000777777777700000000000000000000077777777777777000000000000000000077777777777777
-00000000000007770777777777777700000000000000000000777777777700000000000000000000077777777777777700000000000000000007777777777777
-00000000000007770777777777777000000000000000000000777777777770000000000000000000777777777777777700000000000000000007777777777777
-00000000000007770777777777777000000000000000000000777777777770000000000000000000777777777777777700000000000000000007777777777777
-00000000000077770777777777777000000000000000000000777777777777000000000000000007777777777777777700000000000000000007777777777777
-00000000000077777777777777777000000000000000000000777777777777700000000000000077777777777777777770000000000000000007777777777777
-00000000000077707777777777777000000000000000000000777777777777770000000000000777777777777777777770000000000000000000777777777777
-00000000000077707777777777777000000000000000000000077777777777777000000000007777777777777777777770000000000000000000777777777777
-00000000000077707777777777777000000000000000000000077777777777777770000000777777777777777777777770000000000000000000777777777777
-00000000000077707777777777777000000000000000000000077777777777777777777777777777777777777777777770000000000000000000777777777777
-00000000000077707777777777777000000000000000000000007777777777777777777777777777777777777077777770000000000000000000777777777777
-00000000000077707777777777777000000000000000000000007777777777777777777777777777777777777077777770000000000000000000777777777777
-00000000000077707777777777777000000000000000000000000777777777777777777777777777777777770077777770000000000000000000777777777777
-00000000000077707777777777777700000000000000000000000777777777777777777777777777777777770777777770000000000000000000777777777777
-00000000000077707777777777777700000000000000000000000077777777777777777777777777777777700777777770000000000000000000777777777777
-00000000000077707777777777777700000000000000000000000007777777777777777777777777777777000777777770000000000000000000777777777777
-00000000000077707777777777777700000000000000000000000000777777777777777777777777777770000777777770000000000000000000777777777777
-00000000000077707777777777777770000000000000000000000000077777777777777777777777777700007777777770000000000000000000777777777777
-00000000000077700777777777777770000000000000000000000000007777777777777777777777777000007777777700000000000000000000777777777777
-00000000000007700777777777777777000000000000000000000000000777777777777777777777770000077777777700000000000000000000777777777777
-00000000000007700777777777777777000000000000000000000000000007777777777777777777000000077777777700000000000000000000777777777777
-00000000000007770777777777777777000000000000000000000000000000077777777777777700000000077777777700000000000000000007777777777777
-00000000000007770077777777777777700000000000000000000000000000000077777777700000000000777777777000000000000000000007777777777777
-00000000000007770077777777777777770000000000000000000000000000000000000000000000000007777777777000000000000000000007777777777777
-00000000000007770077777777777777770000000000000000000000000000000000000000000000000007777777777000000000000000000007777777777777
-00000000000000770007777777777777777000000000000000000000000000000000000000000000000077777777770000000000000000000007777777777777
-00000000000000777007777777777777777700000000000000000000000000000000000000000000000777777777770000000000000000000077777777777777
-00000000000000777007777777777777777770000000000000000000000000000000000000000000007777777777770000000000000000000077777777777777
-00000000000000777000777777777777777777000000000000000000000000000000000000000000077777777777700000000000000000000077777777777777
-00000000000000077700777777777777777777700000000000000000000000000000000000000000777777777777700000000000000000000777777777777777
-00000000000000077700077777777777777777770000000000000000000000000000000000000007777777777777000000000000000000000777777777777777
-00000000000000077700077777777777777777777000000000000000000000000000000000000077777777777777000000000000000000000777777777777777
-00000000000000007770007777777777777777777700000000000000000000000000000000000777777777777770000000000000000000007777777777777777
-00000000000000007770000777777777777777777777000000000000000000000000000000077777777777777700000000000000000000007777777777777777
-00000000000000000777000777777777777777777777700000000000000000000000000000777777777777777700000000000000000000077777777777777777
-70000000000000000777000077777777777777777777777700000000000000000000000777777777777777777000000000000000000000077777777777777777
-70000000000000000777700007777777777777777777777777000000000000000000077777777777777777770000000000000000000000777777777777777777
-77000000000000000077700000777777777777777777777777777700000000000777777777777777777777700000000000000000000000777777777777777770
-77000000000000000077770000777777777777777777777777777777777777777777777777777777777777700000000000000000000007777777777777777770
-77700000000000000007770000077777777777777777777777777777777777777777777777777777777777000000000000000000000007777777777777777700
-77700000000000000007777000007777777777777777777777777777777777777777777777777777777770000000000000000000000077777777777777777700
-77770000000000000000777700000777777777777777777777777777777777777777777777777777777700000000000000000000000777777777777777777000
-77770000000000000000077700000007777777777777777777777777777777777777777777777777770000000000000000000000000777777777777777770000
-77777000000000000000077770000000777777777777777777777777777777777777777777777777700000000000000000000000007777777777777777770000
-77777700000000000000007777000000077777777777777777777777777777777777777777777777000000000000000000000000077777777777777777700000
-77777700000000000000000777700000000777777777777777777777777777777777777777777700000000000000000000000000777777777777777777000000
-77777770000000000000000777700000000077777777777777777777777777777777777777777000000000000000000000000000777777777777777777000000
-77777777000000000000000077770000000000777777777777777777777777777777777777700000000000000000000000000007777777777777777770000000
-77777777000000000000000007777000000000007777777777777777777777777777777770000000000000000000000000000077777777777777777700000000
-77777777700000000000000000777700000000000007777777777777777777777777770000000000000000000000000000000777777777777777777000000000
-77777777770000000000000000777770000000000000007777777777777777777770000000000000000000000000000000007777777777777777777000000000
-77777777777000000000000000077777000000000000000000777777777777700000000000000000000000000000000000077777777777777777770000000000
-77777777777000000000000000007777770000000000000000000000000000000000000000000000000000000000000007777777777777777777700000000000
-77777777777700000000000000000777777000000000000000000000000000000000000000000000000000000000000077777777777777777777000000000000
-77777777777770000000000000000077777700000000000000000000000000000000000000000000000000000000000777777777777777777770000000000000
-77777777777777000000000000000007777777000000000000000000000000000000000000000000000000000000077777777777777777777700000000000000
-77777777777777700000000000000000777777700000000000000000000000000000000000000000000000000000777777777777777777777000000000000000
-77777777777777770000000000000000077777777000000000000000000000000000000000000000000000000077777777777777777777770000000000000000
-77777777777777777000000000000000000777777770000000000000000000000000000000000000000000007777777777777777777777000000000000000000
-77777777777777777700000000000000000077777777700000000000000000000000000000000000000000777777777777777777777770000000000000000007
-07777777777777777770000000000000000007777777777000000000000000000000000000000000000077777777777777777777777700000000000000000077
-00777777777777777777000000000000000000077777777777000000000000000000000000000000077777777777777777777777770000000000000000000777
-00077777777777777777770000000000000000007777777777777000000000000000000000000077777777777777777777777777700007000000000000007777
-00007777777777777777777000000000000000000077777777777777770000000000000007777777777777777777777777777770000070000000000000077777
-00000777777777777777777700000000000000000007777777777777777777777777777777777777777777777777777777777700000700000000000000777777
-00000007777777777777777777000000000000000000077777777777777777777777777777777777777777777777777777770000070000000000000007777777
-70000000777777777777777777700000000000000000000777777777777777777777777777777777777777777777777777000000700000000000000077777777
-77000000077777777777777777777000000000000000000000777777777777777777777777777777777777777777777000000077000000000000000777777777
-77700000000777777777777777777700000000000000000000007777777777777777777777777777777777777777700000000700000000000000007777777777
+00000007000000000000777777777777777700000000000000000000000000000000000007777777700000000000000000000000007000000777777777777777
+02222222222222222222220000000000007707770777077707770777000007070777070707777777777777000000000000000000000000000077777777777777
+02222222222222222222220000000000007707000707070707770700007007000007000707777777777777777700000000000000000000000007777777777777
+02222222222222222222220000000000007707700770077707070770000007770077007007777777777777777777000000000000000000000000777777777777
+02222222222222222222220000000000007707000707070707070700007007070007070007777777777777777777777000000000000000000000077777777777
+02222222222222222222220000000000007707000707070707070777000007770777070707777777777777777777777770000000000000000000007777777777
+07000000000000777777777777777777777000000000000000000000000000000000000000077000000000070000000000000000000000000000000000000777
+73333330000000000000000000000000000000770777077700770707077707770077077707070077070707070777077707770077077000000770077707070777
+03333330000000000000000000000000000007000070070707000707070007770700070707070700070707070707007000700707070700700070070700070777
+03333330000000000000000000000000000007000070077007070707077077770707077707070707070707070777007070700707070700000070077700700777
+03333330000000000000000000000000000007000070070707000700070007770700070707000700070707000707007000700707070700700070000707000777
+03333330000000000000000000000000000000770777070700770777077700000077070707770077007707770707007007770770070700000777000707070777
+00000000077777777777777777777000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000777
+04444440000000000000000000000000000000770777077700770700077700000770077707770707000007700777070707777777777700000000000000000777
+04444440000000000000000000000000000007000070070707000700070000000707070707070707007000700707000707777777777770000000000000000777
+04444440000000000000000000000000000007077070077007000700077000000707077007770707000070700777007007777777777777000000000000000077
+04444440000000000000000000000000000007000070070707000700070000000707070707070777007000700707070007777777777777700000000000000007
+04444440000000000000000000000000000000770777070700770777077700000777070707070777000007770777070707777777777777770000000000000007
+00000777777777777777777770000000000000000000000000000000000000000000000000000000000000000000000007777777777777770000000000000000
+00007777777777777777777700000000000077777000000000000000000000000000000000000000000000007777777777777777777777777000000000000000
+00007777777777777777777700000000000777700000000000000000000000000000000000000000000000000077777777777777777777777700000000000000
+00077777777777777777777000000000007777000000000000000000000000000000000000000000000000000007777777777777777777777770000000000000
+00777777777777777777777000000000007770000000000000000000000000000000000000000000000000000000777777777777777777777770000000000000
+00777777777777777777770000000000077700000000000000000000000000000000000000000000000000000000077777777777777777777777000000000000
+07777777777777777777770000000000777000000000000000000000000000000000000000000000000000000000007777777777777777777777700000000000
+07777777777777777777700000000000777000000000000000000007777777777700000000000000000000000000007777777777777777777777700000000000
+07777777777777777777700000000007770000000000000000077777777777777777770000000000000000000000000777777777777777777777770000000000
+77777777777777777777000000000007700000000000000007777777777777777777777700000000000000000000000077777777777777777777770000000000
+77777777777777777777000000000077000000000000000777777777777777777777777777000000000000000000000007777777777777777777777000000000
+77777777777777777777000000000077000000000000077777777777777777777777777777770000000000000000000007777777777777777777777000000000
+77777777777777777770000000000070000000000000777777777777777777777777777777777000000000000000000000777777777777777777777000000000
+77777777777777777770000000000770000000000007777777777777777777777777777777777700000000000000000000777777777777777777777700000000
+77777777777777777770000000000700000000000777777777777777777777777777777777777777000000000000000000077777777777777777777700000000
+77777777777777777700000000007700000000007777777777777777777777777777777777777777700000000000000000077777777777777777777770000000
+77777777777777777700000000007000000000077777777777777777777777777777777777777777770000000000000000007777777777777777777770000000
+77777777777777777700000000007000000000077777777777777777777777777777777777777777770000000000000000007777777777777777777770000000
+77777777777777777000000000000000000000777777777777777777777777777777777777777777777000000000000000000777777777777777777770000000
+77777777777777777000000000070000000007777777777777777777777777777777777777777777777700000000000000000777777777777777777777000000
+77777777777777777000000000070000000077777777777777777777777777777777777777777777777770000000000000000777777777777777777777000000
+77777777777777777000000000000000000077777777777777777777777777777777777777777777777770000000000000000077777777777777777777000000
+77777777777777777000000000000000000777777777777777777777777777777000000000777777777777000000000000000077777777777777777777000000
+77777777777777777000000000000000000777777777777777777777777777000000000000000777777777000000000000000077777777777777777777000000
+77777777777777770000000000700000007777777777777777777777777700000000000000000007777777700000000000000077777777777777777777700000
+77777777777777770000000000000000007777777777777777777777777000000000000000000000777777700000000000000007777777777777777777700000
+77777777777777770000000000000000077777777777777777777777770000000000000000000000077777770000000000000007777777777777777777700000
+77777777777777770000000000000000077777777777777777777777700000000000000000000000007777770000000000000007777777777777777777700000
+77777777777777770000000000000000077777777777777777777777000000000000000000000000000777770000000000000007777777777777777777700000
+77777777777777770000000000000000077777777777777777777770000000000000000000000000000077770000000000000007777777777777777777700000
+77777777777777770000000000000000777777777777777777777700000000000000000000000000000007777000000000000007777777777777777777700000
+77777777777777770000000000000000777777777777777777777000000000000000000000000000000000777000000000000007777777777777777777700000
+77777777777777770000000000000000777777777777777777777000000000000000000000000000000000777000000000000007777777777777777777700000
+77777777777777770000000000000000777777777777777777770000000000000000000000000000000000077000000000000007777777777777777777700000
+77777777777777770000000000000000777777777777777777770000000000000000000000000000000000077000000000000007777777777777777777700000
+77777777777777770000000000000000777777777777777777770000000000000000000000000000000000077000000000000007777777777777777777700000
+77777777777777770000000000000000777777777777777777700000000000000000000000777770000000007000000000000007777777777777777777700000
+77777777777777770000000000000000777777777777777777700000000000000000000077777777700000007000000000000007777777777777777777000000
+77777777777777770000000000000000777777777777777777700000000000000000000777777777770000007000000000000077777777777777777777000000
+77777777777777777000000000000000777777777777777777700000000000000000007777777777777000007000000000000077777777777777777777000000
+77777777777777777000000000000000777777777777777777700000000000000000077777777777777700007000000000000077777777777777777777000000
+77777777777777777000000000000000077777777777777777700000000000000000077777777777777700000000000000000077777777777777777777000000
+77777777777777777000000000000000077777777777777777700000000000000000777777777777777770000000000000000777777777777777777770000000
+77777777777777777000000000000000077777777777777777700000000000000000777777777777777770000000000000000777777777777777777770000000
+77777777777777777000000000000000077777777777777777700000000000000000777777777777777770000000000000000777777777777777777770000000
+77777777777777777700000000007000007777777777777777770000000000000000777777777777777770000000000000007777777777777777777770000000
+77777777777777777700000000000000007777777777777777770000000000000000777777777777777770000000000000007777777777777777777700000000
+77777777777777777700000000000700000777777777777777770000000000000000077777777777777700000000000000077777777777777777777700000000
+77777777777777777770000000000000000777777777777777777000000000000000077777777777777700000000000000077777777777777777777000000000
+77777777777777777770000000000070000077777777777777777000000000000000007777777777777000000000000000777777777777777777777000000000
+77777777777777777770000000000070000077777777777777777700000000000000000777777777770000000000000000777777777777777777777000000000
+77777777777777777777000000000007000007777777777777777770000000000000000077777777700000000000000007777777777777777777770000000000
+77777777777777777777000000000007000000777777777777777777000000000000000000777770000000000000000007777777777777777777770000000000
+77777777777777777777000000000000700000077777777777777777700000000000000000000000000000000000000077777777777777777777700000000000
+77777777777777777777700000000000770000077777777777777777770000000000000000000000070000000000000777777777777777777777700000000000
+77777777777777777777700000000000077000007777777777777777777000000000000000000000700000000000007777777777777777777777000000000000
+77777777777777777777770000000000007000000777777777777777777700000000000000000007000000000000007777777777777777777770000000000007
+77777777777777777777770000000000007700000007777777777777777777000000000000000700000000000000077777777777777777777770000000000007
+77777777777777777777777000000000000770000000777777777777777777777000000000777000000000000000777777777777777777777700000000000077
+77777777777777777777777000000000000077000000077777777777777777777777777777770000000000000007777777777777777777777000000000000077
+77777777777777777777777700000000000007700000000777777777777777777777777777000000000000000077777777777777777777770000000000000770
+77777777777777777777777700000000000007777000000007777777777777777777777700000000000000007777777777777777777777770000000000000770
+07777777777777777777777770000000000000777700000000077777777777777777770000000000000000077777777777777777777777700000000000007700
+07777777777777777777777777000000000000077770000000000007777777777700000000000000000000777777777777777777777777000000000000077700
+07777777777777777777777777000000000000007777700000000000000000000000000000000000000077777777777777777777777770000000000000077700
+00777777777777777777777777700000000000000777777000000000000000000000000000000000007777777777777777777777777700000000000000777000
+00777777777777777777777777770000000000000077777770000000000000000000000000000000777777777777777777777777777000000000000007777000
+00077777777777777777777777777000000000000007777777700000000000000000000000000077777777777777777777777777770000000000000077770000
+00007777777777777777777777777000000000000000077777777700000000000000000000077777777777777777777777777777000000000000000077700000
+00007777777777777777777777777700000000000000007777777777770000000000000777777777777777777777777777777770000000000000000777700000
+00000777777777777777777777777770000000000000000777777777777777777777777777777777777777777777777777777700000000000000007777000000
+00000777777777777777777777777777000000000000000007777777777777777777777777777777777777777777777777770000000000000000077777000000
+00000077777777777777777777777777700000000000000000777777777777777777777777777777777777777777777777700000000000000000777770000000
+00000007777777777777777777777777770000000000000000007777777777777777777777777777777777777777777770000000000000000007777700000000
+00000007777777777777777777777777777000000000000000000077777777777777777777777777777777777777777000000000000000000077777700000000
+00000000777777777777777777777777777700000000000000000000077777777777777777777777777777777777000000000000000000000777777000000000
+00000000077777777777777777777777777770000000000000000000000777777777777777777777777777777700000000000000000000007777770000000000
+00000000007777777777777777777777777777700000000000000000000000077777777777777777777777000000000000000000000000777777700000000000
+00000000007777777777777777777777777777770000000000000000000000000000777777777777700000000000000000000000000007777777700000000000
+00000000000777777777777777777777777777777000000000000000000000000000000000000000000000000000000000000000000077777777000000000000
+00000000000077777777777777777777777777777770000000000000000000000000000000000000000000000000000000000000007777777770000000000000
+00000000000007777777777777777777777777777777000000000000000000000000000000000000000000000000000000000000077777777700000000000007
+00000000000000777777777777777777777777777777770000000000000000000000000000000000000000000000000000000007777777777000000000000007
+00000000000000077777777777777777777777777777777700000000000000000000000000000000000000000000000000000777777777770000000000000077
+00000000000000007777777777777777777777777777777777000000000000000000000000000000000000000000000000077777777777700000000000000777
+00000000000000000777777777777777777777777777777777770000000000000000000000000000000000000000000007777777777777000000000000000777
+00000000000000000077777777777777777777777777777777777770000000000000000000000000000000000000007777777777777770000000000000007777
+00000000000000000007777777777777777777777777777777777777770000000000000000000000000000000007777777777777777700000000000000077777
+00000000000000000000777777777777777777777777777777777777777770000000000000000000000000007777777777777777777000000000000000777777
+00000000000000000000007777777777777777777777777777777777777777777770000000000000007777777777777777777777700000000000000000777777
+00000000000000000000000777777777777777777777777777777777777777777777777777777777777777777777777777777777000000000000000007777777
+70000000000000000000000077777777777777777777777777777777777777777777777777777777777777777777777777777770000000000000000077777777
+77000000000000000000000000777777777777777777777777777777777777777777777777777777777777777777777777777000000000000000000777777777
+77700000000000000000000000077777777777777777777777777777777777777777777777777777777777777777777777770000000000000000007777777777
+77770000000000000000000000000777777777777777777777777777777777777777777777777777777777777777777777000000000000000000077777777777
+77777000000000000000000000000007777777777777777777777777777777777777777777777777777777777777777700000000000000000000777777777777
+77777700000000000000000000000000777777777777777777777777777777777777777777777777777777777777777000000000000000000007777777777777
+77777770000000000000000000000000007777777777777777777777777777777777777777777777777777777777700000000000000000000077777777777777
+77777777000000000000000000000000000007777777777777777777777777777777777777777777777777777700000000000000000000000777777777777777
+77777777700000000000000000000000000000077777777777777777777777777777777777777777777777770000000000000000000000007777777777777777
+07777777770000000000000000000000000000000077777777777777777777777777777777777777777770000000000000000000000000077777777777777777
+00777777777000000000000000000000000000000000077777777777777777777777777777777777770000000000000000000000000000777777777777777777
+00077777777770000000000000000000000000000000000007777777777777777777777777777700000000000000000000000000000077777777777777777777
+00007777777777000000000000000000000000000000000000000007777777777777777700000000000000000000000000000000000777777777777777777777
+00000777777777700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007777777777777777777777
+00000077777777777000000000000000000000000000000000000000000000000000000000000000000000000000000000000000777777777777777777777777
+00000007777777777700000000000000000000000000000000000000000000000000000000000000000000000000000000000007777777777777777777777777
+00000000777777777777000000000000000000000000000000000000000000000000000000000000000000000000000000000777777777777777777777777777
+00000000077777777777700000000000000000000000000000000000000000000000000000000000000000000000000000007777777777777777777777777777
+00000000007777777777777000000000000000000000000000000000000000000000000000000000000000000000000000777777777777777777777777777777