create data 12 , 127 , 28 , 42 , 39 , 113 , 42 , 18 , 44 , 118 , 44 , 37 , 113 , 124 , 37 , 48 , 127 , 36 , 29 , 31 , 125 , 139 , 131 , 115 , 105 , 132 , 104 , 123 , 35 , 113 , 122 , 42 , 117 , 119 , 58 , 109 , 23 , 105 , 63 , 27 , 44 , 105 , 99 , 41 , 128 , 121 , 116 , 125 , 32 , 61 , 37 , 127 , 29 , 113 , 121 , 58 , 114 , 126 , 53 , 114 , 96 , 25 , 109 , 7 , 31 , 141 , 46 , 13 , 27 , 43 , 117 , 116 , 27 , 7 , 68 , 40 , 31 , 115 , 124 , 42 , 128 , 52 , 71 , 118 , 117 , 38 , 27 , 106 , 33 , 117 , 116 , 111 , 40 , 119 , 47 , 105 , 57 , 122 , 109 , 124 , 115 , 43 , 120 , 43 , 27 , 27 , 18 , 28 , 48 , 125 , 107 , 114 , 34 , 133 , 45 , 120 , 30 , 127 , 31 , 116 , 146 , here constant data-end : sort ( end start -- ) over cell - swap do dup i cell+ do i @ j @ < if i @ j @ i ! j ! then cell +loop cell +loop drop ; : plot data-end data sort data data-end cell - @ 10 / 1+ data @ 10 / do cr i 2 u.r ." | " begin dup @ 10 /mod i = while . cell+ dup data-end = until else drop then loop drop ; plot