02

-- 7 Billion Humans (2235) --
-- 2: 欢迎新员工 --
step s
pickup c
drop

03

-- 7 Billion Humans (2235) --
-- 3: 运输小队 --

step s
pickup c
step s
step s
drop

04

-- 7 Billion Humans (2235) --
-- 4: 长途运输 --

step e
pickup c
a:
step e
jump a

05

-- 7 Billion Humans (2235) --
-- 5: 重要的抉择 --

if w == datacube:
    a:
    step w
    jump a
endif
b:
step e
jump b

06

-- 7 Billion Humans (2235) --
-- 5: 重要的抉择 --

if w == datacube:
    a:
    step w
    jump a
endif
b:
step e
jump b

06-1

-- 7 Billion Humans (2235) --
-- 6: 小小驱虫工 1 --

step s
step s
step w
step w
step s
step s
step e
step e
step e
step s
step s
step s
pickup c

07

-- 7 Billion Humans (2235) --
-- 7: 整理房间 --

a:
pickup c
if s != hole:
    step s
    jump a
endif
drop

07-1

-- 7 Billion Humans (2235) --
-- 7: 整理房间 --

a:
step s
if c == datacube:
    pickup c
    step s
    b:
    if s != hole:
        step s
        jump b
    else:
        drop
    endif
else:
    jump a
endif

09

-- 7 Billion Humans (2235) --
-- 9: 对角巷 --

pickup s
a:
step s
if w == nothing and
 sw == nothing:
    drop
endif
jump a

10

-- 7 Billion Humans (2235) --
-- 10: 疏散演习 --

a:
if c == nothing or
 c == 4:
    step w
endif
if c == 1:
    step n
endif
if c == 2:
    step e
endif
if c == 3:
    step s
endif
jump a

11

-- 7 Billion Humans (2235) --
-- 11: 注入数据 1 --

pickup s
a:
step s
if c == nothing and
 e == datacube:
    drop
endif
jump a

11-1

-- 7 Billion Humans (2235) --
-- 11: 注入数据 1 --

step s
pickup c
step s
step s
step s
a:
if c == nothing and
 e == datacube:
    drop
    jump b
endif
step s
step s
jump a
b:

12

-- 7 Billion Humans (2235) --
-- 12: 拉开拉链 --

pickup c
a:
if nw == worker:
    step s
    drop
endif
if sw == worker or
 w == wall:
    step n
    drop
endif
jump a

13

-- 7 Billion Humans (2235) --
-- 13: 注入数据 2 --

pickup s
a:
if e == worker and
 s == datacube or
 w == worker:
    step se
else:
    step s
endif
if w == datacube and
 c == nothing:
    drop
endif
jump a

14

-- 7 Billion Humans (2235) --
-- 14: 粉碎机入门 --

pickup s
step s
step s
giveto s

14-1

-- 7 Billion Humans (2235) --
-- 14: 粉碎机入门 --

if s == datacube:
    step s
    pickup c
    step s
    giveto s
endif

15

-- 7 Billion Humans (2235) --
-- 15: 粉碎流水线 --

a:
if n == datacube:
    pickup n
    b:
    if s == shredder:
        giveto s
    else:
        step s
        jump b
    endif
endif
step n
jump a

15-1

-- 7 Billion Humans (2235) --
-- 15: 粉碎流水线 --

a:
if n == datacube:
    pickup n
    b:
    if s == shredder:
        giveto s
    else:
        step s
        step s
        jump b
    endif
endif
step n
jump a

16

-- 7 Billion Humans (2235) --
-- 16: 小小驱虫工 2 --

a:
if s != wall and
 s != hole:
    step s
    jump a
endif
pickup c
b:
if s == shredder:
    giveto s
endif
step e
jump b

16-1

-- 7 Billion Humans (2235) --
-- 16: 小小驱虫工 2 --

step s
step s
step s
step s
a:
if s != wall and
 s != hole:
    step s
    jump a
endif
pickup c
step e
step e
step e
step e
b:
if s == shredder:
    giveto s
endif
step e
jump b

17

-- 7 Billion Humans (2235) --
-- 17: 内容产出 --

pickup s

18

-- 7 Billion Humans (2235) --
-- 18: 独特偏爱 --

step sw
pickup n
a:
if s == shredder:
    giveto s
endif
step se
jump a

19

-- 7 Billion Humans (2235) --
-- 19: 内容产出-问题修复 --

takefrom s
a:
giveto se
takefrom sw
jump a

20

-- 7 Billion Humans (2235) --
-- 20: 反转流水线 --

pickup s
a:
if se == hole:
    step s
    b:
    if w != hole and
     w != datacube:
        step w
        jump b
    endif
    drop
endif
step e
jump a

21

-- 7 Billion Humans (2235) --
-- 21: 大数据 --

step sw
a:
if se == printer:
    takefrom se
endif
step s
if myitem < 50 or
 myitem == nothing:
    giveto sw
    jump a
endif

22

-- 7 Billion Humans (2235) --
-- 22: 数字大逃杀 --

pickup s
a:
if e > myitem or
 w > myitem:
    b:
    step s
    jump b
endif
step w
jump a

23

-- 7 Billion Humans (2235) --
-- 23: 排序大厅 --

pickup s
a:
if e < myitem:
    step e
endif
if w > myitem:
    step w
endif
jump a

24

-- 7 Billion Humans (2235) --
-- 24: 数据接力 1 --

a:
if s == printer:
    takefrom s
endif
if s == shredder and
 myitem == datacube:
    giveto s
else:
    giveto e
endif
jump a

24-1

-- 7 Billion Humans (2235) --
-- 24: 数据接力 1 --

if s == printer:
    a:
    takefrom s
    giveto e
    jump a
endif
if e == worker:
    b:
    if myitem == datacube:
        giveto e
    endif
    jump b
endif
if s == shredder:
    c:
    if myitem == datacube:
        giveto s
    endif
    jump c
endif

25

-- 7 Billion Humans (2235) --
-- 25: 记忆体初体验 --

mem2 = nearest shredder
a:
mem1 = nearest datacube
pickup mem1
giveto mem2
jump a

25-1

-- 7 Billion Humans (2235) --
-- 25: 记忆体初体验 --

mem2 = nearest shredder
a:
mem1 = nearest datacube
pickup mem1
if myitem == datacube:
    giveto mem2
    jump a
endif

26

-- 7 Billion Humans (2235) --
-- 26: 数据接力 2 --

a:
if s == shredder and
 myitem == datacube:
    giveto s
endif
if myitem >= 50:
    giveto e
else:
    giveto w
endif
if s != shredder:
    takefrom s
endif
jump a

26-1

-- 7 Billion Humans (2235) --
-- 26: 数据接力 2 --

if s == printer:
    a:
    takefrom s
    giveto n
    jump a
endif
if n == worker:
    b:
    if myitem == datacube:
        giveto n
    endif
    jump b
endif
if s == shredder:
    c:
    if myitem == datacube:
        giveto s
    endif
    jump c
endif
if n == hole:
    d:
    if myitem == datacube:
        if myitem >= 50:
            giveto e
        else:
            giveto w
        endif
    endif
    jump d
endif

28

-- 7 Billion Humans (2235) --
-- 28: 神经回路 --

mem2 = nearest shredder
mem1 = nearest datacube
pickup mem1
giveto mem2

29

-- 7 Billion Humans (2235) --
-- 29: 指纹认证 --

mem1 = nearest shredder
a:
mem2 = nearest datacube
pickup mem2
giveto mem1
jump a

30

-- 7 Billion Humans (2235) --
-- 30: 铺满地面 --

mem1 = nearest printer
a:
takefrom mem1
step nw,w,sw,n,s,ne,e,se
drop
jump a

30-1

-- 7 Billion Humans (2235) --
-- 30: 铺满地面 --

mem1 = nearest printer
a:
mem2 = nearest wall
takefrom mem1
step mem2
b:
if c == nothing:
    drop
else:
    step nw,w,sw,n,s,ne,e,se
    jump b
endif
jump a

31

-- 7 Billion Humans (2235) --
-- 31: 星罗棋布 --

mem1 = nearest printer
a:
if myitem == nothing:
    takefrom mem1
    step e
endif
step nw,sw,ne,se
drop
jump a

31-1

-- 7 Billion Humans (2235) --
-- 31: 星罗棋布 --

mem1 = nearest printer
a:
if myitem == nothing:
    takefrom mem1
    step w,n,s,e
endif
step nw,sw,ne,se
if c == nothing:
    drop
endif
jump a

32

-- 7 Billion Humans (2235) --
-- 32: 创造性扭动 --

a:
step nw,w,sw,n,s,ne,e,se
if c == datacube and
 c != 99:
    pickup c
    write 99
    drop
endif
jump a

32-1

-- 7 Billion Humans (2235) --
-- 32: 创造性扭动 --

a:
if s == datacube:
    step s
else:
    if w == datacube:
        step w
    else:
        step e
    endif
endif
pickup c
write 99
drop
jump a

33

-- 7 Billion Humans (2235) --
-- 33: 资料备份日 --

mem1 = set w
mem2 = set e
if mem1 < mem2:
    mem1 = set e
    mem2 = set w
endif
pickup mem1
write mem2
drop

34

-- 7 Billion Humans (2235) --
-- 34: 查找并摧毁 1 --

mem1 = nearest datacube
mem2 = nearest shredder
a:
step n
if n != wall:
    if c < mem1:
        mem1 = set c
    endif
    jump a
endif
pickup mem1
giveto mem2

35

-- 7 Billion Humans (2235) --
-- 35: 面向艺术生的计算器入门 --

pickup s
mem1 = calc myitem + 1
write mem1
drop

36

-- 7 Billion Humans (2235) --
-- 36: 查找并摧毁 2 --

mem2 = nearest shredder
a:
mem1 = set nothing
b:
step n
if n != wall:
    if c == datacube and
     c < mem1 or
     mem1 == nothing:
        mem1 = set c
    endif
    jump b
endif
pickup mem1
giveto mem2
jump a

36-1

-- 7 Billion Humans (2235) --
-- 36: 查找并摧毁 2 --

mem2 = nearest shredder
a:
step n
if c == datacube:
    if mem1 != datacube or
     c < mem1:
        mem3 = set mem1
        mem1 = set c
    else:
        if c < mem3 or
         mem3 != datacube:
            mem3 = set c
        endif
    endif
endif
if n == wall and
 mem1 == datacube:
    pickup mem1
    giveto mem2
    if mem3 == datacube:
        pickup mem3
        giveto mem2
    endif
endif
jump a

37

-- 7 Billion Humans (2235) --
-- 37: 危险的电子表格 --

a:
if e == hole:
    step se
    if ne == hole:
        step e
    endif
    step ne
else:
    step e
endif
if e == wall and
 c == 0:
    pickup c
    write mem1
    drop
endif
mem1 = calc mem1 + c
jump a

38

-- 7 Billion Humans (2235) --
-- 38: 查找并摧毁 3 --

mem2 = nearest shredder
mem4 = nearest hole
if s == shredder:
    step mem4
endif
a:
if n != wall:
    step n
else:
    pickup mem1
    b:
    c:
    mem3 = nearest worker
    if mem3 != worker:
        giveto mem2
    endif
    if mem3 < mem1:
        step mem4
    endif
    if mem3 == mem1:
        comment 0
        step s
        if s == wall:
            step e
        endif
        jump c
    endif
    jump b
endif
if c < mem1 or
 mem1 != datacube:
    mem1 = set c
endif
jump a

39

-- 7 Billion Humans (2235) --
-- 39: 打印守则 1 --

mem3 = nearest printer
a:
mem1 = calc mem1 + 1
if mem1 <= 5:
    takefrom mem3
    b:
    step nw,w,sw,n,s,ne,e,se
    if c != nothing:
        jump b
    endif
    drop
    jump a
endif

40

-- 7 Billion Humans (2235) --
-- 40: 打印守则 2 --

mem3 = nearest printer
a:
mem1 = calc mem1 + 1
if mem1 <= 5:
    takefrom mem3
    write mem1
    b:
    step nw,w,sw,n,s,ne,e,se
    if c != nothing:
        jump b
    endif
    drop
    jump a
endif

40-1

-- 7 Billion Humans (2235) --
-- 40: 打印守则 2 --

mem3 = nearest printer
a:
takefrom mem3
b:
step nw,w,sw,n,s,ne,e,se
if c == nothing:
    mem1 = calc mem1 + 1
    write mem1
    drop
    if mem1 == 5:
        end
    endif
    jump a
endif
jump b

41

-- 7 Billion Humans (2235) --
-- 41: 图片解密 --

pickup w
mem1 = calc myitem + 1
a:
if mem1 <= 0:
    drop
    step ne
endif
step w
mem1 = calc mem1 - 1
jump a

41-1

-- 7 Billion Humans (2235) --
-- 41: 图片解密 --

pickup w
step w
mem1 = set myitem
a:
if mem1 > 4:
    step w
    step w
    step w
    step w
    step w
    mem1 = calc mem1 - 5
endif
if mem1 > 3:
    step w
    step w
    step w
    step w
    mem1 = calc mem1 - 4
endif
if mem1 > 2:
    step w
    step w
    step w
    mem1 = calc mem1 - 3
endif
if mem1 > 0:
    step w
    mem1 = calc mem1 - 1
    jump a
endif
drop
mem1 = nearest hole
step mem1

42

-- 7 Billion Humans (2235) --
-- 42: 整理邮件 --

a:
mem1 = nearest datacube
step mem1
if s == shredder:
    b:
    if n != wall and
     nw != wall and
     ne != wall:
        c:
        step nw,w,n,ne,e
        jump b
    endif
    jump a
endif
pickup c
mem1 = calc myitem / 10
d:
step w,sw,n,s,e,se
if mem1 == c and
 s == shredder:
    giveto s
    jump c
endif
jump d

42-1

-- 7 Billion Humans (2235) --
-- 42: 整理邮件 --

if n == wall and
 sw == worker:
    step s
endif
if nw == worker and
 s == datacube:
    step w
endif
a:
if w != wall:
    step sw
    jump a
endif
step ne
b:
c:
if s != shredder:
    pickup c
else:
    jump d
endif
mem1 = calc myitem / 10
mem2 = set e
mem3 = nearest shredder
step mem3
e:
if c > mem1:
    step w
    jump e
endif
f:
if c < mem1:
    step e
    jump f
endif
if myitem == datacube:
    giveto s
    step mem2
    jump b
endif
d:
step nw,n,ne
step nw,n,ne
mem2 = nearest datacube
step mem2
jump c

43

-- 7 Billion Humans (2235) --
-- 43: 九九乘法表 --

a:
step n
if n != datacube or
 c != nothing or
 s != datacube:
    jump a
endif
mem1 = set n
b:
step s
mem2 = calc mem2 + mem1
pickup c
write mem2
drop
jump b

44

-- 7 Billion Humans (2235) --
-- 44: 独特时髦派对 --

mem1 = nearest hole
pickup s
a:
step nw,w,n,ne,e,se
if myitem == nw or
 myitem == n or
 myitem == w or
 myitem == ne:
    step mem1
endif
jump a

46

-- 7 Billion Humans (2235) --
-- 46: 强制办公室恋情 --

a:
if e == worker:
    tell e hi
    listenfor hi
    jump a
endif
b:
listenfor hi
tell w hi
jump b

47

-- 7 Billion Humans (2235) --
-- 47: 全自动寒暄 --

if w == worker:
    listenfor hi
endif
tell e hi

48

-- 7 Billion Humans (2235) --
-- 48: 社群培训日 --

if n != wall:
    listenfor go
endif
takefrom s
mem1 = nearest shredder
giveto mem1
tell everyone go

49

-- 7 Billion Humans (2235) --
-- 49: 双向销毁 --

pickup s
mem1 = nearest shredder
a:
if w != nothing and
 e != nothing:
    jump a
endif
giveto mem1
step sw

50

-- 7 Billion Humans (2235) --
-- 50: 无声交流 --

mem1 = set sw
a:
if mem1 == 1:
    takefrom s
    giveto se
    step w
    mem1 = set 4
endif
mem1 = calc mem1 - 1
jump a

51

-- 7 Billion Humans (2235) --
-- 51: 公司职级 --

pickup s
a:
mem1 = calc mem1 + 1
if w != worker:
    step s
    write mem1
    drop
endif
jump a

52

-- 7 Billion Humans (2235) --
-- 52: 统计众数 --

mem1 = nearest datacube
a:
step w
if s != nothing:
    mem2 = calc mem2 + 1
    jump a
endif
step n
step n
b:
if c == datacube and
 c == mem2:
    mem3 = calc mem3 + 1
endif
if e == nothing or
 e == wall or
 e == hole:
    step n
    if c == nothing and
     n == wall:
        pickup mem1
        write mem3
        drop
        end
    endif
    c:
    if w != wall and
     w != hole:
        if c == datacube and
         c == mem2:
            mem3 = calc mem3 + 1
        endif
        step w
        jump c
    endif
    step n
endif
step e
jump b

53

-- 7 Billion Humans (2235) --
-- 53: 地上的100个方块 --

if n == wall:
    a:
    if w != wall:
        step w
        pickup c
        write mem1
        drop
        mem1 = calc mem1 + 1
    else:
        step se
        b:
        if c == datacube:
            step e
            jump b
        endif
    endif
    jump a
endif

53-1

-- 7 Billion Humans (2235) --
-- 53: 地上的100个方块 --

if n == worker:
    mem1 = set 10
endif
if nw == worker:
    mem1 = set 20
endif
if e == wall and
 s == nothing:
    mem1 = set 30
endif
if w == datacube and
 s == nothing and
 n != worker:
    mem1 = set 40
endif
if sw == worker and
 e == nothing:
    mem1 = set 50
endif
if ne == worker and
 s == nothing:
    mem1 = set 60
endif
if se == wall and
 s == wall and
 w == nothing:
    mem1 = set 70
endif
if e == wall and
 sw == worker:
    mem1 = set 80
endif
if s == wall and
 w == datacube:
    mem1 = set 90
endif
a:
if w != wall:
    step w
    if c == datacube:
        pickup c
        write mem1
        drop
        mem1 = calc mem1 + 1
    endif
    jump a
endif

54

-- 7 Billion Humans (2235) --
-- 54: 平整地形 --

a:
b:
if n != wall:
    step n
    pickup c
    write mem1
    drop
    jump b
endif
mem1 = calc mem1 + 1
c:
if s != nothing or
 c != nothing:
    step s
    jump c
endif
jump a

54-1

-- 7 Billion Humans (2235) --
-- 54: 平整地形 --

a:
if c == nothing:
    step n
    jump a
endif
b:
if n != wall:
    mem1 = calc mem1 + c
    step n
    jump b
endif
step s
pickup c
write mem1
drop
if w == nothing:
    c:
    if e != nothing:
        step e
        mem1 = calc mem1 + c
        jump c
    endif
    mem1 = calc mem1 / 49
    d:
    if w != nothing:
        pickup c
        write mem1
        drop
        step w
        jump d
    else:
        pickup c
        write mem1
        drop
    endif
    step s
    tell everyone coffeetime
else:
    step n
    listenfor coffeetime
    step s
    mem1 = set c
    e:
    step s
endif
pickup c
write mem1
drop
jump e

55

-- 7 Billion Humans (2235) --
-- 55: 数据之花 --

pickup s
a:
step n
if n != datacube or
 s != datacube:
    jump a
endif
mem1 = foreachdir nw,w,sw,n,s,ne,e,se:
    mem2 = calc mem2 + mem1
endfor
write mem2
drop

56

-- 7 Billion Humans (2235) --
-- 56: 局部最大值 --

mem3 = nearest shredder
step w
step w
mem1 = foreachdir nw,w,sw,n,s,ne,e,se:
    if mem1 > mem2:
        mem2 = set mem1
    endif
endfor
pickup mem2
giveto mem3

57

-- 7 Billion Humans (2235) --
-- 57: 扫雷邻居 --

if e == wall:
    mem3 = set 1
endif
a:
if mem3 == 1:
    step w
else:
    step e
endif
if c == datacube:
    mem1 = foreachdir nw,w,sw,n,s,ne,e,se:
        if mem1 == datacube:
            mem2 = calc mem2 + 1
        endif
    endfor
    pickup c
    write mem2
    drop
    mem2 = set 0
endif
jump a

58

-- 7 Billion Humans (2235) --
-- 58: 好邻居 --

a:
step nw,w,sw,n,s,ne,e,se
mem2 = foreachdir nw,w,sw,n,s,ne,e,se:
    if mem2 == datacube:
        mem3 = calc mem3 + 1
    endif
endfor
if mem3 > 3:
    pickup c
endif
mem3 = set 0
step nw,w,sw,n,s,ne,e,se
drop
jump a

58-1

-- 7 Billion Humans (2235) --
-- 58: 好邻居 --

