--[[
~~~~轉換農曆月相等各種函數（有bug）~~~~
--]]
-- Celestial algorithms and data derived from https://ytliu0.github.io/ChineseCalendar/sunMoon.html
local moon_data = {
{0,4,6,6,6,5,4,3,4,5,3,7,3,6,3,3,4,3,5,6,5,5,5,1,4,2}, {1,5,6,6,6,5,3,4,2,4,5,3,7,5,5,6,4,5,5,4,6,3,5,4,3,5}, {0,4,4,5,5,4,6,2,6,3,5,6,5,6,7,6,6,6,3,6,1,4,3,4,5}, {0,5,5,3,3,2,5,3,8,5,8,6,6,6,5,6,7,7,6,6,2,4,1,4,5,4}, {1,5,4,3,3,2,1,5,3,6,6,6,6,5,4,6,4,6,5,5,5,4,5,5,5,5}, {0,6,3,6,3,4,4,4,4,4,4,4,5,4,5,2,5,1,5,4,6,7,7,7,7,6}, {1,3,7,2,8,4,6,5,5,4,4,3,4,5,3,6,2,4,2,4,5,6,7,7,6}, {1,4,5,3,6,5,8,7,6,5,4,3,4,3,4,5,4,4,3,3,4,5,4,6,3,7}, {0,4,6,7,6,6,7,5,6,6,3,7,1,5,2,4,3,4,5,5,5,5,4,2,5,1}, {1,7,5,7,7,6,4,4,4,3,6,3,7,2,5,4,4,6,5,6,7,6,4,4,1}, {1,5,3,6,6,6,5,4,2,3,3,4,7,4,6,6,5,6,5,4,6,4,6,3,4,4}, {0,4,4,5,4,5,5,3,7,4,7,6,6,7,7,7,8,6,5,6,1,5,1,5,4,4}, {1,5,4,3,3,2,1,6,2,7,5,7,5,5,6,6,6,7,7,5,6,1,4,3,5,6}, {0,5,4,4,1,2,2,1,5,4,6,5,4,4,5,4,7,4,6,6,5,5,5,4,5}, {0,5,4,6,2,6,2,4,3,3,4,4,4,4,5,3,6,2,5,3,6,6,6,6,7,5}, {1,4,5,2,6,3,7,6,6,4,3,3,3,4,3,5,1,4,1,4,4,5,6,7,6,6}, {0,5,4,6,4,7,7,7,7,5,3,4,1,3,3,3,4,2,3,3,3,4,5,4,7,3}, {1,6,5,5,6,6,5,6,5,4,5,2,6,2,4,3,3,5,5,6,6,6,3,6,1}, {1,7,4,7,7,6,6,5,3,3,5,3,7,2,6,2,4,4,4,5,6,5,5,4,2,5}, {0,2,6,7,7,7,6,4,5,3,4,6,5,7,5,6,5,4,5,5,3,5,2,4,3,3}, {1,4,5,4,6,5,4,6,3,7,4,6,5,5,7,7,7,6,6,3,6,0,4,3,5,5}, {0,5,4,4,2,2,4,3,8,4,7,6,6,6,6,6,8,7,7,6,3,5,1,4,5}, {0,5,5,4,3,3,2,2,5,4,7,6,7,6,6,5,7,5,7,6,6,6,4,5,5,4}, {1,5,4,3,5,1,5,4,5,5,4,5,6,6,5,6,2,6,2,6,4,6,6,6,6,5}, {0,5,3,6,2,7,5,7,5,5,4,4,4,4,5,3,5,1,3,1,3,5,5,6,7,5}, {1,5,5,3,7,5,7,6,5,5,4,2,4,3,4,4,4,5,4,5,5,4,4,6,3}, {1,7,4,5,5,5,5,5,5,5,5,3,6,2,5,2,4,4,5,6,6,6,5,6,2,6}, {0,2,7,6,8,6,6,4,4,4,4,6,3,7,3,4,4,3,5,5,6,7,5,3,5,1}, {1,5,4,7,7,6,5,5,3,4,3,4,6,4,6,5,4,5,5,4,6,3,6,4,4}, {1,5,4,5,5,4,4,5,3,6,2,5,4,5,6,6,6,7,6,5,5,1,5,2,5,4}, {0,5,5,4,3,3,2,2,6,3,8,5,6,5,5,6,7,7,8,7,5,5,1,4,3,5}, {1,6,5,4,4,2,2,3,3,6,5,6,6,5,5,6,4,6,4,7,5,5,6,4,5,6}, {0,6,5,6,3,7,3,5,5,5,5,5,4,5,5,2,6,1,5,2,5,5,6,7,6}, {0,5,4,6,2,7,4,9,6,6,5,4,3,4,4,4,6,3,4,2,4,3,5,6,6,5}, {1,5,3,3,5,3,7,7,7,7,5,4,5,2,4,3,4,5,4,5,5,4,4,5,3,6}, {0,3,6,5,6,6,6,6,7,6,6,7,3,6,2,5,3,3,5,6,5,6,5,2,5,1}, {1,6,4,8,6,6,6,4,3,4,5,4,8,3,6,3,3,4,4,6,7,6,5,4,2}, {1,5,2,6,6,6,6,5,3,4,2,4,5,4,7,5,5,5,4,5,5,3,6,3,4,4}, {0,3,5,4,4,5,4,4,6,3,6,4,5,6,6,7,8,8,7,6,4,6,1,5,3,5}, {1,5,4,4,3,2,2,4,3,7,4,7,5,5,6,6,6,8,8,7,7,3,5,2,5,6}, {0,5,6,4,2,3,2,2,5,4,6,5,5,6,4,4,6,4,7,5,6,6,5,6,6}, {0,6,5,6,3,6,2,5,3,4,4,4,5,5,5,4,6,2,6,2,6,5,6,8,7,6}, {1,6,5,4,7,3,8,5,7,5,5,4,4,4,5,5,3,5,1,4,2,4,5,6,6,7}, {0,5,5,6,4,7,6,8,8,7,6,5,3,5,3,5,4,3,4,3,4,4,4,4,6,4}, {1,7,4,7,6,6,7,7,6,6,5,4,6,2,5,2,4,4,4,6,6,6,5,5,2}, {1,6,3,7,7,7,7,6,5,5,4,4,7,3,6,2,4,3,4,5,6,6,7,4,3,4}, {0,2,5,5,6,7,6,5,5,3,5,4,5,7,6,6,6,5,5,5,4,6,2,5,3,4}, {1,4,4,5,5,4,4,5,3,7,3,7,5,6,7,6,7,8,6,5,6,1,6,2,5}, {1,5,5,5,4,3,2,2,1,6,3,7,5,6,5,5,6,7,6,7,7,5,5,1,5,4}, {0,5,6,5,4,3,1,2,2,3,6,4,6,6,5,5,5,4,7,5,7,6,6,6,5,6}, {1,6,5,4,5,2,6,2,4,4,4,5,5,5,5,5,4,7,2,5,3,6,6,6,7,6}, {0,6,4,5,3,8,5,9,6,6,6,4,4,5,5,5,6,2,4,2,4,4,5,7,7}, {0,5,6,4,4,6,4,8,7,8,7,5,4,5,2,5,3,5,4,3,4,4,5,5,6,5}, {1,7,4,6,5,6,6,5,6,6,6,5,6,3,5,1,4,3,4,5,5,6,6,5,3,6}, {0,3,8,5,8,7,7,6,6,4,5,6,4,8,3,6,3,4,5,4,6,6,6,5,5,3}, {1,5,3,7,7,7,7,6,4,5,3,5,5,5,7,5,6,5,4,5,5,3,6,3,5}, {1,5,4,6,5,5,6,5,4,7,3,7,4,6,6,5,7,7,7,7,6,3,5,0,5,4}, {0,5,6,5,4,3,3,2,4,3,7,4,7,5,6,7,6,7,9,9,7,7,3,5,3,5}, {1,6,5,5,4,1,3,1,2,5,4,6,6,5,6,6,5,7,4,8,6,6,6,5,6,6}, {0,5,6,5,4,6,2,5,4,5,6,5,5,6,6,5,6,3,5,2,5,4,6,7,6}, {0,6,6,4,3,6,3,8,6,8,6,4,4,4,4,5,6,4,6,1,4,2,4,6,6,6}, {1,6,5,4,4,3,7,5,7,7,6,5,4,3,4,3,5,5,4,5,4,4,5,4,4,6}, {0,3,7,4,6,6,5,7,6,5,6,6,4,7,2,5,2,4,4,5,6,7,6,5,4,2}, {1,6,3,7,6,8,6,6,5,5,5,5,6,4,7,2,4,4,3,6,6,6,6,5,4}, {1,5,3,7,6,8,8,7,5,5,3,5,3,4,6,4,6,5,5,5,5,4,6,3,5,4}, {0,5,5,5,5,6,4,5,5,3,7,2,6,4,6,7,7,7,8,7,6,6,2,7,2,6}, {1,6,6,6,4,3,2,3,2,6,3,8,5,6,6,5,7,8,7,9,7,5,6,2,5,6}, {0,7,8,6,5,5,2,4,4,3,7,6,6,6,5,5,6,5,7,4,7,5,5,6,5}, {0,6,7,5,5,7,4,7,3,6,5,5,6,5,5,6,6,4,6,1,5,3,6,6,7,7}, {1,6,5,4,6,3,8,5,8,6,7,5,5,4,5,5,5,6,3,5,1,4,4,5,7,6}, {0,5,5,3,4,6,5,8,7,8,7,6,6,5,4,5,5,6,5,4,5,4,4,4,5}, {0,4,6,3,6,4,5,6,6,6,7,7,6,7,3,6,2,5,3,4,5,5,6,6,5,4}, {1,6,3,7,5,8,7,7,6,6,4,5,6,4,7,2,6,1,4,4,5,6,6,5,5,4}, {0,3,5,3,7,6,7,7,5,4,4,3,5,6,5,7,6,6,6,5,6,6,4,7,3,5}, {1,4,4,5,5,4,5,4,3,5,2,6,3,6,6,7,7,8,7,8,7,4,7,2,7}, {1,4,7,7,6,4,4,2,2,4,3,7,4,6,5,5,5,6,7,9,8,7,7,3,6,4}, {0,6,7,6,7,5,2,3,1,2,4,4,6,5,5,5,5,4,6,5,7,5,6,7,6,7}, {1,6,6,6,6,4,6,3,6,3,5,5,5,5,6,5,4,5,2,5,2,6,5,7,8,7}, {0,7,5,5,4,6,4,9,6,8,7,5,6,5,5,6,5,5,6,2,3,2,4,6,6}, {0,7,6,4,5,5,4,8,7,9,8,7,7,5,4,5,3,5,4,4,4,3,4,5,4,5}, {1,6,4,7,5,7,7,7,8,7,6,6,6,5,6,1,5,2,4,4,5,5,6,5,4,4}, {0,2,6,3,8,6,8,8,7,6,6,5,5,7,4,7,3,4,4,4,6,6,6,6,4,3}, {1,4,2,6,5,7,8,6,6,5,4,6,5,6,7,6,7,6,6,5,5,4,6,3,6}, {1,3,5,5,4,5,5,5,5,5,4,7,3,7,5,7,7,8,8,8,7,5,6,2,7,2}, {0,7,6,6,5,5,2,3,2,2,6,3,7,4,5,6,5,7,8,8,9,8,5,7,3,7}, {1,6,7,7,5,3,3,1,2,3,3,6,4,5,5,5,5,6,5,7,5,7,5,6,7,6}, {0,6,6,6,5,6,3,6,3,6,5,5,6,6,6,7,6,4,7,2,6,3,6,7,7}, {0,7,6,4,4,5,3,8,5,9,6,6,5,5,5,5,6,6,6,3,5,2,5,5,5,7}, {1,7,5,5,4,4,6,4,9,7,8,7,6,4,4,2,5,3,4,5,4,5,4,5,6,6}, {0,4,7,4,7,5,7,6,6,6,7,6,6,6,3,6,1,5,3,5,6,6,6,6,5}, {0,4,5,3,8,5,9,8,7,6,6,5,6,6,5,7,3,6,2,4,5,4,6,6,5,5}, {1,4,4,6,5,8,9,8,8,7,5,6,4,6,6,6,7,5,5,6,5,4,5,3,6,3}, {0,6,5,5,6,6,5,6,5,5,7,3,7,3,6,6,6,8,8,8,7,7,3,6,2,6}, {1,4,7,6,5,4,4,2,2,5,3,7,3,6,5,5,6,7,7,9,7,7,6,4,6}, {1,4,6,6,6,6,4,2,3,2,3,5,4,6,5,5,7,6,5,6,4,7,5,6,6,6}, {0,6,6,5,6,5,3,6,2,6,4,5,5,5,6,6,6,5,6,3,5,1,6,5,7,7}, {1,7,6,6,4,4,7,3,8,5,7,5,5,5,4,5,6,6,4,5,1,4,2,5,6,6}, {0,7,6,4,4,4,3,7,6,8,7,6,6,5,4,6,3,6,5,5,6,4,5,5,5}, {0,5,6,4,6,4,7,6,6,7,7,7,7,6,5,7,2,5,3,5,5,6,7,7,5,5}, {1,4,3,6,5,9,7,9,8,6,5,6,5,6,7,4,6,3,5,3,4,6,5,6,6,4}, {0,4,4,3,6,6,8,8,6,5,5,3,5,4,5,7,6,6,6,6,7,5,5,6,4,6}, {1,5,5,6,5,5,6,4,5,5,3,6,3,6,4,6,7,7,7,9,7,6,6,2,7}, {1,3,7,7,7,7,5,3,3,3,3,7,4,7,4,6,5,6,7,8,7,8,7,5,7,3}, {0,7,6,7,7,6,5,4,2,4,4,4,6,5,6,6,4,5,6,5,7,4,7,5,6,7}, {1,7,6,8,6,5,7,3,7,3,6,5,5,5,5,5,6,5,4,5,1,6,3,6,6}, {1,6,7,6,5,4,5,3,7,5,9,6,6,7,5,6,7,6,7,6,4,5,2,4,4,6}, {0,7,6,4,4,3,4,5,5,8,7,8,7,6,5,5,4,6,4,6,5,5,5,5,5,6}, {1,6,5,6,3,7,5,7,7,6,7,7,7,7,7,4,6,2,5,3,5,6,6,6,5,4}, {0,3,6,3,8,6,9,7,7,6,6,5,6,7,5,7,4,5,3,4,5,5,7,6,5}, {0,5,4,3,6,4,7,7,7,7,6,3,5,3,6,5,6,7,5,6,7,5,5,6,4,6}, {1,3,6,4,5,6,5,5,6,5,5,6,3,7,3,6,6,6,7,8,8,8,6,3,6,2}, {0,7,5,6,6,6,4,3,2,3,4,3,7,3,6,4,5,6,6,8,8,7,7,6,4,7}, {1,5,7,8,7,7,5,3,4,2,4,4,4,6,5,4,5,4,5,6,4,7,5,6,7}, {1,6,7,7,6,7,6,4,6,2,6,4,5,5,5,6,7,6,6,6,2,6,2,6,6,7}, {0,8,7,6,5,5,4,6,3,8,6,8,6,6,6,6,6,7,6,5,5,2,4,3,5,7}, {1,6,7,7,5,6,5,5,8,6,9,8,7,6,5,4,6,3,5,4,4,5,4,4,5,4}, {0,6,6,4,7,4,7,7,7,8,8,7,7,7,6,7,3,6,2,5,5,6,6,6,5}, {0,4,4,3,6,4,8,7,8,7,6,5,6,6,6,7,4,7,3,5,4,5,7,6,6,5}, {1,3,3,4,2,6,6,8,8,7,7,6,5,6,6,7,7,6,7,6,6,6,5,4,6,2}, {0,6,4,5,5,5,5,5,5,5,6,4,7,3,7,4,6,7,8,7,8,7,6,6,2}, {0,7,3,8,7,6,6,4,3,3,3,3,5,3,6,3,5,5,5,7,7,8,8,7,5,6}, {1,4,7,7,7,7,5,3,4,1,3,3,4,6,5,6,6,5,6,6,5,8,4,8,6,6}, {0,7,6,6,6,5,4,6,3,7,3,6,4,4,5,6,6,6,6,5,6,2,7,4,7,7}, {1,7,8,6,5,4,5,4,8,5,8,6,6,6,4,5,6,6,6,6,4,5,3,5,6}, {1,6,7,7,5,5,3,4,6,4,8,7,7,7,5,4,4,3,5,4,5,6,5,6,6,5}, {0,6,6,5,7,3,7,5,6,7,6,6,7,6,6,6,3,5,1,4,3,5,6,6,6,5}, {1,5,3,6,3,8,6,9,9,8,8,6,6,6,7,6,7,3,5,3,4,4,5,6,5,4}, {0,5,3,3,5,5,8,8,8,8,6,5,6,4,6,6,6,6,6,5,6,5,5,5,4}, {0,6,3,6,5,5,5,6,5,6,5,5,6,3,6,3,5,5,6,7,8,8,7,6,4,6}, {1,2,7,5,7,6,5,4,4,2,3,5,3,7,4,6,4,5,7,7,8,9,7,6,6,4}, {0,6,5,7,7,6,6,5,2,3,2,4,6,5,6,5,6,6,5,5,7,5,8,5,6,6}, {1,6,7,7,6,6,6,4,7,3,6,4,6,6,5,6,6,6,6,5,3,5,2,6,5}, {1,7,8,7,5,5,4,3,6,3,8,4,6,6,5,6,5,6,7,6,6,5,3,5,4,6}, {0,7,6,7,5,3,3,4,4,6,5,8,7,6,6,5,5,5,3,6,5,6,6,5,5,5}, {1,4,6,6,4,7,4,7,6,7,7,7,7,7,6,6,6,3,6,2,5,5,6,7,6,4}, {0,4,4,2,6,3,9,7,8,7,7,6,6,5,6,7,5,6,3,4,4,4,7,6,6}, {0,5,4,4,4,4,7,6,8,8,6,6,5,3,5,4,5,5,5,6,5,5,6,5,5,6}, {1,4,6,4,5,5,5,6,6,4,5,5,3,6,2,7,4,6,7,7,8,8,7,6,6,3}, {0,7,4,8,7,7,6,4,3,4,3,4,5,3,7,3,5,5,5,6,7,7,8,6,5}, {0,7,4,8,7,8,9,6,5,4,2,4,4,4,5,4,5,5,4,6,5,4,6,3,6,5}, {1,6,7,7,6,7,6,5,6,3,7,3,5,4,4,6,6,6,7,6,5,5,1,6,3,7}, {0,7,6,7,5,4,3,4,3,7,4,8,5,5,6,5,5,7,6,6,6,4,5,2,5,6}, {1,6,8,6,4,5,3,4,5,5,8,7,7,7,5,5,5,4,6,3,5,4,4,5,4}, {1,4,5,5,4,6,3,7,5,7,7,6,8,7,7,6,6,4,5,2,5,3,4,6,5,6}, {0,5,4,3,5,3,8,5,8,7,7,6,5,5,6,6,6,7,4,5,3,4,5,4,6,5}, {1,4,3,2,2,5,4,7,7,7,7,5,5,5,4,6,6,6,7,6,6,6,5,6,5,4}, {0,5,2,5,4,5,5,6,5,5,4,4,6,3,6,3,6,6,6,8,9,8,8,7,5}, {0,7,3,8,6,8,8,6,4,4,2,4,5,3,6,3,5,4,4,6,6,7,8,6,6,6}, {1,4,7,6,8,8,7,6,5,2,3,2,4,4,4,6,5,5,6,5,5,7,5,7,5,7}, {0,7,7,8,8,6,6,5,4,6,3,5,4,4,5,5,6,7,6,6,6,3,5,2,7,6}, {1,8,9,7,6,5,4,4,6,5,8,6,7,6,5,6,6,6,6,6,5,5,1,4,3}, {1,5,8,7,7,6,3,4,5,5,8,6,8,7,6,6,5,4,5,3,6,4,5,5,4,5}, {0,6,4,5,5,4,6,4,7,6,7,7,7,7,7,6,6,5,2,5,1,5,4,5,6,5}, {1,4,3,3,2,6,4,8,6,8,7,7,7,6,6,7,7,5,7,3,5,4,4,6,5,5}, {0,5,2,3,3,2,6,6,7,7,6,6,6,5,7,5,7,7,6,6,6,6,6,5,4}, {0,6,3,6,3,6,5,5,5,6,5,5,6,4,6,2,6,3,6,7,7,8,7,7,5,5}, {1,2,7,4,7,7,6,5,4,2,3,3,3,5,2,6,3,5,5,5,8,8,7,7,6,5}, {0,7,4,7,7,7,7,5,4,3,1,2,2,3,5,4,5,5,4,6,6,5,6,4,7}, {0,5,6,7,6,6,7,5,5,6,3,6,2,5,4,5,6,5,6,7,5,4,5,1,6,4}, {1,7,7,7,7,6,4,4,4,3,7,4,8,5,5,5,4,6,5,5,6,6,3,5,3,6}, {0,6,6,8,6,5,4,3,4,5,5,8,6,6,6,4,5,4,3,5,3,5,4,5,6,5}, {1,5,6,5,5,6,3,7,5,7,7,7,8,8,7,7,6,4,6,2,5,3,5,6,5}, {1,6,4,3,2,4,2,7,5,9,8,7,7,7,6,7,7,7,7,4,5,2,4,5,4,6}, {0,5,4,4,3,3,5,5,8,8,8,7,6,6,6,4,6,5,6,7,6,6,5,5,6,5}, {1,3,5,3,5,5,5,6,5,6,6,5,4,6,3,6,3,6,6,6,8,9,7,7,5,3}, {0,5,3,7,5,7,7,5,4,4,3,3,4,3,6,3,5,4,5,6,6,8,7,7,6}, {0,5,4,7,5,7,8,6,7,5,2,4,3,4,5,5,6,5,5,6,5,5,5,4,6,4}, {1,6,6,5,7,6,5,6,5,3,6,3,6,4,4,5,5,6,7,6,6,5,3,5,2,7}, {0,7,7,8,7,5,4,3,3,5,3,7,4,6,5,4,5,4,5,6,5,5,4,2,5,4}, {1,6,7,6,6,5,2,4,3,4,7,6,7,7,6,6,4,5,6,4,6,4,4,5,4}, {1,5,5,4,5,4,3,6,3,6,5,6,7,7,7,7,6,5,6,2,6,2,5,5,6,6}, {0,5,4,4,3,2,6,4,8,7,8,7,6,6,6,6,6,6,4,6,2,4,4,5,6,5}, {1,5,4,3,3,3,3,6,5,7,7,6,6,4,4,6,4,6,5,6,7,6,6,6,5,5}, {0,6,3,6,4,5,5,5,5,5,5,4,4,3,5,2,5,3,5,6,7,7,7,6,6}, {0,5,3,7,5,8,8,8,6,5,3,3,4,4,5,3,5,2,4,4,4,6,6,6,6,5}, {1,4,6,4,7,8,8,9,6,5,4,2,4,3,4,5,4,5,5,4,5,4,3,6,3,6}, {0,5,6,7,6,6,7,5,5,5,3,6,2,4,3,4,5,5,6,6,5,4,5,1,5,3}, {1,6,6,6,6,5,4,3,4,3,7,4,8,5,6,6,5,6,7,6,6,5,3,4,2}, {1,5,6,5,6,5,4,4,2,4,5,5,8,6,7,7,5,5,5,4,6,3,5,4,5,5}, {0,5,5,6,4,4,5,3,7,5,6,6,6,7,7,7,7,6,4,5,1,5,3,5,6,5}, {1,6,5,2,3,3,2,6,5,7,6,6,7,5,6,7,7,7,7,4,6,3,5,6,5}, {1,6,5,3,3,1,2,4,4,6,7,5,6,4,5,5,4,7,5,6,7,6,6,7,5,5}, {0,5,3,6,2,5,4,5,5,5,5,5,5,5,5,2,6,2,5,5,7,7,7,7,6,5}, {1,3,5,3,7,6,8,7,5,4,3,3,3,4,3,5,2,4,3,4,6,5,7,7,6,5}, {0,6,4,7,6,8,8,7,6,4,3,3,1,3,4,4,5,4,4,5,4,5,6,4,6}, {0,5,7,6,7,7,6,5,6,4,4,6,2,6,3,4,5,5,6,6,6,5,4,2,5,2}, {1,7,6,7,8,6,5,5,3,3,6,4,8,4,6,5,4,5,5,6,6,5,4,4,2,4}, {0,4,6,8,7,7,5,3,4,4,4,7,5,7,6,5,6,4,4,4,3,5,3,4,5,4}, {1,5,5,4,5,4,3,6,3,6,5,6,7,7,7,8,6,6,6,2,5,2,5,5,5}, {1,7,5,3,2,1,1,5,3,7,5,7,7,6,7,6,6,7,7,5,6,3,5,4,4,6}, {0,5,5,4,1,2,3,2,6,5,7,7,5,6,5,4,6,4,6,5,5,6,5,5,5,4}, {1,4,4,3,5,3,5,4,5,5,5,5,5,5,3,5,1,5,2,5,6,7,8,7,6,4}, {0,5,2,7,5,8,7,6,6,4,3,3,3,3,4,2,4,2,4,4,4,6,6,6,6}, {0,5,4,6,4,7,6,7,7,5,4,3,2,4,3,4,5,4,5,5,4,5,5,4,6,3}, {1,6,4,6,6,6,6,6,5,5,5,2,5,2,5,4,4,6,6,6,6,5,4,5,1,6}, {0,5,7,8,7,7,5,4,3,4,4,7,4,6,4,4,4,3,5,5,6,6,5,3,5,3}, {1,6,7,7,8,6,4,4,2,3,5,5,7,6,6,6,4,6,4,4,6,4,5,5,5}, {1,6,5,5,6,4,4,5,2,6,4,6,7,6,7,8,7,7,6,3,5,1,4,3,5,7}, {0,6,5,4,3,3,3,3,7,5,9,7,7,8,6,6,7,6,7,6,3,4,2,4,5,4}, {1,6,4,2,3,1,2,4,4,7,7,6,7,5,5,5,4,6,5,6,6,5,6,6,5}, {1,5,5,3,6,2,6,4,5,6,5,5,5,4,4,4,2,5,1,4,4,6,7,7,7,6}, {0,4,3,5,2,7,5,7,7,5,5,4,3,4,5,4,5,2,4,3,3,6,6,7,7,5}, {1,5,4,3,6,4,7,8,5,6,4,3,3,2,4,4,4,6,4,4,6,4,5,5,3,6}, {0,3,6,6,6,7,7,5,6,4,4,5,1,4,2,4,4,5,6,6,5,5,5,2,5}, {0,2,7,6,7,8,6,4,4,2,3,4,2,7,3,5,5,4,6,5,7,7,5,5,4,2}, {1,5,4,6,8,5,5,4,2,4,2,4,6,4,6,6,5,6,4,5,5,3,5,3,5,5}, {0,5,5,6,4,5,4,3,5,3,7,5,6,6,7,7,7,6,6,5,1,4,1,5,5,5}, {1,6,4,3,3,1,2,4,3,7,6,7,6,5,6,6,6,7,6,5,5,3,5,4,5}, {1,7,5,6,3,2,3,2,3,6,5,6,6,5,5,3,3,5,3,6,5,6,5,5,6,6}, {0,4,4,5,3,6,3,5,4,5,5,5,5,5,4,3,5,2,4,3,5,6,7,7,6,5}, {1,4,4,3,6,4,9,7,7,6,4,3,4,4,4,5,3,5,2,3,4,4,6,6,5,6}, {0,4,4,6,5,8,8,8,9,5,4,4,2,4,2,4,5,4,4,5,3,5,4,4,5}, {0,3,6,4,5,7,6,6,7,5,5,5,3,5,2,5,3,4,6,5,6,7,5,4,4,1}, {1,5,3,7,8,6,6,5,2,3,3,3,6,4,7,4,4,5,4,7,6,5,6,4,3,5}, {0,3,5,6,6,7,5,4,3,2,4,5,5,7,6,6,7,4,6,4,4,5,2,4,4}, {0,4,5,5,4,6,4,4,5,2,6,3,5,6,6,7,7,6,7,6,4,5,1,4,3,5}, {1,7,5,4,3,2,2,2,2,5,3,6,6,5,5,5,6,7,6,7,6,4,5,3,4,6}, {0,5,6,4,2,2,0,2,3,3,6,6,6,6,4,4,5,4,6,4,7,7,6,6,6,4}, {1,5,3,3,4,2,5,3,4,4,4,4,5,4,4,5,2,4,1,5,4,6,7,7,7}, {1,6,4,3,5,3,8,5,7,7,5,5,3,3,3,4,3,4,1,3,2,3,6,5,6,6}, {0,4,5,4,4,7,5,8,8,6,6,3,2,3,1,3,3,4,4,4,4,5,4,5,5,4}, {1,6,4,6,6,6,7,6,5,5,5,3,5,2,5,2,3,4,4,6,6,5,5,3,2,4}, {0,2,7,7,8,8,6,6,5,4,4,5,4,6,4,5,5,3,5,4,5,5,3,3,3}, {0,2,5,5,6,8,6,7,4,3,4,3,4,5,5,6,6,4,5,3,4,4,2,5,3,4}, {1,4,4,4,5,3,5,4,3,6,3,6,5,5,6,6,7,7,5,5,5,1,4,2,5,5}, {0,4,5,3,2,1,1,1,4,3,7,6,7,7,5,7,6,6,8,6,5,5,3,5,4,5}, {1,7,4,3,3,0,1,1,2,5,5,6,7,5,6,4,4,5,4,6,5,6,6,6,5}, {1,6,4,5,5,2,5,2,5,4,4,5,5,4,5,4,4,4,1,5,2,5,6,6,7,7}, {0,4,4,4,2,5,3,7,6,6,6,3,3,3,3,4,4,3,4,2,4,5,4,7,6,6}, {1,5,3,3,4,3,7,7,7,7,4,4,3,2,4,2,4,5,4,5,5,4,6,4,4,5}, {0,4,6,5,5,7,6,6,7,5,5,5,3,5,1,3,3,3,6,5,6,6,4,4,4}, {0,1,6,4,8,8,7,7,5,3,3,4,3,6,3,6,3,3,4,3,6,5,5,5,4,3}, {1,5,3,6,7,6,7,5,3,3,2,3,4,4,6,5,5,5,3,4,4,3,5,2,4,4}, {0,5,6,6,4,5,3,4,5,3,6,3,6,6,6,7,7,6,7,5,4,5,1,4,3}, {0,4,6,5,5,3,1,1,3,2,6,4,7,6,6,7,5,6,7,6,7,5,3,5,3,5}, {1,7,5,7,3,2,2,1,2,4,4,6,6,5,6,3,4,4,3,5,4,5,6,5,5,5}, {0,5,5,3,3,4,2,5,3,5,5,4,5,5,4,5,4,2,5,2,4,4,5,8,6,6}, {1,5,3,2,4,2,7,5,7,6,5,5,3,4,4,4,4,5,2,4,2,3,6,4,6}, {1,5,3,4,3,3,6,6,8,8,6,6,4,3,3,2,3,3,3,5,4,4,4,3,4,4}, {0,3,5,3,6,6,6,6,6,5,6,4,4,5,1,4,2,3,4,5,6,6,5,5,4,2}, {1,4,2,7,7,8,7,6,5,4,2,3,4,2,6,3,4,4,2,5,4,5,5,4,3,3}, {0,2,4,5,6,7,5,6,4,3,4,2,5,5,6,6,6,5,6,4,5,4,3,5,3}, {0,3,5,5,4,5,3,5,4,3,5,3,6,4,6,7,7,7,8,6,6,5,2,5,2,6}, {1,6,6,6,4,2,2,1,2,4,2,7,5,5,6,4,6,6,6,7,6,5,5,2,5,5}, {0,5,7,4,5,3,0,1,1,2,5,4,5,6,5,6,3,4,5,4,6,6,6,7,6,5}, {1,6,4,4,4,3,5,2,4,4,4,5,4,5,5,4,4,5,1,4,3,5,6,6,7}, {1,6,5,4,4,3,7,5,9,8,7,7,4,5,4,3,5,4,3,4,1,2,4,3,6,5}, {0,5,4,3,3,5,4,8,7,8,8,4,5,4,2,4,3,4,4,4,5,4,4,5,3,4}, {1,4,2,5,4,5,6,6,6,6,5,5,4,3,4,1,3,3,3,5,5,6,5,4,3,3}, {0,1,5,4,7,7,6,6,4,3,4,4,4,6,3,6,4,3,5,3,6,4,5,4,3}, {0,1,4,3,5,7,6,7,4,3,3,2,4,4,5,7,5,6,6,3,5,4,3,4,2,4}, {1,4,4,5,5,4,5,3,3,4,2,5,3,5,5,5,7,6,6,6,5,3,4,1,5,4}, {0,5,6,5,4,2,1,1,1,1,5,3,5,5,4,6,5,6,7,6,7,5,4,5,3}, {0,5,7,5,6,3,1,1,0,1,3,3,5,5,5,6,3,4,4,3,6,4,5,6,6,7}, {1,6,5,6,4,3,5,3,6,4,5,5,4,5,5,4,5,4,2,4,1,4,4,5,7,6}, {0,6,5,4,2,4,3,7,6,7,7,5,5,3,3,4,3,3,4,1,3,2,4,7,5,7}, {1,5,4,4,3,3,6,5,7,7,6,7,3,3,3,2,3,3,3,4,4,3,5,3,5}, {1,4,4,6,4,6,6,7,7,6,6,7,5,5,5,3,4,2,3,4,4,6,5,5,4,2}, {0,1,4,2,6,7,8,8,6,5,4,4,5,5,4,5,3,4,4,2,6,4,5,4,3,3}, {1,3,2,5,6,7,8,6,6,5,3,5,3,5,5,5,6,6,4,6,3,5,4,2,4,3}, {0,4,4,4,4,5,3,5,3,3,5,3,6,5,5,7,6,7,8,7,6,5,3,4,2}, {0,5,5,5,6,4,2,1,0,0,3,3,6,4,5,6,5,7,6,7,7,6,5,6,3,5}, {1,5,5,7,5,5,2,0,1,2,2,5,4,6,7,4,6,4,4,5,4,5,5,5,6,5}, {0,5,6,4,4,4,2,5,2,4,4,4,4,5,5,5,4,4,3,2,4,2,5,7,7,7}, {1,6,4,4,3,2,6,4,7,6,5,6,3,4,3,3,3,4,3,3,2,4,4,4,7}, {1,5,5,4,2,2,3,3,7,7,7,8,4,5,3,2,4,2,4,4,4,4,5,4,5,4}, {0,4,5,3,5,4,6,6,6,6,6,5,5,4,3,4,1,3,3,3,5,5,6,5,4,3}, {1,4,3,6,5,8,9,7,6,5,4,3,4,4,5,3,4,2,2,4,2,5,4,4,4}, {1,3,2,4,3,6,7,6,8,4,4,3,2,4,4,4,6,6,5,6,3,5,4,3,4,2}, {0,5,4,5,5,5,4,5,3,3,4,2,5,3,5,5,5,7,7,7,7,5,3,4,1,5}, {1,4,6,7,5,5,4,2,2,3,2,5,4,6,6,5,7,5,7,6,6,6,4,2,5,3}, {0,5,7,5,6,4,2,2,1,2,3,4,6,5,4,6,3,4,5,3,5,4,5,6,6}, {0,6,6,5,5,3,3,5,2,5,3,4,5,5,5,5,4,5,3,3,4,1,4,5,6,8}, {1,6,5,5,2,2,4,2,7,6,7,7,5,7,4,5,5,4,5,4,2,3,3,3,6,4}, {0,6,5,3,3,2,2,5,5,7,8,6,7,4,3,3,3,4,3,4,4,4,5,5,4,5}, {1,4,3,5,3,6,5,6,6,7,5,6,5,4,5,2,4,2,3,4,4,6,5,5,4}, {1,3,1,4,3,6,7,8,7,6,5,4,3,4,5,4,6,4,4,4,4,6,5,6,5,3}, {0,3,3,2,5,5,6,7,6,5,3,3,4,3,4,5,6,6,7,5,7,4,5,5,3,5}, {1,3,5,5,5,5,6,4,5,3,3,5,3,5,4,5,6,6,7,8,6,6,5,2,5,3}, {0,5,7,6,7,4,2,2,1,1,4,2,6,4,4,5,4,7,5,7,7,6,5,6,4}, {0,6,7,7,8,5,4,2,0,2,1,2,5,4,5,6,4,5,3,4,5,3,5,4,6,6}, {1,6,6,7,4,5,4,3,5,3,5,4,5,5,5,6,6,5,4,4,1,4,2,4,6,5}, {0,7,6,4,4,3,3,6,4,8,7,6,7,4,5,4,4,5,4,3,4,2,3,4,4,7}, {1,4,5,4,2,3,4,5,7,7,7,8,4,5,3,2,4,3,3,3,4,4,4,4,5}, {1,4,4,4,3,5,4,5,6,6,6,7,5,6,5,3,4,2,4,3,3,6,5,6,5,3}, {0,3,3,2,5,5,7,7,6,6,4,4,4,4,5,6,4,5,4,3,5,4,6,4,4,4}, {1,3,2,4,4,6,7,6,8,4,4,4,2,4,5,6,6,6,6,7,4,6,4,3,3,2}, {0,4,4,4,5,5,4,6,2,4,4,2,5,2,4,5,5,8,8,7,7,6,4,5,2}, {0,5,4,6,8,5,4,3,0,1,2,1,5,2,5,4,4,6,5,7,7,6,6,5,4,5}, {1,5,6,8,6,7,4,2,2,0,3,3,4,6,5,5,7,4,6,4,4,6,4,6,6,6}, {0,7,7,5,6,4,4,4,2,5,3,4,5,5,5,6,5,5,3,3,4,2,4,5,6}, {0,9,7,6,5,3,3,4,3,7,6,7,6,4,6,3,4,4,4,4,3,2,4,4,4,7}, {1,5,7,5,3,3,3,3,5,5,7,8,5,7,4,5,4,3,4,3,4,5,5,5,6,3}, {0,5,4,4,5,3,6,6,7,7,7,5,7,5,6,4,3,4,2,4,5,5,6,5,5,4}, {1,2,2,4,4,7,8,9,8,7,6,6,5,5,5,5,6,3,4,5,3,6,4,5,4}, {1,2,3,2,2,4,6,7,8,5,6,4,3,4,3,5,5,6,7,6,5,7,4,5,4,3}, {0,5,3,4,4,4,4,5,3,4,3,3,5,2,4,4,5,7,6,8,8,6,6,4,3,4}, {1,2,6,6,6,6,3,2,1,1,2,4,3,6,4,5,6,4,8,6,6,7,5,4,5,3}, {0,6,7,6,8,4,4,2,0,1,1,2,4,5,5,6,4,6,3,4,5,3,5,5,6}, {0,7,6,6,6,4,5,4,3,5,2,4,4,4,5,5,4,6,4,4,4,1,4,2,5,7}, {1,6,8,6,4,3,2,2,5,4,7,6,6,7,3,5,4,4,6,4,3,4,3,4,6,5}, {0,8,4,5,3,2,3,3,3,6,7,7,7,4,5,3,3,4,2,4,5,5,5,5,5,6}, {1,4,5,4,3,6,5,6,7,7,7,7,6,7,4,4,4,1,3,3,4,6,5,6,5}, {1,4,3,3,3,6,5,8,9,7,7,5,5,4,4,5,5,3,4,4,3,6,4,7,4,5}, {0,4,3,3,4,4,6,8,6,8,5,5,4,2,4,4,5,6,6,6,6,4,6,3,3,4}, {1,2,4,5,5,5,6,5,6,4,5,5,3,5,4,5,6,6,8,7,7,7,5,3,4}, {1,1,5,5,6,7,5,5,4,1,2,3,4,5,4,6,5,4,7,5,7,7,6,6,5,4}, {0,5,5,6,8,6,8,4,2,3,1,3,4,4,6,6,5,7,4,5,4,3,5,3,5,6}, {1,6,6,7,5,6,3,3,4,2,5,4,5,5,5,6,7,5,6,4,3,4,2,5,5,6}, {0,8,6,5,4,2,2,4,3,7,5,7,7,4,7,4,5,6,5,5,4,2,4,4,5}, {0,7,5,7,5,3,3,3,3,6,6,8,8,6,7,4,5,3,2,4,3,5,5,5,5,6}, {1,3,5,3,4,5,3,6,5,6,7,7,6,6,5,5,4,2,3,3,4,5,5,8,6,5}, {0,4,2,2,3,4,7,7,7,8,5,6,4,4,5,4,4,5,3,4,5,3,7,4,6,4}, {1,2,2,2,3,5,6,7,8,5,7,4,4,5,4,6,5,6,7,7,5,7,4,5,4}, {1,3,5,3,5,5,5,5,5,4,6,3,3,5,2,4,4,5,7,6,8,8,6,7,5,3}, {0,6,4,7,8,7,8,5,3,3,1,2,3,3,5,3,3,5,3,7,6,6,6,5,5,5}, {1,4,7,8,7,9,6,5,3,1,2,2,3,5,5,6,6,3,7,3,5,5,4,5,5,6}, {0,7,6,6,8,5,5,4,3,5,3,5,5,4,6,6,6,6,5,5,4,2,4,3,5}, {0,7,6,8,6,5,4,3,4,7,5,8,7,6,7,4,6,4,5,5,4,3,4,2,3,5}, {1,5,8,5,5,4,3,3,4,5,7,7,8,8,5,6,4,4,4,3,4,4,5,6,5,5}, {0,6,3,4,3,3,5,5,6,6,6,7,7,6,7,5,5,4,2,3,3,4,7,5,6,5}, {1,3,2,3,2,5,6,8,9,7,8,5,6,5,5,6,6,5,5,4,3,6,4,7,4}, {1,4,3,2,2,4,4,6,8,7,8,5,5,4,4,5,5,6,7,7,6,7,5,7,4,4}, {0,4,3,5,4,5,5,6,4,6,3,4,3,2,4,3,5,6,5,8,8,7,8,5,5,4}, {1,3,6,6,7,8,5,5,2,2,2,2,3,5,4,4,6,4,7,5,8,7,7,7,5,4}, {0,6,6,6,8,5,7,4,2,2,0,2,3,4,6,6,4,7,4,6,5,4,5,5,6}, {0,7,7,7,8,6,7,4,4,5,3,5,3,5,5,5,6,6,5,6,4,3,4,2,5,6}, {1,6,9,7,6,5,3,3,4,4,7,6,6,7,4,6,4,5,5,4,5,4,3,4,5,6}, {0,9,6,8,5,3,4,2,4,6,6,8,7,5,7,3,4,3,2,4,3,4,5,5,5}, {0,7,4,6,4,5,5,4,6,7,7,8,7,8,8,6,6,5,3,4,2,3,5,5,7,5}, {1,4,3,2,2,4,4,8,8,9,9,6,7,5,6,6,6,5,6,4,4,5,4,7,4,5}, {0,4,2,2,3,2,5,6,6,9,5,8,4,5,4,3,5,6,5,7,6,6,7,4,5,4}, {1,3,4,3,5,4,4,5,5,3,6,4,4,4,3,5,4,5,7,6,9,8,7,6,4}, {1,3,5,4,7,7,7,7,4,3,2,1,2,4,4,5,4,4,6,5,8,5,7,6,5,5}, {0,5,4,7,8,7,10,6,5,3,1,3,2,3,4,4,6,6,4,7,3,4,4,3,6,5}, {1,5,7,7,6,8,4,6,4,3,5,3,5,5,4,6,6,7,7,5,6,4,2,5,4,6}, {0,9,7,8,6,3,3,3,2,6,4,6,6,5,7,3,6,4,6,6,5,5,5,4,4}, {0,7,6,8,5,6,4,2,4,4,5,7,7,7,9,5,7,3,4,4,4,5,5,5,6,6}, {1,4,6,4,5,4,4,6,5,6,7,7,8,8,6,8,5,4,4,2,4,3,5,7,6,7}, {0,5,3,3,3,3,6,6,8,9,7,8,5,6,5,5,5,6,4,5,4,4,6,4,8,4}, {1,5,3,2,2,4,4,6,8,6,8,4,6,4,4,5,6,6,7,7,7,8,5,7,3}, {1,5,4,3,5,4,6,6,5,5,6,4,5,4,3,4,3,5,5,6,9,8,8,8,5,4}, {0,4,3,6,6,8,9,7,6,4,2,3,3,4,5,4,4,5,4,7,5,8,6,6,6,5}, {1,4,5,5,7,9,6,8,4,4,3,1,2,4,4,5,6,5,8,4,6,5,5,6,5}, {1,6,7,7,7,7,4,6,4,4,4,2,5,4,4,6,4,6,7,5,7,4,3,4,3,5}, {0,7,7,9,6,5,4,3,2,4,3,7,6,7,7,5,8,4,6,6,5,5,3,3,3,4}, {1,5,9,6,7,4,3,3,3,4,6,6,8,8,6,8,4,6,4,3,4,4,5,5,6,5}, {0,7,4,7,4,5,5,4,6,5,6,7,6,6,7,5,6,4,3,4,2,4,5,5,8}, {0,6,5,4,1,2,4,3,7,8,7,8,6,7,5,5,7,6,6,5,5,5,6,4,8,4}, {1,7,4,2,2,2,3,5,6,6,9,6,7,4,4,5,4,6,5,6,7,7,6,8,5,6}, {0,5,4,6,4,5,6,6,6,7,5,6,4,5,4,3,4,3,5,7,7,8,8,7,6,4}, {1,3,6,5,7,9,7,8,5,4,3,3,3,4,3,4,4,4,7,4,8,6,8,7,5}, {1,5,6,5,7,9,8,10,5,6,3,2,2,2,3,4,5,6,7,4,7,4,5,5,4,5}, {0,5,6,7,8,7,8,5,7,5,4,6,4,5,5,5,7,7,7,7,5,5,4,2,4,4}, {1,6,8,7,9,5,4,4,4,4,6,5,7,7,5,7,4,7,5,5,6,4,4,4,4,5}, {0,7,6,10,5,5,4,2,3,4,6,8,7,7,9,4,7,4,4,4,3,4,4,4,6}, {0,6,4,6,3,5,4,3,5,5,7,7,7,8,8,8,8,6,6,4,3,4,5,5,7,5}, {1,6,5,3,2,1,2,4,6,7,8,7,8,6,7,7,6,7,6,5,5,4,4,7,5,7}, {0,4,5,3,2,2,3,5,6,8,7,9,4,6,4,4,5,5,6,7,7,7,8,4,7,4}, {1,5,5,4,5,5,5,6,6,4,6,4,5,3,3,4,3,5,6,7,9,8,8,9,6}, {1,5,5,4,6,7,8,9,6,6,3,2,2,3,3,4,4,4,5,4,8,5,9,7,6,6}, {0,5,4,6,7,8,9,7,9,4,5,3,2,3,4,4,5,5,5,7,3,6,4,4,5,4}, {1,6,7,6,7,8,6,7,4,5,4,3,5,4,4,5,5,7,6,6,6,4,3,3,3}, {1,6,8,8,10,7,7,5,3,3,5,4,6,5,6,7,3,7,4,6,5,5,4,3,3,4}, {0,6,6,9,6,8,5,4,4,3,4,6,7,8,9,6,9,4,6,4,3,4,3,4,5,5}, {1,5,6,4,6,3,5,5,5,7,7,7,8,8,8,8,6,8,5,4,4,3,4,5,5,7}, {0,5,4,3,2,3,4,5,8,9,8,10,7,8,6,6,6,6,6,5,4,4,6,4,8}, {0,4,7,3,2,1,1,3,5,7,7,9,5,9,4,6,4,4,5,6,7,7,8,7,9,5}, {1,6,4,3,4,3,5,5,5,6,6,5,6,4,5,4,3,4,4,5,8,7,9,9,6,6}, {0,4,3,5,5,7,8,7,8,5,4,3,3,4,4,4,5,5,4,7,4,8,5,7,6,5}, {1,4,4,4,7,8,8,10,6,7,4,3,3,3,4,5,5,6,7,5,7,4,6,4,5}, {1,6,6,6,8,8,7,8,4,6,4,3,4,3,4,4,4,6,6,6,7,5,5,3,3,4}, {0,5,6,10,7,9,6,4,3,3,3,5,5,6,6,5,7,4,7,5,6,6,5,4,4,4}, {1,6,8,6,9,5,6,3,2,3,4,5,7,8,7,9,4,7,4,5,4,4,5,5,6,6}, {0,7,6,8,4,6,5,5,5,5,7,8,7,8,8,7,8,5,5,3,2,3,4,4,8}, {0,6,8,5,3,3,2,3,5,6,8,9,7,8,5,7,6,6,6,5,5,5,4,4,8,5}, {1,9,5,5,3,2,2,3,5,7,8,6,9,4,6,4,4,5,5,6,6,7,7,8,5,8}, {0,4,5,4,4,5,5,6,7,6,6,7,4,6,4,4,4,3,5,5,5,9,8,7,6,4}, {1,3,4,3,6,7,8,9,7,7,5,4,4,4,4,5,4,3,4,3,7,5,8,6,6}, {1,5,4,4,5,7,7,10,7,9,5,4,3,3,2,4,4,5,6,4,7,4,7,4,5,5}, {0,4,6,7,7,7,8,6,6,4,5,4,4,5,4,5,6,5,7,7,6,7,4,4,4,3}, {1,5,8,7,9,6,6,4,3,3,4,4,6,6,6,8,4,8,5,8,6,5,4,4,3}, {1,4,6,6,10,6,8,5,4,4,3,4,6,6,7,9,5,8,3,6,4,4,4,4,5,5}, {0,5,6,7,4,6,3,5,5,4,6,6,6,8,7,7,9,6,7,5,5,4,4,5,8,6}, {1,9,5,5,3,1,2,3,4,6,7,7,9,6,8,5,7,7,6,7,6,5,5,6,5,9}, {0,5,7,4,2,2,2,4,6,7,7,10,6,9,4,5,4,4,6,6,7,7,8,6,8}, {0,4,7,4,4,5,4,5,6,6,6,7,5,6,4,5,3,2,4,4,5,7,7,9,8,7}, {1,6,5,4,6,6,8,9,8,9,5,5,4,3,4,3,3,3,3,3,6,4,9,5,7,6}, {0,5,4,5,6,7,9,8,11,6,8,3,3,3,3,4,5,6,6,8,5,7,4,5,4,3}, {1,5,5,6,8,7,7,8,5,6,5,4,5,3,4,5,4,7,6,8,8,5,6,3,3}, {1,4,5,7,9,8,9,6,5,4,3,4,6,6,7,7,4,7,4,7,5,5,5,4,4,4}, {0,4,5,8,6,10,5,6,4,3,4,4,6,7,8,7,9,4,8,4,5,4,4,4,5,5}, {1,7,6,5,6,3,4,3,3,4,4,5,7,7,8,9,7,9,6,6,4,3,4,5,5,8}, {0,6,7,5,2,3,2,3,5,5,7,9,6,9,5,7,6,7,7,5,5,5,5,5,7}, {0,4,9,4,4,3,1,2,3,4,6,8,6,9,4,6,4,4,5,5,6,6,7,7,8,6}, {1,8,4,6,5,4,5,5,5,6,5,5,6,3,6,3,4,3,3,3,6,6,9,7,8,7}, {0,4,5,4,4,6,7,8,9,6,6,4,4,4,3,4,4,4,3,5,4,8,5,9,6,6}, {1,5,4,4,6,6,8,10,7,9,4,5,3,2,3,4,4,5,6,5,8,4,6,3,5}, {1,5,5,6,7,7,8,8,6,8,4,6,5,3,4,4,3,5,4,7,6,6,7,3,4,3}, {0,4,6,8,8,11,8,7,5,3,4,4,5,6,5,5,7,4,8,4,7,6,5,4,4,4}, {1,5,7,6,11,6,9,4,4,3,3,4,6,6,7,9,5,9,3,7,4,4,4,3,4}, {1,6,6,6,8,4,7,3,5,5,5,6,7,7,9,8,8,9,6,7,4,3,4,3,3,7}, {0,5,8,5,4,3,1,2,3,5,7,8,7,9,6,9,6,7,7,6,7,6,5,4,6,5}, {1,9,5,7,3,2,2,1,3,4,6,6,9,5,8,4,6,4,4,6,5,6,7,7,6,8}, {0,5,7,3,4,4,4,5,6,5,6,6,5,7,4,6,4,4,4,4,5,8,7,9,7}, {0,6,5,4,3,4,5,7,8,7,8,4,5,3,4,4,4,4,4,5,4,6,4,9,5,7}, {1,5,4,3,4,5,7,9,8,10,5,7,3,3,2,2,3,4,5,5,7,4,8,3,6,4}, {0,4,5,6,6,7,8,7,7,4,7,4,4,4,3,4,4,4,8,6,8,8,5,6,4,3}, {1,4,6,7,10,7,8,5,4,4,3,4,4,4,5,6,3,8,3,8,5,6,5,4,4}, {1,4,5,6,9,7,10,5,7,4,3,4,5,6,7,7,6,9,4,8,3,5,3,3,4,5}, {0,5,6,6,5,7,3,6,4,4,5,6,6,7,6,8,8,7,8,4,5,3,2,3,5,5}, {1,10,6,7,5,3,3,1,3,5,5,6,9,5,9,4,7,6,6,6,5,4,4,5,4,8}, {0,5,9,4,4,2,1,2,3,5,7,8,6,9,4,7,4,5,5,5,6,6,6,7,8}, {0,5,7,3,5,3,3,5,5,6,6,6,6,7,4,7,4,4,4,3,4,6,5,9,7,8}, {1,6,4,3,3,4,6,7,8,10,6,8,5,4,4,3,4,4,4,3,5,3,7,4,9,5}, {0,5,4,3,3,5,6,7,10,7,9,4,6,3,3,4,4,4,5,6,5,8,4,7,3,4}, {1,4,4,6,6,6,7,7,5,7,3,5,4,4,4,4,4,7,5,8,7,7,6,4,4}, {1,4,4,6,8,7,10,7,6,5,4,4,5,5,5,5,5,7,3,8,4,7,5,4,4,3}, {0,3,4,7,6,10,5,9,4,4,3,3,4,6,6,7,8,6,9,4,7,4,4,4,5,4}, {1,6,6,6,7,4,6,3,5,4,4,4,5,5,7,7,8,9,7,8,4,4,3,3,5}, {1,7,6,9,5,3,3,0,2,2,4,6,7,6,9,5,8,5,7,7,6,6,6,5,5,7}, {0,6,10,5,7,2,2,2,1,3,4,6,6,9,5,8,3,6,3,4,5,6,7,7,7,7}, {1,9,4,7,4,4,4,4,5,6,5,6,6,5,7,4,5,2,2,3,3,4,7,6,9,8}, {0,6,6,4,4,5,6,8,9,6,9,4,6,3,4,4,3,4,4,4,3,7,4,9,5}, {0,7,5,4,3,4,5,7,9,7,10,5,8,3,4,2,2,3,5,5,5,7,4,8,3,6}, {1,3,4,5,5,6,8,8,7,9,6,8,5,5,5,4,4,4,4,7,5,8,6,4,5,2}, {0,2,4,6,7,10,7,9,6,5,5,4,5,5,5,4,6,3,7,2,8,4,6,4,4,3}, {1,3,5,5,8,6,10,5,6,3,3,3,4,4,6,7,6,8,4,8,3,4,3,3,3}, {1,5,5,6,6,4,7,2,5,2,4,5,5,6,8,6,9,8,8,10,6,6,4,3,3,5}, {0,5,8,5,6,4,2,2,0,2,4,6,6,8,5,9,5,9,6,7,7,5,5,5,6,5}, {1,9,5,9,4,4,2,1,2,2,4,6,8,5,9,4,7,3,5,4,5,5,7,7,7,8}, {0,5,8,3,5,3,3,4,5,4,6,5,5,6,4,6,3,4,3,3,4,7,6,10,8}, {0,8,6,4,3,3,3,5,7,7,9,5,7,3,4,4,3,4,4,4,3,5,4,9,5,9}, {1,5,5,4,4,4,5,7,7,11,7,10,4,6,3,3,2,4,3,5,6,5,8,3,7,4}, {0,5,5,5,5,7,7,8,8,6,8,4,6,4,3,3,3,3,6,4,8,6,6,6,3,3}, {1,3,4,6,9,8,10,7,7,5,4,4,4,4,5,5,3,7,3,8,3,7,4,4,4}, {1,2,3,4,7,7,10,5,9,4,5,4,3,4,6,7,7,8,5,9,3,7,3,3,3,4}, {0,3,5,4,5,6,3,6,3,5,4,4,6,6,5,9,6,9,9,7,8,5,4,4,3,5}, {1,8,6,8,4,4,2,1,2,2,4,6,7,5,9,4,8,5,7,7,6,5,4,5,5}, {1,7,5,9,4,6,3,1,1,1,2,4,5,6,9,5,8,3,7,4,5,5,5,6,8,7}, {0,6,8,4,6,3,4,3,3,4,5,4,6,5,5,7,3,5,3,3,3,4,4,8,6,9}, {1,7,5,4,2,3,4,6,7,8,7,9,4,7,4,4,4,3,4,3,4,3,7,3,9,4}, {0,6,4,4,3,3,4,6,9,7,10,5,7,3,4,2,2,3,4,5,5,7,5,8,3}, {0,6,4,4,4,6,5,7,6,7,7,4,6,3,4,3,2,1,3,3,6,5,8,7,4,4}, {1,2,2,4,6,7,10,7,10,5,5,4,3,5,5,5,4,5,3,8,3,8,4,6,4,3}, {0,3,3,4,6,9,6,11,5,7,4,3,4,4,5,6,7,6,8,3,8,3,5,3,3,4}, {1,5,5,6,7,5,7,3,6,3,4,5,4,5,7,5,8,8,8,8,5,5,2,2,4}, {1,5,6,9,6,7,4,1,2,1,3,4,5,6,8,4,9,4,8,6,7,7,5,5,5,6}, {0,6,9,5,10,4,4,1,1,2,2,4,6,7,5,9,3,7,3,5,4,5,5,6,6,7}, {1,8,5,8,4,5,3,4,4,6,5,7,6,7,7,5,7,3,4,2,2,3,6,5,9,6}, {0,7,5,3,3,2,4,5,8,7,10,5,8,4,5,4,3,4,3,3,2,5,3,8,4}, {0,9,4,5,3,2,3,5,6,7,9,6,9,3,6,2,3,3,3,4,5,5,4,8,4,6}, {1,2,5,3,4,5,6,6,7,7,6,7,4,6,4,4,3,4,3,7,4,8,6,6,5,2}, {0,3,2,4,5,8,7,10,6,7,4,3,4,4,5,4,5,3,6,3,9,4,7,4,4,3}, {1,3,2,4,7,6,11,5,8,3,4,3,2,4,5,5,6,8,4,9,3,7,3,3,3}, {1,4,3,6,5,5,6,2,6,2,4,3,3,4,4,4,7,7,9,9,7,8,4,4,4,4}, {0,4,8,6,8,4,4,2,-1,1,1,3,5,6,4,8,3,9,5,7,7,6,6,4,4,5}, {1,8,6,11,5,7,2,2,2,2,2,4,5,5,8,3,8,3,6,3,3,4,5,5,7,7}, {0,7,9,4,7,3,5,4,4,5,5,4,6,6,5,7,3,5,2,2,2,3,4,8,6}, {0,10,7,5,5,3,3,4,6,7,8,5,9,4,6,3,3,3,3,3,3,4,2,7,3,9}, {1,4,7,3,3,3,4,5,6,9,7,11,5,9,2,4,3,3,3,4,5,5,6,3,7,2}, {0,5,2,3,3,5,5,7,7,7,8,6,8,4,6,4,3,2,4,3,7,5,7,6,3}, {0,4,1,2,3,6,6,10,7,9,6,5,5,4,5,4,5,3,6,2,7,2,8,4,5,3}, {1,2,2,3,4,5,8,6,10,4,6,2,4,4,4,5,6,7,6,10,4,9,3,5,3,3}, {0,3,4,4,5,5,4,6,2,5,2,3,3,4,4,6,5,9,8,8,9,6,5,3,3,4}, {1,6,5,10,6,7,3,1,2,1,2,3,4,4,7,3,9,4,8,6,6,6,4,4,4}, {1,6,5,9,5,10,3,4,1,0,1,2,3,5,7,4,8,2,7,3,5,4,5,5,7,7}, {0,7,8,5,8,3,5,2,3,3,4,4,5,4,5,6,4,6,2,4,2,2,2,6,5,10}, {1,7,7,6,3,2,2,3,5,7,6,9,4,8,3,5,3,4,4,3,3,2,5,3,9,4}, {0,9,4,5,2,2,3,5,6,7,10,6,10,3,6,2,3,2,3,4,4,5,5,8,4}, {0,8,3,5,4,5,5,7,6,8,8,6,7,4,6,3,4,2,3,1,5,3,7,6,5,5}, {1,2,3,2,4,5,8,7,11,6,7,5,4,4,3,4,4,5,3,7,3,9,3,7,4,4}, {0,2,1,2,3,6,6,10,5,8,3,5,2,3,3,5,5,7,8,5,9,3,7,2,4,2}, {1,4,3,6,5,5,6,3,7,2,5,3,4,3,5,4,7,6,8,8,6,7,3,3,3}, {1,3,4,8,5,9,4,3,2,0,1,2,3,4,5,4,7,3,8,5,7,6,6,5,4,4}, {0,4,8,5,11,4,7,1,2,1,1,1,3,4,4,8,3,8,2,6,3,4,4,5,5,7}, {1,7,5,8,4,6,2,4,3,3,4,6,4,6,6,6,7,4,6,3,3,2,4,3,8,5}, {0,8,5,5,4,1,2,3,5,6,8,5,9,4,7,4,5,4,3,4,3,3,2,8,3}, {0,10,4,7,3,2,2,3,4,6,8,6,10,3,7,2,4,1,3,3,4,4,5,6,4,7}, {1,3,6,2,4,4,5,5,7,6,7,7,5,7,3,5,3,4,1,4,3,8,5,8,6,3}, {0,4,2,3,3,5,5,10,6,9,5,6,4,3,5,4,5,3,5,3,8,2,8,4,6}, {0,3,2,2,3,4,6,9,6,11,4,8,3,4,3,4,5,6,7,5,8,3,8,2,5,2}, {1,4,4,4,4,6,6,5,7,2,6,3,4,2,3,3,6,4,8,7,8,8,4,5,2,3}, {0,3,7,6,10,6,7,3,1,2,0,2,3,4,4,6,2,8,3,9,6,6,6,4,4,4}, {1,5,5,10,5,10,3,4,1,1,1,3,4,5,7,5,9,3,7,3,5,3,4,4,5}, {1,5,6,7,4,7,2,5,2,4,4,4,4,6,4,6,6,5,7,3,4,2,3,2,6,4}, {0,10,6,7,4,2,2,1,3,4,7,5,9,4,8,2,5,3,3,4,2,3,2,5,2,9}, {1,4,9,3,4,1,1,2,4,5,6,9,5,9,3,6,1,4,3,4,3,5,5,4,7,3}, {0,7,2,5,3,3,3,5,5,6,6,6,7,4,7,2,4,2,3,1,6,3,8,5,5}, {0,4,1,2,2,4,4,8,7,10,6,7,4,5,4,4,4,3,4,2,7,2,8,2,7,3}, {1,3,1,1,2,3,6,5,10,4,8,2,4,2,2,3,4,5,5,8,5,9,3,7,2,4}, {0,3,4,3,5,5,5,6,2,6,2,4,1,3,2,4,3,7,5,8,8,7,7,3,4,3}, {1,5,4,8,6,9,4,4,2,0,2,2,4,4,5,3,7,2,8,4,7,5,5,4,3}, {1,3,5,7,5,11,4,8,2,2,1,2,2,4,4,5,7,3,8,1,5,2,4,3,5,4}, {0,7,7,7,9,4,8,3,4,3,4,3,5,4,6,4,5,7,3,5,1,2,1,3,3,8}, {1,6,9,6,4,4,1,3,3,5,6,8,5,9,3,7,3,5,4,4,4,2,3,2,7}, {1,3,9,4,6,2,2,2,2,4,6,8,6,10,4,9,2,6,2,3,3,4,4,5,6,4}, {0,7,2,6,1,4,3,5,5,8,7,8,8,6,8,4,6,2,3,1,4,2,7,4,7,5}, {1,3,3,0,2,2,5,5,10,6,9,5,6,4,4,5,4,4,3,5,2,8,3,9,4,6}, {0,2,2,1,2,3,4,8,5,10,3,7,2,3,2,3,4,6,6,6,9,4,8,2,6}, {0,2,3,3,4,4,5,5,3,6,1,5,2,4,2,4,3,6,5,8,8,8,9,5,5,2}
}
local sun_data = {
{6,6,6,6,5,7,6,7,6,7,5,7,6,7,8,9,10,10,10,10,9,8,7,5}, {4,3,4,3,5,5,8,8,11,11,11,11,11,10,8,8,7,7,6,7,7,8,6,8}, {6,8,6,7,6,7,7,7,7,7,7,7,6,5,5,3,3,2,4,3,6,7,9,8}, {9,8,8,5,4,3,2,1,1,1,0,2,1,4,3,5,4,6,6,8,7,8,8,9}, {9,8,7,5,5,3,3,1,2,1,3,3,6,6,8,8,8,8,7,6,6,6,6,6}, {5,6,6,7,6,6,5,6,5,6,4,5,5,6,6,5,5,5,4,3,3,2,3,3}, {5,5,7,7,10,9,10,8,7,6,4,3,1,0,0,1,1,2,1,3,3,5,5,6}, {5,6,6,6,6,6,5,5,4,2,2,-1,-1,-1,0,0,2,2,5,5,6,7,7,7}, {6,5,4,3,3,3,2,4,3,5,4,5,4,5,5,5,4,5,4,6,6,6,6,5}, {6,4,5,4,5,4,6,6,7,8,8,8,9,7,6,5,3,3,1,1,0,3,3,5}, {6,8,8,9,9,8,8,7,7,5,5,4,4,3,4,2,3,1,1,0,2,2,5,4}, {6,7,8,8,7,8,6,6,3,4,2,2,3,4,4,6,7,7,7,7,6,6,6,5}, {5,4,5,4,6,4,5,5,6,6,7,7,8,9,10,11,11,11,10,10,9,9,6,6}, {4,5,3,4,5,6,7,8,9,10,11,11,11,11,10,9,10,8,9,7,9,8,8,8}, {8,7,8,7,8,9,8,9,8,8,7,7,6,7,5,5,4,5,5,8,8,10,10,11}, {11,11,9,8,8,6,5,3,4,3,4,2,4,4,5,5,7,8,9,9,9,10,9,10}, {9,9,8,8,6,7,4,5,3,5,4,7,7,8,9,10,10,10,9,8,9,7,7,6}, {7,6,7,6,7,7,8,8,8,8,8,8,8,8,7,7,6,7,5,5,4,4,3,5}, {4,5,5,6,7,7,8,8,8,5,6,3,3,2,2,2,4,3,4,4,5,6,6,6}, {6,5,5,4,3,4,2,3,2,3,1,1,0,2,1,3,4,6,6,8,8,7,8,6}, {5,3,3,0,0,-1,0,-1,0,0,3,3,5,5,6,6,6,6,6,6,6,7,6,7}, {5,5,4,4,3,4,3,4,4,5,6,6,7,6,6,5,5,3,3,2,3,3,6,5}, {7,8,9,9,9,9,7,6,4,4,2,2,1,2,1,2,1,2,2,2,3,4,5,6}, {8,8,10,9,9,7,7,5,5,2,1,-1,0,1,2,3,5,6,7,8,7,8,7,7}, {5,6,5,7,6,8,6,7,7,7,5,6,6,6,6,6,8,7,9,8,9,7,7,5}, {6,4,5,4,6,7,8,10,11,11,11,10,9,8,6,6,4,5,3,5,5,6,6,8}, {7,7,7,7,8,8,9,8,9,8,8,6,6,4,4,3,3,1,2,2,5,6,7,8}, {9,9,8,8,6,5,4,4,3,4,3,4,4,5,5,6,5,6,6,6,7,6,7,7}, {8,7,7,5,6,4,4,3,3,4,5,6,8,9,9,10,9,9,7,7,5,5,4,5}, {4,6,5,7,7,8,8,8,9,8,8,8,8,8,9,8,9,7,6,5,5,4,4,4}, {4,4,6,7,8,9,9,9,7,7,4,4,2,3,2,3,3,5,5,6,6,7,8,7}, {7,6,6,4,6,4,5,3,4,2,3,2,2,2,3,4,5,7,8,10,9,11,9,9}, {6,7,4,4,2,2,2,2,3,4,5,6,7,7,7,7,7,7,8,7,8,7,8,7}, {8,6,6,4,5,4,5,6,6,8,7,8,8,8,7,7,5,4,3,4,3,5,6,8}, {8,9,9,9,9,8,8,6,7,4,4,3,3,2,3,2,3,2,2,3,3,5,5,7}, {7,8,7,8,6,7,5,5,3,3,0,1,1,2,3,4,6,6,8,8,8,7,7,5}, {6,4,5,4,5,5,6,5,5,5,6,7,7,7,8,9,8,9,8,9,8,9,6,7}, {5,5,4,4,5,6,7,8,9,8,9,9,9,8,7,6,6,4,6,5,6,6,7,7}, {8,8,8,9,8,8,7,8,6,7,6,5,4,4,3,3,2,3,3,4,6,7,9,9}, {11,9,11,9,9,6,6,4,4,2,3,1,2,3,4,5,5,6,6,7,6,8,7,8}, {7,8,7,8,7,6,6,5,4,4,5,5,6,7,8,7,8,7,7,5,6,4,4,4}, {5,4,5,6,7,9,9,10,10,9,8,9,7,7,6,6,4,4,2,3,2,2,2,3}, {3,4,6,6,7,8,9,8,9,7,6,4,4,2,2,2,2,1,2,2,3,4,4,5}, {4,5,3,4,2,4,3,4,3,4,3,4,3,3,3,4,5,5,7,7,8,7,7,5}, {6,3,3,1,2,0,1,2,3,4,6,8,8,10,8,9,7,8,7,7,6,7,6,6}, {5,5,5,4,4,5,5,5,7,6,9,8,10,9,10,8,8,5,5,3,4,4,5,6}, {7,9,9,10,9,10,8,8,6,5,4,4,3,4,5,5,5,6,6,6,6,6,7,7}, {8,8,10,8,9,7,7,6,4,3,3,2,2,3,5,7,9,10,11,12,10,10,8,9}, {6,6,5,5,5,6,7,7,7,7,8,7,9,9,10,10,11,11,12,12,12,11,10,9}, {7,6,5,5,5,7,7,9,9,10,10,11,8,9,7,7,5,6,5,7,7,8,9,8}, {10,9,9,7,8,5,6,5,6,5,6,4,4,3,3,2,2,2,3,5,6,8,9,12}, {10,11,10,9,6,6,2,2,1,1,1,1,2,2,4,4,5,5,6,6,8,7,9,7}, {8,7,7,6,5,4,3,2,2,3,2,4,5,7,7,8,6,7,5,6,4,5,4,4}, {4,5,5,6,7,7,8,7,8,6,7,5,6,5,6,5,5,4,4,3,3,3,3,4}, {4,6,6,8,7,8,7,8,6,6,3,2,1,1,0,0,1,1,3,4,5,5,7,5}, {7,5,6,5,5,4,4,3,3,3,2,2,1,1,2,3,3,5,6,8,7,8,7,8}, {6,5,4,4,3,3,3,3,4,4,6,5,7,6,7,6,6,5,5,5,6,5,6,6}, {6,6,6,5,5,7,6,7,7,8,7,8,7,7,6,6,4,3,1,1,1,2,3,4}, {7,7,9,8,10,9,10,8,8,6,5,3,4,2,3,3,2,3,2,3,3,4,4,6}, {5,7,6,8,7,7,7,6,5,5,4,3,4,4,6,5,8,7,9,8,9,7,7,5}, {5,4,3,3,4,5,5,6,7,8,8,9,9,10,9,11,9,10,9,9,8,9,7,6}, {5,4,4,3,5,5,8,8,10,10,12,10,11,10,10,9,8,7,6,6,6,8,7,9}, {9,9,8,9,7,8,7,7,6,7,5,6,5,5,5,5,5,5,6,6,8,8,10,9}, {11,10,11,9,8,6,5,4,3,3,2,3,4,5,6,8,8,9,9,10,9,10,9,9}, {9,9,8,8,7,6,6,5,6,4,5,5,7,7,9,9,9,9,9,8,7,6,5,6}, {4,5,6,6,6,8,8,10,9,9,7,8,6,7,5,6,5,5,5,5,4,4,5,5}, {6,5,7,6,7,7,8,7,7,5,4,3,1,1,0,1,0,2,3,5,5,7,6,7}, {5,6,4,3,2,2,1,1,1,0,1,0,1,0,1,1,3,3,5,6,7,7,7,6}, {6,5,4,3,1,1,0,1,1,3,4,5,5,7,6,7,5,6,3,5,5,5,6,6}, {6,6,7,6,6,4,6,5,5,4,6,5,6,6,5,5,4,2,2,1,1,2,2,5}, {6,8,9,10,10,10,9,7,5,4,3,2,1,1,1,1,3,2,5,4,5,4,6,5}, {7,7,8,7,8,8,7,6,5,4,3,3,2,2,3,6,6,9,7,10,9,8,7,6}, {6,5,5,5,6,6,7,7,9,7,9,8,8,8,9,8,9,8,9,8,9,9,7,7}, {6,6,5,5,5,7,8,11,11,12,11,11,10,9,7,6,5,4,4,4,5,5,7,6}, {8,8,9,7,8,7,8,7,7,7,6,6,5,5,3,4,2,3,2,4,4,6,7,8}, {8,9,7,7,6,5,4,3,3,2,3,3,5,5,7,6,8,7,8,6,7,6,6,6}, {6,6,4,5,4,5,4,5,4,6,5,7,7,10,9,10,9,10,8,7,6,4,3,2}, {3,2,4,4,6,6,8,7,9,8,9,7,8,8,8,7,7,7,6,5,4,4,3,4}, {3,5,4,6,5,7,7,7,6,5,4,3,3,2,3,2,5,4,6,7,8,7,9,7}, {7,5,5,4,3,3,1,2,1,2,2,3,2,3,3,5,5,8,8,9,10,10,9,9}, {8,5,5,3,2,1,2,1,3,3,5,5,7,7,9,8,8,7,7,7,8,7,8,9}, {8,8,6,8,6,6,6,7,5,7,5,6,6,6,6,5,5,3,4,2,3,2,5,4}, {7,7,9,9,9,9,7,7,5,4,1,1,0,1,1,2,1,3,3,5,5,6,5,6}, {6,7,7,7,7,6,6,5,5,2,3,1,2,2,3,4,6,6,7,8,9,8,7,7}, {5,5,3,3,2,4,2,5,4,6,5,6,6,7,6,7,6,7,7,7,7,6,7,6}, {6,5,5,4,5,5,6,7,9,8,9,8,8,7,5,5,3,4,3,4,4,5,6,8}, {8,9,8,9,8,8,6,5,4,4,3,2,2,1,1,0,2,1,3,3,6,6,8,9}, {9,9,9,9,7,7,4,3,2,1,0,1,1,3,3,5,5,6,6,6,6,6,7,6}, {7,6,7,6,7,6,7,6,6,4,6,5,5,6,7,6,6,7,6,5,4,4,2,3}, {3,5,4,6,7,9,9,10,9,10,8,7,6,5,4,3,4,2,3,2,3,2,3,3}, {4,3,5,5,7,7,8,8,7,6,5,4,2,1,0,0,0,2,2,3,4,5,6,6}, {4,4,3,3,3,1,3,2,3,3,4,3,5,4,4,4,5,5,6,6,6,7,6,6}, {4,4,2,3,1,1,0,2,2,5,6,8,9,10,10,9,8,7,6,4,5,4,5,5}, {6,5,6,5,6,5,6,6,6,7,8,8,8,8,8,8,6,6,4,4,2,3,3,5}, {6,8,8,9,9,9,8,7,7,4,4,3,3,3,4,4,6,6,7,7,8,6,8,7}, {7,7,7,7,6,7,6,7,5,5,3,4,4,5,6,8,9,11,11,12,12,11,10,8}, {8,6,5,4,5,4,6,5,7,7,8,8,9,8,9,9,9,10,9,10,9,10,8,9}, {7,7,5,6,5,7,7,8,9,9,10,8,8,7,7,5,5,4,5,5,7,7,8,9}, {10,9,10,9,8,8,7,7,4,5,3,3,2,2,2,2,0,2,2,4,5,6,7,8}, {9,8,8,6,6,3,3,1,2,0,1,0,1,2,4,4,5,5,5,5,5,5,4,5}, {4,5,5,5,4,4,3,5,4,5,4,6,6,7,7,7,6,6,5,4,3,2,3,1}, {3,2,4,4,5,7,7,8,8,7,6,6,4,4,4,3,2,3,1,3,2,3,2,3}, {3,4,4,4,5,5,6,5,6,3,3,1,1,-1,0,0,1,2,4,4,6,7,7,7}, {6,6,4,4,2,2,1,1,0,2,1,1,1,2,3,4,4,5,5,6,7,8,8,7}, {8,5,6,3,3,2,3,2,3,3,5,5,6,6,6,7,5,5,4,5,4,5,4,6}, {5,7,6,8,7,8,8,8,7,6,7,5,6,5,6,3,4,2,2,1,1,1,3,4}, {5,7,8,9,9,10,9,9,6,6,4,3,1,1,1,2,2,3,4,5,4,5,5,5}, {5,4,5,4,5,5,6,5,5,4,5,4,5,4,5,6,7,7,8,8,8,8,7,6}, {4,3,1,3,2,3,4,5,7,8,9,10,10,10,10,9,9,7,9,7,8,6,7,5}, {5,4,4,4,4,4,6,7,7,9,9,10,9,9,8,8,6,6,4,5,5,7,7,8}, {8,8,8,8,7,6,5,4,4,3,4,3,4,4,5,5,6,5,6,7,8,8,8,10}, {9,10,8,8,5,4,2,2,0,0,0,1,2,4,6,8,9,9,9,8,9,7,8,6}, {7,5,6,4,5,4,5,4,4,4,4,5,5,7,7,8,8,9,8,8,7,7,5,6}, {4,5,4,5,6,8,8,8,8,7,6,4,4,2,3,2,2,2,3,2,4,4,4,4}, {4,4,4,5,4,5,4,5,3,3,1,0,-2,-2,-3,-2,-2,0,1,2,4,5,6,5}, {6,4,5,2,2,0,1,0,1,0,1,1,1,1,1,1,1,2,3,4,4,5,5,6}, {4,5,3,2,0,1,0,1,1,2,3,4,6,5,6,5,4,2,3,1,2,1,3,2}, {4,4,5,5,6,6,6,6,5,6,5,6,4,5,4,4,3,2,0,0,0,1,1,3}, {5,6,7,8,8,8,8,6,6,3,3,0,1,0,1,1,2,3,4,4,5,5,5,5}, {4,6,5,6,5,6,4,5,4,3,3,3,2,3,4,5,7,7,8,9,9,8,8,6}, {6,4,4,3,4,4,5,6,7,7,8,9,8,8,7,8,6,7,7,8,7,7,7,8}, {6,6,6,6,7,7,8,9,9,8,9,7,8,6,6,3,4,1,2,2,3,4,6,7}, {8,9,8,9,8,8,6,7,5,5,4,3,2,3,2,1,2,2,3,3,4,5,7,7}, {8,7,8,6,6,5,4,3,3,2,3,3,4,4,5,6,5,6,5,6,5,5,4,5}, {3,4,3,4,4,4,5,4,6,5,7,7,8,7,9,8,8,6,6,4,4,2,2,1}, {1,2,3,3,4,6,7,9,7,9,7,8,6,6,5,5,4,4,3,3,3,3,3,3}, {4,4,4,3,4,3,4,4,4,3,4,2,2,1,2,2,3,4,5,6,7,8,7,7}, {6,6,3,3,0,0,0,0,0,1,1,2,3,4,5,6,7,7,9,8,10,8,10,8}, {8,5,5,3,3,2,2,2,2,4,4,5,6,8,8,9,7,7,6,7,5,6,6,6}, {6,6,7,7,7,7,7,6,6,5,5,3,5,3,5,3,4,3,3,2,3,3,4,6}, {6,8,8,9,9,10,8,8,6,5,2,1,-1,0,-1,0,2,3,4,5,6,6,6,5}, {6,4,5,4,5,4,4,4,3,3,3,2,2,3,2,4,4,6,5,7,7,8,6,6}, {4,3,1,2,2,2,4,4,7,6,8,8,9,8,8,6,7,4,5,4,5,5,5,5}, {4,5,4,4,4,5,5,7,6,9,8,8,6,6,4,4,2,2,1,1,2,2,4,5}, {7,7,8,6,7,5,5,3,4,2,2,2,2,1,2,2,2,3,3,4,3,5,5,7}, {6,8,6,7,5,5,3,2,1,0,0,1,3,4,5,5,7,7,7,6,6,4,5,4}, {4,4,4,4,4,5,5,5,5,6,5,6,6,7,7,7,6,7,5,5,4,4,3,2}, {3,2,3,4,6,6,9,8,9,7,7,5,5,3,3,2,2,1,3,3,2,4,3,4}, {4,4,3,5,4,5,5,5,5,5,3,2,1,0,-1,-1,0,1,3,4,6,6,7,5}, {6,4,3,2,1,1,0,0,1,2,2,3,3,4,4,4,3,5,4,6,5,6,6,6}, {5,5,3,2,2,1,2,2,3,3,6,6,8,8,8,7,7,5,4,3,3,2,3,4}, {4,5,5,6,5,7,6,7,6,7,5,6,5,6,5,5,5,4,3,2,2,2,3,3}, {6,5,8,7,8,7,7,6,5,3,3,2,2,2,2,4,5,7,7,8,7,8,7,7}, {6,6,4,5,4,4,4,3,3,2,3,2,4,4,6,7,9,9,11,10,11,10,10,8}, {6,4,4,3,2,3,3,5,4,7,6,8,8,8,8,9,8,8,7,8,9,9,9,9}, {9,8,8,6,7,6,7,6,7,6,6,5,5,4,3,3,2,2,2,3,3,6,6,8}, {7,9,8,8,7,6,4,4,2,1,0,0,-1,-1,0,-1,0,0,3,3,5,5,6,6}, {7,6,7,5,5,4,3,2,1,1,0,1,0,2,2,4,4,5,3,4,3,4,3,3}, {3,3,3,3,3,3,5,4,6,4,5,4,5,4,5,4,4,3,2,2,1,1,0,1}, {0,1,1,3,4,5,5,8,7,7,6,6,3,2,2,1,0,0,0,1,1,1,2,2}, {3,2,3,3,4,3,4,3,3,2,1,1,0,0,-1,0,-1,1,1,3,4,6,5,7}, {5,5,3,2,1,0,1,0,0,-1,1,1,3,3,5,4,5,4,5,5,5,5,6,6}, {5,5,4,4,3,3,2,3,3,5,5,6,6,8,7,7,6,6,4,3,3,3,3,3}, {5,4,6,6,9,8,9,8,9,7,7,5,5,4,3,4,3,3,2,2,1,3,2,3}, {3,6,5,8,8,9,8,8,6,5,4,2,2,1,2,1,3,3,6,5,7,6,7,5}, {4,4,4,3,4,4,4,5,4,6,5,6,5,6,5,7,7,8,8,9,7,8,8,6}, {5,3,2,1,2,2,4,5,7,8,10,10,10,10,10,9,8,7,6,6,5,6,5,6}, {5,6,5,5,5,6,5,7,7,8,8,8,8,7,6,5,5,4,4,3,4,4,6,6}, {8,7,9,7,7,6,4,4,2,2,2,2,2,3,3,4,4,5,4,6,5,7,7,7}, {7,7,7,5,5,4,4,2,2,0,0,1,3,4,6,8,9,8,9,8,8,7,6,6}, {5,5,4,5,3,5,3,5,4,5,4,5,4,6,5,6,7,7,6,6,5,4,4,2}, {3,2,3,3,5,5,7,6,6,5,5,3,2,1,0,0,0,2,1,3,3,5,4,6}, {4,5,4,5,4,4,3,4,3,2,1,0,-1,-3,-2,-3,-1,-1,2,3,6,6,7,7}, {6,5,3,2,1,0,-1,0,-1,0,-1,0,1,2,2,2,1,2,2,3,3,4,5,4}, {5,4,4,2,2,1,2,2,3,3,5,4,6,6,6,5,5,3,2,1,0,1,1,2}, {2,5,4,7,6,7,7,7,6,6,5,4,3,3,2,1,3,1,1,1,1,0,2,2}, {4,3,6,5,6,7,7,6,4,4,2,1,0,1,1,2,2,4,4,6,6,7,6,6}, {5,4,3,3,3,3,4,3,4,3,5,4,5,4,6,7,8,7,9,8,9,9,7,7}, {5,5,3,3,2,3,3,6,6,8,8,10,10,9,8,7,7,6,7,6,6,5,6,6}, {7,6,7,6,7,7,7,7,8,8,7,7,7,6,4,4,2,3,1,3,3,4,5,6}, {7,8,8,8,7,7,6,4,4,3,3,1,2,1,3,2,2,2,4,3,5,5,5,5}, {5,6,5,5,4,4,3,4,3,3,2,3,3,5,5,6,7,7,5,5,5,4,3,2}, {3,1,2,2,3,2,5,5,6,6,8,7,8,8,7,7,6,6,5,4,2,3,1,2}, {0,2,1,2,2,4,6,6,7,7,6,5,5,4,4,2,3,2,3,2,4,3,4,4}, {4,3,4,2,2,2,2,2,1,2,1,1,1,1,1,2,2,4,4,6,7,9,9,8}, {7,6,5,2,1,-1,0,-2,-1,-2,1,1,3,4,6,6,7,6,7,6,7,7,7,8}, {6,7,5,5,3,3,2,2,2,3,3,5,5,6,7,7,8,6,6,4,5,4,5,5}, {7,6,9,9,10,10,9,9,7,6,3,3,2,2,1,2,1,3,2,4,3,5,4,5}, {5,6,6,7,8,8,8,6,6,2,2,-1,-1,-2,-2,-2,1,1,4,5,7,7,7,6}, {5,5,3,4,3,3,4,5,4,5,3,5,3,3,4,4,4,5,6,6,7,6,7,5}, {6,4,4,1,2,2,3,4,6,6,8,7,7,7,6,5,4,4,2,3,2,3,3,4}, {5,5,4,6,5,6,6,6,7,6,6,5,6,4,4,2,1,-1,1,-1,2,2,4,5}, {6,7,8,7,6,6,4,4,2,2,1,1,0,2,1,3,2,3,3,4,4,5,5,5}, {6,5,6,4,5,3,4,2,2,1,1,1,3,4,6,7,7,7,6,7,5,5,3,4}, {2,3,2,4,3,5,5,7,6,6,7,7,6,7,7,7,6,6,6,4,5,3,3,2}, {3,2,3,4,5,7,8,8,8,9,6,6,4,3,2,2,0,1,1,3,3,4,4,5}, {4,5,4,3,4,3,4,3,4,3,4,2,2,1,1,0,1,1,3,4,5,7,6,7}, {5,6,3,3,1,2,0,2,1,2,3,5,5,6,7,6,6,6,5,4,5,4,5,4}, {5,3,4,3,4,3,4,4,5,5,6,8,8,10,9,9,7,7,4,3,1,2,1,2}, {2,3,4,6,7,8,8,8,9,7,7,6,6,5,6,4,6,4,5,3,4,3,3,4}, {4,4,4,5,5,5,5,5,4,5,2,3,2,3,3,5,5,7,8,9,9,9,8,7}, {7,4,4,1,2,1,2,1,3,2,4,5,6,6,9,9,10,10,11,11,11,11,10,10}, {7,7,4,4,2,3,3,4,5,6,7,8,8,7,9,7,8,6,7,6,7,7,8,7}, {8,7,7,6,7,7,6,5,5,5,3,4,3,2,1,1,1,1,1,2,3,5,6,7}, {9,9,9,8,8,6,7,3,3,1,1,-1,-1,-2,-1,-1,1,2,3,4,4,5,5,6}, {5,6,5,6,4,4,3,3,2,1,1,1,0,2,2,3,4,4,4,4,4,3,3,1}, {2,1,2,2,3,4,5,6,6,6,6,6,5,5,4,4,2,3,1,2,0,2,1,1}, {1,0,2,2,3,4,6,6,8,6,6,4,3,1,1,-1,0,-1,0,0,1,2,3,4}, {3,4,2,2,1,2,0,1,0,1,0,1,0,1,0,0,1,1,2,3,5,5,7,5}, {7,4,5,2,2,0,-1,-2,-1,-1,1,2,3,4,5,6,5,6,5,6,5,6,5,5}, {4,5,4,5,4,4,4,4,4,4,6,6,7,7,8,7,7,5,5,4,4,2,3,3}, {4,5,6,8,9,10,10,10,8,8,5,5,3,3,2,3,3,4,4,4,4,4,4,4}, {5,5,7,7,8,7,9,7,7,5,4,2,2,1,2,3,4,5,6,7,8,8,7,8}, {6,6,3,3,3,4,4,5,5,6,6,7,6,7,7,7,8,7,9,7,9,8,8,6}, {6,4,3,2,3,4,4,6,7,9,9,10,10,10,9,9,7,6,5,5,4,5,5,5}, {6,6,6,6,7,5,7,6,8,7,8,6,7,6,5,4,4,2,2,2,2,4,5,6}, {6,7,7,7,5,5,3,4,2,2,1,2,2,3,4,5,5,6,7,6,7,6,7,6}, {6,5,5,4,4,3,2,2,1,1,1,2,3,5,6,8,8,9,8,9,7,7,5,5}, {2,2,1,1,2,3,4,5,5,5,5,5,6,5,6,6,7,6,6,5,5,5,5,4}, {4,4,3,4,4,7,6,8,6,7,4,4,1,1,-1,0,-1,0,1,3,4,5,7,6}, {7,6,6,4,5,2,2,1,2,0,1,-1,-2,-2,-2,-2,-1,0,1,4,4,6,6,8}, {6,7,5,4,3,2,1,1,1,1,1,3,3,3,4,3,4,2,4,2,3,3,5,4}, {5,5,6,5,5,5,6,6,6,7,6,6,5,7,5,5,4,4,1,1,-1,0,0,1}, {2,4,5,6,8,8,10,9,10,7,7,5,4,3,3,2,2,2,2,1,2,3,3,4}, {3,6,4,6,5,7,6,6,6,5,4,4,3,2,2,3,4,5,6,6,8,7,8,6}, {6,4,4,2,3,3,3,4,4,5,5,7,7,8,8,9,8,9,8,9,8,8,8,8}, {6,6,5,3,4,3,5,5,7,7,10,9,10,10,10,8,8,6,6,5,6,5,6,7}, {7,8,7,8,7,8,8,8,6,7,5,6,5,5,4,4,3,3,3,3,4,4,6,6}, {8,8,9,8,9,7,6,5,4,2,2,1,2,1,2,4,3,5,5,6,5,7,5,7}, {5,5,4,6,5,5,5,4,4,4,4,3,5,6,7,6,8,7,8,6,6,5,5,3}, {2,2,1,2,2,4,5,7,7,9,8,9,8,8,6,7,6,5,4,5,4,4,3,2}, {2,1,3,2,4,4,7,6,8,7,8,6,6,4,3,2,2,2,3,3,4,6,5,7}, {5,5,3,4,2,1,1,1,1,1,1,2,3,3,4,3,4,4,6,5,8,7,8,7}, {7,6,5,3,2,0,-1,0,-1,0,1,3,5,8,8,10,9,10,7,8,7,7,6,7}, {6,7,6,5,6,4,6,4,6,4,6,5,6,7,8,8,8,7,6,5,5,4,3,4}, {4,6,5,9,7,9,8,8,7,6,3,3,2,1,1,1,3,3,5,4,5,5,6,5}, {6,5,7,6,7,6,6,6,5,4,2,1,1,0,0,1,2,5,5,8,8,10,9,9}, {7,6,4,4,3,2,4,4,4,4,5,4,5,4,5,4,5,5,6,5,7,7,7,7}, {6,5,4,4,3,4,4,6,6,9,8,9,7,8,7,5,4,3,2,2,2,3,4,4}, {6,5,7,6,8,7,8,7,7,6,7,4,5,4,2,2,0,0,0,1,1,3,3,5}, {5,7,6,8,6,6,5,4,3,1,1,1,1,1,3,3,4,4,4,4,5,4,4,4}, {5,4,4,3,3,4,4,4,3,4,3,4,4,6,6,8,7,8,6,7,5,5,4,3}, {3,1,2,2,3,3,6,6,8,7,9,7,8,7,7,6,6,6,5,5,4,4,3,4}, {3,4,3,5,4,6,6,7,7,7,6,5,3,2,1,1,2,1,3,3,5,5,7,6}, {7,5,6,4,4,3,3,3,2,2,1,2,1,2,2,2,2,4,4,6,7,8,7,8}, {8,7,5,5,3,2,2,2,2,2,4,3,6,5,8,7,8,7,6,5,5,5,5,5}, {4,5,5,6,6,7,6,8,6,9,7,8,7,8,7,8,8,6,6,4,4,3,3,2}, {4,3,6,6,9,9,10,9,9,8,7,6,5,4,3,3,3,4,4,6,5,6,5,6}, {5,5,4,4,4,5,5,5,5,5,4,4,4,3,5,5,7,7,9,9,11,10,10,10}, {8,6,4,4,1,2,1,3,3,4,4,6,7,9,8,10,9,10,8,9,9,9,9,7}, {8,5,5,3,3,2,4,4,5,5,8,8,9,8,8,7,7,6,5,5,5,5,5,7}, {7,9,8,9,9,9,8,7,6,6,4,3,3,3,3,2,2,2,3,2,4,4,7,6}, {8,8,9,8,7,7,5,4,3,2,0,0,-1,0,0,2,2,4,4,6,5,5,5,5}, {5,4,4,4,5,4,5,4,5,4,5,3,4,4,6,5,6,6,6,5,4,4,3,3}, {1,3,1,3,2,5,5,8,8,9,8,8,6,5,5,4,3,3,2,2,2,1,2,1}, {3,1,2,3,4,5,6,6,7,7,7,5,4,3,1,0,-1,0,0,1,1,4,5,5}, {5,5,4,3,3,2,2,1,2,1,3,2,3,3,3,3,4,3,3,4,5,5,6,7}, {5,6,4,4,2,3,1,2,1,3,3,5,6,8,8,10,8,8,6,5,4,4,4,4}, {5,4,6,5,6,6,8,7,8,7,8,8,9,9,9,9,8,8,6,6,4,4,2,3}, {3,6,6,8,9,10,11,10,10,9,8,6,6,4,4,4,6,5,7,6,8,6,7,6}, {7,6,6,5,6,7,7,7,6,7,5,5,4,4,4,6,6,8,8,10,10,11,10,9}, {8,6,6,3,4,3,4,4,6,6,8,8,9,9,9,9,9,9,9,9,9,10,8,8}, {7,7,5,6,4,5,5,7,8,10,10,10,10,10,10,8,8,6,6,5,5,5,6,6}, {7,7,8,7,8,7,7,7,6,7,6,6,5,6,4,4,3,4,3,5,5,6,6,8}, {7,8,7,7,6,5,5,3,2,1,2,0,2,2,4,4,6,6,7,7,7,7,6,6}, {4,5,3,3,2,3,1,3,1,3,2,3,4,5,6,8,9,9,9,9,8,6,6,5}, {4,3,3,2,4,4,6,5,7,7,7,7,6,6,5,6,4,5,5,6,5,6,5,6}, {5,5,4,5,5,5,5,5,5,4,4,2,1,0,0,-1,0,0,2,2,5,5,7,7}, {7,8,6,6,4,3,2,3,1,1,0,1,0,0,0,1,2,3,3,5,5,7,8,7}, {8,7,7,5,5,3,3,1,3,2,3,3,4,5,6,6,6,5,5,4,4,4,3,5}, {3,5,5,6,6,8,8,9,8,8,8,7,7,6,6,6,5,4,4,2,3,1,2,1}, {3,3,6,6,8,9,10,11,10,10,8,7,4,4,2,3,2,2,2,4,4,6,5,5}, {5,4,5,4,5,5,6,5,6,4,5,4,5,4,4,4,6,6,7,7,8,8,8,8}, {7,6,3,3,2,3,2,4,4,6,7,8,9,9,9,10,9,8,9,8,7,6,7,6}, {6,5,6,5,5,5,5,6,7,9,9,10,10,11,9,9,6,7,4,6,4,5,4,6}, {6,8,8,9,9,9,9,8,8,6,6,5,5,4,5,3,4,3,4,3,4,4,5,6}, {7,8,7,8,7,8,6,7,4,4,2,3,2,3,3,5,6,7,8,7,8,6,6,5}, {6,4,4,3,5,4,5,5,6,6,6,6,6,6,7,8,8,9,7,8,7,7,4,4}, {2,2,1,2,3,5,6,8,10,10,10,9,9,8,7,6,6,4,5,5,5,4,5,4}, {4,3,4,4,3,5,5,7,6,7,6,6,5,4,2,2,1,2,2,4,5,6,8,8}, {8,6,6,4,3,1,2,0,1,0,2,2,4,3,4,4,5,6,6,6,7,8,8,9}, {8,9,6,6,3,3,2,1,1,2,2,4,6,6,8,8,9,8,8,6,7,4,5,4}, {5,5,7,5,6,6,6,6,6,7,6,6,5,6,5,7,6,7,5,5,4,4,3,4}, {5,5,7,8,10,9,11,10,10,7,6,3,3,2,2,1,3,2,5,5,6,7,7,8}, {7,7,6,7,5,6,5,6,5,5,3,3,1,2,2,3,3,5,6,7,8,9,9,8}, {9,6,7,4,4,3,4,4,5,6,7,7,8,8,7,7,7,7,6,6,6,7,6,8}, {6,7,5,6,6,7,7,7,9,9,10,9,10,8,7,5,5,3,3,1,2,2,4,4}, {6,6,7,8,8,9,8,9,7,8,6,6,4,4,3,3,1,2,1,1,2,3,4,4}, {6,6,7,6,6,5,6,4,5,3,4,3,4,3,4,5,5,7,6,6,5,5,4,4}, {2,3,2,3,2,3,3,4,5,6,6,6,7,8,9,9,10,8,9,7,7,5,4,2}, {2,0,1,1,2,3,5,7,8,10,9,10,9,9,7,7,5,7,4,5,4,5,4,4}, {4,4,4,4,5,5,6,6,6,5,6,4,5,4,3,3,3,3,4,4,5,7,7,9}, {7,7,5,6,4,4,2,2,1,2,2,3,3,3,4,5,6,6,7,7,7,7,8,7}, {8,7,7,5,5,4,5,3,4,4,5,6,7,8,9,10,9,10,8,8,5,6,5,5}, {4,5,5,6,6,8,10,9,10,9,10,8,9,8,8,7,8,6,7,5,6,4,4,4}, {4,4,4,6,7,9,9,11,9,9,7,8,5,5,3,4,4,5,5,6,8,8,9,7}, {8,6,6,4,4,3,4,4,4,4,5,4,5,5,5,6,6,8,8,9,9,10,9,9}, {7,6,4,3,1,1,1,2,2,3,5,6,8,9,10,9,9,8,9,8,9,7,9,8}, {8,7,7,6,6,6,6,6,6,7,7,8,7,8,7,7,6,5,4,4,4,5,6,7}, {8,8,9,9,9,8,8,6,5,3,2,1,0,0,1,1,2,2,2,3,3,4,5,7}, {7,8,7,8,7,7,6,5,3,2,0,-1,-1,0,1,2,4,5,6,6,6,6,6,5}, {5,4,5,4,5,5,5,5,5,4,4,5,3,4,4,5,4,5,5,5,5,4,4,3}, {3,2,2,2,4,4,7,7,10,8,10,7,7,5,4,2,3,1,2,2,2,2,3,4}, {3,4,4,4,4,5,5,7,5,7,5,5,3,2,1,-1,-1,-1,0,0,3,4,6,5}, {7,5,7,4,4,2,2,1,2,2,3,2,3,4,4,4,4,4,3,5,3,5,5,6}, {5,6,4,5,4,4,4,3,4,4,6,7,8,8,10,10,10,9,9,6,5,4,4,3}, {3,4,5,5,6,8,9,10,9,11,10,10,9,9,9,9,8,8,7,6,5,4,4,3}, {4,4,6,6,8,8,10,10,10,9,9,7,6,5,4,5,5,6,7,7,8,9,8,9}, {7,7,5,6,5,5,5,5,6,6,5,5,6,6,6,7,8,8,10,10,12,11,11,9}, {9,7,6,4,4,3,3,5,5,7,8,10,9,11,10,10,9,10,9,8,8,8,7,8}, {7,6,7,6,7,6,8,8,10,9,11,9,10,9,9,8,7,6,5,4,4,5,5,6}, {6,8,8,9,7,9,7,8,7,6,6,5,4,4,3,3,3,3,4,3,4,4,6,5}, {6,5,6,5,6,4,5,3,3,2,2,3,3,4,4,6,6,7,6,8,7,7,6,6}, {4,4,2,3,3,2,4,4,5,5,5,5,7,6,8,7,8,8,7,7,6,6,4,4}, {2,2,1,2,1,3,3,5,5,7,6,7,5,6,5,4,3,4,3,3,3,3,4,4}, {5,4,6,4,5,4,4,4,4,4,4,2,2,1,1,1,0,1,1,3,4,6,7,9}, {7,8,7,7,4,4,2,1,0,-1,0,0,0,1,2,3,4,4,5,4,6,5,7,6}, {7,6,7,6,6,5,5,5,4,5,4,5,5,6,7,8,7,8,5,6,4,3,3,3}, {4,4,6,5,8,8,11,11,11,10,11,7,8,6,5,4,4,3,3,3,3,4,3,4}, {3,5,4,7,7,9,9,10,9,9,8,7,5,3,2,1,2,1,3,3,6,6,7,7}, {7,5,5,4,5,4,4,5,5,5,5,6,5,6,5,7,6,6,6,7,7,8,8,8}, {6,6,4,3,3,2,3,3,5,6,8,8,11,11,11,10,10,8,7,6,7,6,6,6}, {5,6,5,5,5,5,6,7,7,9,9,11,9,10,9,8,7,6,5,3,3,3,4,4}, {7,6,9,7,9,8,8,6,6,5,5,4,4,4,4,5,4,6,4,6,5,6,5,6}, {6,7,5,6,5,6,5,4,4,2,2,1,3,3,5,6,8,8,9,9,9,8,7,6}, {5,4,3,2,3,3,4,5,5,7,6,8,6,8,8,9,8,9,8,9,8,7,6,5}, {4,2,3,1,3,3,6,7,9,9,10,8,7,7,5,5,4,4,3,4,5,6,5,6}, {5,6,4,5,4,5,4,5,4,4,5,5,4,3,3,1,1,0,2,3,6,6,9,8}, {9,7,7,5,4,3,2,1,0,0,0,1,2,4,4,5,5,6,4,6,4,6,6,6}, {6,5,5,3,3,2,3,2,3,2,4,4,6,6,8,8,9,8,7,5,5,4,2,3}, {2,4,4,5,6,8,7,10,8,9,8,8,6,6,6,5,5,5,5,3,4,3,4,3}, {4,4,6,6,7,7,8,8,7,6,5,3,2,1,0,1,1,3,3,5,5,7,7,8}, {7,7,5,4,4,3,4,4,4,3,4,3,4,3,4,4,6,6,7,8,8,9,9,9}, {8,8,5,6,4,4,3,5,4,6,6,8,7,8,7,7,7,6,6,5,5,5,6,5}, {6,6,7,6,8,7,8,8,9,9,9,7,7,6,5,4,3,2,1,1,1,2,2,4}, {4,7,7,9,9,9,9,8,7,5,5,3,3,1,1,1,1,0,2,1,3,2,4,3}, {5,5,5,5,5,6,5,5,4,4,2,3,2,4,3,5,5,6,5,6,5,5,4,2}, {2,1,1,1,2,1,4,4,6,6,8,8,8,7,8,8,8,7,6,5,5,4,2,3}, {1,2,0,2,1,3,5,7,8,10,10,10,9,8,6,5,4,3,3,3,4,3,4,3}, {5,4,5,4,5,4,4,5,4,5,4,4,4,4,2,3,2,3,3,4,4,7,7,7}, {8,8,6,6,4,3,3,1,2,0,2,1,4,4,6,7,8,7,8,8,7,7,6,7}, {6,7,6,6,5,6,4,6,4,6,5,7,7,9,9,10,10,10,9,8,7,5,5,3}, {4,3,6,4,7,8,10,10,11,10,10,10,9,8,7,7,6,7,6,7,6,7,6,6}, {5,6,5,6,6,8,8,8,9,8,7,5,5,3,4,1,4,3,6,6,8,8,9,8}, {8,7,5,4,3,3,2,3,3,4,3,5,5,6,6,7,6,8,8,9,9,9,9,8}, {8,6,6,4,4,2,3,2,4,5,7,8,9,9,9,8,8,7,6,6,5,5,5,5}, {5,6,5,6,5,6,5,6,6,7,7,6,7,7,6,5,5,2,3,1,2,1,2,3}, {5,6,7,7,8,8,7,7,5,5,2,2,1,1,1,2,2,3,3,4,3,4,4,5}, {5,4,4,4,5,4,5,3,3,2,2,0,2,1,3,3,5,6,6,6,6,5,4,4}, {2,2,1,2,1,3,3,5,5,6,6,7,6,6,6,6,6,6,6,6,5,3,4,2}, {3,1,2,1,3,3,6,8,8,9,9,9,6,6,4,3,1,1,0,2,2,3,3,5}, {4,5,4,4,4,4,4,4,5,4,5,3,4,2,2,0,0,-1,0,1,3,4,6,6}, {6,7,5,6,3,3,2,3,1,2,1,3,3,5,5,6,6,6,5,5,5,4,4,4}, {5,4,5,3,5,4,5,4,5,5,8,7,9,9,8,9,9,9,7,6,4,4,2,2}, {1,3,2,5,5,8,8,9,10,10,11,10,9,8,8,6,6,5,5,4,5,4,5,4}, {4,4,5,5,6,7,6,8,7,8,6,6,4,4,4,5,4,5,5,7,8,9,9,8}, {8,6,6,4,3,2,3,3,4,3,4,4,5,5,6,7,8,8,9,9,10,9,9,10}, {8,8,6,5,3,4,3,4,4,6,7,9,9,10,10,10,10,9,9,7,7,7,7,5}, {7,6,7,6,7,7,7,8,7,8,7,8,6,7,5,6,4,4,3,4,3,4,4,5}, {5,6,7,7,7,7,7,6,6,4,4,2,2,1,1,2,3,2,3,4,5,5,5,6}, {5,6,4,5,4,4,3,3,2,2,1,1,1,2,2,4,5,6,6,6,6,5,5,3}, {3,1,1,0,0,0,2,2,3,4,5,5,5,5,4,5,4,5,4,5,3,4,3,3}, {1,1,0,2,1,3,4,5,6,6,7,6,5,4,4,1,1,0,0,0,2,2,4,4}, {5,5,5,5,4,4,2,3,1,3,0,1,-1,0,0,0,-1,0,0,1,2,3,5,5}, {7,5,7,5,5,3,3,1,1,0,1,0,2,2,4,5,5,6,5,5,4,5,3,4}, {3,5,4,6,5,6,5,7,6,6,6,7,6,6,7,7,8,6,7,5,5,2,3,1}, {1,2,3,4,6,9,10,12,11,11,9,9,7,6,4,4,3,3,3,4,3,4,3,3}, {4,3,5,5,5,6,8,7,9,8,8,6,5,2,3,2,2,2,3,4,5,7,7,8}, {6,6,4,4,2,3,2,3,4,5,5,7,6,6,6,6,7,6,6,6,6,6,7,5}, {6,4,4,3,3,1,3,4,4,6,7,9,10,11,9,10,7,7,5,5,3,4,3,3}, {4,5,5,5,6,6,7,7,8,8,8,7,9,8,8,6,5,4,3,2,2,1,2,3}, {4,6,5,7,7,8,6,6,4,5,3,3,1,3,2,4,4,5,5,4,5,4,5,4}, {5,3,5,4,4,4,4,4,3,3,3,2,3,4,5,7,8,9,8,9,8,8,6,5}, {3,3,1,1,1,2,3,4,5,6,7,7,8,7,8,7,8,7,8,7,7,5,6,4}, {4,3,2,2,2,4,5,7,7,9,7,8,7,6,4,4,3,2,2,3,4,5,6,6}, {7,6,6,5,5,3,4,3,4,2,3,1,2,1,2,0,1,1,2,3,4,5,6,7}, {6,7,5,6,3,2,1,0,-1,0,0,1,2,3,5,5,6,5,6,5,5,3,4,3}, {4,3,4,4,5,4,4,5,5,6,6,6,6,7,6,7,7,7,6,6,4,3,2,2}, {2,1,2,3,4,6,7,7,9,8,8,6,6,4,4,3,3,2,3,3,3,3,4,4}, {3,5,4,5,4,5,4,6,5,6,4,4,3,2,1,2,2,3,4,5,7,7,8,7}, {8,6,6,3,4,2,2,1,3,3,3,3,4,4,5,5,5,7,7,8,6,7,7,8}, {7,7,4,4,4,3,4,4,5,5,7,7,8,8,9,8,8,6,6,5,4,3,4,4}, {5,5,5,6,7,9,8,10,8,10,7,7,6,5,5,5,3,2,1,1,1,1,2,2}, {4,5,6,5,7,7,8,7,7,5,4,3,2,1,1,1,2,2,2,3,3,3,3,4}, {2,3,1,3,2,4,4,4,4,4,4,4,4,4,5,4,5,6,6,5,6,3,3,2}, {1,-1,0,-2,-1,1,2,4,4,7,8,8,8,9,7,7,6,6,4,5,3,4,2,2}, {1,0,0,0,1,1,4,3,6,7,9,7,8,6,6,4,3,2,1,1,2,2,3,4}, {4,6,4,5,3,4,2,3,1,2,1,2,3,3,3,3,4,4,4,4,5,5,6,5}, {7,5,6,4,4,3,3,1,0,0,0,1,2,5,6,8,8,9,8,9,6,7,5,5}, {4,4,5,5,5,5,6,6,7,6,7,6,8,8,9,9,10,9,10,8,8,6,5,4}, {4,4,3,5,6,8,9,11,10,11,9,9,7,6,5,4,4,4,5,5,5,6,6,6}, {7,5,6,5,6,6,6,5,6,6,5,4,4,2,1,1,2,4,4,6,7,9,9,10}, {9,9,6,5,4,3,3,2,2,2,4,4,5,5,5,5,6,5,6,6,7,6,7,6}, {7,5,4,3,3,2,1,3,3,5,5,7,6,8,6,7,5,4,2,3,2,2,2,2}, {4,3,5,4,6,5,7,6,7,6,6,5,5,4,4,3,2,1,1,0,0,0,1,3}, {3,5,4,6,5,6,5,5,3,2,0,0,-1,-1,0,0,1,1,2,2,4,3,3,2}, {4,1,2,2,2,2,2,2,2,2,1,2,1,3,3,4,4,6,6,7,6,6,4,3}, {2,2,0,1,1,1,3,3,6,6,7,6,6,5,6,5,6,4,5,4,4,4,4,3}, {2,2,2,3,3,4,5,7,7,8,8,8,5,5,3,2,0,0,0,0,1,2,4,4}, {6,5,7,5,6,5,5,4,4,4,3,3,2,2,2,1,0,0,0,2,2,3,4,5}, {5,6,5,6,5,4,4,3,4,3,4,4,5,5,7,7,8,6,7,5,4,3,2,1}, {1,2,2,3,4,5,5,8,7,10,9,10,9,10,9,10,8,8,6,6,4,2,2,1}, {1,0,2,2,5,5,8,8,11,10,11,10,10,9,7,6,6,5,4,4,4,4,4,5}, {4,5,3,4,3,4,4,5,5,6,6,6,5,5,5,5,6,5,7,6,8,7,9,8}, {7,6,5,3,3,2,1,2,2,3,4,5,6,8,8,10,9,10,9,10,9,9,8,8}, {8,6,5,3,4,2,3,3,5,5,7,7,9,9,11,10,9,8,8,7,5,5,4,5}, {4,5,5,7,6,8,7,8,7,8,7,7,6,5,5,4,5,4,4,3,4,3,4,4}, {6,5,7,6,8,6,7,5,5,3,2,1,0,0,0,1,1,2,3,5,5,6,5,5}, {3,3,2,2,2,1,3,2,3,1,2,0,1,2,3,3,4,4,6,5,5,5,4,3}, {2,1,-1,-1,-1,1,1,4,4,6,6,7,6,6,5,4,3,3,3,2,2,2,2,2}, {2,1,1,0,2,2,3,3,5,5,5,5,5,3,2,1,-1,-1,-3,-1,-1,1,2,4}, {4,6,5,5,4,3,3,2,1,0,0,0,1,0,1,1,1,1,2,1,3,2,5,4}, {5,5,5,5,4,4,2,2,0,1,-1,2,1,3,4,6,6,8,6,7,5,5,4,3}, {3,3,3,3,4,4,6,6,7,6,7,7,7,6,7,8,8,7,7,6,5,5,3,3}, {2,3,3,5,6,8,9,10,11,10,9,8,6,5,4,2,3,3,3,3,5,5,6,5}, {7,5,6,5,6,5,6,6,6,6,5,5,4,3,2,2,1,3,3,5,5,7,7,7}, {7,7,5,4,4,2,3,2,4,3,6,5,7,6,7,6,7,6,6,5,6,6,5,6}, {4,5,3,4,2,4,3,5,5,8,8,10,9,10,9,9,7,6,4,3,2,1,2,1}, {3,2,4,4,6,6,7,8,8,7,8,7,7,7,6,5,4,4,1,2,1,2,1,3}, {2,4,3,5,5,6,6,5,5,3,4,2,3,2,4,4,5,5,6,6,6,5,5,4}, {3,2,1,1,1,1,1,2,2,4,3,4,4,5,6,8,8,9,9,8,8,7,6,4}, {4,0,0,-1,1,0,2,3,5,6,8,7,9,8,9,7,8,7,7,7,6,7,6,5}, {3,5,3,4,3,5,4,6,6,6,6,6,5,5,4,3,2,1,2,2,3,4,6,5}, {7,7,7,6,5,4,3,3,1,2,0,0,-1,1,0,2,1,3,2,3,3,5,5,6}, {7,6,7,5,6,5,5,2,3,2,2,2,3,3,4,5,6,6,6,5,4,4,3,3}, {2,3,2,4,3,5,5,7,6,8,8,9,7,6,6,5,5,4,4,3,3,2,2,1}, {1,1,2,3,4,6,7,9,10,10,9,8,7,6,3,3,1,1,0,2,2,4,4,5}, {5,6,4,4,4,4,5,4,6,4,5,3,4,2,3,2,3,2,3,4,5,6,7,7}, {7,7,4,4,2,2,1,3,2,3,3,5,5,7,7,8,7,7,7,6,6,5,6,5}, {7,4,6,5,5,4,6,5,6,6,7,7,9,9,9,9,7,6,4,4,3,3,2,3}, {3,5,4,7,8,9,9,9,9,8,7,6,5,4,4,2,3,2,3,1,2,2,2,3}, {4,4,5,6,6,7,7,7,5,5,3,3,1,1,1,1,1,3,3,4,4,4,4,3}, {3,2,2,2,2,2,3,3,5,5,5,4,5,4,5,5,5,6,6,6,5,5,4,3}, {1,1,-2,-1,-2,1,2,4,5,8,9,9,9,8,8,6,6,4,4,3,4,2,3,2}, {3,1,2,1,3,3,4,6,6,7,7,8,7,7,5,4,2,1,0,1,0,2,2,4}, {5,5,5,5,5,3,4,2,3,1,3,2,3,4,4,5,5,5,5,4,5,5,4,5}, {5,6,4,4,3,4,3,4,2,3,3,5,5,7,9,10,11,11,11,10,9,6,6,4}, {4,2,3,2,5,5,7,7,8,8,10,9,10,10,10,10,10,10,9,9,7,7,5,5}, {3,3,2,4,5,6,9,9,11,10,10,8,9,6,7,4,6,4,6,6,8,8,9,9}, {8,8,6,6,4,5,4,5,4,5,4,4,3,4,2,3,3,4,5,6,8,8,9,8}, {9,6,6,4,3,1,2,0,2,1,3,3,5,5,5,6,6,6,5,6,5,5,4,6}, {5,5,3,4,3,4,3,5,5,6,6,7,7,7,7,6,5,3,3,1,2,0,1,1}, {2,3,4,5,5,6,7,7,6,7,5,5,4,3,2,2,0,1,-1,-1,-1,0,0,1}, {2,3,4,4,4,4,5,4,5,3,2,0,1,0,1,1,2,2,3,3,4,3,3,4}, {2,2,1,1,0,1,1,2,2,3,3,4,4,5,5,5,6,6,6,6,6,5,4,3}, {2,0,0,-1,0,1,2,4,5,7,7,8,8,8,7,7,5,5,3,4,3,4,3,4}, {3,3,3,4,4,5,6,6,7,6,7,6,6,4,4,2,2,0,0,0,1,3,3,5}, {6,7,7,7,6,6,4,5,3,4,2,3,1,2,1,2,2,3,3,3,4,4,4,4}, {6,4,6,5,6,5,6,4,5,4,4,4,5,6,7,8,7,8,7,7,5,5,3,3}, {1,1,1,2,3,6,7,8,9,10,11,11,10,9,9,8,7,6,7,5,5,4,3,3}, {2,2,2,3,4,6,7,10,9,11,10,10,8,7,6,5,3,4,2,4,4,5,6,6}, {6,5,6,3,4,3,4,3,5,5,6,5,5,4,5,6,6,6,6,7,8,8,7,8}, {7,8,5,4,2,2,1,2,2,3,4,6,7,9,9,9,10,9,9,8,8,7,7,5}, {6,4,5,4,4,5,5,6,5,8,7,9,9,10,9,11,9,9,7,7,5,5,4,4}, {4,5,6,6,8,8,9,8,9,7,7,5,5,4,4,3,4,3,3,3,4,4,4,5}, {3,4,4,5,4,5,4,5,3,4,2,2,0,0,0,2,2,3,5,6,7,5,6,4}, {5,3,3,1,2,2,3,4,4,4,4,5,4,4,4,5,4,6,5,6,5,6,4,4}, {2,2,-1,0,0,0,2,3,5,6,8,7,8,6,5,3,3,1,2,0,2,2,2,3}, {3,3,2,3,3,4,4,6,5,7,6,6,4,5,3,3,0,0,-2,-1,-1,0,2,3}, {6,5,7,5,6,5,4,2,3,2,2,1,2,2,3,3,4,4,3,4,3,3,3,4}, {3,5,4,5,4,4,4,5,4,4,5,4,5,7,8,8,9,8,9,7,7,4,4,2}, {3,1,2,2,4,6,8,10,10,12,10,11,10,10,9,9,8,8,6,7,5,6,4,3}, {3,3,3,4,6,7,10,10,12,11,11,9,9,6,6,5,4,3,3,4,5,7,7,8}, {6,7,6,7,5,6,5,7,6,7,6,7,6,5,5,4,5,4,6,6,8,7,8,8}, {8,6,7,4,4,3,4,4,5,6,6,8,9,10,9,10,8,9,7,7,6,6,4,5}, {4,4,4,4,4,5,6,7,9,9,11,10,11,11,10,8,8,6,5,4,3,2,2,2}, {2,4,4,6,5,8,7,10,9,9,7,8,6,7,6,5,5,4,3,3,2,2,3,2}, {4,2,4,3,4,3,5,4,4,4,4,3,3,3,4,5,5,7,7,8,7,7,5,5}, {3,3,0,1,0,1,1,2,3,4,5,5,7,7,8,8,10,9,10,9,10,8,8,6}, {5,3,2,1,1,1,2,4,5,7,7,9,9,10,8,8,7,7,6,6,5,5,6,5}, {6,5,6,5,5,4,6,5,6,5,6,5,5,4,4,4,3,2,2,3,4,6,6,8}, {7,9,8,9,8,8,6,4,3,2,2,1,1,1,2,2,4,4,5,5,6,5,6,5}, {6,5,6,5,6,5,5,5,4,4,3,4,3,5,5,6,7,8,6,8,5,5,3,3}, {2,1,2,2,3,4,7,8,11,10,11,9,10,8,7,6,6,4,4,4,4,4,4,4}, {3,4,2,5,4,7,7,9,8,10,9,9,7,6,4,2,2,1,1,1,3,4,6,5}, {7,6,5,4,5,3,4,4,4,4,4,5,5,5,5,5,4,5,4,6,5,7,6,7}, {6,6,5,5,3,2,2,2,3,3,5,6,8,8,9,9,9,8,8,6,6,5,5,5}, {4,5,4,5,5,6,6,7,6,8,8,10,9,10,9,9,8,8,5,4,3,2,3,2}, {4,3,6,6,9,9,10,10,10,8,8,6,6,4,3,3,3,3,2,3,3,3,2,4}, {3,5,3,6,5,6,6,7,6,5,5,3,3,2,2,2,4,4,6,5,6,5,6,4}, {4,1,1,1,1,2,3,4,5,7,6,7,6,8,7,7,6,7,6,6,6,6,5,3}, {2,1,0,0,1,1,4,5,9,9,11,10,11,9,9,7,6,4,3,2,2,3,3,4}, {3,5,4,5,4,5,5,6,6,7,7,7,7,6,5,5,3,2,2,1,2,1,4,4}, {6,5,7,6,6,5,5,4,3,3,3,4,4,5,5,6,7,8,7,8,6,6,6,6}, {4,5,4,4,4,4,5,4,5,5,6,6,8,8,10,11,12,11,12,10,10,7,7,5}, {4,3,2,3,3,6,6,9,9,12,11,12,10,10,10,10,9,10,9,9,9,8,8,6}, {7,5,7,6,7,7,8,9,9,9,9,7,7,5,4,4,4,4,4,6,6,8,8,9}, {8,9,7,7,6,5,4,4,3,3,4,3,3,2,3,2,4,4,6,5,8,7,9,8}, {8,8,8,6,5,5,4,5,3,5,5,6,6,7,7,8,7,6,5,6,5,4,4,4}, {4,4,5,4,5,5,7,6,8,7,9,8,8,7,7,6,4,3,2,1,1,0,-1,1}, {1,3,3,5,6,8,8,9,9,8,7,6,5,4,3,1,1,0,1,0,1,1,2,1}, {3,1,3,3,4,4,5,5,4,5,4,4,3,3,3,3,3,5,5,6,5,5,4,3}, {2,1,0,-1,0,0,2,1,4,5,7,6,9,8,9,8,9,7,8,7,6,6,5,5}, {2,3,1,1,0,3,3,5,6,8,9,11,11,10,9,8,7,6,5,3,4,3,4,4}, {5,4,6,5,7,7,7,7,7,7,7,7,6,6,5,5,3,3,2,2,2,4,3,5}, {6,7,7,7,8,7,7,6,6,5,5,3,4,4,6,5,7,6,7,6,7,5,5,4}, {4,4,5,5,5,7,6,9,8,9,7,9,8,9,9,10,10,11,10,9,7,6,5,3}, {2,0,2,2,4,4,9,10,13,13,15,13,13,12,11,9,8,8,6,7,5,6,5,5}, {4,4,3,5,5,6,8,9,10,11,11,11,11,9,8,6,6,4,5,4,6,6,8,7}, {7,7,6,4,4,3,3,4,4,6,6,7,6,8,7,9,8,9,7,8,8,8,8,8}, {8,6,5,4,3,1,3,2,4,4,7,7,10,10,12,12,13,11,11,9,8,8,7,7}, {5,6,5,6,5,6,6,7,7,8,8,10,10,10,10,10,10,9,8,6,6,4,4,3}, {5,3,6,6,8,8,8,8,8,7,6,5,4,3,3,3,3,4,4,5,5,7,5,6}, {6,6,6,6,5,6,6,5,5,4,3,1,1,1,1,2,4,4,6,6,8,8,7,7}, {6,5,2,3,1,2,1,3,3,5,4,5,4,5,4,4,4,4,5,5,5,5,5,4}, {5,3,4,1,3,2,4,5,8,8,9,8,9,7,6,5,3,1,0,1,0,2,2,4}, {4,6,5,6,6,7,7,6,6,6,6,4,4,4,3,2,1,-1,0,-2,-1,0,2,3}, {4,6,6,6,7,6,5,6,4,5,3,4,3,4,4,6,5,6,5,5,4,5,4,3}, {4,2,4,3,5,4,6,6,8,6,9,7,10,8,10,10,10,10,9,9,8,6,5,4}, {1,3,2,3,3,6,7,10,11,13,12,13,12,12,11,10,9,8,7,6,7,6,6,5}, {6,4,5,5,7,8,9,9,10,11,10,10,8,8,6,6,4,5,5,6,6,8,8,8}
}

