FAQ

© Martin Manns 2009

Q: What kind of expressions can a cell contain?
A: A cell can contain any normal Python expression such as a list comprehension or a generator expression. However, it cannot contain statements such as

for i in xrange(10): pass


If you want to program more complex algorithms, use the Macro Editor.
There, you can define functions that use arbitrary Python code and is callable from any cell.

Example:
Type in the macro editor:

def factorize(number):
    """Silly factorizing algorithm for demonstration purposes only"""
    counter = 1
    result = []
    while counter <= number:
        if number % counter == 0:
            result.append(counter)
        counter += 1
    return result

And in the cell:

 factorize(25)

Result is:

 [1 5 25]

Q: Is using the variable S the only way for reading values of a cell(s)?
A: The variable S is the very grid object. It can be used in various ways, such as using its attributes and methods. One example is the spread method.

The object S has the attributes sgrid (string grid), macros (Macro dict) and resultcache and unredo (do not use the last two). There are several methods to access and manipulate the data. Since the attribute sgrid is a numpy object grid, all numpy methods can be used directly. When accessing (and slicing) S, you actually call a method that evaluates S.fgrid. When you set an item in S, the sgrid item is set but it is not automatically updated. Have fun poking around in the S object.

Q: Is S.spread the only way to write to a cell using its absolute/relative address?
A: No. However, it is the preferred way.
Try this out:

S[1,0,0] = '2'

Only after selecting the cell (1,0,0), the string 2 will appear and it will be updated.
Note the error message.

Q: How can I write to cells from within a macro?
A: S.spread is your friend
Macro:

def test(a):
    S.spread(a, (1, 0, 0))

Grid:

test(3)

Q: What are the boundaries for the number of rows/columns/sheets?
A: These are limited by your memory (and maybe your stack restriction if any). However, the grid is restricted to a number that changes with row size. For standard size (GTK), 80 000 000 rows can be displayed.
If you have more than 1 million rows of data, please load the data into a numpy array inside one cell (see the podcast).

Q: I'd like to exact data from a saved .pys file it without using the GUI, e.g. I'd like to open one in a script and read things from it.
A: The .pys format is a bzip2-ed pickle dump of the UserDict that contains the strings that are entered in the cells.
Example:

