0), get &(x, 1))), get &(x, 0), get &(x, 1))) $diff(@x.if &((> &(get &(x, 0), get &(x, 1))), sub &(get &(x, 0), get &(x, 1)), sub &(get &(x, 1), get &(x, 0)))) evalback &(assign &(n, in &(%n)), assign &(a, mktup &(n, 0)), ($inp(@x.if &((any &(sub &(x, n))), evalback &(set &(a, x, in &(%n)), inp (add &(x, 1))), 0)) inp 0), if &((eq &(n, 2)), out &(diff &(get &(a, 0), get &(a, 1)), %N), evalback &(assign &(dp, mktup &(n, 1000000000000)), set &(dp, 0, 0), ($loop(@k.if &((eq &(k, n)), 0, evalback &(if &((> &(k, sub &(n, 2))), 0, set &(dp, add &(k, 1), min &(get &(dp, add &(k, 1)), add &(get &(dp, k), diff &(get &(a, k), get &(a, add &(k, 1))))))), if &((> &(k, sub &(n, 3))), 0, set &(dp, add &(k, 2), min &(get &(dp, add &(k, 2)), add &(get &(dp, k), diff &(get &(a, k), get &(a, add &(k, 2))))))), loop (add &(k, 1))))) loop 0), out &(get &(dp, sub &(n, 1)), %N))))”