local solar_term_chinese = {"冬至", "小寒", "大寒", "立春", "雨水", "驚蟄", "春分", "清明", "穀雨", "立夏", "小滿", "芒種", "夏至", "小暑", "大暑", "立秋", "處暑", "白露", "秋分", "寒露", "霜降", "立冬", "小雪", "大雪", "冬至", "小寒"}
local month_chinese = {"冬月","臘月","正月","二月","三月","四月","五月","六月","七月","八月","九月","十月"}
local day_chinese = {"初一","初二","初三","初四","初五","初六","初七","初八","初九","初十","十一","十二","十三","十四","十五","十六","十七","十八","十九","二十","廿一","廿二","廿三","廿四","廿五","廿六","廿七","廿八","廿九","三十"}
local celestial_stems = {"甲","乙","丙","丁","戊","己","庚","辛","壬","癸"}
local terrestrial_branches = {"子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"}

local function get_percent_day_chinese()
  local i = 0
  local j = 0
  local k = 0
  local percent_days = {}
  local chinese_numbers = {"一", "二", "三", "四"}
  local chinese_half_hours = {"初", "正"}
  while (i < 100) and (j < 25) do
    if (864 * i < 3600 * j) then
      k = k + 1
    elseif (864 * i == 3600 * j) then
      j = j + 1
      k = 0
    else
      j = j + 1
      k = 1
    end
    i = i + 1
    percent_day = {terrestrial_branches[j % 24 // 2 + 1] .. chinese_half_hours[j % 2 + 1]}
    if (k > 0) then
      table.insert(percent_day, chinese_numbers[k] .. "刻")
    end
    table.insert(percent_days, percent_day)
  end
  return percent_days
end

local percent_day_chinese = get_percent_day_chinese()

local function getJD(yyyy,mm,dd)
  local m1 = mm
  local yy = yyyy
  if (m1 <= 2) then
    m1 = m1 + 12
    yy = yy - 1
  end
  -- Gregorian calendar
  local b = yy // 400 - yy // 100 + yy // 4
  local jd = 365*yy - 679004 + b + math.floor(30.6001*(m1+1)) + dd + 2400000.5
  return jd
end

-- UT -> TT
local function DeltaT(T)
  local y = T*100 + 2000 + 0.5/365.25
  local DT = 0
  if (y > 2150) then
    local uu = 0.01*(y-1820)
    DT = -20 + 32*uu*uu
  elseif (y > 2050) then
    local uu = 0.01*(y-1820)
    DT = -20 + 32*uu*uu - 0.5628*(2150 - y)
  elseif (y > 2022) then
    local uu = y-2000
    -- DT = 62.92 + 0.32217*uu + 0.005589*uu*uu;
    DT = 59.59 + 0.32217*uu + 0.005589*uu*uu
  elseif (y > 2017.0020533881) then
    DT = 69.184
  elseif (y > 2015.4962354552) then
    DT = 68.184
  elseif (y > 2012.4982888433) then
    DT = 67.184
  elseif (y > 2009.0020533881) then
    DT = 66.184
  elseif (y > 2006.0013689254) then
    DT = 65.184
  elseif (y > 1999.0006844627) then
    DT = 64.184
  elseif (y > 1997.4976043806) then
    DT = 63.184
  elseif (y > 1996.0) then
    DT = 62.184
  elseif (y > 1994.4969199179) then
    DT = 61.184
  elseif (y > 1993.4976043806) then
    DT = 60.184
  elseif (y > 1992.4982888433) then
    DT = 59.184
  elseif (y > 1991.0006844627) then
    DT = 58.184
  elseif (y > 1990.0013689254) then
    DT = 57.184
  elseif (y > 1988.0) then
    DT = 56.184
  elseif (y > 1985.4976043806) then
    DT = 55.184
  elseif (y > 1983.4962354552) then
    DT = 54.184
  elseif (y > 1982.4969199179) then
    DT = 53.184
  elseif (y > 1981.4976043806) then
    DT = 52.184
  elseif (y > 1980.0) then
    DT = 51.184
  elseif (y > 1979.0006844627) then
    DT = 50.184
  elseif (y > 1978.0013689254) then
    DT = 49.184
  elseif (y > 1977.0020533881) then
    DT = 48.184
  elseif (y > 1976.0) then
    DT = 47.184
  elseif (y > 1975.0006844627) then
    DT = 46.184
  elseif (y > 1974.0013689254) then
    DT = 45.184
  elseif (y > 1973.0020533881) then
    DT = 44.184
  elseif (y > 1972.4982888433) then
    DT = 43.184
  elseif (y > 1972.0) then
    DT = 42.184
  elseif (y > 1961) then
    uu = y-1975
    uu2 = uu*uu
    uu3 = uu*uu2
    DT = 45.45 + 1.067*uu - uu2/260 - uu3/718
  elseif (y > 1941) then
    local uu = y-1950
    local uu2 = uu*uu
    local uu3 = uu*uu2
    DT = 29.07 + 0.407*uu - uu2/233 + uu3/2547
  elseif (y > 1920) then
    local uu = y-1920
    local uu2 = uu*uu
    local uu3 = uu2*uu
    DT = 21.2 + 0.84493*uu - 0.0761*uu2 + 0.0020936*uu3
  elseif (y > 1900) then
    local uu = y-1900
    local uu2=uu*uu
    local uu3=uu*uu2
    local uu4=uu2*uu2
    DT = -2.79 + 1.494119*uu - 0.0598939*uu2 + 0.0061966*uu3 - 0.000197*uu4
  end
  return DT/86400.0
end

local function mod2pi_de(x)
  return x - 2 * math.pi * math.floor(0.5 * x/math.pi + 0.5)
end

local function decode_solar_terms(y, istart, offset_comp, solar_comp)
  local jd0 = getJD(y-1,12,31) - 1.0/3
  local delta_T = DeltaT((jd0-2451545 + 365.25*0.5)/36525)
  local offset = 2451545 - jd0 - delta_T
  local w = {2*math.pi, 6.282886, 12.565772, 0.337563, 83.99505, 77.712164, 5.7533, 3.9301}
  local poly_coefs = {}
  local amp = {}
  local ph = {}
  if (y > 2500) then
    poly_coefs = {-10.60617210417765, 365.2421759265393, -2.701502510496315e-08, 2.303900971263569e-12}
    amp = {0.1736157870707964, 1.914572713893651, 0.0113716862045686, 0.004885711219368455, 0.0004032584498264633, 0.001736052092601642, 0.002035081600709588, 0.001360448706185977}
    ph = {-2.012792258215681, 2.824063083728992, -0.4826844382278376, 0.9488391363261893, 2.646697770061209, -0.2675341497460084, 0.9646288791219602, -1.808852094435626}
  elseif (y > 1500) then
    poly_coefs = {-10.6111079510509, 365.2421925947405, -3.888654930760874e-08, -5.434707919089998e-12}
    amp = {0.1633918030382493, 1.95409759473169, 0.01184405584067255, 0.004842563463555804, 0.0004137082581449113, 0.001732513547029885, 0.002025850272284684, 0.001363226024948773}
    ph = {-1.767045717746641, 2.832417615687159, -0.465176623256009, 0.9461667782644696, 2.713020913181211, -0.2031148059020781, 0.9980808019332812, -1.832536089597202}
  end

  local sterm = {}
  for i=1, #solar_comp do
    local Ls = (y - 2000) + (i-1 + istart)/24.0
    local s = poly_coefs[1] + offset + Ls*(poly_coefs[2] + Ls*(poly_coefs[3] + Ls*poly_coefs[4]))
    for j=1, 8 do
      local ang = mod2pi_de(w[j] * Ls) + ph[j]
      s = s + amp[j] * math.sin(ang)
    end
    local s1 = math.floor((s-math.floor(s))*1440 + 0.5)
    local datetime = s1 + 1441 * math.floor(s) + solar_comp[i] - offset_comp
    local day = datetime // 1441
    local hourminute = datetime - 1441 * day
    local hour = hourminute // 60
    local minute = hourminute - 60 * hour
    local the_date = os.time({year=y, month=1, day=day, hour=hour, min=minute})
    table.insert(sterm, the_date)
  end
  return sterm
end

local function decode_moon_phases(y, offset_comp, lunar_comp, dp)
  local w = {2*math.pi, 6.733776, 13.467552, 0.507989, 0.0273143, 0.507984, 20.201328, 6.225791, 7.24176, 5.32461, 12.058386, 0.901181, 5.832595, 12.56637061435917, 19.300146, 11.665189, 18.398965, 6.791174, 13.636974, 1.015968, 6.903198, 13.07437, 1.070354, 6.340578614359172}
  local poly_coefs = {}
  local amp = {}
  local ph = {}
  if (y > 2500) then
    poly_coefs = {5.093879710922470, 29.53058981687484, 2.670339910922144e-11, 1.807808217274283e-15}
    amp = {0.00306380948959271, 6.08567588841838, 0.3023856209133756, 0.07481389897992345, 0.0001587661348338354, 0.1740759063081489, 0.0004131985233772993, 0.005796584475300004, 0.008268929076163079, 0.003256244384807976, 0.000520983165608148, 0.003742624708965854, 1.709506053530008, 28216.70389751519, 1.598844831045378, 0.314745599206173, 6.602993931108911, 0.0003387269181720862, 0.009226112317341887, 0.00196073145843697, 0.001457643607929487, 6.467401779992282e-05, 0.0007716739483064076, 0.001378880922256705}
    ph = {-0.0001879456766404132, -2.745704167588171, -2.348884895288619, 1.420037528559222, -2.393586904955103, -0.3914194006325855, 1.183088056748942, -2.782692143601458, 0.4430565056744425, -0.4357413971405519, -3.081209195003025, 0.7945051912707899, -0.4010911170136437, 3.003035462639878e-10, 0.4040070684461441, 2.351831380989509, 2.748612213507844, 3.133002890683667, -0.6902922380876192, 0.09563473131477442, 2.056490394534053, 2.017507533465959, 2.394015964756036, -0.3466427504049927}
  elseif (y > 1500) then
    poly_coefs = {5.097475813506625, 29.53058886049267, 1.095399949433705e-10, -6.926279905270773e-16}
    amp = {0.003064332812182054, 0.8973816160666801, 0.03119866094731004, 0.07068988004978655, 0.0001583070735157395, 0.1762683983928151, 0.0004131592685474231, 0.005950873973350208, 0.008489324571543966, 0.00334306526160656, 0.00052946042568393, 0.003743585488835091, 0.2156913373736315, 44576.30467073629, 0.1050203948601217, 0.01883710371633125, 0.380047745859265, 0.0003472930592917774, 0.009225665415301823, 0.002061407071938891, 0.001454599562245767, 5.856419090840883e-05, 0.0007688706809666596, 0.001415547168551922}
    ph = {-0.0003231124735555465, 0.380955331199635, 0.762645225819612, 1.4676293538949, -2.15595770830073, -0.3633370464549665, 1.134950591549256, -2.808169363709888, 0.422381840383887, -0.4226859182049138, -3.091797336860658, 0.7563140142610324, -0.3787677293480213, 1.863828515720658e-10, 0.3794794147818532, -0.7671105159156101, -0.3850942687637987, -3.098506117162865, -0.6738173539748421, 0.09011906278589261, 2.089832317302934, 2.160228985413543, -0.6734226930504117, -0.3333652792566645}
  end

  local jd0 = getJD(y-1,12,31) - 1.0/3
  local delta_T = DeltaT((jd0-2451545 + 365.25*0.5)/36525)
  local offset = 2451545 - jd0 - delta_T
  local lsyn = 29.5306
  local p0 = lunar_comp[1]
  local jdL0 = 2451550.259469 + 0.5*p0*lsyn

  -- Find the lunation number of the first moon phase in the year
  local Lm0 = math.floor((jd0 + 1 - jdL0)/lsyn)-1
  local Lm = 0
  local s = 0
  local s1 = 0
  for i=1, 10 do
    Lm = Lm0 + 0.5*p0 + i-1
    s = poly_coefs[1] + offset + Lm*(poly_coefs[2] + Lm*(poly_coefs[3] + Lm*poly_coefs[4]))
    for j=1, 24 do
      local ang = mod2pi_de(w[j]*Lm) + ph[j]
      s = s + amp[j]*math.sin(ang)
    end
    s1 = math.floor((s-math.floor(s))*1440 + 0.5)
    s = s1 + 1441*math.floor(s) + lunar_comp[2] - offset_comp
    if (s > 1440) then
      break
    end
  end
  Lm0 = Lm
  local mphase = {}
  -- Now decompress the remaining moon-phase times
  for i=2, #lunar_comp do
    Lm = Lm0 + (i-2)*dp
    s = poly_coefs[1] + offset + Lm*(poly_coefs[2] + Lm*(poly_coefs[3] + Lm*poly_coefs[4]))
    for j=1, 24 do
      local ang = mod2pi_de(w[j]*Lm) + ph[j]
      s = s + amp[j]*math.sin(ang)
    end
    s1 = math.floor((s-math.floor(s))*1440 + 0.5)
    local datetime = s1 + 1441*math.floor(s) + lunar_comp[i] - offset_comp
    local day = datetime // 1441
    local hourminute = datetime - 1441 * day
    local hour = hourminute // 60
    local minute = hourminute - 60 * hour
    local the_date = os.time({year=y, month=1, day=day, hour=hour, min=minute})
    table.insert(mphase, the_date)
  end
  return mphase
end

local function solar_terms_in_year(year)
  -- year in [2000, 2500]
  return decode_solar_terms(year, 0, 5, sun_data[year + 1 - 2000])
end

local function moon_phase_in_year(year)
  -- year in [2000, 2500]
  return decode_moon_phases(year, 5, moon_data[year + 1 - 2000], 0.5), moon_data[year + 1 - 2000][1]
end

local function union(a, b)
  local result = {}
  for k,v in pairs ( a ) do
    table.insert( result, v )
  end
  for k,v in pairs ( b ) do
     table.insert( result, v )
  end
  return result
end

local function slice(tbl, first, last, step)
  local sliced = {}

  for i = first or 1, last or #tbl, step or 1 do
    sliced[#sliced+1] = tbl[i]
  end

  return sliced
end

local function stride(old_table, steplength)
  local new_table = {}
  local i = 0
  while i < #old_table do
    table.insert(new_table, old_table[i])
    i = i + 2
  end
  return new_table
end

local function datetime_to_date(datetime)
  local date_table = os.date("*t",datetime)
  date_table["hour"] = 0
  date_table["min"] = 0
  date_table["sec"] = 0
  return os.time(date_table)
end

local function to_local_timezone(time, tz)
  local unformated = os.date("%z")
  local sign, hours, minutes = string.match(unformated, "(-?)(%d%d)(%d%d)")
  hours = tonumber(hours)
  minutes = tonumber(minutes)
  if (sign == "-") then
    hours = -hours
    minutes = -minutes
  end
  local date_table = os.date("*t",time)
  date_table["hour"] = date_table["hour"] - tz + hours
  date_table["min"] = date_table["min"] + minutes
  return os.time(date_table)
end

local function ranked_index(date, dates)
  local i = 1
  while i <= #dates do
    if (to_local_timezone(dates[i], 8) > date) then
      break
    end
    i = i + 1
  end
  local date_diff = datetime_to_date(date) - datetime_to_date(to_local_timezone(dates[i - 1], 8))
  return i - 1, math.floor(date_diff / 3600 / 24 + 0.5)
end

local function chinese_number(num)
  local zhChar = {'一','二','三','四','五','六','七','八','九'}
  local places = {'','十','百','千','萬','十','百','千','億','十','百','千','萬'}
  if  type(num) ~=  'number' then
    return num .. 'is not a num'
  end
  local numStr = tostring(num)
  local len = string.len(numStr)
  local str = ''
  local has0 = false
  for i = 1, len do
    local n = tonumber(string.sub(numStr,i,i))
    local p = len - i + 1
    --連續多個零衹顯示一個
    if n > 0 and has0 == true then
      str = str .. '零'
      has0 = false
    end
    --十位數如果是首位則不顯示一十這樣的
    if p % 4 == 2 and n == 1 then
      if len > p then
        str = str .. zhChar[n]
      end
      str = str .. places[p]
    elseif n > 0 then
      str = str .. zhChar[n]
      str = str .. places[p]
    elseif n == 0 then
      --個位是零則補單位
      if p % 4 == 1 then
        str = str .. places[p]
      else
        has0 = true
      end
    end
  end
  return str
end

local function chinese_calendar_months(year)
  local moon_phase_previous_year, first_event = moon_phase_in_year(year - 1)
  local moon_phase = moon_phase_in_year(year)
  local moon_phase_next_year = moon_phase_in_year(year + 1)
  moon_phase = union(moon_phase_previous_year, union(moon_phase, {moon_phase_next_year[1]}))
  moon_phase = slice(moon_phase, first_event + 1, #moon_phase, 2)
  local solar_terms = solar_terms_in_year(year)
  local solar_terms_next_year = solar_terms_in_year(year + 1)
  solar_terms = union(solar_terms, solar_terms_next_year)
  solar_terms = stride(solar_terms, 2)

  local i = 7
  while i <= #moon_phase do
    if (solar_terms[1] < moon_phase[i]) then
      break
    end
    i = i + 1
  end
  moon_phase = slice(moon_phase, i - 1, #moon_phase)
  local months = {}
  i = 7
  while i <= #moon_phase do
    if (solar_terms[13] < moon_phase[i]) then
      break
    end
    i = i + 1
  end
  local month_in_year = i
  if (month_in_year == 14) then
    months = slice(union(month_chinese, month_chinese), 1, #moon_phase)
  elseif (month_in_year == 15) then
    local i = 1
    local j = 1
    local count = 0
    local solatice_in_month = {}
    while (i+1 <= #moon_phase) and (j <= #solar_terms) do
      if ((moon_phase[i] <= solar_terms[j]) and (moon_phase[i+1] > solar_terms[j])) then
        count = count + 1
        j = j + 1
      else
        table.insert(solatice_in_month, count)
        count = 0
        i = i + 1
      end
    end
    local leap = 0
    local leapLabel = ""
    for i=1, #solatice_in_month do
      if ((solatice_in_month[i] == 0) and leap == 0) then
        leap = 1
        leapLabel = "閏"
      else
        leapLabel = ""
      end
      local month_name = leapLabel .. month_chinese[(i -1 - leap) % 12 + 1]
      if (month_name == "閏正月") then
        month_name = "閏一月"
      end
      table.insert(months, month_name)
    end
  end
  return moon_phase, months
end


-- local function chinese_weekday(wday)
--   local wday_num = tonumber(wday) + 1
--   local chinese_weekdays = {"日", "月", "火", "水", "木", "金", "土"}
--   return chinese_weekdays[wday_num]
-- end

local function time_to_num(time)
  local pattern = "(%d+):(%d+) +([AP]M)"
  if string.match(time, pattern) ~= nil then
    local hours, minutes, am = string.match(time, pattern)
    if ((am == "AM") and (tonumber(hours) >= 12)) then
      hours = hours - 12
    elseif ((am == "PM") and (tonumber(hours) < 12)) then
      hours = hours + 12
    end
  else
    pattern = "(%d+):(%d+)"
    hours, minutes = string.match(time, pattern)
  end
  return (hours*60) + minutes
end

local function time_description_chinese(time)
  local time_table = os.date("*t", time)
  local time_in_seconds = time_table["hour"] * 3600 + time_table["min"] * 60 + time_table["sec"]
  local time_in_hours = time_in_seconds // 3600
  local chinese_half_hours = {"初", "正"}
  local chinese_hour = terrestrial_branches[(time_in_hours + 1) % 24 // 2 + 1] .. chinese_half_hours[(time_in_hours + 1) % 2 + 1]
  local percent_day = time_in_seconds // 864
  percent_day = percent_day_chinese[percent_day + 1]
  if (chinese_hour == percent_day[1]) then
    if (#percent_day > 1) then
      return  percent_day[1] .. percent_day[2]
    else
       return percent_day[1]
    end
  else
    return chinese_hour
  end
end

-- -- 西曆轉農曆
-- local function to_chinese_cal_local(time)
--   --西曆每月初已歷天数
--   local month_cum_passed_days = {0,31,59,90,120,151,181,212,243,273,304,334}
--   local curr_year = tonumber(os.date("%Y", time))
--   local curr_month = tonumber(os.date("%m", time))
--   local curr_day = tonumber(os.date("%d", time))
--   local days_since_reference_day = (curr_year - 1921) * 365 + math.floor((curr_year - 1921) / 4) + curr_day + month_cum_passed_days[curr_month] - 38
--   if (((curr_year % 4) == 0) and (curr_month > 2)) then
--     days_since_reference_day = days_since_reference_day + 1
--   end
--   local celeterre_date = celestial_stems[(days_since_reference_day - 3) % 10 + 1] .. terrestrial_branches[(days_since_reference_day + 1) % 12 + 1]

--   local eclipse, months = chinese_calendar_months(tonumber(os.date("%Y", time)))
--   local month_index, day_index = ranked_index(time, eclipse)
--   local chinese_month = months[month_index]
--   local chinese_day = day_chinese[day_index+1]
--   if ((chinese_month == "冬月") or (chinese_month == "閏冬月") or (chinese_month == "臘月") or (chinese_month == "閏臘月")) then
--     curr_year = curr_year - 1
--   end
--   local chinese_year = celestial_stems[(((curr_year - 4) % 60) % 10)+1] .. terrestrial_branches[(((curr_year - 4) % 60) % 12) + 1] .. "年"
--   return chinese_year .. chinese_month .. chinese_day, celeterre_date, chinese_year, chinese_month, chinese_day
-- end

-- local function to_chinese_cal(year, month, day)
--   --西曆每月初已歷天数
--   local month_cum_passed_days = {0,31,59,90,120,151,181,212,243,273,304,334}
--   --華曆數據
--   local chinese_cal_data = {2635,333387,1701,1748,267701,694,2391,133423,1175,396438
--   ,3402,3749,331177,1453,694,201326,2350,465197,3221,3402
--   ,400202,2901,1386,267611,605,2349,137515,2709,464533,1738
--   ,2901,330421,1242,2651,199255,1323,529706,3733,1706,398762
--   ,2741,1206,267438,2647,1318,204070,3477,461653,1386,2413
--   ,330077,1197,2637,268877,3365,531109,2900,2922,398042,2395
--   ,1179,267415,2635,661067,1701,1748,398772,2742,2391,330031
--   ,1175,1611,200010,3749,527717,1452,2742,332397,2350,3222
--   ,268949,3402,3493,133973,1386,464219,605,2349,334123,2709
--   ,2890,267946,2773,592565,1210,2651,395863,1323,2707,265877}

--   local curr_year, curr_month, curr_day;
--   local days_since_reference_day, is_end, m, k, n, i, bit;
--   local chinese_year, chinese_date, celeterre_date;
--   --取西曆年、月、日
--   local curr_year = tonumber(year);
--   local curr_month = tonumber(month);
--   local curr_day = tonumber(day);
--   --計算自1921年2月8日正月初一已歷天數
--   local days_since_reference_day = (curr_year - 1921) * 365 + math.floor((curr_year - 1921) / 4) + curr_day + month_cum_passed_days[curr_month] - 38
--   if (((curr_year % 4) == 0) and (curr_month > 2)) then
--     days_since_reference_day = days_since_reference_day + 1
--   end

--   --干支計日
--   local celeterre_date = celestial_stems[(days_since_reference_day - 3) % 10 + 1] .. terrestrial_branches[(days_since_reference_day + 1) % 12 + 1]
--   --計算華曆天干、地支、月、日
--   local is_end = 0;
--   local m = 0;
--   while is_end ~= 1 do
--     if chinese_cal_data[m+1] < 4095 then
--       k = 11;
--     else
--       k = 12;
--     end
--     n = k;
--     while n >= 0 do
--       --獲取chinese_cal_data(m)的第n個二進制位值
--       bit = chinese_cal_data[m + 1];
--       for i=1, n do
--         bit = math.floor(bit / 2);
--       end
--       bit = bit % 2;
--       if days_since_reference_day <= (29 + bit) then
--         is_end = 1;
--         break
--       end
--       days_since_reference_day = days_since_reference_day - 29 - bit;
--       n = n - 1;
--     end
--     if is_end ~= 0 then
--       break;
--     end
--     m = m + 1;
--   end

--   curr_year = 1921 + m;
--   curr_month = k - n + 1;
--   curr_day = days_since_reference_day;
--   if k == 12 then
--     if curr_month == math.floor(chinese_cal_data[m+1] / 65536) + 1 then
--       curr_month = 1 - curr_month;
--     elseif curr_month > math.floor(chinese_cal_data[m+1] / 65536) + 1 then
--       curr_month = curr_month - 1;
--     end
--   end
--   curr_day = math.floor(curr_day)
--   --華曆天干、地支 -> chinese_year
--   chinese_year = celestial_stems[(((curr_year - 4) % 60) % 10)+1] .. terrestrial_branches[(((curr_year - 4) % 60) % 12) + 1] .. "年"

--   --華曆月、日 -> chinese_date
--   if curr_month < 1 then
--     chinese_date = "閏" .. month_chinese[(-1 * curr_month) + 1]
--   else
--     chinese_date = month_chinese[curr_month+1]
--   end

--   chinese_date = chinese_date .. "月" .. day_chinese[curr_day+1]
--   return chinese_year .. chinese_date, celeterre_date
-- end

local function date_diff_chinese(diff)
  local desp
  if (diff > 2) then
    desp = chinese_number(diff) .. "日後"
  elseif (diff == 2) then
    desp = "後日"
  elseif (diff == 1) then
    desp = "明日"
  elseif (diff == 0) then
    desp = "今日"
  elseif (diff == -1) then
    desp = "昨日"
  elseif (diff == -2) then
    desp = "前日"
  elseif (diff < -2) then
    desp = chinese_number(-diff) .. "日前"
  end
  return desp
end

-- 月相（圖示）
local function Moonphase_out1()
  local moon_phase_previous = moon_phase_in_year(tonumber(os.date("%Y")) - 1)
  local moon_phase, first_event = moon_phase_in_year(tonumber(os.date("%Y")))
  local moon_phase_next = moon_phase_in_year(tonumber(os.date("%Y")) + 1)
  local moon_phase = union({moon_phase_previous[#moon_phase_previous]}, union(moon_phase, {moon_phase_next[1]}))
  local first_event = 1 - first_event
  local index = ranked_index(os.time(), moon_phase)

  local date_diff_to_previous = os.time() - to_local_timezone(moon_phase[index], 8)
  local date_diff_to_approaching = to_local_timezone(moon_phase[index+1], 8) - os.time()
  local moon_phase_fraction = date_diff_to_previous / (date_diff_to_previous + date_diff_to_approaching) * 0.5
  if ((first_event + index - 1) % 2 == 1) then
    moon_phase_fraction = moon_phase_fraction + 0.5
  end
  local moon_phase_emojis = {"🌑", "🌒", "🌓", "🌔", "🌕", "🌖", "🌗", "🌘"}
  local choice = math.floor((moon_phase_fraction * 8 + 0.5) % 8.0) + 1
  local Moonphase1 = moon_phase_emojis[choice]
  local Moonphase2 = string.format("%.f °", moon_phase_fraction * 360)
  return {Moonphase1, Moonphase2}
end

-- 月相（朔望文字）
local function Moonphase_out2()
  local moon_phase_previous = moon_phase_in_year(tonumber(os.date("%Y")) - 1)
  local moon_phase, first_event = moon_phase_in_year(tonumber(os.date("%Y")))
  local moon_phase_next = moon_phase_in_year(tonumber(os.date("%Y")) + 1)
  local moon_phase = union({moon_phase_previous[#moon_phase_previous]}, union(moon_phase, {moon_phase_next[1]}))
  local first_event = 1 - first_event
  local index = ranked_index(os.time(), moon_phase)
  local luna_event_names = {"朔", "望"}

  local previous_lunar_event = luna_event_names[(first_event + index - 1) % 2 + 1]
  local date_diff_to_previous = datetime_to_date(os.time()) - datetime_to_date(to_local_timezone(moon_phase[index], 8))
  local date_diff_to_previous = math.floor(date_diff_to_previous // 3600 //24 + 0.5)
  local date_diff_to_previous = date_diff_chinese(-date_diff_to_previous)
  local date_diff_to_previous = date_diff_to_previous .. time_description_chinese(to_local_timezone(moon_phase[index], 8))
  return {previous_lunar_event, date_diff_to_previous}
end

-- 前後節氣（文字）
local function jieqi_out1()
  local solar_terms = solar_terms_in_year(tonumber(os.date("%Y")))
  local solar_terms_next = solar_terms_in_year(tonumber(os.date("%Y")) + 1)
  local solar_terms = union(solar_terms, slice(solar_terms_next, 1, 2))
  local index = ranked_index(os.time(), solar_terms)

  local previous_solar_event = solar_term_chinese[index]
  local date_diff_to_previous = datetime_to_date(os.time()) - datetime_to_date(to_local_timezone(solar_terms[index], 8))
  local date_diff_to_previous = math.floor(date_diff_to_previous // 3600 //24 + 0.5)
  local date_diff_to_previous = date_diff_chinese(-date_diff_to_previous)
  local date_diff_to_previous = date_diff_to_previous .. time_description_chinese(to_local_timezone(solar_terms[index], 8))
  -- local candidate = Candidate("date", seg.start, seg._end, previous_solar_event, date_diff_to_previous)

  local approching_solar_event = solar_term_chinese[index+1]
  local date_diff_to_approaching = datetime_to_date(to_local_timezone(solar_terms[index+1], 8)) - datetime_to_date(os.time())
  local date_diff_to_approaching = math.floor(date_diff_to_approaching // 3600 //24 + 0.5)
  local date_diff_to_approaching = date_diff_chinese(date_diff_to_approaching)
  local date_diff_to_approaching = date_diff_to_approaching .. time_description_chinese( to_local_timezone(solar_terms[index+1], 8))
  -- candidate = Candidate("date", seg.start, seg._end, approching_solar_event, date_diff_to_approaching)
  return previous_solar_event, date_diff_to_previous, approching_solar_event, date_diff_to_approaching
end




return {
    time_description_chinese = time_description_chinese,
    Moonphase_out1 = Moonphase_out1,
    Moonphase_out2 = Moonphase_out2,
    jieqi_out1 = jieqi_out1
}