Left
char c, *Left, *Right;
Left = FullPath;
while (Left < Right)
c = *Left;
*Left++ = *Right;
if (Left(current) == (ITEM *)0) {
current = Left(current);
Left(i) = c ? IthItem(m, n-1) : (ITEM *) NULL;
Left(IthItem(m, n)) = IthItem(m, left);
Left(i) = c ? IthItem(m, n-Rows(m)) : (ITEM *) NULL;
Left(IthItem(m, n)) = IthItem(m, left);