divert(-1) define(`set2d',`define(`$1[$2][$3]',`$4')') define(`get2d',`defn(`$1[$2][$3]')') define(`for', `ifelse($#,0,``$0'', `ifelse(eval($2<=$3),1, `pushdef(`$1',$2)$4`'popdef(`$1')$0(`$1',incr($2),$3,`$4')')')') define(`min', `define(`ma',eval($1))`'define(`mb',eval($2))`'ifelse(eval(mamv),1, `define(`mv',cv)`'define(`best',(x,y,z))', `ifelse(cv,mv,`define(`best',best (x,y,z))')') ')') divert mv best