a:
mem1 = nearest datacube
step mem1
if w != wall and
 n != wall and
 s != wall and
 e != wall:
    pickup c
    mem2 = nearest wall
    step mem2
    b:
    c:
    d:
    e:
    if c != nothing:
        if w == wall and
         s != wall:
            step s
            jump b
        endif
        if s == wall and
         e != wall:
            step e
            jump c
        endif
        if e == wall and
         n != wall:
            step n
            jump d
        endif
        if n == wall and
         w != wall:
            step w
            jump e
        endif
    endif
    drop
endif
mem3 = foreachdir nw,w,sw,n,s,ne,e,se:
    step nw,w,sw,n,s,ne,e,se
endfor
jump a

59

-- 7 Billion Humans (2235) --
-- 59: 荣耀洞穴 --

mem1 = nearest datacube
mem3 = calc mem1 + 1
a:
mem3 = calc mem3 - 1
mem2 = foreachdir nw,w,sw,n,s,ne,e,se:
    if mem3 == 0 and
     mem2 == hole or
     mem2 == mem3:
        step mem2
        jump a
    endif
endfor

59-1

-- 7 Billion Humans (2235) --
-- 59: 荣耀洞穴 --

if w == 12 or
 w == 11 or
 w == 10:
    step sw
    a:
    b:
    if w != hole:
        step s
        jump b
    endif
    step sw
    c:
    step w
    d:
    step nw
    step w
    jump d
endif
if s == 11 and
 w == hole:
    step se
    step se
    step s
    step sw
    jump c
endif
if s == 11:
    step se
    step s
    jump a
endif
if e == 2:
    step e
    step e
    if s == 1:
        step s
    endif
    if n == 1:
        step n
    endif
    mem1 = foreachdir nw,w,sw,n,s,ne,e,se:
        if mem1 == hole:
            step mem1
        endif
    endfor
endif
if n == wall:
    e:
    if w == hole:
        f:
        step s
        jump f
    else:
        step w
        jump e
    endif
endif
step n
step n
if se == 3:
    g:
    step ne
    jump g
endif
h:
if w != nothing:
    step w
    jump h
endif
step n
step n
step n
step ne

60

-- 7 Billion Humans (2235) --
-- 60: 排序人手紧缺 --

a:
step w,e
if s > se and
 w != worker and
 sw != worker and
 e != worker and
 se != worker:
    pickup s
    drop
    step s
    pickup e
    drop
    step e
    pickup nw
    drop
    step n
endif
jump a

60-1

-- 7 Billion Humans (2235) --
-- 60: 排序人手紧缺 --

if e == worker:
    step w
    step w
endif
a:
b:
if s > se and
 w != worker and
 sw != worker and
 s == datacube and
 se == datacube:
    pickup s
    drop
    step s
    pickup e
    drop
    step e
    pickup nw
    drop
    step n
    jump b
endif
if e != wall:
    step e
else:
    c:
    if w != wall:
        step w
        jump c
    endif
endif
jump a

61

-- 7 Billion Humans (2235) --
-- 61: 懒惰路径 --

a:
mem1 = calc c + 1
step nw,w,sw,n,s,ne,e,se
if c > mem1 and
 mem1 != 1:
    pickup c
    write mem1
    drop
endif
jump a

61-1

-- 7 Billion Humans (2235) --
-- 61: 懒惰路径 --

mem4 = foreachdir nw,w,sw,n,s,ne,e,se:
    step nw,w,sw
endfor
a:
if mem4 == datacube:
    step mem4
else:
    step nw,w,sw,n,s,ne,e,se
endif
mem1 = set c
mem2 = calc mem1 + 1
mem4 = set nothing
mem3 = foreachdir nw,w,sw,n,s,ne,e,se:
    if mem2 < mem3 and
     mem2 != 1:
        mem4 = set mem3
        pickup mem3
        write mem2
        drop
        step mem1
    endif
endfor
jump a

62

-- 7 Billion Humans (2235) --
-- 62: 排序楼层 --

step ne
step n
step nw
a:
mem1 = foreachdir w,n,s,e:
    step mem1
    if e == worker:
        if e < c:
            pickup e
        else:
            pickup c
        endif
    else:
        if w > c:
            pickup w
        else:
            pickup c
        endif
    endif
    drop
    if e == worker:
        if w == hole:
            if s == worker:
                listenfor ready
            else:
                listenfor go
                if myitem == datacube:
                    drop
                endif
                tell e ready
                tell n ready
            endif
        endif
    else:
        if w == datacube and
         e == datacube:
            if s == worker:
                if sw < e:
                    pickup sw
                    step e
                    drop
                    step w
                endif
                listenfor ready
            else:
                if w < ne:
                    pickup ne
                    giveto w
                endif
                tell w go
                listenfor ready
                tell n ready
            endif
        endif
    endif
