650

Code:

Function s($)
Dim $j, $k, $b, $v
Dim $a[$+$]
For $j = 0 to $+$
$a[$j] = $j-$
Next

$s = d($s,$a)

For $k = 1 to $
For $j = 1 to $k
$a = c($j,$a)
$s = d($s,$a)
Next
$k=$k+($>$k)
For $j = -1 to -$k step -1
$a = c($j,$a)
$s = d($s,$a)
Next
Next
If $ MOD 2
For $k = 1 to $
For $j = $k to $
$a = c($j,$a)
$s = d($s,$a)
Next
$k=$k+($>$k)
If $k < $
For $j = -$k to -$ step -1
$a = c($j,$a)
$s = d($s,$a)
Next
EndIf
Next
Else
For $j = 1 to $
$a = c($j,$a)
$s = d($s,$a)
Next
For $k = 1 to $
For $j = -$k to -$ step -1
$a = c($j,$a)
$s = d($s,$a)
Next
$k=$k+($>$k)
For $j = $k to $
$a = c($j,$a)
$s = d($s,$a)
Next
Next
EndIf
$s=Split($s,a)
EndFunction

Function c($,$a)
dim $!
$! = AScan($a,$)
$a[AScan($a,0)]=$
$a[$!]=0
$c = $a
EndFunction

Function d($s,$)
If $s
$d = $s + a
EndIf

For Each $ In $
$d= $d + substr("W B",1+($=0)+2*($>),1)
EndFunction