© 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()