Contributed by Chris Rathman
%% reserve some space for a stack (note: each stack entry takes two cells ~ value and a walk byte)
>> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >>
>> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >>
%%
%% Object Definition:
%%
%% < object# >
%% << function#/step# >>
%% <<< class# >>>
%% <<<< slot#1 (main!shape(0) | circle!x | rectangle!x) >>>>
%% <<<<< slot#2 (main!shape(1) | circle!y | rectangle!y) >>>>>
%% <<<<<< slot#3 (main!rect | circle!radius | rectangle!width) >>>>>>
%% <<<<<<< slot#4 ( | | rectangle!height) >>>>>>>
%% <<<<<<<< slot#5 >>>>>>>>
%% <<<<<<<<< reserved >>>>>>>>>
%% <<<<<<<<<<<<<<<<<<<< object length >>>>>>>>>>>>>>>>>>>>
%%
%% auto allocate main root object
>>>>>>>>>>>> 9~20 %% workspace (for previous object)
[-]> 8 %% slot#5
[-]> 7 %% slot#4
[-]> 6 %% slot#3
[-]> 5 %% slot#2
[-]> 4 %% slot#1
[-]> 3 %% class#
[-]> 2 %% function#/step#
[-]> 1 %% object#
%% stack push step#1 for main object
<<<<<<<<<<<<<<<<<<<< [<<]+<+>[>>]<< >>>>>>>>>>>>>>>>>>>> %% stack push step#
<<<<<<<<<<<<<<<<<<<< [<<]+<> [>>]<< >>>>>>>>>>>>>>>>>>>> %% stack push object#
<<<<<<<<<<<<<<<<<<<< <<[>> >>>>>>>>>>>>>>>>>>>> %% while stack do
<<<<<<<<<<<<<<<<<<<< [<<] >> %% stack pull next object#
<[> [>>] << >>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< [<<] >> <-]>
[-]>> [>>] << >>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<< [<<] >> %% stack pull next function#/step#
<[> [>>] << >>>>>>>>>>>>>>>>>>>> >+< <<<<<<<<<<<<<<<<<<<< [<<] >> <-]>
[-]>> [>>] << >>>>>>>>>>>>>>>>>>>>
[ %% walk to next object#n
>[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]<
[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]
>>>>>>>>>>>>>>>>>>>>
-]
<<[-]>> >[<< <+> >>-]< %% set function#/step# for the object
================================================================================================
= main process =
================================================================================================
[-]<<<[>>>+>+<<< <-]>>> >[<<< <+> >>>-]< %% get class#
>[-] [<->-]< >[-]< [>[-]+<-] >- [[-]< %% IF (class#0)
%% set to return to the next step# after continue
[-]<<[>>+>+<< <-]>> >[<< <+> >>-]< + %% get step#
<<<<<<<<<<<<<<<<<<<< [<<]+<++++> [>>]<< >>>>>>>>>>>>>>>>>>>> %% stack push step#
<<<<<<<<<<<<<<<<<<<< [<<]+<[-]> [>>]<< >>>>>>>>>>>>>>>>>>>> %% stack mark spot for step#
[<<<<<<<<<<<<<<<<<<<< [<<]>+> [>>]<< >>>>>>>>>>>>>>>>>>>>-] %% stack push step#
<<<<<<<<<<<<<<<<<<<< [<<]+<[-]> [>>]<< >>>>>>>>>>>>>>>>>>>> %% stack push object#
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% step#1 new shape() %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[-]<<[>>+>+<< <-]>> >[<< <+> >>-]< %% get function#
>[-]+ [<->-]< >[-]< [>[-]+<-] >- [[-]< %% IF (function#1)
%% allocate a new object in the heap
<[<<<<<<<<<<<<<<<<<<<<]> %% walk back to root object
>>>>>>>>>>>>>>>>>>>> %% skip over first object
<[> %% find free space in the heap
[-]<[>+>+< <-]> >[< <+> >-]< %% get object#
[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<<-]
>>>>>>>>>>>>>>>>>>>>
<]>
<[-]+ >[<+>-]<> %% object#n
<<<[-]+>>> %% class# rectangle
[-]<[>+>+< <-]> >[< <+> >-]< %% get new object#
<[ %% walk back to root object
>[<<<<<<<<<<<<<<<<<<<< + >>>>>>>>>>>>>>>>>>>>-]<
<<<<<<<<<<<<<<<<<<<<
]>
%% set local slot# for shape(0)
[<<<< + >>>> -] %% set slot# shape(0)
%% make a function call: shape(0) = new rectangle(x y width height)
<<<<[>>>>+>+<<<< <-]>>>> >[<<<< <+> >>>>-]< %% get shape(0) from slot
<<<<<<<<<<<<<<<<<<<< [<<]+ %% stack push param# height = 6
<++++++>
[>>]<< >>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<< [<<]+ %% stack push param# width = 5
<+++++>
[>>]<< >>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<< [<<]+ %% stack push param# y = 20
<++++++++++++++++++++>
[>>]<< >>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<< [<<]+ %% stack push param# x = 10
<++++++++++>
[>>]<< >>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<< [<<]+<+> [>>]<< >>>>>>>>>>>>>>>>>>>> %% stack push function# rectangle
<<<<<<<<<<<<<<<<<<<< [<<]+<[-]> [>>]<< >>>>>>>>>>>>>>>>>>>> %% stack mark spot for object#
[<<<<<<<<<<<<<<<<<<<< [<<]>+> [>>]<< >>>>>>>>>>>>>>>>>>>>-] %% stack push object# shape(0)
%% allocate a new object in the heap
<[<<<<<<<<<<<<<<<<<<<<]> %% walk back to root object
>>>>>>>>>>>>>>>>>>>> %% skip over first object
<[> %% find free space in the heap
[-]<[>+>+< <-]> >[< <+> >-]< %% get object#
[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<<-]
>>>>>>>>>>>>>>>>>>>>
<]>
<[-]+ >[<+>-]<> %% object#n
<<<[-]++>>> %% class#
[-]<[>+>+< <-]> >[< <+> >-]< %% get new object#
<[ %% walk back to root object
>[<<<<<<<<<<<<<<<<<<<< + >>>>>>>>>>>>>>>>>>>>-]<
<<<<<<<<<<<<<<<<<<<<
]>
%% set local slot# for shape(1)
[<<<<< + >>>>> -] %% set slot# shape(1)
%% make a function call: shape(1) = new circle(x y radius)
<<<<<[>>>>>+>+<<<<< <-]>>>>> >[<<<<< <+> >>>>>-]< %% get shape(1) from slot
<<<<<<<<<<<<<<<<<<<< [<<]+ %% stack push param# radius = 8
<++++++++>
[>>]<< >>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<< [<<]+ %% stack push param# y = 25
<+++++++++++++++++++++++++>
[>>]<< >>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<< [<<]+ %% stack push param# x = 15
<+++++++++++++++>
[>>]<< >>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<< [<<]+<+> [>>]<< >>>>>>>>>>>>>>>>>>>> %% stack push function# circle
<<<<<<<<<<<<<<<<<<<< [<<]+<[-]> [>>]<< >>>>>>>>>>>>>>>>>>>> %% stack mark spot for object#
[<<<<<<<<<<<<<<<<<<<< [<<]>+> [>>]<< >>>>>>>>>>>>>>>>>>>>-] %% stack push object# shape(1)
>]< %% END IF (function#1)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% step#2 shape!draw() %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[-]<<[>>+>+<< <-]>> >[<< <+> >>-]< %% get function#
>[-]++ [<->-]< >[-]< [>[-]+<-] >- [[-]< %% IF (function#2)
%% get the two shapes to process
<<<<[>>>>+>+<<<< <-]>>>> >[<<<< <+> >>>>-]< %% get shape(0) from slot
[>>>>+<<<<-] %% push shape(0) in the workspace
<<<<<[>>>>>+>+<<<<< <-]>>>>> >[<<<<< <+> >>>>>-]< %% get shape(1) from slot
[>>>>>+<<<<<-] %% push shape(1) in the workspace
%% make a function call: shape(i)!draw()
>>>++[-<<< %% for i = 1 downto 0
>>>>[<<<<+>>>>-]<<<< %% get next shape to process
<<<<<<<<<<<<<<<<<<<< [<<]+<++++> [>>]<< >>>>>>>>>>>>>>>>>>>> %% stack push function# draw
<<<<<<<<<<<<<<<<<<<< [<<]+<[-]> [>>]<< >>>>>>>>>>>>>>>>>>>> %% stack mark spot for object#
[<<<<<<<<<<<<<<<<<<<< [<<]>+> [>>]<< >>>>>>>>>>>>>>>>>>>>-] %% stack push object# shape(0)
>>>>>[<+>-]<<<<< %% pull down next shape
>>>]<<<
>]< %% END IF (function#1)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% step#3 shape!rMoveTo() %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[-]<<[>>+>+<< <-]>> >[<< <+> >>-]< %% get function#
>[-]+++ [<->-]< >[-]< [>[-]+<-] >- [[-]< %% IF (function#3)
%% get the two shapes to process
<<<<[>>>>+>+<<<< <-]>>>> >[<<<< <+> >>>>-]< %% get shape(0) from slot
[>>>>+<<<<-] %% push shape(0) in the workspace
<<<<<[>>>>>+>+<<<<< <-]>>>>> >[<<<<< <+> >>>>>-]< %% get shape(1) from slot
[>>>>>+<<<<<-] %% push shape(1) in the workspace
%% make a function call: shape(i)!rMoveTo(100)
>>>++[-<<< %% for i = 1 downto 0
>>>>[<<<<+>>>>-]<<<< %% get next shape to process
<<<<<<<<<<<<<<<<<<<< [<<] %% stack push param# dy = 100
<++++[>+++++<-]>[<+++++>-]<>+
[>>]<< >>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<< [<<] %% stack push param# dx = 100
<++++[>+++++<-]>[<+++++>-]<>+
[>>]<< >>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<< [<<]+<+++> [>>]<< >>>>>>>>>>>>>>>>>>>> %% stack push function# rmoveto
<<<<<<<<<<<<<<<<<<<< [<<]+<[-]> [>>]<< >>>>>>>>>>>>>>>>>>>> %% stack mark spot for object#
[<<<<<<<<<<<<<<<<<<<< [<<]>+> [>>]<< >>>>>>>>>>>>>>>>>>>>-] %% stack push object# shape(0)
>>>>>[<+>-]<<<<< %% pull down next shape
>>>]<<<
>]< %% END IF (function#1)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% step#4 shape!draw() %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[-]<<[>>+>+<< <-]>> >[<< <+> >>-]< %% get function#
>[-]++++ [<->-]< >[-]< [>[-]+<-] >- [[-]< %% IF (function#4)
%% get the two shapes to process
<<<<[>>>>+>+<<<< <-]>>>> >[<<<< <+> >>>>-]< %% get shape(0) from slot
[>>>>+<<<<-] %% push shape(0) in the workspace
<<<<<[>>>>>+>+<<<<< <-]>>>>> >[<<<<< <+> >>>>>-]< %% get shape(1) from slot
[>>>>>+<<<<<-] %% push shape(1) in the workspace
%% make a function call: shape(i)!draw()
>>>++[-<<< %% for i = 1 downto 0
>>>>[<<<<+>>>>-]<<<< %% get next shape to process
<<<<<<<<<<<<<<<<<<<< [<<]+<++++> [>>]<< >>>>>>>>>>>>>>>>>>>> %% stack push function# draw
<<<<<<<<<<<<<<<<<<<< [<<]+<[-]> [>>]<< >>>>>>>>>>>>>>>>>>>> %% stack mark spot for object#
[<<<<<<<<<<<<<<<<<<<< [<<]>+> [>>]<< >>>>>>>>>>>>>>>>>>>>-] %% stack push object# shape(0)
>>>>>[<+>-]<<<<< %% pull down next shape
>>>]<<<
>]< %% END IF (function#1)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% step#5 new rect() %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[-]<<[>>+>+<< <-]>> >[<< <+> >>-]< %% get function#
>[-]+++++ [<->-]< >[-]< [>[-]+<-] >- [[-]< %% IF (function#5)
%% allocate a new object in the heap
<[<<<<<<<<<<<<<<<<<<<<]> %% walk back to root object
>>>>>>>>>>>>>>>>>>>> %% skip over first object
<[> %% find free space in the heap
[-]<[>+>+< <-]> >[< <+> >-]< %% get object#
[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<<-]
>>>>>>>>>>>>>>>>>>>>
<]>
<[-]+ >[<+>-]<> %% object#n
<<<[-]+>>> %% class# rectangle
[-]<[>+>+< <-]> >[< <+> >-]< %% get new object#
<[ %% walk back to root object
>[<<<<<<<<<<<<<<<<<<<< + >>>>>>>>>>>>>>>>>>>>-]<
<<<<<<<<<<<<<<<<<<<<
]>
%% set local slot# for rect
[<<<<<< + >>>>>> -] %% set slot# rect
%% make a function call: rect = new rectangle(x y width height)
<<<<<<[>>>>>>+>+<<<<<< <-]>>>>>> >[<<<<<< <+> >>>>>>-]< %% get rect from slot#
<<<<<<<<<<<<<<<<<<<< [<<]+<+++++++++++++++>[>>]<< >>>>>>>>>>>>>>>>>>>> %% stack push param# height=15
<<<<<<<<<<<<<<<<<<<< [<<]+<+++++++++++++++>[>>]<< >>>>>>>>>>>>>>>>>>>> %% stack push param# width=15
<<<<<<<<<<<<<<<<<<<< [<<]+<> [>>]<< >>>>>>>>>>>>>>>>>>>> %% stack push param# y=0
<<<<<<<<<<<<<<<<<<<< [<<]+<> [>>]<< >>>>>>>>>>>>>>>>>>>> %% stack push param# x=0
<<<<<<<<<<<<<<<<<<<< [<<]+<+> [>>]<< >>>>>>>>>>>>>>>>>>>> %% stack push function# circle
<<<<<<<<<<<<<<<<<<<< [<<]+<[-]> [>>]<< >>>>>>>>>>>>>>>>>>>> %% stack mark spot for object#
[<<<<<<<<<<<<<<<<<<<< [<<]>+> [>>]<< >>>>>>>>>>>>>>>>>>>>-] %% stack push object# rect
>]< %% END IF (function#1)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% step#6 rect!setWidth() %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[-]<<[>>+>+<< <-]>> >[<< <+> >>-]< %% get function#
>[-]++++++ [<->-]< >[-]< [>[-]+<-] >- [[-]< %% IF (function#6)
%% make a function call: rect!setRadius(radius)
<<<<<<[>>>>>>+>+<<<<<< <-]>>>>>> >[<<<<<< <+> >>>>>>-]< %% get rect from slot#
<<<<<<<<<<<<<<<<<<<< [<<]+ %% stack push param# radius=30
<++++++++++++++++++++++++++++++>
[>>]<< >>>>>>>>>>>>>>>>>>>>
<<<<<<<<<<<<<<<<<<<< [<<]+<+++++> [>>]<< >>>>>>>>>>>>>>>>>>>> %% stack push function# setRadius=30
<<<<<<<<<<<<<<<<<<<< [<<]+<[-]> [>>]<< >>>>>>>>>>>>>>>>>>>> %% stack mark spot for object#
[<<<<<<<<<<<<<<<<<<<< [<<]>+> [>>]<< >>>>>>>>>>>>>>>>>>>>-] %% stack push object# rect
>]< %% END IF (function#1)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% step#7 rect!draw() %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[-]<<[>>+>+<< <-]>> >[<< <+> >>-]< %% get function#
>[-]+++++++ [<->-]< >[-]< [>[-]+<-] >- [[-]< %% IF (function#7)
%% make a function call: rect!draw()
<<<<<<[>>>>>>+>+<<<<<< <-]>>>>>> >[<<<<<< <+> >>>>>>-]< %% get shape(0) from slot
<<<<<<<<<<<<<<<<<<<< [<<]+<++++> [>>]<< >>>>>>>>>>>>>>>>>>>> %% stack push function# draw
<<<<<<<<<<<<<<<<<<<< [<<]+<[-]> [>>]<< >>>>>>>>>>>>>>>>>>>> %% stack mark spot for object#
[<<<<<<<<<<<<<<<<<<<< [<<]>+> [>>]<< >>>>>>>>>>>>>>>>>>>>-] %% stack push object# rect
>]< %% END IF (function#1)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% step#8 exit() %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[-]<<[>>+>+<< <-]>> >[<< <+> >>-]< %% get function#
>[-]++++++++ [<->-]< >[-]< [>[-]+<-] >- [[-]< %% IF (function#8)
<<<<<<<<<<<<<<<<<<<< <<[-]>> >>>>>>>>>>>>>>>>>>>> %% kill stack to exit
>]< %% END IF (function#99)
>]< %% END IF (class#0)
================================================================================================
= rectangle class =
================================================================================================
[-]<<<[>>>+>+<<< <-]>>> >[<<< <+> >>>-]< %% get class#
>[-]+ [<->-]< >[-]< [>[-]+<-] >- [[-]< %% IF (class#1)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% function#1 rectangle(x y width height) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[-]<<[>>+>+<< <-]>> >[<< <+> >>-]< %% get function#
>[-]+ [<->-]< >[-]< [>[-]+<-] >- [[-]< %% IF (function#1)
%% clear the slots
<<<<[-]>>>> %% x=0
<<<<<[-]>>>>> %% y=0
<<<<<<[-]>>>>>> %% width=0
<<<<<<<[-]>>>>>>> %% height=0
%% grab the x value from the stack
<[>+>+< <-]> >[< <+> >-]< %% get object#
<[>[<<<<<<<<<<<<<<<<<<<< + >>>>>>>>>>>>>>>>>>>>-]< <<<<<<<<<<<<<<<<<<<<]> %% walk back to root object (drag object#)
<<<<<<<<<<<<<<<<<<<< [<<] >> %% stack pull param# x
<[> [>>] << >>>>>>>>>>>>>>>>>>>> >+< <<<<<<<<<<<<<<<<<<<< [<<] >> <-]>
[-]>> [>>] << >>>>>>>>>>>>>>>>>>>>
[ %% walk to object#n (drag param# & object index)
>[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]<
[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]
>>>>>>>>>>>>>>>>>>>>
-]
>[< <<<<+>>>> >-]< %% set slot# x
%% grab the y value from the stack
<[>+>+< <-]> >[< <+> >-]< %% get object#
<[>[<<<<<<<<<<<<<<<<<<<< + >>>>>>>>>>>>>>>>>>>>-]< <<<<<<<<<<<<<<<<<<<<]> %% walk back to root object (drag object#)
<<<<<<<<<<<<<<<<<<<< [<<] >> %% stack pull param# y
<[> [>>] << >>>>>>>>>>>>>>>>>>>> >+< <<<<<<<<<<<<<<<<<<<< [<<] >> <-]>
[-]>> [>>] << >>>>>>>>>>>>>>>>>>>>
[ %% walk to object#n (drag param# & object index)
>[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]<
[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]
>>>>>>>>>>>>>>>>>>>>
-]
>[< <<<<<+>>>>> >-]< %% set slot# y
%% grab the width value from the stack
<[>+>+< <-]> >[< <+> >-]< %% get object#
<[>[<<<<<<<<<<<<<<<<<<<< + >>>>>>>>>>>>>>>>>>>>-]< <<<<<<<<<<<<<<<<<<<<]> %% walk back to root object (drag object#)
<<<<<<<<<<<<<<<<<<<< [<<] >> %% stack pull param# width
<[> [>>] << >>>>>>>>>>>>>>>>>>>> >+< <<<<<<<<<<<<<<<<<<<< [<<] >> <-]>
[-]>> [>>] << >>>>>>>>>>>>>>>>>>>>
[ %% walk to object#n (drag param# & object index)
>[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]<
[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]
>>>>>>>>>>>>>>>>>>>>
-]
>[< <<<<<<+>>>>>> >-]< %% set slot# width
%% grab the height value from the stack
<[>+>+< <-]> >[< <+> >-]< %% get object#
<[>[<<<<<<<<<<<<<<<<<<<< + >>>>>>>>>>>>>>>>>>>>-]< <<<<<<<<<<<<<<<<<<<<]> %% walk back to root object (drag object#)
<<<<<<<<<<<<<<<<<<<< [<<] >> %% stack pull param# height
<[> [>>] << >>>>>>>>>>>>>>>>>>>> >+< <<<<<<<<<<<<<<<<<<<< [<<] >> <-]>
[-]>> [>>] << >>>>>>>>>>>>>>>>>>>>
[ %% walk to object#n (drag param# & object index)
>[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]<
[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]
>>>>>>>>>>>>>>>>>>>>
-]
>[< <<<<<<<+>>>>>>> >-]< %% set slot# height
>]< %% END IF (function#1)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% function#2 moveTo(x y) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[-]<<[>>+>+<< <-]>> >[<< <+> >>-]< %% get function#
>[-]++ [<->-]< >[-]< [>[-]+<-] >- [[-]< %% IF (function#2)
%% grab the x value from the stack
<<<<[-]>>>> %% x=0
<[>+>+< <-]> >[< <+> >-]< %% get object#
<[>[<<<<<<<<<<<<<<<<<<<< + >>>>>>>>>>>>>>>>>>>>-]< <<<<<<<<<<<<<<<<<<<<]> %% walk back to root object (drag object#)
<<<<<<<<<<<<<<<<<<<< [<<] >> %% stack pull param# x
<[> [>>] << >>>>>>>>>>>>>>>>>>>> >+< <<<<<<<<<<<<<<<<<<<< [<<] >> <-]>
[-]>> [>>] << >>>>>>>>>>>>>>>>>>>>
[ %% walk to object#n (drag param# & object index)
>[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]<
[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]
>>>>>>>>>>>>>>>>>>>>
-]
>[< <<<<+>>>> >-]< %% set slot# x
%% grab the y value from the stack
<<<<<[-]>>>>> %% y=0
<[>+>+< <-]> >[< <+> >-]< %% get object#
<[>[<<<<<<<<<<<<<<<<<<<< + >>>>>>>>>>>>>>>>>>>>-]< <<<<<<<<<<<<<<<<<<<<]> %% walk back to root object (drag object#)
<<<<<<<<<<<<<<<<<<<< [<<] >> %% stack pull param# y
<[> [>>] << >>>>>>>>>>>>>>>>>>>> >+< <<<<<<<<<<<<<<<<<<<< [<<] >> <-]>
[-]>> [>>] << >>>>>>>>>>>>>>>>>>>>
[ %% walk to object#n (drag param# & object index)
>[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]<
[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]
>>>>>>>>>>>>>>>>>>>>
-]
>[< <<<<<+>>>>> >-]< %% set slot# y
>]< %% END IF (function#2)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% function#3 rMoveTo(x y) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[-]<<[>>+>+<< <-]>> >[<< <+> >>-]< %% get function#
>[-]+++ [<->-]< >[-]< [>[-]+<-] >- [[-]< %% IF (function#3)
%% grab the x value from the stack
<[>+>+< <-]> >[< <+> >-]< %% get object#
<[>[<<<<<<<<<<<<<<<<<<<< + >>>>>>>>>>>>>>>>>>>>-]< <<<<<<<<<<<<<<<<<<<<]> %% walk back to root object (drag object#)
<<<<<<<<<<<<<<<<<<<< [<<] >> %% stack pull param# x
<[> [>>] << >>>>>>>>>>>>>>>>>>>> >+< <<<<<<<<<<<<<<<<<<<< [<<] >> <-]>
[-]>> [>>] << >>>>>>>>>>>>>>>>>>>>
[ %% walk to object#n (drag param# & object index)
>[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]<
[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]
>>>>>>>>>>>>>>>>>>>>
-]
>[< <<<<+>>>> >-]< %% set slot# x
%% grab the y value from the stack
<[>+>+< <-]> >[< <+> >-]< %% get object#
<[>[<<<<<<<<<<<<<<<<<<<< + >>>>>>>>>>>>>>>>>>>>-]< <<<<<<<<<<<<<<<<<<<<]> %% walk back to root object (drag object#)
<<<<<<<<<<<<<<<<<<<< [<<] >> %% stack pull param# y
<[> [>>] << >>>>>>>>>>>>>>>>>>>> >+< <<<<<<<<<<<<<<<<<<<< [<<] >> <-]>
[-]>> [>>] << >>>>>>>>>>>>>>>>>>>>
[ %% walk to object#n (drag param# & object index)
>[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]<
[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]
>>>>>>>>>>>>>>>>>>>>
-]
>[< <<<<<+>>>>> >-]< %% set slot# y
>]< %% END IF (function#3)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% function#5 setWidth(width) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[-]<<[>>+>+<< <-]>> >[<< <+> >>-]< %% get function#
>[-]+++++ [<->-]< >[-]< [>[-]+<-] >- [[-]< %% IF (function#5)
%% grab the width value from the stack
<<<<<<[-]>>>>>> %% width=0
<[>+>+< <-]> >[< <+> >-]< %% get object#
<[>[<<<<<<<<<<<<<<<<<<<< + >>>>>>>>>>>>>>>>>>>>-]< <<<<<<<<<<<<<<<<<<<<]> %% walk back to root object (drag object#)
<<<<<<<<<<<<<<<<<<<< [<<] >> %% stack pull param# width
<[> [>>] << >>>>>>>>>>>>>>>>>>>> >+< <<<<<<<<<<<<<<<<<<<< [<<] >> <-]>
[-]>> [>>] << >>>>>>>>>>>>>>>>>>>>
[ %% walk to object#n (drag param# & object index)
>[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]<
[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]
>>>>>>>>>>>>>>>>>>>>
-]
>[< <<<<<<+>>>>>> >-]< %% set slot# width
>]< %% END IF (function#5)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% function#6 setHeight(height) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[-]<<[>>+>+<< <-]>> >[<< <+> >>-]< %% get function#
>[-]++++++ [<->-]< >[-]< [>[-]+<-] >- [[-]< %% IF (function#6)
%% grab the height value from the stack
<<<<<<[-]>>>>>> %% height=0
<[>+>+< <-]> >[< <+> >-]< %% get object#
<[>[<<<<<<<<<<<<<<<<<<<< + >>>>>>>>>>>>>>>>>>>>-]< <<<<<<<<<<<<<<<<<<<<]> %% walk back to root object (drag object#)
<<<<<<<<<<<<<<<<<<<< [<<] >> %% stack pull param# height
<[> [>>] << >>>>>>>>>>>>>>>>>>>> >+< <<<<<<<<<<<<<<<<<<<< [<<] >> <-]>
[-]>> [>>] << >>>>>>>>>>>>>>>>>>>>
[ %% walk to object#n (drag param# & object index)
>[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]<
[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]
>>>>>>>>>>>>>>>>>>>>
-]
>[< <<<<<<<+>>>>>>> >-]< %% set slot# height
>]< %% END IF (function#5)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% function#4 draw() %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[-]<<[>>+>+<< <-]>> >[<< <+> >>-]< %% get function#
>[-]++++ [<->-]< >[-]< [>[-]+<-] >- [[-]< %% IF (function#4)
[-] #64# >++++++++[<++++++++>-]< ++++. %% D
[-] #64# >++++++++[<++++++++>-]< ++++++++++++++++++. %% R
[-] #64# >++++++++[<++++++++>-]< +. %% A
[-] #64# >++++++++[<++++++++>-]< +++++++++++++++++++++++. %% W
[-] #64# >++++++++[<++++++++>-]< +++++++++. %% I
[-] #64# >++++++++[<++++++++>-]< ++++++++++++++. %% N
[-] #64# >++++++++[<++++++++>-]< +++++++. %% G
[-] #30# >+++++[<++++++>-]< ++. %%
[-] #64# >++++++++[<++++++++>-]< +. %% A
[-] #30# >+++++[<++++++>-]< ++. %%
[-] #64# >++++++++[<++++++++>-]< ++++++++++++++++++. %% R
[-] #64# >++++++++[<++++++++>-]< +++++. %% E
[-] #64# >++++++++[<++++++++>-]< +++. %% C
[-] #64# >++++++++[<++++++++>-]< ++++++++++++++++++++. %% T
[-] #64# >++++++++[<++++++++>-]< +. %% A
[-] #64# >++++++++[<++++++++>-]< ++++++++++++++. %% N
[-] #64# >++++++++[<++++++++>-]< +++++++. %% G
[-] #64# >++++++++[<++++++++>-]< ++++++++++++. %% L
[-] #64# >++++++++[<++++++++>-]< +++++. %% E
[-] #30# >+++++[<++++++>-]< ++. %%
[-] #64# >++++++++[<++++++++>-]< +. %% A
[-] #64# >++++++++[<++++++++>-]< ++++++++++++++++++++. %% T
[-] #30# >+++++++[<++++++++>-]< ++. %% :
[-] #42# >++++++[<+++++++>-]< --. %% (
[-] <<<<[>>>>+>+<<<< <-]>>>> [<<<< + >>>>-] %% x
>[ %% output number
[>+>+<<-]>>[<<+>>-]< %% dup
>+++++++++<[>>>+<< [>+>[-]<<-] >[<+>-] %% mod10
>[<<++++++++++>>-] <<- <-] +++++++++ >[<->-]<
[>+<-] < [>+<-] < [>+<-] >>>[<<<+>>>-] < %% rrot
>+++++++++< [ >>>+<< [>+>[-]<<-] >[<+>-] %% div10
>[<<++++++++++>>>+<-] <<- <- ] >>>>[<<<<+>>>>-]<<<< >[-]<
<+> %% inc1
]
<[
[>+<-] %% mover
+++++++[<+++++++>-]<-> %% add48
<.[-]> %% putc
>[<<+>>-]< %% movel2
<-]
[-]<<<<[>>>>+>+<<<< <-]>>>> >[<<<< <+> >>>>-]< %% get slot# x
>[-][<->-]< >[-]< [>[-]+<-] >- [[-]< %% IF (x=0)
[-]>[-]+++++++[<+++++++>-]<-.[-] %% output 0 digit
>]< %% END IF (x=0)
[-] #42# >++++++[<+++++++>-]< ++. %% comma
[-] <<<<<[>>>>>+>+<<<<< <-]>>>>> [<<<<< + >>>>>-] %% y
>[ %% output number
[>+>+<<-]>>[<<+>>-]< %% dup
>+++++++++<[>>>+<< [>+>[-]<<-] >[<+>-] %% mod10
>[<<++++++++++>>-] <<- <-] +++++++++ >[<->-]<
[>+<-] < [>+<-] < [>+<-] >>>[<<<+>>>-] < %% rrot
>+++++++++< [ >>>+<< [>+>[-]<<-] >[<+>-] %% div10
>[<<++++++++++>>>+<-] <<- <- ] >>>>[<<<<+>>>>-]<<<< >[-]<
<+> %% inc1
]
<[
[>+<-] %% mover
+++++++[<+++++++>-]<-> %% add48
<.[-]> %% putc
>[<<+>>-]< %% movel2
<-]
[-]<<<<<[>>>>>+>+<<<<< <-]>>>>> >[<<<<< <+> >>>>>-]< %% get slot# y
>[-][<->-]< >[-]< [>[-]+<-] >- [[-]< %% IF (y=0)
[-]>[-]+++++++[<+++++++>-]<-.[-] %% output 0 digit
>]< %% END IF (y=0)
[-] #42# >++++++[<+++++++>-]< -. %% )
[-] #42# >++++++[<+++++++>-]< ++. %% comma
[-] #30# >+++++[<++++++>-]< ++. %%
[-] #64# >++++++++[<++++++++>-]< +++++++++++++++++++++++. %% W
[-] #64# >++++++++[<++++++++>-]< +++++++++. %% I
[-] #64# >++++++++[<++++++++>-]< ++++. %% D
[-] #64# >++++++++[<++++++++>-]< ++++++++++++++++++++. %% T
[-] #64# >++++++++[<++++++++>-]< ++++++++. %% H
[-] #30# >+++++[<++++++>-]< ++. %%
[-] <<<<<<[>>>>>>+>+<<<<<< <-]>>>>>> [<<<<<< + >>>>>>-] %% width
>[ %% output number
[>+>+<<-]>>[<<+>>-]< %% dup
>+++++++++<[>>>+<< [>+>[-]<<-] >[<+>-] %% mod10
>[<<++++++++++>>-] <<- <-] +++++++++ >[<->-]<
[>+<-] < [>+<-] < [>+<-] >>>[<<<+>>>-] < %% rrot
>+++++++++< [ >>>+<< [>+>[-]<<-] >[<+>-] %% div10
>[<<++++++++++>>>+<-] <<- <- ] >>>>[<<<<+>>>>-]<<<< >[-]<
<+> %% inc1
]
<[
[>+<-] %% mover
+++++++[<+++++++>-]<-> %% add48
<.[-]> %% putc
>[<<+>>-]< %% movel2
<-]
[-]<<<<<<[>>>>>>+>+<<<<<< <-]>>>>>> >[<<<<<< <+> >>>>>>-]< %% get slot# width
>[-][<->-]< >[-]< [>[-]+<-] >- [[-]< %% IF (width=0)
[-]>[-]+++++++[<+++++++>-]<-.[-] %% output 0 digit
>]< %% END IF (width=0)
[-] #42# >++++++[<+++++++>-]< ++. %% comma
[-] #30# >+++++[<++++++>-]< ++. %%
[-] #64# >++++++++[<++++++++>-]< ++++++++. %% H
[-] #64# >++++++++[<++++++++>-]< +++++. %% E
[-] #64# >++++++++[<++++++++>-]< +++++++++. %% I
[-] #64# >++++++++[<++++++++>-]< +++++++. %% G
[-] #64# >++++++++[<++++++++>-]< ++++++++. %% H
[-] #64# >++++++++[<++++++++>-]< ++++++++++++++++++++. %% T
[-] #30# >+++++[<++++++>-]< ++. %%
[-] <<<<<<<[>>>>>>>+>+<<<<<<< <-]>>>>>>> [<<<<<<< + >>>>>>>-] %% width
>[ %% output number
[>+>+<<-]>>[<<+>>-]< %% dup
>+++++++++<[>>>+<< [>+>[-]<<-] >[<+>-] %% mod10
>[<<++++++++++>>-] <<- <-] +++++++++ >[<->-]<
[>+<-] < [>+<-] < [>+<-] >>>[<<<+>>>-] < %% rrot
>+++++++++< [ >>>+<< [>+>[-]<<-] >[<+>-] %% div10
>[<<++++++++++>>>+<-] <<- <- ] >>>>[<<<<+>>>>-]<<<< >[-]<
<+> %% inc1
]
<[
[>+<-] %% mover
+++++++[<+++++++>-]<-> %% add48
<.[-]> %% putc
>[<<+>>-]< %% movel2
<-]
[-]<<<<<<<[>>>>>>>+>+<<<<<<< <-]>>>>>>> >[<<<<<<< <+> >>>>>>>-]< %% get slot# height
>[-][<->-]< >[-]< [>[-]+<-] >- [[-]< %% IF (height=0)
[-]>[-]+++++++[<+++++++>-]<-.[-] %% output 0 digit
>]< %% END IF (height=0)
[-] +++++++++++++.[-] %% \n
>]< %% END IF (function#4)
>]< %% END IF (class#2)
================================================================================================
= circle class =
================================================================================================
[-]<<<[>>>+>+<<< <-]>>> >[<<< <+> >>>-]< %% get class#
>[-]++ [<->-]< >[-]< [>[-]+<-] >- [[-]< %% IF (class#2)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% function#1 circle(x y radius) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[-]<<[>>+>+<< <-]>> >[<< <+> >>-]< %% get function#
>[-]+ [<->-]< >[-]< [>[-]+<-] >- [[-]< %% IF (function#1)
%% clear the slots
<<<<[-]>>>> %% x=0
<<<<<[-]>>>>> %% y=0
<<<<<<[-]>>>>>> %% radius=0
%% grab the x value from the stack
<[>+>+< <-]> >[< <+> >-]< %% get object#
<[>[<<<<<<<<<<<<<<<<<<<< + >>>>>>>>>>>>>>>>>>>>-]< <<<<<<<<<<<<<<<<<<<<]> %% walk back to root object (drag object#)
<<<<<<<<<<<<<<<<<<<< [<<] >> %% stack pull param# x
<[> [>>] << >>>>>>>>>>>>>>>>>>>> >+< <<<<<<<<<<<<<<<<<<<< [<<] >> <-]>
[-]>> [>>] << >>>>>>>>>>>>>>>>>>>>
[ %% walk to object#n (drag param# & object index)
>[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]<
[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]
>>>>>>>>>>>>>>>>>>>>
-]
>[< <<<<+>>>> >-]< %% set slot# x
%% grab the y value from the stack
<[>+>+< <-]> >[< <+> >-]< %% get object#
<[>[<<<<<<<<<<<<<<<<<<<< + >>>>>>>>>>>>>>>>>>>>-]< <<<<<<<<<<<<<<<<<<<<]> %% walk back to root object (drag object#)
<<<<<<<<<<<<<<<<<<<< [<<] >> %% stack pull param# y
<[> [>>] << >>>>>>>>>>>>>>>>>>>> >+< <<<<<<<<<<<<<<<<<<<< [<<] >> <-]>
[-]>> [>>] << >>>>>>>>>>>>>>>>>>>>
[ %% walk to object#n (drag param# & object index)
>[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]<
[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]
>>>>>>>>>>>>>>>>>>>>
-]
>[< <<<<<+>>>>> >-]< %% set slot# y
%% grab the radius value from the stack
<[>+>+< <-]> >[< <+> >-]< %% get object#
<[>[<<<<<<<<<<<<<<<<<<<< + >>>>>>>>>>>>>>>>>>>>-]< <<<<<<<<<<<<<<<<<<<<]> %% walk back to root object (drag object#)
<<<<<<<<<<<<<<<<<<<< [<<] >> %% stack pull param# radius
<[> [>>] << >>>>>>>>>>>>>>>>>>>> >+< <<<<<<<<<<<<<<<<<<<< [<<] >> <-]>
[-]>> [>>] << >>>>>>>>>>>>>>>>>>>>
[ %% walk to object#n (drag param# & object index)
>[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]<
[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]
>>>>>>>>>>>>>>>>>>>>
-]
>[< <<<<<<+>>>>>> >-]< %% set slot# radius
>]< %% END IF (function#1)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% function#2 moveTo(x y) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[-]<<[>>+>+<< <-]>> >[<< <+> >>-]< %% get function#
>[-]++ [<->-]< >[-]< [>[-]+<-] >- [[-]< %% IF (function#2)
%% grab the x value from the stack
<<<<[-]>>>> %% x=0
<[>+>+< <-]> >[< <+> >-]< %% get object#
<[>[<<<<<<<<<<<<<<<<<<<< + >>>>>>>>>>>>>>>>>>>>-]< <<<<<<<<<<<<<<<<<<<<]> %% walk back to root object (drag object#)
<<<<<<<<<<<<<<<<<<<< [<<] >> %% stack pull param# x
<[> [>>] << >>>>>>>>>>>>>>>>>>>> >+< <<<<<<<<<<<<<<<<<<<< [<<] >> <-]>
[-]>> [>>] << >>>>>>>>>>>>>>>>>>>>
[ %% walk to object#n (drag param# & object index)
>[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]<
[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]
>>>>>>>>>>>>>>>>>>>>
-]
>[< <<<<+>>>> >-]< %% set slot# x
%% grab the y value from the stack
<<<<<[-]>>>>> %% y=0
<[>+>+< <-]> >[< <+> >-]< %% get object#
<[>[<<<<<<<<<<<<<<<<<<<< + >>>>>>>>>>>>>>>>>>>>-]< <<<<<<<<<<<<<<<<<<<<]> %% walk back to root object (drag object#)
<<<<<<<<<<<<<<<<<<<< [<<] >> %% stack pull param# y
<[> [>>] << >>>>>>>>>>>>>>>>>>>> >+< <<<<<<<<<<<<<<<<<<<< [<<] >> <-]>
[-]>> [>>] << >>>>>>>>>>>>>>>>>>>>
[ %% walk to object#n (drag param# & object index)
>[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]<
[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]
>>>>>>>>>>>>>>>>>>>>
-]
>[< <<<<<+>>>>> >-]< %% set slot# y
>]< %% END IF (function#2)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% function#3 rMoveTo(x y) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[-]<<[>>+>+<< <-]>> >[<< <+> >>-]< %% get function#
>[-]+++ [<->-]< >[-]< [>[-]+<-] >- [[-]< %% IF (function#3)
%% grab the x value from the stack
<[>+>+< <-]> >[< <+> >-]< %% get object#
<[>[<<<<<<<<<<<<<<<<<<<< + >>>>>>>>>>>>>>>>>>>>-]< <<<<<<<<<<<<<<<<<<<<]> %% walk back to root object (drag object#)
<<<<<<<<<<<<<<<<<<<< [<<] >> %% stack pull param# x
<[> [>>] << >>>>>>>>>>>>>>>>>>>> >+< <<<<<<<<<<<<<<<<<<<< [<<] >> <-]>
[-]>> [>>] << >>>>>>>>>>>>>>>>>>>>
[ %% walk to object#n (drag param# & object index)
>[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]<
[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]
>>>>>>>>>>>>>>>>>>>>
-]
>[< <<<<+>>>> >-]< %% set slot# x
%% grab the y value from the stack
<[>+>+< <-]> >[< <+> >-]< %% get object#
<[>[<<<<<<<<<<<<<<<<<<<< + >>>>>>>>>>>>>>>>>>>>-]< <<<<<<<<<<<<<<<<<<<<]> %% walk back to root object (drag object#)
<<<<<<<<<<<<<<<<<<<< [<<] >> %% stack pull param# y
<[> [>>] << >>>>>>>>>>>>>>>>>>>> >+< <<<<<<<<<<<<<<<<<<<< [<<] >> <-]>
[-]>> [>>] << >>>>>>>>>>>>>>>>>>>>
[ %% walk to object#n (drag param# & object index)
>[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]<
[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]
>>>>>>>>>>>>>>>>>>>>
-]
>[< <<<<<+>>>>> >-]< %% set slot# y
>]< %% END IF (function#3)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% function#5 setRadius(radius) %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[-]<<[>>+>+<< <-]>> >[<< <+> >>-]< %% get function#
>[-]+++++ [<->-]< >[-]< [>[-]+<-] >- [[-]< %% IF (function#5)
%% grab the radius value from the stack
<<<<<<[-]>>>>>> %% radius=0
<[>+>+< <-]> >[< <+> >-]< %% get object#
<[>[<<<<<<<<<<<<<<<<<<<< + >>>>>>>>>>>>>>>>>>>>-]< <<<<<<<<<<<<<<<<<<<<]> %% walk back to root object (drag object#)
<<<<<<<<<<<<<<<<<<<< [<<] >> %% stack pull param# radius
<[> [>>] << >>>>>>>>>>>>>>>>>>>> >+< <<<<<<<<<<<<<<<<<<<< [<<] >> <-]>
[-]>> [>>] << >>>>>>>>>>>>>>>>>>>>
[ %% walk to object#n (drag param# & object index)
>[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]<
[>>>>>>>>>>>>>>>>>>>> + <<<<<<<<<<<<<<<<<<<< -]
>>>>>>>>>>>>>>>>>>>>
-]
>[< <<<<<<+>>>>>> >-]< %% set slot# radius
>]< %% END IF (function#5)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% function#4 draw() %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[-]<<[>>+>+<< <-]>> >[<< <+> >>-]< %% get function#
>[-]++++ [<->-]< >[-]< [>[-]+<-] >- [[-]< %% IF (function#4)
[-] #64# >++++++++[<++++++++>-]< ++++. %% D
[-] #64# >++++++++[<++++++++>-]< ++++++++++++++++++. %% R
[-] #64# >++++++++[<++++++++>-]< +. %% A
[-] #64# >++++++++[<++++++++>-]< +++++++++++++++++++++++. %% W
[-] #64# >++++++++[<++++++++>-]< +++++++++. %% I
[-] #64# >++++++++[<++++++++>-]< ++++++++++++++. %% N
[-] #64# >++++++++[<++++++++>-]< +++++++. %% G
[-] #30# >+++++[<++++++>-]< ++. %%
[-] #64# >++++++++[<++++++++>-]< +. %% A
[-] #30# >+++++[<++++++>-]< ++. %%
[-] #64# >++++++++[<++++++++>-]< +++. %% C
[-] #64# >++++++++[<++++++++>-]< +++++++++. %% I
[-] #64# >++++++++[<++++++++>-]< ++++++++++++++++++. %% R
[-] #64# >++++++++[<++++++++>-]< +++. %% C
[-] #64# >++++++++[<++++++++>-]< ++++++++++++. %% L
[-] #64# >++++++++[<++++++++>-]< +++++. %% E
[-] #30# >+++++[<++++++>-]< ++. %%
[-] #64# >++++++++[<++++++++>-]< +. %% A
[-] #64# >++++++++[<++++++++>-]< ++++++++++++++++++++. %% T
[-] #30# >+++++++[<++++++++>-]< ++. %% :
[-] #42# >++++++[<+++++++>-]< --. %% (
[-] <<<<[>>>>+>+<<<< <-]>>>> [<<<< + >>>>-] %% x
>[ %% output number
[>+>+<<-]>>[<<+>>-]< %% dup
>+++++++++<[>>>+<< [>+>[-]<<-] >[<+>-] %% mod10
>[<<++++++++++>>-] <<- <-] +++++++++ >[<->-]<
[>+<-] < [>+<-] < [>+<-] >>>[<<<+>>>-] < %% rrot
>+++++++++< [ >>>+<< [>+>[-]<<-] >[<+>-] %% div10
>[<<++++++++++>>>+<-] <<- <- ] >>>>[<<<<+>>>>-]<<<< >[-]<
<+> %% inc1
]
<[
[>+<-] %% mover
+++++++[<+++++++>-]<-> %% add48
<.[-]> %% putc
>[<<+>>-]< %% movel2
<-]
[-]<<<<[>>>>+>+<<<< <-]>>>> >[<<<< <+> >>>>-]< %% get slot# x
>[-][<->-]< >[-]< [>[-]+<-] >- [[-]< %% IF (x=0)
[-]>[-]+++++++[<+++++++>-]<-.[-] %% output 0 digit
>]< %% END IF (x=0)
[-] #42# >++++++[<+++++++>-]< ++. %% comma
[-] <<<<<[>>>>>+>+<<<<< <-]>>>>> [<<<<< + >>>>>-] %% y
>[ %% output number
[>+>+<<-]>>[<<+>>-]< %% dup
>+++++++++<[>>>+<< [>+>[-]<<-] >[<+>-] %% mod10
>[<<++++++++++>>-] <<- <-] +++++++++ >[<->-]<
[>+<-] < [>+<-] < [>+<-] >>>[<<<+>>>-] < %% rrot
>+++++++++< [ >>>+<< [>+>[-]<<-] >[<+>-] %% div10
>[<<++++++++++>>>+<-] <<- <- ] >>>>[<<<<+>>>>-]<<<< >[-]<
<+> %% inc1
]
<[
[>+<-] %% mover
+++++++[<+++++++>-]<-> %% add48
<.[-]> %% putc
>[<<+>>-]< %% movel2
<-]
[-]<<<<<[>>>>>+>+<<<<< <-]>>>>> >[<<<<< <+> >>>>>-]< %% get slot# y
>[-][<->-]< >[-]< [>[-]+<-] >- [[-]< %% IF (y=0)
[-]>[-]+++++++[<+++++++>-]<-.[-] %% output 0 digit
>]< %% END IF (y=0)
[-] #42# >++++++[<+++++++>-]< -. %% )
[-] #42# >++++++[<+++++++>-]< ++. %% comma
[-] #30# >+++++[<++++++>-]< ++. %%
[-] #64# >++++++++[<++++++++>-]< ++++++++++++++++++. %% R
[-] #64# >++++++++[<++++++++>-]< +. %% A
[-] #64# >++++++++[<++++++++>-]< ++++. %% D
[-] #64# >++++++++[<++++++++>-]< +++++++++. %% I
[-] #64# >++++++++[<++++++++>-]< +++++++++++++++++++++. %% U
[-] #64# >++++++++[<++++++++>-]< +++++++++++++++++++. %% S
[-] #30# >+++++[<++++++>-]< ++. %%
[-] <<<<<<[>>>>>>+>+<<<<<< <-]>>>>>> [<<<<<< + >>>>>>-] %% radius
>[ %% output number
[>+>+<<-]>>[<<+>>-]< %% dup
>+++++++++<[>>>+<< [>+>[-]<<-] >[<+>-] %% mod10
>[<<++++++++++>>-] <<- <-] +++++++++ >[<->-]<
[>+<-] < [>+<-] < [>+<-] >>>[<<<+>>>-] < %% rrot
>+++++++++< [ >>>+<< [>+>[-]<<-] >[<+>-] %% div10
>[<<++++++++++>>>+<-] <<- <- ] >>>>[<<<<+>>>>-]<<<< >[-]<
<+> %% inc1
]
<[
[>+<-] %% mover
+++++++[<+++++++>-]<-> %% add48
<.[-]> %% putc
>[<<+>>-]< %% movel2
<-]
[-]<<<<<<[>>>>>>+>+<<<<<< <-]>>>>>> >[<<<<<< <+> >>>>>>-]< %% get slot# radius
>[-][<->-]< >[-]< [>[-]+<-] >- [[-]< %% IF (radius=0)
[-]>[-]+++++++[<+++++++>-]<-.[-] %% output 0 digit
>]< %% END IF (radius=0)
[-] +++++++++++++.[-] %% \n
>]< %% END IF (function#4)
>]< %% END IF (class#2)
<[<<<<<<<<<<<<<<<<<<<<]> %% walk back to root object
<<<<<<<<<<<<<<<<<<<< <<]
|
DRAWING A CIRCLE AT:(15,25), RADIUS 8 DRAWING A RECTANGLE AT:(10,20), WIDTH 5, HEIGHT 6 DRAWING A CIRCLE AT:(115,125), RADIUS 8 DRAWING A RECTANGLE AT:(110,120), WIDTH 5, HEIGHT 6 DRAWING A RECTANGLE AT:(0,0), WIDTH 30, HEIGHT 15 |
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>[-]>[-]>[-]>[-]>[-]>[-]>[-]> [-]><<<<<<<<<<<<<<<<<<<<[<<]+<+>[>>]<<>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<[< <]+<>[>>]<<>>>>>>>> >>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<[>>>>>>>>>>>>>> >>>>>>>><<<<<<<<< <<<<<<<<<<<[<<]>><[>[>>]<<>>>>>>>>>>>>>>>>>>>>+ <<<<<<<<<<<<<< <<<<<<[<<]>><-]>[-]>>[>>]<<>>>>>>>>>>>>>>>>> >>><<<<<<<< <<<<<<<<<<<<[<<]>><[>[>>]<<>>>>>>>>>>>>>> >>>>>>>+<< <<<<<<<<<<<<<<<<<<<[<<]>><-]>[-]>>[>>]<< >>>>>>>>> >>>>>>>>>>>[>[>>>>>>>>>>>>>>>>>>>>+<<<< <<<<<<<< <<<<<<<< -]<[>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<< <<<<<<< -]>>>>>>>> >>>>>>>>>>>>-]<<[-]>>>[<<<+>>>-]<[-]< <<[>>> +>+<<<<-]>>>>[ <<<<+>>>>-]<>[-][<->-]<>[-]<[>[-]+<- ]>-[[- ]<[-]<<[>>+>+<<< -]>>>[<<<+>>>-]<+<<<<<<<<<<<<<<<<<<< <[<<]+ <++++>[>>]<<>>>>>> >>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<[< <]+<[ -]>[>>]<<>>>>>>>>>>> >>>>>>>>>[<<<<<<<<<<<<<<<<<<<<[<<]> +>[>> ]<<>>>>>>>>>>>>>>>>> >>>-]<<<<<<<<<<<<<<<<<<<<[<<]+<[-]> [>>]< <>>>>>>>>>>>>>>>>>>> >[-]<<[>>+>+<<<-]>>>[<<<+>>>-]<>[-] +[<- >-]<>[-]<[>[-]+<-]>- [[-]<<[<<<<<<<<<<<<<<<<<<<<]>>>>>> >>>> >>>>>>>>>>><[>[-]<[>+> +<<-]>>[<<+>>-]<[>>>>>>>>>>>>>>>>> >>>+ <<<<<<<<<<<<<<<<<<<<-] >>>>>>>>>>>>>>>>>>>><]><[-]+>[<+>- ]<>< <<[-]+>>>[-]<[>+>+<<-] >>[<<+>>-]<<[>[<<<<<<<<<<<<<<<<<<< <+>> >>>>>>>>>>>>>>>>>>-]<< <<<<<<<<<<<<<<<<<<<]>[<<<<+>>>>-]< <<<[ >>>>+>+<<<<<-]>>>>>[<< <<<+>>>>>-]<<<<<<<<<<<<<<<<<<<<<[< <]+< ++++++>[>>]<<>>>>>>> >>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<[ <<]+< +++++>[>>]<<>>>>>>>> >>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<[<< ]+<++ ++++++++++++++++++>[ >>]<<>>>>>>>>>>>>>>>>>>>><<<<<<<<<< <<<<< <<<<<[<<]+<+++++++++ +>[>>]<<>>>>>>>>>>>>>>>>>>>><<<<<<< <<<<< <<<<<<<<[<<]+<+>[>>] <<>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<< <<<<<< <[<<]+<[-]>[>>]<<> >>>>>>>>>>>>>>>>>>>[<<<<<<<<<<<<<<<< <<<<[< <]>+>[>>]<<>>>>> >>>>>>>>>>>>>>>-]<[<<<<<<<<<<<<<<<<< <<<]>> >>>>>>>>>>>>>> >>>>><[>[-]<[>+>+<<-]>>[<<+>>-]<[>>> >>>>>>> >>>>>>>>>> +<<<<<<<<<<<<<<<<<<<<-]>>>>>>>>>>>>>> >>>>>><] ><[-]+>[ <+>-]<><<<[-]++>>>[-]<[>+>+<<-]>>[<<+> >-]<<[>[< <<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>> >-]<<<<<<< <<<<<<<<<<<<<<]>[<<<<<+>>>>>-]<<<<<[>>>> >+>+<<<<<<- ]>>>>>>[<<<<<<+>>>>>>-]<<<<<<<<<<<<<<<<<< <<<[<<]+<+++++ +++>[>>]<<>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<< <<<<<<[<<]+<+++++ ++++++++++++++++++++>[>>]<<>>>>>>>>>>>>>>>>>>>> <<<<<<<<<<<<<<<<<<< <[<<]+<+++++++++++++++>[>>]<<>>>>>>>>>>>>>>>>>>>> <<<<<<<<<<<<<<<<<<<<[<<]+<+>[>>]<<>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<[<<]+< [-]>[>>]<<>>>>>>>>>>>>>>>>>>>>[<<<<<<<<<<<<<<<<<<<<[<<]>+>[>>]<<>>>>>>>>>>>>>>>> >>>>-]>]<[-]<<[>>+>+<<<-]>>>[<<<+>>>-]<>[-]++[<->-]<>[-]<[>[-]+<-]>-[[-]<<<<<[>> >>+>+<<<<<-]>>>>>[<<<<<+> >>>>-]<[>>>>+<<<<-]<<<<<[>>>>>+>+<<<<<<-]>> >>>>[<<<<<<+>>>>>>-]<[> >>>>+<<<<<-]>>>++[-<<<>>>>[<<<<+>>>>-]<<< <<<<<<<<<<<<<<<<<<<< <[<<]+<++++>[>>]<<>>>>>>>>>>>>>>>>>>>> <<<<<<<<<<<<<<<<< <<<[<<]+<[-]>[>>]<<>>>>>>>>>>>>>>>> >>>>[<<<<<<<<<<< <<<<<<<<<[<<]>+>[>>]<<>>>>>>>>>>>> >>>>>>>>-]>>>>> [<+>-]<<<<<>>>]<<<>]<[-]<<[>>+>+< <<-]>>>[<<<+>> >-]<>[-] +++[<->-]<>[-]<[>[-]+<-]>-[[-]<< <<<[>>>>+>+<< <<<-]>>>>> [<<<<<+>>>>>-]<[>>>>+<<<<-]<<<< <[>>>>>+>+<< <<<<-]>>>>>>[< <<<<<+>>>>>>-]<[>>>>>+<<<<<-]> >>++[-<<<>>> >[<<<<+>>>>-]<<< <<<<<<<<<<<<<<<<<<<<<[<<]<++++ [>+++++<-]>[ <+++++>-]<>+[>>]<< >>>>>>>>>>>>>>>>>>>><<<<<<<<<< <<<<<<<<<<[< <]<++++[>+++++<-]> [<+++++>-]<>+[>>]<<>>>>>>>>>>> >>>>>>>>><< <<<<<<<<<<<<<<<<<<[< <]+<+++>[>>]<<>>>>>>>>>>>>>>> >>>>><<<<<< <<<<<<<<<<<<<<[<<]+< [-]>[>>]<<>>>>>>>>>>>>>>>>>>> >[<<<<<<<<< <<<<<<<<<<<[<<]>+>[> >]<<>>>>>>>>>>>>>>>>>>>>-]>>> >>[<+>-]<< <<<>>>]<<<>]<[-]<<[> >+>+<<<-]>>>[<<<+>>>-]<>[-]+ +++[<->-]< >[-]<[>[-]+<-]>-[[-]<< <<<[>>>>+>+<<<<<-]>>>>>[<<<< <+>>>>>-]< [>>>>+<<<<-]<<<<<[>>>> >+>+<<<<<<-]>>>>>>[<<<<<<+>> >>>>-]<[>> >>>+<<<<<-]>>>++[-<<<> >>>[<<<<+>>>>-]<<<<<<<<<<<<< <<<<<<<<<< <[<<]+<++++>[>>]<<>>>> >>>>>>>>>>>>>>>><<<<<<<<<<<< <<<<<<<<[< <]+<[-]>[>>]<<>>>>>>>> >>>>>>>>>>>>[<<<<<<<<<<<<<<< <<<<<[<<]> +>[>>]<<>>>>>>>>>>>> >>>>>>>>-]>>>>>[<+>-]<<<<<>> >]<<<>]<[-] <<[>>+>+<<<-]>>>[<<< +>>>-]<>[-]+++++[<->-]<>[-]<[ >[-]+<-]>-[ [-]<<[<<<<<<<<<<<<<< <<<<<<]>>>>>>>>>>>>>>>>>>>>>< [>[-]<[>+>+ <<-]>>[<<+>>-]<[>>>> >>>>>>>>>>>>>>>>+<<<<<<<<<<<< <<<<<<<<-]>> >>>>>>>>>>>>>>>>>> <]><[-]+>[<+>-]<><<<[-]+>>>[-] <[>+>+<<-]>> [<<+>>-]<<[>[<<< <<<<<<<<<<<<<<<<<+>>>>>>>>>>>> >>>>>>>>-]<< <<<<<<<<<<<<<< <<<<<]>[<<<<<<+>>>>>>-]<<<<<<[ >>>>>>+>+<<<< <<<-]>>>>> >>[<<<<<<<+>>>>>>>-]<<<<<<<<<<< <<<<<<<<<<[<<] +<++++++ +++++++++>[>>]<<>>>>>>>>>>>>>>>> >>>><<<<<<<<<<< <<<<<<<<<[<<]+<+++++++++++++++>[> >]<<>>>>>>>>>>>> >>>>>>>><<<<<<<<<<<<<<<<<<<<[<<]+< >[>>]<<>>>>>>>>>> >>>>>>>>>><<<<<<<<<<<<<<<<<<<<[<<]+ <>[>>]<<>>>>>>>>>>>> >>>>>>>><<<<<<<<<<<<<<<<<<<<[<<]+<+>[> >]<<>>>>>>>>>>>>>>>>>>> ><<<<<<<<<<<<<<<<<<<<[<<]+<[-]>[>>]<<>>>> >>>>>>>>>>>>>>>>[<<<<<<<< <<<<<<<<<<<<[<<]>+>[>>]<<>>>>>>>>>>>>>>>>>> >>-]>]<[-]<<[>>+>+<<<-]>>>[<<<+>>>-]<>[-]++++++[<->-]<>[-]<[>[-]+<-]>-[[-]<<<<<< <[>>>>>>+>+<<<<<<<-]>>>>>>>[<<<<<<<+>>>>>>>-]<<<<<<<<<<<<<<<<<<<<<[<<]+<++++++++ ++++++++++++++++++++++>[>>]<<>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<[<<]+<+++++ >[>>]<<>>>>>>>>>>>>>>> >>>>><<<<<<<<<<<<<<<<<<<<[ <<]+<[-]>[>>]<<>>>>>>> >>>>>>>>>>>>>[<<<<<<<<< <<<<<<<<<<<[<<]>+>[>>] <<>>>>>>>>>>>>>>>>>>> >-]>]<[-]<<[>>+>+<<<-] >>>[<<<+>>>-]<>[-]+ ++++++[<->-]<>[-]<[>[- ]+<-]>-[[-]<<<<<<<[ >>>>>>+>+<<<<<<<-]>>>> >>>[<<<<<<<+>>>>> >>-]<<<<<<<<<<<<<<<<<< <<<[<<]+<++++>[>> ]<<>>>>>>>>>>>>>> >>>>>><<<<<<<<<<<<<<<< <<<<[<<]+<[-]>[>>] <<>>>>>>>>>>>>>>> >>>>>[<<<<<<<<<<<<<<<< <<<<[<<]>+>[>>]<<>> >>>>>>>>>>>>>>>> >>-]>]<[-]<<[>>+>+<<<- ]>>>[<<<+>>>-]<>[-]+ +++++++[<->-]<>[ -]<[>[-]+<-]>-[[-]<<<< <<<<<<<<<<<<<<<<<<<[ -]>>>>>>>>>>>>>> >>>>>>>>>]<>]<[-]<<<[> >>+>+<<<<-]>>>>[<<<< +>>>>-]<>[-]+[<- >-]<>[-]<[>[-]+<-]>-[[ -]<[-]<<[>>+>+<<<-]> >>[<<<+>>>-]<>[- ]+[<->-]<>[-]<[>[-]+<- ]>-[[-]<<<<<[-]>>>> <<<<<[-]>>>>><<< <<<[-]>>>>>><<<<<<<[-] >>>>>>><[>+>+<<-]> >[<<+>>-]<<[>[<<< <<<<<<<<<<<<<<<<<+>>>> >>>>>>>>>>>>>>>>- ]<<<<<<<<<<<<<<<< <<<<<]><<<<<<<<<<<<<<< <<<<<[<<]>><[>[>> ]<<>>>>>>>>>>>>>>>>>>> >>+<<<<<<<<<<<<<<<<< <<<<[<<]>><-]>[-]>>[>> ]<<>>>>>>>>>>>>>>>>> >>>[>[>>>>>>>>>>>>>>>> >>>>+<<<<<<<<<<<<<<<<<< <<-]<[>>>>>>>>>>>>>>>> >>>>+<<<<<<<<<<<<<<<<<<<<- ]>>>>>>>>>>>>>>>>>>>>- ]>[<<<<<+>>>>>-]<<[>+>+<<-]>> [<<+>>-]<<[>[<<<<<<<<< <<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>-]<<<<<<<<<<<<<< <<<<<<<]><<<<<<<<<<<<< <<<<<<<[<<]>><[>[>>]<<>>>>>>>>>>>>>>>>>>>>>+<<<< <<<<<<<<<<<<<<<<<[<<]> ><-]>[-]>>[>>]<<>>>>>>>>>>>>>>>>>>>>[>[>>>>>>>>> >>>>>>>>>>>+<<<<<<<<<< <<<<<<<<<<-]<[>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<< <<<<<<<-]>>>>>>>>>>>>> >>>>>>>-]>[<<<<<<+>>>>>>-]<<[>+>+<<-]>>[<<+>>-]< <[>[<<<<<<<<<<<<<<<<<< <<+>>>>>>>>>>>>>>>>>>>>-]<<<<<<<<<<<<<<<<<<<<<]> <<<<<<<<<<<<<<<<<<<<[< <]>><[>[>>]<<>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<< <<<<<<<<[<<]>><-]>[-]> >[>>]<<>>>>>>>>>>>>>>>>>>>>[>[>>>>>>>>>>>>>>>>>> >>+<<<<<<<<<<<<<<<<<<< <-]<[>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<-] >>>>>>>>>>>>>>>>>>>>-] >[<<<<<<<+>>>>>>>-]<<[>+>+<<-]>>[<<+>>-]<<[>[<<< <<<<<<<<<<<<<<<<<+>>>> >>>>>>>>>>>>>>>>-]<<<<<<<<<<<<<<<<<<<<<]><<<<<<< <<<<<<<<<<<<<[<<]>><[> [>>]<<>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<< <[<<]>><-]>[-]>>[>>]<< >>>>>>>>>>>>>>>>>>>>[>[>>>>>>>>>>>>>>>>>>>>+<<<< <<<<<<<<<<<<<<<<-]<[>> >>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<-]>>>>>>> >>>>>>>>>>>>>-]>[<<<<<<<<+>>>>>>>>-]<>]<[-]<<[>>+>+<<<-]>>>[<<<+>>>-]<>[-]++[<-> -]<>[-]<[>[-]+<-]>-[[-]<<<<<[-]>>>><[>+>+<<-]>>[<<+>>-]<<[>[<<<<<<<<<<<<<<<<<<<< +>>>>>>>>>>>>>>>>>>>>-]<<<<<<<<<<<<<<<<<<<<<]><<<<<<<<<<<<<<<<<<<<[<<]>><[>[>>]< <>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<[<<]>><-]>[-]>>[>>]<<>>>>>>>>>>>>>>> >>>>>[>[>>>>>>>>>>>>>>>>>>>>+<<<<< <<<<<<< <<<<<<<<-]<[>>>>>>> >>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<< -]>>>>> >>>>>>>>>>>>>>>-]>[ <<<<<+>>>>>-]<<<<<<[-]>>>>><[>+>+< <-]>>[< <+>>-]<<[>[<<<<<<<< <<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>- ]<<<<<< <<<<<<<<<<<<<<<]><< <<<<<<<<<<<<<<<<<<[<<]>><[>[>>]<<> >>>>>>> >>>>>>>>>>>>>+<<<<< <<<<<<<<<<<<<<<<[<<]>><-]>[-]>>[>> ]<<>>>> >>>>>>>>>>>>>>>>[>[ >>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<< <<<<<<< -]<[>>>>>>>>>>>>>>> >>>>>+<<<<<<<<<<<<<<<<<<<<- ]>>>>>>>>>>> >>>>>>>>>-]>[<<<<<<+>>>>>>- ]<>]<[-]<<[> >+>+<<<-]>>>[<<<+>>>-]<>[-] +++[<->-]<>[ -]<[>[-]+<-]>-[[-]<<[>+>+<< -]>>[<<+>>-] <<[>[<<<<<<<<<<<<<<<<<<<<+> >>>>>>>>>>>> >>>>>>>-]<<<<<<<<<<<<<<<<<<<<<]><< <<<<<<< <<<<<<<<<<<[<<]>><[ >[>>]<<>>>>>>>>>>>>>>>>>>>>>+<<<<< <<<<<<< <<<<<<<<<[<<]>><-]> [-]>>[>>]<<>>>>>>>>>>>>>>>>>>>>[>[ >>>>>>> >>>>>>>>>>>>>+<<<<< <<<<<<<<<<<<<<<-]<[>>>>>>>>>>>>>>> >>>>>+< <<<<<<<<<<<<<<<<<<< -]>>>>>>>>>>>>>>>>>>>>-]>[<<<<<+>> >>>-]<< [>+>+<<-]>>[<<+>>-] <<[>[<<<<<<<<<<<<<<<<<<<<+>>>>>>>> >>>>>>> >>>>>-]<<<<<<<<<<<< <<<<<<<<<]><<<<<<<<<<<<<<<<<<<<[<< ]>><[>[ >>]<<>>>>>>>>>>>>>> >>>>>>>+<<<<<<<<<<<<<<<<<<< <<[<<]>><-]> [-]>>[>>]<<>>>>>>>>>>>>>>>> >>>>[>[>>>>> >>>>>>>>>>>>>>>+<<<<<<<<<<< <<<<<<<<<-]< [>>>>>>>>>>>>>>>>>>>>+<<<<< <<<<<<<<<<<< <<<-]>>>>>>>>>>>>>>>>>>>>-] >[<<<<<<+>>> >>>-]<>]<[-]<<[>>+>+<<<-]>>>[<<<+> >>-]<>[ -]+++++[<->-]<>[-]< [>[-]+<-]>-[[-]<<<<<<<[-]>>>>>><[> +>+<<-] >>[<<+>>-]<<[>[<<<< <<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>> >>>-]<< <<<<<<<<<<<<<<<<<<< ]><<<<<<<<<<<<<<<<<<<<[<<]>><[>[>> ]<<>>>> >>>>>>>>>>>>>>>>>+< <<<<<<<<<<<<<<<<<<<<[<<]>><-]>[-]> >[>>]<< >>>>>>>>>>>>>>>>>>> >[>[>>>>>>>>>>>>>>>>>>>>+<<<<<<<<< <<<<<<< <<<<-]<[>>>>>>>>>>> >>>>>>>>>+<<<<<<<<<<<<<<<<<<<<-]>> >>>>>>> >>>>>>>>>>>-]>[<<<< <<<+>>>>>>>-]<>]<[-]<<[>>+>+<<<-]>>>[<<<+>>>-]<>[-]++++++[<->-]<>[-]<[>[-]+<-]>- [[-]<<<<<<<[-]>>>>>><[>+>+<<-]>>[<<+>>-]<<[>[<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>> >>>>>>-]<<<<<<<<<<<<<<<<<<<<<]><<<<<<<<<<<<<<<<<<<<[<<]>><[>[>>]<<>>>>>>>>>>>>>> >>>>>>>+<<<<<<<<<<<<<<<<<<<<<[<<]>><-]>[-]>>[>>]<<>>>>> >>>>>>>>>>>>>>> [>[>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<-]<[>>>>>> >>>>>>>>>>>>>>+ <<<<<<<<<<<<<<<<<<<<-]>>>>>>>>>>>>>>>>>>>>-]>[<<<<<<< <+>>>>>>>>-]<>] <[-]<<[>>+>+<<<-]>>>[<<<+>>>-]<>[-]++++[<->-]<>[-]<[ >[-]+<-]>-[[-]< [-]>++++++++[<++++++++>-]<++++.[-]>++++++++[<++++++ ++>-]<+++++++++ +++++++++.[-]>++++++++[<++++++++>-]<+.[-]>++++++++ [<++++++++>-]<+ ++++++++++++++++++++++.[-]>++++++++[<++++++++>-]< +++++++++.[-]>+ +++++++[<++++++++>-]<++++++++++++++.[-]>++++++++ [<++++++++>-]<+ ++++++.[-]>+++++[<++++++>-]<++.[-]>++++++++[<++ ++++++>-]<+.[-] >+++++[<++++++>-]<++.[-]>++++++++[<++++++++>-]<++++++++ ++++++++++.[-]> ++++++++[<++++++++>-]<+++++.[-]>++++++++[<++++++++>-]<+ ++.[-]>++++++++ [<++++++++>-]<++++++++++++++++++++.[-]>++++++++[<++++++ ++>-]<+.[-]>+++ +++++[<++++++++>-]<++++++++++++++.[-]>++++++++[<+++++++ +>-]<+++++++.[- ]>++++++++[<++++++++>-]<++++++++++++.[-]>++++++++[<++++ ++++>-]<+++++.[ -]>+++++[<++++++>-]<++.[-]>++++++++[<++++++++>-]<+.[-]> ++++++++[<+++++ +++>-]<++++++++++++++++++++.[-]>+++++++[<++++++++>-]<++ .[-]>++++++[<++ +++++>-]<--.[-]<<<<[>>>>+>+<<<<<-]>>>>[<<<<+>>>>-]>[[>+ >+<<-]>>[<<+>>- ]<>+++++++++<[>>>+<<[>+>[-]<<-]>[<+>-]>[<<++++++++++>>- ]<<-<-]++++++++ +>[<->-]<[>+<-]<[>+<-]<[>+<-]>>>[<<<+>>>-]<>+++++++++<[ >>>+<<[>+>[-]<< -]>[<+>-]>[<<++++++++++>>>+<-]<<-<-]>>>>[<<<<+>>>>-]<<< <>[-]<<+>]<[[>+ <-]+++++++[<+++++++>-]<-><.[-]>>[<<+>>-]<<-][-]<<<<[>>> >+>+<<<<<-]>>>> >[<<<<<+>>>>>-]<>[-][<->-]<>[-]<[>[-]+<-]>-[[-]<[-]>[-] +++++++[<++++++ +>-]<-.[-]>]<[-]>++++++[<+++++++>-]<++.[-]<<<<<[>>>>>+> +<<<<<<-]>>>>>[ <<<<<+>>>>>-]>[[>+>+<<-]>>[<<+>>-]<>+++++++++<[>>>+<<[> +>[-]<<-]>[<+>- ]>[<<++++++++++>>-]<<-<-]+++++++++>[<->-]<[>+<-]<[>+<-] <[>+<-]>>>[<<<+ >>>-]<>+++++++++<[>>>+<<[>+>[-]<<-]>[<+>-]>[<<+++++++++ +>>>+<-]<<-<-]> >>>[<<<<+>>>>-]<<<<>[-]<<+>]<[[>+<-]+++++++[<+++++++>-] <-><.[-]>>[<<+> >-]<<-][-]<<<<<[>>>>>+>+<<<<<<-]>>>>>>[<<<<<<+>>>>>>-]< >[-][<->-]<>[-] <[>[-]+<-]>-[[-]<[-]>[-]+++++++[<+++++++>-]<-.[-]>]<[-] >++++++[<++++++ +>-]<-.[-]>++++++[<+++++++>-]<++.[-]>+++++[<++++++>-]<+ +.[-]>++++++++[ <++++++++>-]<+++++++++++++++++++++++.[-]>++++ ++++[ <++++++++>-]<+++++++++.[-]>++++++++[<++++++++ >-]<+ +++.[-]>++++++++[<++++++++>-]<+++++++++++++++ +++++ .[-]>++++++++[<++++++++>-]<++++++++.[-]>+++++ [<+++ +++>-]<++.[-]<<<<<<[>>>>>>+>+<<<<<<<-]>>>>>>[ <<<<< <+>>>>>>-]>[[>+>+<<-]>>[<<+>>-]<>+++++++++<[>>>+<<[>+>[-]<<-]>[<+>-]>[<<++++++++ ++>>-]<<-<-]+++++++++>[<->-]<[>+<-]<[>+<-]<[>+<-]>>>[<<<+>>>-]<>+++++++++<[>>>+< <[>+>[-]<<-]>[<+>-]>[<<++++++++++>>>+<-]<<-<-]>>>>[<<<<+>>>>-]<<<<>[-]<<+>]<[[>+ <-]+++++++[<+++++++>-]<-><.[-]>>[<<+>>-]<<-][-]<<<<<<[>>>>>>+>+<<<<<<<-]>>>>>>>[ <<<<<<<+>>>>>>>-]<>[-][<->-]<>[-]<[>[-]+<-]>-[[-]<[-]>[-]+++++++[<+++++++>-]<-.[ -]>]<[-]>++++++[<+++++++>-]<++.[-]>+++++[<++++++>-]<++.[-]>++++++++[<++++++++>-] <++++++++.[-]>++++++++[<++++++++>-]<+++++.[-]>++++++++[<++++++++>-]<+++++++++.[- ]>++++++++[<++++++++>-]<+++++++.[-]>++++++++[<++++++++>-]<++++++++.[-]>++++++++[ <++++++++>-]<++++++++++++++++++++.[-]>+++++[<++++++>-]<++.[-]<<<<<<<[>>>>>>>+>+< <<<<<<<-]>>>>>>>[<<<<<<<+>>>>>>>-]>[[>+>+<<-]>>[<<+>>-]<>+++++++++<[>>>+<<[>+>[- ]<<-]>[<+>-]>[<<++++++++++>>-]<<-<-]+++++++++>[<->-]<[>+<-]<[>+<-]<[>+<-]>>>[<<< +>>>-]<>+++++++++<[>>>+<<[>+>[-]<<-]>[<+>-]>[<<++++++++++>>>+<-]<<-<-]>>>>[<<<<+ >>>>-]<<<<>[-]<<+>]<[[>+<-]+++++++[<+++++++>-]<-><.[-]>>[<<+>>-]<<-][-]<<<<<<<[> >>>>>>+>+<<<<<<<<-]>>>>>>>>[<<<<<<<<+>>>>>>>>-]<>[-][<->-]<>[-]<[>[-]+<-]>-[[-]< [-]>[-]+++++++[<+++++++>-]<-.[-]>]<[-]+++++++++++++.[-]>]<>]<[-]<<<[>>>+>+<<<<-] >>>>[<<<<+>>>>-]<>[-]++[<->-]<>[-]<[>[-]+<-]>-[[-]<[-]<<[>>+>+<<<-]>>>[<<<+>>>-] <>[-]+[<->-]<>[-]<[>[-]+<-]>-[[-]<<<<<[-]>>>><<<<<[-]>>>>><<<<<<[-]>>>>>><[>+>+< <-]>>[<<+>>-]<<[>[<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>-]<<<<<<<<<<<<<<<<<<< <<]><<<<<<<<<<<<<<<<<<<<[<<]>><[>[>>]<<>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<< <<[<<]>><-]>[-]>>[>>]<<>>>>>>>>>>>>>>>>>>>>[>[>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<< <<<<<<<-]<[>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<-]>>>>>>>>>>>>>>>>>>>>-]>[<< <<<+>>>>>-]<<[>+>+<<-]>>[<<+>>-]<<[>[<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>-] <<<<<<<<<<<<<<<<<<<<<]><<<<<<<<<<<<<<<<<<<<[<<]>><[>[>>]<<>>>>>>>>>>>>>>>>>>>>>+ <<<<<<<<<<<<<<<<<<<<<[<<]>><-]>[-]>>[>>]<<>>>>>>>>>>>>>>>>>>>>[>[>>>>>>>>>>>>>>> >>>>>+<<<<<<<<<<<<<<<<<<<<-]<[>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<-]>>>>>>> >>>>>>>>>>>>>-]>[<<<<<<+>>>>>>-]<<[>+>+<<-]>>[<<+>>-]<<[>[<<<<<<<<<<<<<<<<<<<<+> >>>>>>>>>>>>>>>>>>>-]<<<<<<<<<<<<<<<<<<<<<]><<<<<<<<<<<<<<<<<<<<[<<]>><[>[>>]<<> >>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<[<<]>><-]>[-]>>[>>]<<>>>>>>>>>>>>>>>>> >>>[>[>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<-]<[>>>>>>>>>>>>>>>>>>>>+<<<<<<<< <<<<<<<<<<<<-]>>>>>>>>>>>>>>>>>>>>-]>[<<<<<<<+>>>>>>>-]<>]<[-]<<[>>+>+<<<-]>>>[< <<+>>>-]<>[-]++[<->-]<>[-]<[>[-]+<-]>-[[-]<<<<<[-]>>>><[>+>+<<-]>>[<<+>>-]<<[>[< <<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>-]<<<<<<<<<<<<<<<<<<<<<]><<<<<<<<<<<<<<< <<<<<[<<]>><[>[>>]<<>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<[<<]>><-]>[-]>>[> >]<<>>>>>>>>>>>>>>>>>>>>[>[>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<-]<[>>>>>>>> >>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<-]>>>>>>>>>>>>>>>>>>>>-]>[<<<<<+>>>>>-]<<<<<<[- ]>>>>><[>+>+<<-]>>[<<+>>-]<<[>[<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>-]<<<<<< <<<<<<<<<<<<<<<]><<<<<<<<<<<<<<<<<<<<[<<]>><[>[>>]<<>>>>>>>>>>>>>>>>>>>>>+<<<<<< <<<<<<<<<<<<<<<[<<]>><-]>[-]>>[>>]<<>>>>>>>>>>>>>>>>>>>>[>[>>>>>>>>>>>>>>>>>>>>+ <<<<<<<<<<<<<<<<<<<<-]<[>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<-]>>>>>>>>>>>>> >>>>>>>-]>[<<<<<<+>>>>>>-]<>]<[-]<<[>>+>+<<<-]>>>[<<<+>>>-]<>[-]+++[<->-]<>[-]<[ >[-]+<-]>-[[-]<<[>+>+<<-]>>[<<+>>-]<<[>[<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>> >-]<<<<<<<<<<<<<<<<<<<<<]><<<<<<<<<<<<<<<<<<<<[<<]>><[>[>>]<<>>>>>>>>>>>>>>>>>>> >>+<<<<<<<<<<<<<<<<<<<<<[<<]>><-]>[-]>>[>>]<<>>>>>>>>>>>>>>>>>>>>[>[>>>>>>>>>>>> >>>>>>>>+<<<<<<<<<<<<<<<<<<<<-]<[>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<-]>>>> >>>>>>>>>>>>>>>>-]>[<<<<<+>>>>>-]<<[>+>+<<-]>>[<<+>>-]<<[>[<<<<<<<<<<<<<<<<<<<<+ >>>>>>>>>>>>>>>>>>>>-]<<<<<<<<<<<<<<<<<<<<<]><<<<<<<<<<<<<<<<<<<<[<<]>><[>[>>]<< >>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<[<<]>><-]>[-]>>[>>]<<>>>>>>>>>>>>>>>> >>>>[>[>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<-]<[>>>>>>>>>>>>>>>>>>>>+<<<<<<< <<<<<<<<<<<<<-]>>>>>>>>>>>>>>>>>>>>-]>[<<<<<<+>>>>>>-]<>]<[-]<<[>>+>+<<<-]>>>[<< <+>>>-]<>[-]+++++[<->-]<>[-]<[>[-]+<-]>-[[-]<<<<<<<[-]>>>>>><[>+>+<<-]>>[<<+>>-] <<[>[<<<<<<<<<<<<<<<<<<<<+>>>>>>>>>>>>>>>>>>>>-]<<<<<<<<<<<<<<<<<<<<<]><<<<<<<<< <<<<<<<<<<<[<<]>><[>[>>]<<>>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<<[<<]>><-]>[ -]>>[>>]<<>>>>>>>>>>>>>>>>>>>>[>[>>>>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<-]<[>> >>>>>>>>>>>>>>>>>>+<<<<<<<<<<<<<<<<<<<<-]>>>>>>>>>>>>>>>>>>>>-]>[<<<<<<<+>>>>>>> -]<>]<[-]<<[>>+>+<<<-]>>>[<<<+>>>-]<>[-]++++[<->-]<>[-]<[>[-]+<-]>-[[-]<[-]>++++ ++++[<++++++++>-]<++++.[-]>++++++++[<++++++++>-]<++++++++++++++++++.[-]>++++++++ [<++++++++>-]<+.[-]>++++++++[<++++++++>-]<+++++++++++++++++++++++.[-]>++++++++[< ++++++++>-]<+++++++++.[-]>++++++++[<++++++++>-]<++++++++++++++.[-]>++++++++[<+++ +++++>-]<+++++++.[-]>+++++[<++++++>-]<++.[-]>++++++++[<++++++++>-]<+.[-]>+++++[< ++++++>-]<++.[-]>++++++++[<++++++++>-]<+++.[-]>++++++++[<++++++++>-]<+++++++++.[ -]>++++++++[<++++++++>-]<++++++++++++++++++.[-]>++++++++[<++++++++>-]<+++.[-]>++ ++++++[<++++++++>-]<++++++++++++.[-]>++++++++[<++++++++>-]<+++++.[-]>+++++[<++++ ++>-]<++.[-]>++++++++[<++++++++>-]<+.[-]>++++++++[<++++++++>-]<+++++++++++++++++ +++.[-]>+++++++[<++++++++>-]<++.[-]>++++++[<+++++++>-]<--.[-]<<<<[>>>>+>+<<<<<-] >>>>[<<<<+>>>>-]>[[>+>+<<-]>>[<<+>>-]<>+++++++++<[>>>+<<[>+>[-]<<-]>[<+>-]>[<<++ ++++++++>>-]<<-<-]+++++++++>[<->-]<[>+<-]<[>+<-]<[>+<-]>>>[<<<+>>>-]<>+++++++++< [>>>+<<[>+>[-]<<-]>[<+>-]>[<<++++++++++>>>+<-]<<-<-]>>>>[<<<<+>>>>-]<<<<>[-]<<+> ]<[[>+<-]+++++++[<+++++++>-]<-><.[-]>>[<<+>>-]<<-][-]<<<<[>>>>+>+<<<<<-]>>>>>[<< <<<+>>>>>-]<>[-][<->-]<>[-]<[>[-]+<-]>-[[-]<[-]>[-]+++++++[<+++++++>-]<-.[-]>]<[ -]>++++++[<+++++++>-]<++.[-]<<<<<[>>>>>+>+<<<<<<-]>>>>>[<<<<<+>>>>>-]>[[>+>+<<-] >>[<<+>>-]<>+++++++++<[>>>+<<[>+>[-]<<-]>[<+>-]>[<<++++++++++>>-]<<-<-]+++++++++ >[<->-]<[>+<-]<[>+<-]<[>+<-]>>>[<<<+>>>-]<>+++++++++<[>>>+<<[>+>[-]<<-]>[<+>-]>[ <<++++++++++>>>+<-]<<-<-]>>>>[<<<<+>>>>-]<<<<>[-]<<+>]<[[>+<-]+++++++[<+++++++>- ]<-><.[-]>>[<<+>>-]<<-][-]<<<<<[>>>>>+>+<<<<<<-]>>>>>>[<<<<<<+>>>>>>-]<>[-][<->- ]<>[-]<[>[-]+<-]>-[[-]<[-]>[-]+++++++[<+++++++>-]<-.[-]>]<[-]>++++++[<+++++++>-] <-.[-]>++++++[<+++++++>-]<++.[-]>+++++[<++++++>-]<++.[-]>++++++++[<++++++++>-]<+ +++++++++++++++++.[-]>++++++++[<++++++++>-]<+.[-]>++++++++[<++++++++>-]<++++.[-] >++++++++[<++++++++>-]<+++++++++.[-]>++++++++[<++++++++>-]<+++++++++++++++++++++ .[-]>++++++++[<++++++++>-]<+++++++++++++++++++.[-]>+++++[<++++++>-]<++.[-]<<<<<< [>>>>>>+>+<<<<<<<-]>>>>>>[<<<<<<+>>>>>>-]>[[>+>+<<-]>>[<<+>>-]<>+++++++++<[>>>+< <[>+>[-]<<-]>[<+>-]>[<<++++++++++>>-]<<-<-]+++++++++>[<->-]<[>+<-]<[>+<-]<[>+<-] >>>[<<<+>>>-]<>+++++++++<[>>>+<<[>+>[-]<<-]>[<+>-]>[<<++++++++++>>>+<-]<<-<-]>>> >[<<<<+>>>>-]<<<<>[-]<<+>]<[[>+<-]+++++++[<+++++++>-]<-><.[-]>>[<<+>>-]<<-][-]<< <<<<[>>>>>>+>+<<<<<<<-]>>>>>>>[<<<<<<<+>>>>>>>-]<>[-][<->-]<>[-]<[>[-]+<-]>-[[-] <[-]>[-]+++++++[<+++++++>-]<-.[-]>]<[-]+++++++++++++.[-]>]<>]<<[<<<<<<<<<<<<<<<< <<<<]><<<<<<<<<<<<<<<<<<<<<<] |