endfor
jump a

63

-- 7 Billion Humans (2235) --
-- 63: 乱序整理 --

a:
if w == hole:
    step s
endif
mem1 = nearest datacube
pickup mem1
b:
if n != hole:
    step n
    jump b
endif
c:
if c == nothing:
    drop
    mem4 = calc mem4 + 1
    if mem4 == 3:
        end
    endif
else:
    if e != hole:
        step e
    else:
        step s
        d:
        if w != hole:
            step w
            jump d
        endif
    endif
    jump c
endif
mem2 = foreachdir nw,sw,ne,se:
    step s
endfor
jump a

64

-- 7 Billion Humans (2235) --
-- 64: 二进制计数器 --

step s
pickup c
step s
if nw == worker:
    a:
    tell nw coffeetime
    step n
    listenfor ugh
    step s
    jump a
endif
b:
listenfor coffeetime
if myitem == datacube:
    tell everyone ugh
    drop
else:
    tell w coffeetime
    pickup c
endif
jump b

65

-- 7 Billion Humans (2235) --
-- 65: 有序整理 --

if w == nothing and
 e == nothing:
    a:
    if n != hole:
        step n
        jump a
    endif
    b:
    c:
    if w != hole:
        step w
        jump c
    endif
    d:
    if myitem == datacube and
     c == nothing:
        drop
    endif
    if w == nothing and
     c == datacube and
     myitem == nothing or
     ne == nothing and
     c == datacube and
     myitem == nothing:
        pickup c
        step mem1
    endif
    if e != hole:
        if e == nothing and
         c == datacube:
            mem1 = set c
        endif
        step e
        jump d
    endif
    step sw
    jump b
endif

65-1

-- 7 Billion Humans (2235) --
-- 65: 有序整理 --

if w == worker or
 e == worker:
    step w
endif
step nw
mem1 = foreachdir nw,sw,n,s,ne,se:
    step n
endfor
if c == nothing:
    pickup e
    drop
endif
mem2 = set c
a:
mem1 = set c
b:
if c == datacube and
 mem1 == nothing:
    pickup c
    step mem2
else:
    mem1 = set c
    if e != hole:
        step e
    else:
        step sw
        mem3 = foreachdir nw,w,sw,ne,e,se:
            step w
        endfor
    endif
    jump b
endif
c:
if c != nothing:
    if e != hole:
        step e
    else:
        step sw
        mem4 = foreachdir w,sw,n,s,ne,e:
            step w
        endfor
    endif
    jump c
endif
drop
mem2 = set c
jump a

66

-- 7 Billion Humans (2235) --
-- 66: 十进制计数器 --

step s
pickup c
if s == button:
    a:
    step s
    step n
    tell everyone ugh
    tell w hi
    listenfor ready
    jump a
endif
step s
mem1 = set myitem
b:
drop
mem1 = calc mem1 + 1
listenfor hi
pickup c
if mem1 == 10:
    tell w hi
    mem1 = set 0
    write mem1
else:
    write mem1
    tell everyone ready
endif
jump b

67

-- 7 Billion Humans (2235) --
-- 67: 十进制翻倍器 --

step s
if c == datacube:
    pickup c
    step s
    a:
    tell everyone coffeetime
    drop
    mem1 = calc c x 2
    if e >= 5:
        mem1 = calc mem1 + 1
    else:
        mem1 = calc mem1 + 0
    endif
    if mem1 >= 10:
        mem1 = calc mem1 - 10
    else:
        mem1 = calc mem1 - 0
    endif
    pickup c
    write mem1
    jump a
endif
b:
listenfor coffeetime
step s
step n
jump b

68

-- 7 Billion Humans (2235) --
-- 68: 再见,人类! --

if w == wall:
    step se
endif
mem1 = foreachdir nw,n,ne:
    step s
endfor
a:
mem1 = nearest worker
if mem1 != worker:
    tell everyone goodbye
endif
step sw,s,se
jump a

参考网址