>>> import bz2, numpy, wx
>>> infile=bz2.BZ2File('new_wagner.pys','r')
>>> import cPickle as pickle
>>> a=wx.App()
>>> import _pyspread._datastructures
>>> data = pickle.load(infile)
>>> data
{(11, 'left', 0): u'', 
(4, 96, 0): u'', 
(7, 22, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(8, 9, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 41, 0): u'', 
(22, 6, 0): u'', 
(15, 13, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(13, 4, 0): u'', 
(18, 12, 0): u'', 
(6, 13, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(11, 23, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 30, 0): u'', 
(9, 18, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(14, 22, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(19, 10, 0): u'', 
(24, 2, 0): u'', 
(4, 77, 0): u'', 
(17, 5, 0): u'', 
(10, 12, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(3, 7, 0): u'', 
(5, 37, 0): u'', 
(1, 2, 0): u'', 
(22, 10, 0): u'', 
(13, 16, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(6, 17, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(23, 20, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 42, 0): u'', 
(21, 11, 0): u'', 
(14, 10, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 89, 0): u'', 
(12, 7, 0): u'min([s for s in S[6:23,Y-1,0] if s > 0]) + vr * (S[5,Y,0] - S[X,0,0]) * S[4,Y,0] + A', 
(17, 9, 0): u'', 
(5, 0, 0): u"'Month'", 
(8, 17, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 49, 0): u'', 
(16, 6, 0): u'', 
(9, 9, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(24, 'left', 0): u'', 
(23, 0, 0): u'S[X-1, Y, Z] + 1', 
(5, 85, 0): u'', 
(4, 38, 0): u'', 
(0, 1, 0): u'', 
(21, 7, 0): u'', 
(4, 85, 0): u'', 
(7, 5, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(12, 19, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 28, 0): u'', 
(10, 20, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(22, 19, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(15, 16, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(20, 8, 0): u'', 
(25, 0, 0): u'S[X-1, Y, Z] + 1', 
(18, 1, 0): u'', 
(11, 2, 0): u'', 
(16, 10, 0): u'', 
(4, 3, 0): u'12', 
(2, 4, 0): u'', 
(24, 15, 0): u'', 
(4, 50, 0): u'', 
(4, 'left', 0): u'', 
(4, 97, 0): u'', 
(7, 17, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(8, 10, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 40, 0): u'', 
(22, 7, 0): u'', 
(15, 12, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(20, 4, 0): u'', 
(13, 3, 0): u'', 
(18, 13, 0): u'min([s for s in S[6:23,Y-1,0] if s > 0]) + vr * (S[5,Y,0] - S[X,0,0]) * S[4,Y,0] + A', 
(6, 2, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(11, 22, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 31, 0): u'', 
(9, 17, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(26, 22, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(14, 23, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(19, 13, 0): u'', 
(24, 3, 0): u'', 
(4, 78, 0): u'', 
(17, 4, 0): u'', 
(10, 13, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(3, 6, 0): u'', 
(5, 36, 0): u'', 
(1, 1, 0): u'A=54', 
(22, 11, 0): u'', 
(13, 15, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(6, 22, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(23, 23, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 43, 0): u'', 
(21, 10, 0): u'', 
(14, 11, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(19, 1, 0): u'', 
(4, 90, 0): u'', 
(12, 0, 0): u'S[X-1, Y, Z] + 1', 
(17, 8, 0): u'', 
(5, 15, 0): u'S[X,Y-1,Z] + 1', 
(8, 18, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(25, 19, 0): u'None', 
(5, 48, 0): u'', 
(16, 7, 0): u'', 
(17, 'left', 0): u'', 
(9, 8, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(30, 0, 0): u'S[X-1, Y, Z] + 1', 
(4, 39, 0): u'', 
(0, 2, 0): u'', 
(21, 6, 0): u'', 
(4, 86, 0): u'', 
(7, 4, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(12, 12, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 27, 0): u'', 
(10, 21, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(22, 16, 0): u'', 
(15, 19, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(20, 9, 0): u'', 
(11, 5, 0): u'', 
(16, 11, 0): u'min([s for s in S[6:23,Y-1,0] if s > 0]) + vr * (S[5,Y,0] - S[X,0,0]) * S[4,Y,0] + A', 
(5, 68, 0): u'', 
(4, 12, 0): u'41', 
(2, 5, 0): u'', 
(24, 16, 0): u'', 
(4, 51, 0): u'', 
(4, 98, 0): u'', 
(7, 16, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(8, 11, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 23, 0): u'S[X,Y-1,Z] + 1', 
(22, 4, 0): u'', 
(15, 15, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(20, 5, 0): u'', 
(13, 2, 0): u'', 
(18, 10, 0): u'', 
(6, 3, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(11, 9, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 24, 0): u'', 
(9, 16, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(26, 23, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(14, 20, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(19, 12, 0): u'', 
(24, 4, 0): u'', 
(4, 79, 0): u'', 
(10, 10, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(3, 9, 0): u'', 
(5, 35, 0): u'', 
(1, 0, 0): u"'A'", 
(22, 8, 0): u'', 
(13, 14, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(18, 22, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(6, 23, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(23, 22, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 20, 0): u'555', 
(21, 9, 0): u'', 
(5, 93, 0): u'', 
(19, 0, 0): u'S[X-1, Y, Z] + 1', 
(4, 91, 0): u'', 
(12, 1, 0): u'', 
(17, 15, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 14, 0): u'S[X,Y-1,Z] + 1', 
(10, 6, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(27, 23, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(8, 19, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 63, 0): u'', 
(10, 'left', 0): u'', 
(9, 15, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 32, 0): u'', 
(0, 3, 0): u'', 
(21, 5, 0): u'', 
(4, 87, 0): u'', 
(7, 7, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(12, 13, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(17, 19, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 26, 0): u'', 
(10, 18, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(22, 17, 0): u'min([s for s in S[6:23,Y-1,0] if s > 0]) + vr * (S[5,Y,0] - S[X,0,0]) * S[4,Y,0] + A', 
(3, 17, 0): u'', 
(15, 18, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(20, 10, 0): u'', 
(5, 91, 0): u'', 
(11, 4, 0): u'', 
(16, 12, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 13, 0): u'328', 
(9, 3, 0): u'', 
(2, 2, 0): u'', 
(24, 17, 0): u'', 
(4, 60, 0): u'', 
(4, 99, 0): u'', 
(7, 19, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 81, 0): u'', 
(8, 12, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 22, 0): u'S[X,Y-1,Z] + 1', 
(22, 5, 0): u'', 
(15, 14, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(20, 6, 0): u'', 
(13, 1, 0): u'', 
(18, 11, 0): u'', 
(19, 'left', 0): u'', 
(6, 0, 0): u'1', 
(11, 8, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(16, 16, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 25, 0): u'', 
(9, 23, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(2, 14, 0): u'', 
(14, 21, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(19, 15, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(24, 5, 0): u'', 
(4, 72, 0): u'', 
(10, 11, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(3, 8, 0): u'', 
(8, 0, 0): u'S[X-1, Y, Z] + 1', 
(5, 34, 0): u'', 
(1, 7, 0): u'', 
(22, 9, 0): u'', 
(30, 'left', 0): u'', 
(5, 80, 0): u'', 
(13, 13, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(18, 23, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(6, 20, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(23, 17, 0): u'', 
(4, 21, 0): u'45', 
(0, 16, 0): u'', 
(21, 8, 0): u'', 
(26, 0, 0): u'S[X-1, Y, Z] + 1', 
(14, 9, 0): u'min([s for s in S[6:23,Y-1,0] if s > 0]) + vr * (S[5,Y,0] - S[X,0,0]) * S[4,Y,0] + A', 
(19, 3, 0): u'', 
(4, 68, 0): u'', 
(12, 2, 0): u'', 
(17, 14, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(12, 'left', 0): u'', 
(5, 13, 0): u'S[X,Y-1,Z] + 1', 
(10, 7, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(27, 22, 0): u'min([s for s in S[6:23,Y-1,0] if s > 0]) + vr * (S[5,Y,0] - S[X,0,0]) * S[4,Y,0] + A', 
(8, 20, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 62, 0): u'', 
(1, 11, 0): u'', 
(9, 14, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 33, 0): u'', 
(0, 4, 0): u'', 
(21, 4, 0): u'', 
(4, 80, 0): u'', 
(7, 6, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(12, 14, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(17, 18, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 82, 0): u'', 
(5, 25, 0): u'', 
(10, 19, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(22, 22, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(3, 16, 0): u'', 
(20, 11, 0): u'', 
(11, 7, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(16, 13, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 14, 0): u'123', 
(9, 2, 0): u'', 
(2, 3, 0): u'gmpy = __import__("gmpy")', 
(24, 18, 0): u'', 
(4, 61, 0): u'', 
(0, 8, 0): u'', 
(5, 87, 0): u'', 
(7, 18, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(8, 13, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 21, 0): u'S[X,Y-1,Z] + 1', 
(15, 9, 0): u'', 
(20, 7, 0): u'', 
(13, 0, 0): u'S[X-1, Y, Z] + 1', 
(18, 8, 0): u'', 
(6, 1, 0): u'A+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(11, 11, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(16, 17, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 26, 0): u'', 
(9, 22, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(25, 'left', 0): u'', 
(26, 21, 0): u'min([s for s in S[6:23,Y-1,0] if s > 0]) + vr * (S[5,Y,0] - S[X,0,0]) * S[4,Y,0] + A', 
(2, 15, 0): u'', 
(5, 79, 0): u'', 
(19, 14, 0): u'min([s for s in S[6:23,Y-1,0] if s > 0]) + vr * (S[5,Y,0] - S[X,0,0]) * S[4,Y,0] + A', 
(24, 6, 0): u'', 
(4, 73, 0): u'', 
(10, 8, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(31, 0, 0): u'S[X-1, Y, Z] + 1', 
(3, 11, 0): u'', 
(8, 1, 0): u'', 
(5, 33, 0): u'', 
(1, 6, 0): u'', 
(22, 14, 0): u'', 
(23, 'left', 0): u'', 
(15, 5, 0): u'', 
(13, 12, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(18, 20, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(6, 21, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 22, 0): u'5', 
(0, 17, 0): u'', 
(21, 23, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(14, 14, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(19, 2, 0): u'', 
(4, 69, 0): u'', 
(5, 'left', 0): u'', 
(12, 3, 0): u'', 
(17, 13, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 12, 0): u'12', 
(10, 4, 0): u'', 
(8, 21, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 61, 0): u'', 
(1, 10, 0): u'', 
(9, 13, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(2, 20, 0): u'', 
(4, 34, 0): u'', 
(0, 5, 0): u'', 
(21, 3, 0): u'', 
(14, 2, 0): u'', 
(4, 81, 0): u'', 
(7, 1, 0): u'', 
(12, 15, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(17, 17, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 24, 0): u'', 
(10, 16, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(22, 23, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(3, 19, 0): u'', 
(20, 20, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(11, 6, 0): u'min([s for s in S[6:23,Y-1,0] if s > 0]) + vr * (S[5,Y,0] - S[X,0,0]) * S[4,Y,0] + A', 
(16, 14, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 15, 0): u'22', 
(9, 1, 0): u'', 
(2, 0, 0): u"'vr'", 
(24, 19, 0): u'min([s for s in S[6:23,Y-1,0] if s > 0]) + vr * (S[5,Y,0] - S[X,0,0]) * S[4,Y,0] + A', 
(4, 62, 0): u'', 
(0, 9, 0): u'', 
(5, 65, 0): u'', 
(7, 13, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(8, 14, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 20, 0): u'S[X,Y-1,Z] + 1', 
(1, 17, 0): u'', 
(22, 'left', 0): u'', 
(15, 8, 0): u'', 
(20, 0, 0): u'S[X-1, Y, Z] + 1', 
(18, 9, 0): u'', 
(6, 6, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(11, 10, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(16, 18, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(18, 'left', 0): u'', 
(4, 27, 0): u'', 
(9, 21, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(2, 12, 0): u'', 
(5, 78, 0): u'', 
(19, 17, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(24, 7, 0): u'', 
(4, 74, 0): u'', 
(10, 9, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(3, 10, 0): u'', 
(8, 2, 0): u'', 
(5, 32, 0): u'', 
(1, 5, 0): u'', 
(22, 15, 0): u'', 
(15, 4, 0): u'', 
(13, 11, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(18, 21, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(6, 10, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(23, 19, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 23, 0): u'454', 
(21, 22, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 90, 0): u'', 
(19, 5, 0): u'', 
(4, 70, 0): u'', 
(17, 12, 0): u'min([s for s in S[6:23,Y-1,0] if s > 0]) + vr * (S[5,Y,0] - S[X,0,0]) * S[4,Y,0] + A', 
(5, 11, 0): u'11', 
(10, 5, 0): u'min([s for s in S[6:23,Y-1,0] if s > 0]) + vr * (S[5,Y,0] - S[X,0,0]) * S[4,Y,0] + A', 
(8, 22, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(25, 23, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 60, 0): u'', 
(1, 9, 0): u'', 
(5, 99, 0): u'', 
(13, 23, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(9, 12, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 35, 0): u'', 
(0, 6, 0): u'', 
(21, 2, 0): u'', 
(14, 3, 0): u'', 
(4, 82, 0): u'', 
(7, 0, 0): u'S[X-1, Y, Z] + 1', 
(12, 8, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(17, 16, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 7, 0): u'7', 
(10, 17, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(22, 20, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(3, 18, 0): u'', 
(20, 21, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(16, 15, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 8, 0): u'52', 
(9, 0, 0): u'S[X-1, Y, Z] + 1', 
(2, 1, 0): u'vr = gmpy.mpq(0.4)', 
(24, 20, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 63, 0): u'', 
(0, 10, 0): u'', 
(5, 98, 0): u'', 
(7, 12, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(12, 20, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(8, 15, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 19, 0): u'S[X,Y-1,Z] + 1', 
(1, 16, 0): u'', 
(27, 0, 0): u'S[X-1, Y, Z] + 1', 
(15, 11, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(20, 1, 0): u'', 
(27, 'left', 0): u'', 
(18, 6, 0): u'', 
(6, 7, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(11, 13, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(16, 19, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 4, 0): u'130', 
(9, 20, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(26, 19, 0): u'None', 
(2, 13, 0): u'', 
(5, 77, 0): u'', 
(19, 16, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(24, 8, 0): u'', 
(4, 75, 0): u'', 
(3, 13, 0): u'', 
(8, 3, 0): u'min([s for s in S[6:23,Y-1,0] if s > 0]) + vr * (S[5,Y,0] - S[X,0,0]) * S[4,Y,0] + A', 
(5, 47, 0): u'', 
(1, 4, 0): u'', 
(22, 12, 0): u'', 
(15, 7, 0): u'', 
(13, 10, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(18, 18, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(6, 11, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(11, 17, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(23, 18, 0): u'min([s for s in S[6:23,Y-1,0] if s > 0]) + vr * (S[5,Y,0] - S[X,0,0]) * S[4,Y,0] + A', 
(4, 16, 0): u'160', 
(21, 21, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 89, 0): u'', 
(19, 4, 0): u'', 
(4, 71, 0): u'', 
(17, 3, 0): u'', 
(5, 10, 0): u'10', 
(10, 2, 0): u'', 
(3, 1, 0): u'', 
(8, 23, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(25, 22, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 59, 0): u'', 
(1, 8, 0): u'', 
(13, 22, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 44, 0): u'', 
(0, 7, 0): u'', 
(21, 1, 0): u'', 
(14, 0, 0): u'S[X-1, Y, Z] + 1', 
(4, 83, 0): u'', 
(7, 3, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(12, 9, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(17, 23, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 6, 0): u'6', 
(22, 21, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(3, 21, 0): u'', 
(20, 22, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 55, 0): u'', 
(31, 'left', 0): u'', 
(5, 95, 0): u'', 
(16, 0, 0): u'S[X-1, Y, Z] + 1', 
(4, 9, 0): u'124', 
(9, 7, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(24, 21, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 56, 0): u'', 
(0, 11, 0): u'', 
(5, 97, 0): u'', 
(7, 15, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(12, 21, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(13, 'left', 0): u'', 
(5, 18, 0): u'S[X,Y-1,Z] + 1', 
(15, 10, 0): u'min([s for s in S[6:23,Y-1,0] if s > 0]) + vr * (S[5,Y,0] - S[X,0,0]) * S[4,Y,0] + A', 
(20, 2, 0): u'', 
(5, 64, 0): u'', 
(18, 7, 0): u'', 
(6, 4, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(11, 12, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(16, 20, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 5, 0): u'154', 
(2, 10, 0): u'', 
(5, 76, 0): u'', 
(19, 19, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(24, 9, 0): u'', 
(4, 52, 0): u'', 
(3, 12, 0): u'', 
(8, 4, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 46, 0): u'', 
(22, 13, 0): u'', 
(15, 6, 0): u'', 
(13, 9, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(18, 19, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(6, 8, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(11, 16, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 17, 0): u'238', 
(21, 20, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 88, 0): u'', 
(19, 7, 0): u'', 
(4, 64, 0): u'', 
(17, 2, 0): u'', 
(5, 9, 0): u'9', 
(10, 3, 0): u'', 
(3, 0, 0): u'', 
(25, 21, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 58, 0): u'', 
(1, 15, 0): u'', 
(13, 21, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 45, 0): u'', 
(21, 0, 0): u'S[X-1, Y, Z] + 1', 
(5, 84, 0): u'', 
(4, 92, 0): u'', 
(7, 2, 0): u'min([s for s in S[6:23,Y-1,0] if s > 0]) + vr * (S[5,Y,0] - S[X,0,0]) * S[4,Y,0] + A', 
(12, 10, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(17, 22, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 5, 0): u'5', 
(3, 20, 0): u'', 
(20, 23, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 54, 0): u'', 
(8, 'left', 0): u'', 
(16, 1, 0): u'', 
(4, 10, 0): u'160', 
(9, 6, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(24, 22, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 57, 0): u'', 
(0, 12, 0): u'', 
(5, 96, 0): u'', 
(6, 'left', 0): u'', 
(7, 14, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(12, 22, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 17, 0): u'S[X,Y-1,Z] + 1', 
(15, 21, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(20, 3, 0): u'', 
(18, 4, 0): u'', 
(6, 5, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(11, 15, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(16, 21, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 6, 0): u'129', 
(2, 11, 0): u'', 
(5, 75, 0): u'', 
(19, 18, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(24, 10, 0): u'', 
(4, 53, 0): u'', 
(3, 15, 0): u'', 
(8, 5, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 45, 0): u'', 
(22, 2, 0): u'', 
(15, 1, 0): u'', 
(13, 8, 0): u'min([s for s in S[6:23,Y-1,0] if s > 0]) + vr * (S[5,Y,0] - S[X,0,0]) * S[4,Y,0] + A', 
(18, 16, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(6, 9, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(11, 19, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 18, 0): u'23', 
(21, 19, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(14, 18, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(19, 6, 0): u'', 
(4, 65, 0): u'', 
(17, 1, 0): u'', 
(5, 8, 0): u'8', 
(10, 0, 0): u'S[X-1, Y, Z] + 1', 
(3, 3, 0): u'', 
(25, 20, 0): u'min([s for s in S[6:23,Y-1,0] if s > 0]) + vr * (S[5,Y,0] - S[X,0,0]) * S[4,Y,0] + A', 
(5, 57, 0): u'', 
(1, 14, 0): u'', 
(28, 'left', 0): u'', 
(13, 20, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(2, 16, 0): u'', 
(28, 0, 0): u'S[X-1, Y, Z] + 1', 
(4, 46, 0): u'', 
(21, 15, 0): u'', 
(14, 6, 0): u'', 
(4, 93, 0): u'', 
(12, 11, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(17, 21, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 4, 0): u'4', 
(3, 23, 0): u'', 
(20, 16, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 53, 0): u'', 
(16, 2, 0): u'', 
(4, 11, 0): u'238', 
(9, 5, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(24, 23, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 58, 0): u'', 
(0, 13, 0): u'', 
(7, 9, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(12, 23, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 69, 0): u'', 
(5, 16, 0): u'S[X,Y-1,Z] + 1', 
(15, 20, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(20, 12, 0): u'', 
(18, 5, 0): u'', 
(11, 14, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(16, 22, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 7, 0): u'88', 
(2, 8, 0): u'', 
(5, 74, 0): u'', 
(19, 21, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(24, 11, 0): u'', 
(4, 54, 0): u'', 
(7, 21, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(3, 14, 0): u'', 
(8, 6, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 44, 0): u'', 
(22, 3, 0): u'', 
(15, 0, 0): u'S[X-1, Y, Z] + 1', 
(13, 7, 0): u'', 
(18, 17, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(6, 14, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(11, 18, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(28, 21, 0): u'', 
(4, 19, 0): u'56', 
(21, 18, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 70, 0): u'', 
(19, 9, 0): u'', 
(4, 66, 0): u'', 
(17, 0, 0): u'S[X-1, Y, Z] + 1', 
(10, 1, 0): u'', 
(26, 'left', 0): u'', 
(5, 67, 0): u'', 
(3, 2, 0): u'', 
(21, 'left', 0): u'', 
(5, 56, 0): u'', 
(1, 13, 0): u'', 
(14, 1, 0): u'', 
(13, 19, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(6, 18, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(2, 17, 0): u'', 
(4, 47, 0): u'', 
(21, 14, 0): u'', 
(14, 7, 0): u'', 
(4, 94, 0): u'', 
(12, 4, 0): u'', 
(17, 20, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(14, 13, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 3, 0): u'3', 
(3, 22, 0): u'', 
(20, 17, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 52, 0): u'', 
(16, 3, 0): u'', 
(9, 4, 0): u'min([s for s in S[6:23,Y-1,0] if s > 0]) + vr * (S[5,Y,0] - S[X,0,0]) * S[4,Y,0] + A', 
(4, 59, 0): u'', 
(0, 14, 0): u'', 
(5, 92, 0): u'', 
(5, 86, 0): u'', 
(7, 8, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(12, 16, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 31, 0): u'', 
(15, 23, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(20, 13, 0): u'', 
(18, 2, 0): u'', 
(14, 12, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(11, 1, 0): u'', 
(16, 23, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 0, 0): u"'Demand'", 
(2, 9, 0): u'', 
(5, 73, 0): u'', 
(19, 20, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(24, 12, 0): u'', 
(4, 55, 0): u'', 
(7, 20, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(8, 7, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 43, 0): u'', 
(22, 0, 0): u'S[X-1, Y, Z] + 1', 
(15, 3, 0): u'', 
(13, 6, 0): u'', 
(18, 14, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(16, 'left', 0): u'', 
(6, 15, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(11, 21, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(28, 22, 0): u'', 
(4, 28, 0): u'', 
(21, 17, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(14, 16, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(19, 8, 0): u'', 
(24, 0, 0): u'S[X-1, Y, Z] + 1', 
(4, 67, 0): u'', 
(17, 7, 0): u'', 
(10, 14, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(14, 'left', 0): u'', 
(3, 5, 0): u'', 
(5, 39, 0): u'', 
(1, 12, 0): u'', 
(13, 18, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(14, 19, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(6, 19, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(4, 40, 0): u'', 
(21, 13, 0): u'', 
(14, 4, 0): u'', 
(4, 95, 0): u'', 
(12, 5, 0): u'', 
(17, 11, 0): u'', 
(5, 2, 0): u'2', 
(27, 19, 0): u'None', 
(20, 18, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 51, 0): u'', 
(16, 4, 0): u'', 
(9, 11, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 83, 0): u'', 
(15, 'left', 0): u'', 
(4, 36, 0): u'', 
(0, 15, 0): u'', 
(7, 11, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(12, 17, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 30, 0): u'', 
(10, 22, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 71, 0): u'', 
(15, 22, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(20, 14, 0): u'', 
(18, 3, 0): u'', 
(11, 0, 0): u'S[X-1, Y, Z] + 1', 
(16, 8, 0): u'', 
(4, 1, 0): u'10', 
(2, 6, 0): u'', 
(5, 72, 0): u'', 
(19, 23, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(24, 13, 0): u'', 
(4, 48, 0): u'', 
(7, 23, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(8, 8, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(29, 0, 0): u'S[X-1, Y, Z] + 1', 
(5, 42, 0): u'', 
(22, 1, 0): u'', 
(15, 2, 0): u'', 
(9, 'left', 0): u'', 
(13, 5, 0): u'', 
(18, 15, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(6, 12, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(11, 20, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(28, 23, 0): u'min([s for s in S[6:23,Y-1,0] if s > 0]) + vr * (S[5,Y,0] - S[X,0,0]) * S[4,Y,0] + A', 
(4, 29, 0): u'', 
(9, 19, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(21, 16, 0): u'min([s for s in S[6:23,Y-1,0] if s > 0]) + vr * (S[5,Y,0] - S[X,0,0]) * S[4,Y,0] + A', 
(14, 17, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(19, 11, 0): u'', 
(24, 1, 0): u'', 
(4, 76, 0): u'', 
(17, 6, 0): u'', 
(7, 'left', 0): u'', 
(10, 15, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(3, 4, 0): u'', 
(5, 38, 0): u'', 
(1, 3, 0): u'', 
(13, 17, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(6, 16, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(23, 21, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(14, 8, 0): u'', 
(4, 41, 0): u'', 
(21, 12, 0): u'', 
(14, 5, 0): u'', 
(4, 88, 0): u'', 
(12, 6, 0): u'', 
(17, 10, 0): u'', 
(5, 1, 0): u'1', 
(14, 15, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(8, 16, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(20, 19, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 50, 0): u'', 
(16, 5, 0): u'', 
(9, 10, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(20, 'left', 0): u'', 
(4, 37, 0): u'', 
(0, 0, 0): u'"Wagner-Whitin algorithm"', 
(5, 94, 0): u'', 
(4, 84, 0): u'', 
(7, 10, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(12, 18, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(5, 29, 0): u'', 
(10, 23, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(22, 18, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(15, 17, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(20, 15, 0): u'min([s for s in S[6:23,Y-1,0] if s > 0]) + vr * (S[5,Y,0] - S[X,0,0]) * S[4,Y,0] + A', 
(29, 'left', 0): u'', 
(18, 0, 0): u'S[X-1, Y, Z] + 1', 
(5, 66, 0): u'', 
(11, 3, 0): u'', 
(16, 9, 0): u'', 
(4, 2, 0): u'62', 
(2, 7, 0): u'', 
(19, 22, 0): u'S[X,Y-1,Z]+vr*(S[5,Y,0]-S[X,0,0])*S[4,Y,0]', 
(24, 14, 0): u'', 
(4, 49, 0): u''}
>>> infile.close()