function basen(n,b, digits)
    n = math.floor(n)
    if not b or b == 10 then return tostring(n) end
    local t = {}
    local sign = ""
    if n < 0 then
        sign = ""
        n = -n
    end
    if type(digits) == "string" then
        repeat
            local d = (n % b) + 1
            n = math.floor(n / b)
            table.insert(t, 1, digits:sub(d,d))
        until n == 0
        return sign .. table.concat(t,"")
    else
         repeat
            local d = (n % b) + 1
            n = math.floor(n / b)
            table.insert(t, 1, digits[d])
        until n == 0
        return sign .. table.concat(t,"")
    end
end
local letter = 0
local rank = 0
local rebirth = 0

local letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
local ranksLetters = {"FF", "F", "EE", "E", "DD", "D", "CC", "C", "BB", "B", "AA", "A", "S"}
local rankSigns = {"⇊", "↓", "→", "⇉", "⇄", "⇅", "", "↑", "⇈"}
local ranks = {}

for i = 1, #ranksLetters*#rankSigns do
   local rankLetter = math.ceil(i/#rankSigns)
   local rankSign = i%#rankSigns
   if rankSign == 0 then
      rankSign = #rankSigns 
   end
   ranks[i] = ranksLetters[rankLetter] .. rankSigns[rankSign]
end

while true do
   letter = letter + 1*(((1.5^rank))*((2.5^rebirth)))
   if letter >= 2^rank+49 then
      letter = 0
      rank = rank + 1*rebirth
   end
   
   if rank >= 10+3^rebirth then
      rank = 0
      letter = 0
      rebirth = rebirth + 1
   end
   print(basen(letter, #letters, letters), basen(rank, #ranks, ranks), rebirth) 
end

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: