# 9B

import math
g.norefresh()
g.antialias(0)
g.paper(100)
g.refresh()
rseed = g.getTime(4)
def random():
        bb = 198621
        mm = (98621+g.getTime(4))
        bl = (long(rseed)*bb+1)
        temp = bl%mm
        return int(temp%100),int(temp)

def initstate():
    state = []
    y = [195, 183, 167, 146, 120, 90, 56, 18]
    r = [5, 7, 9, 12, 14, 16, 18, 20]
    r.reverse()

    for i in y:
        radius = r.pop()
        x = 0
        for j in range(int(100/radius)+1):
            state.append((x,i,radius,100))
            x = x + 2*radius

    return state

def modState(stateold):
    state = []

    y = [195, 183, 167, 146, 120, 90, 56, 18]
    r = [5, 7, 9, 12, 14, 16, 18, 20]
    r.reverse()

    for i in y:
        radius = r.pop()
        x = 0
        rnd, rseed = random()
        rnd = rnd % 10 + 1
        for j in range(int(100/radius)+1):
            rad = int(radius*abs(math.sin(2*math.pi*rnd*float(j+1)/radius)))
            color = int(50*abs(math.cos(2*math.pi*rnd*float(j+1)/radius)))
            state.append((x,i,rad,color))
            x = x + 2*radius

    return state

def drawFields(listField):
    for field in listField:
        x = field[0]
        y = field[1]
        r = field[2]
        color = field[3]
        xb = x - r + 1
        yb = y - r + 1
        xt = x + r - 1
        yt = y + r - 1
        g.field(xb,yb,xt,yt,color)
        g.setPixel(x,y,100-color)

    g.refresh()

state = initstate()
while 1:
    drawFields(state)
    state = modState(state)
    g.paper(100)