summaryrefslogtreecommitdiffstats
path: root/systemtest
diff options
context:
space:
mode:
Diffstat (limited to 'systemtest')
-rw-r--r--systemtest/Makefile56
-rw-r--r--systemtest/image1.bmpbin0 -> 450 bytes
-rw-r--r--systemtest/image1.hdfbin0 -> 2968 bytes
-rw-r--r--systemtest/image1.jpgbin0 -> 631 bytes
-rw-r--r--systemtest/image1.pngbin0 -> 145 bytes
-rw-r--r--systemtest/image1.tifbin0 -> 2230 bytes
-rw-r--r--systemtest/image1.vffbin0 -> 276 bytes
-rw-r--r--systemtest/image2.bmpbin0 -> 450 bytes
-rw-r--r--systemtest/image2.hdfbin0 -> 2968 bytes
-rw-r--r--systemtest/image2.jpgbin0 -> 631 bytes
-rw-r--r--systemtest/image2.pngbin0 -> 145 bytes
-rw-r--r--systemtest/image2.tifbin0 -> 2230 bytes
-rw-r--r--systemtest/image2.vff15
-rw-r--r--systemtest/images/ovl1.ppm4
-rw-r--r--systemtest/images/ovl2.ppmbin0 -> 313 bytes
-rw-r--r--systemtest/images/ovl3.ppmbin0 -> 313 bytes
-rw-r--r--systemtest/memleak/overview18
-rw-r--r--systemtest/rasdl/generator_rasdl.sh41
-rw-r--r--systemtest/rasdl/rasdl.sh9
-rw-r--r--systemtest/rasdl/test_rasdl.sh90
-rw-r--r--systemtest/scripts/rasql_1.pngbin0 -> 17042 bytes
-rw-r--r--systemtest/scripts/test_error-par.old2
-rw-r--r--systemtest/scripts/test_error-par.sh130
-rw-r--r--systemtest/scripts/test_error-par/Makefile77
-rw-r--r--systemtest/scripts/test_error-par/test_error-par.cc467
-rw-r--r--systemtest/scripts/test_error-seq.old13
-rw-r--r--systemtest/scripts/test_error-seq.sh99
-rw-r--r--systemtest/scripts/test_error-seq/Makefile70
-rw-r--r--systemtest/scripts/test_error-seq/test_error-seq.cc515
-rw-r--r--systemtest/scripts/test_ql-extend.sh131
-rw-r--r--systemtest/scripts/test_ql-png-options.sh251
-rw-r--r--systemtest/scripts/test_ql-png-options.test/png-color-trns_1.pngbin0 -> 169 bytes
-rw-r--r--systemtest/scripts/test_ql-png-options.test/png-color-trns_10.pngbin0 -> 169 bytes
-rw-r--r--systemtest/scripts/test_ql-png-options.test/png-gray-trns_1.pngbin0 -> 161 bytes
-rw-r--r--systemtest/scripts/test_ql-png-options.test/png-gray-trns_2.pngbin0 -> 161 bytes
-rw-r--r--systemtest/scripts/test_ql-png-options.test/png-gray-trns_3.pngbin0 -> 161 bytes
-rw-r--r--systemtest/scripts/test_ql-png-options.test/png-gray-trns_4.pngbin0 -> 161 bytes
-rw-r--r--systemtest/scripts/test_ql-png-options.test/png-gray-trns_5.pngbin0 -> 161 bytes
-rw-r--r--systemtest/scripts/test_ql-png-options.test/png-gray-trns_6.pngbin0 -> 161 bytes
-rw-r--r--systemtest/scripts/test_ql-png-options.test/png-gray-trns_7.pngbin0 -> 161 bytes
-rw-r--r--systemtest/scripts/test_ql-png-options.test/png-gray-trns_8.pngbin0 -> 161 bytes
-rw-r--r--systemtest/scripts/test_ql-png-options.test/png-gray-trns_9.pngbin0 -> 161 bytes
-rw-r--r--systemtest/scripts/test_ql-png-options.test/png-mono-trns_1.pngbin0 -> 149 bytes
-rw-r--r--systemtest/scripts/test_ql-png-options.test/png-mono-trns_2.pngbin0 -> 149 bytes
-rw-r--r--systemtest/scripts/test_user.sh157
-rw-r--r--systemtest/scripts/testoid.sh114
-rw-r--r--systemtest/testOutputGen.awk19
-rw-r--r--systemtest/testcenter.sh710
-rw-r--r--systemtest/testcenter2.sh444
-rw-r--r--systemtest/testdata/1dset1/cellaccess.ql3
-rw-r--r--systemtest/testdata/1dset1/cellaccess.ql.java.out15
-rw-r--r--systemtest/testdata/1dset1/cellaccess.ql.out14
-rw-r--r--systemtest/testdata/1dset1/trim.ql2
-rw-r--r--systemtest/testdata/1dset1/trim.ql.java.out15
-rw-r--r--systemtest/testdata/1dset1/trim.ql.out14
-rw-r--r--systemtest/testdata/3dset1/proj1.ql2
-rw-r--r--systemtest/testdata/3dset1/proj1.ql.java.out15
-rw-r--r--systemtest/testdata/3dset1/proj1.ql.out14
-rw-r--r--systemtest/testdata/3dset1/proj2.ql2
-rw-r--r--systemtest/testdata/3dset1/proj2.ql.java.out15
-rw-r--r--systemtest/testdata/3dset1/proj2.ql.out14
-rw-r--r--systemtest/testdata/3dset1/proj3.ql2
-rw-r--r--systemtest/testdata/3dset1/proj3.ql.java.out15
-rw-r--r--systemtest/testdata/3dset1/proj3.ql.out14
-rw-r--r--systemtest/testdata/bit/bit_01.ql2
-rw-r--r--systemtest/testdata/bit/bit_01.ql.java.out29
-rw-r--r--systemtest/testdata/bit/bit_01.ql.out44
-rw-r--r--systemtest/testdata/bit/bit_02.ql2
-rw-r--r--systemtest/testdata/bit/bit_02.ql.java.out29
-rw-r--r--systemtest/testdata/bit/bit_02.ql.out44
-rw-r--r--systemtest/testdata/bit/bit_03.ql2
-rw-r--r--systemtest/testdata/bit/bit_03.ql.java.out1
-rw-r--r--systemtest/testdata/bit/bit_03.ql.out6
-rw-r--r--systemtest/testdata/bit/bit_04.ql2
-rw-r--r--systemtest/testdata/bit/bit_04.ql.java.out1
-rw-r--r--systemtest/testdata/bit/bit_04.ql.out6
-rw-r--r--systemtest/testdata/bit/bit_05.ql2
-rw-r--r--systemtest/testdata/bit/bit_05.ql.java.out1
-rw-r--r--systemtest/testdata/bit/bit_05.ql.out6
-rw-r--r--systemtest/testdata/bit/bit_06.ql2
-rw-r--r--systemtest/testdata/bit/bit_06.ql.java.out1
-rw-r--r--systemtest/testdata/bit/bit_06.ql.out6
-rw-r--r--systemtest/testdata/bit/bit_07.ql2
-rw-r--r--systemtest/testdata/bit/bit_07.ql.java.out1
-rw-r--r--systemtest/testdata/bit/bit_07.ql.out6
-rw-r--r--systemtest/testdata/bit/bit_08.ql2
-rw-r--r--systemtest/testdata/bit/bit_08.ql.java.out1
-rw-r--r--systemtest/testdata/bit/bit_08.ql.out6
-rw-r--r--systemtest/testdata/bit/bit_09.ql2
-rw-r--r--systemtest/testdata/bit/bit_09.ql.java.out1
-rw-r--r--systemtest/testdata/bit/bit_09.ql.out6
-rw-r--r--systemtest/testdata/bit/bit_10.ql2
-rw-r--r--systemtest/testdata/bit/bit_10.ql.java.out1
-rw-r--r--systemtest/testdata/bit/bit_10.ql.out6
-rw-r--r--systemtest/testdata/bit/bit_11.ql2
-rw-r--r--systemtest/testdata/bit/bit_11.ql.java.out1
-rw-r--r--systemtest/testdata/bit/bit_11.ql.out6
-rw-r--r--systemtest/testdata/bit/bit_12.ql2
-rw-r--r--systemtest/testdata/bit/bit_12.ql.java.out1
-rw-r--r--systemtest/testdata/bit/bit_12.ql.out6
-rw-r--r--systemtest/testdata/bit/bit_13.ql2
-rw-r--r--systemtest/testdata/bit/bit_13.ql.java.out2
-rw-r--r--systemtest/testdata/bit/bit_13.ql.out1
-rw-r--r--systemtest/testdata/bit/bit_14.ql2
-rw-r--r--systemtest/testdata/bit/bit_14.ql.java.out2
-rw-r--r--systemtest/testdata/bit/bit_14.ql.out1
-rw-r--r--systemtest/testdata/bit/bit_15.ql2
-rw-r--r--systemtest/testdata/bit/bit_15.ql.java.out16
-rw-r--r--systemtest/testdata/bit/bit_15.ql.out6
-rw-r--r--systemtest/testdata/bit/bit_16.ql2
-rw-r--r--systemtest/testdata/bit/bit_16.ql.java.out2
-rw-r--r--systemtest/testdata/bit/bit_16.ql.out1
-rw-r--r--systemtest/testdata/bugfixes/all_collections.ql4
-rw-r--r--systemtest/testdata/bugfixes/all_collections.ql.java.out841
-rw-r--r--systemtest/testdata/bugfixes/all_collections.ql.out164
-rw-r--r--systemtest/testdata/bugfixes/all_collections.ql.tmp164
-rw-r--r--systemtest/testdata/bugfixes/charcast.ql2
-rw-r--r--systemtest/testdata/bugfixes/charcast.ql.java.out29
-rw-r--r--systemtest/testdata/bugfixes/charcast.ql.out44
-rw-r--r--systemtest/testdata/bugfixes/error308.ql1
-rw-r--r--systemtest/testdata/bugfixes/error308.ql.java.out2
-rw-r--r--systemtest/testdata/bugfixes/error308.ql.out1
-rw-r--r--systemtest/testdata/bugfixes/floatcondense.ql4
-rw-r--r--systemtest/testdata/bugfixes/floatcondense.ql.java.out29
-rw-r--r--systemtest/testdata/bugfixes/floatcondense.ql.out24
-rw-r--r--systemtest/testdata/caset1/cond1.ql4
-rw-r--r--systemtest/testdata/caset1/cond1.ql.java.out29
-rw-r--r--systemtest/testdata/caset1/cond1.ql.out44
-rw-r--r--systemtest/testdata/caset1/cond2.ql4
-rw-r--r--systemtest/testdata/caset1/cond2.ql.java.out29
-rw-r--r--systemtest/testdata/caset1/cond2.ql.out44
-rw-r--r--systemtest/testdata/caset1/count1.ql3
-rw-r--r--systemtest/testdata/caset1/count1.ql.java.out29
-rw-r--r--systemtest/testdata/caset1/count1.ql.out24
-rw-r--r--systemtest/testdata/caset1/count2.ql3
-rw-r--r--systemtest/testdata/caset1/count2.ql.java.out15
-rw-r--r--systemtest/testdata/caset1/count2.ql.out14
-rw-r--r--systemtest/testdata/caset1/count3.ql3
-rw-r--r--systemtest/testdata/caset1/count3.ql.java.out15
-rw-r--r--systemtest/testdata/caset1/count3.ql.out14
-rw-r--r--systemtest/testdata/caset1/hist1.ql3
-rw-r--r--systemtest/testdata/caset1/hist1.ql.java.out29
-rw-r--r--systemtest/testdata/caset1/hist1.ql.out24
-rw-r--r--systemtest/testdata/caset1/hist2.ql4
-rw-r--r--systemtest/testdata/caset1/hist2.ql.java.out29
-rw-r--r--systemtest/testdata/caset1/hist2.ql.out24
-rw-r--r--systemtest/testdata/caset1/marray1.ql4
-rw-r--r--systemtest/testdata/caset1/marray1.ql.java.out29
-rw-r--r--systemtest/testdata/caset1/marray1.ql.out44
-rw-r--r--systemtest/testdata/caset1/marray2.ql.out23
-rw-r--r--systemtest/testdata/caset1/marray3.ql.out44
-rw-r--r--systemtest/testdata/caset1/marray4.ql4
-rw-r--r--systemtest/testdata/caset1/marray4.ql.java.out15
-rw-r--r--systemtest/testdata/caset1/marray4.ql.out23
-rw-r--r--systemtest/testdata/caset1/olap1.ql4
-rw-r--r--systemtest/testdata/caset1/olap1.ql.java.out15
-rw-r--r--systemtest/testdata/caset1/olap1.ql.out15
-rw-r--r--systemtest/testdata/caset1/olap2.ql4
-rw-r--r--systemtest/testdata/caset1/olap2.ql.java.out15
-rw-r--r--systemtest/testdata/caset1/olap2.ql.out15
-rw-r--r--systemtest/testdata/cast/cast_01.ql2
-rw-r--r--systemtest/testdata/cast/cast_01.ql.java.out1
-rw-r--r--systemtest/testdata/cast/cast_01.ql.out6
-rw-r--r--systemtest/testdata/cast/cast_02.ql2
-rw-r--r--systemtest/testdata/cast/cast_02.ql.java.out1
-rw-r--r--systemtest/testdata/cast/cast_02.ql.out6
-rw-r--r--systemtest/testdata/cast/cast_03.ql2
-rw-r--r--systemtest/testdata/cast/cast_03.ql.java.out1
-rw-r--r--systemtest/testdata/cast/cast_03.ql.out6
-rw-r--r--systemtest/testdata/cast/cast_04.ql2
-rw-r--r--systemtest/testdata/cast/cast_04.ql.java.out1
-rw-r--r--systemtest/testdata/cast/cast_04.ql.out6
-rw-r--r--systemtest/testdata/cast/cast_05.ql2
-rw-r--r--systemtest/testdata/cast/cast_05.ql.java.out1
-rw-r--r--systemtest/testdata/cast/cast_05.ql.out6
-rw-r--r--systemtest/testdata/cast/cast_06.ql2
-rw-r--r--systemtest/testdata/cast/cast_06.ql.java.out1
-rw-r--r--systemtest/testdata/cast/cast_06.ql.out6
-rw-r--r--systemtest/testdata/cast/cast_07.ql2
-rw-r--r--systemtest/testdata/cast/cast_07.ql.java.out1
-rw-r--r--systemtest/testdata/cast/cast_07.ql.out6
-rw-r--r--systemtest/testdata/cast/cast_08.ql2
-rw-r--r--systemtest/testdata/cast/cast_08.ql.java.out1
-rw-r--r--systemtest/testdata/cast/cast_08.ql.out6
-rw-r--r--systemtest/testdata/cast/cast_09.ql2
-rw-r--r--systemtest/testdata/cast/cast_09.ql.java.out1
-rw-r--r--systemtest/testdata/cast/cast_09.ql.out6
-rw-r--r--systemtest/testdata/cast/cast_10.ql2
-rw-r--r--systemtest/testdata/cast/cast_10.ql.java.out1
-rw-r--r--systemtest/testdata/cast/cast_10.ql.out6
-rw-r--r--systemtest/testdata/cast/cast_11.ql2
-rw-r--r--systemtest/testdata/cast/cast_11.ql.java.out1
-rw-r--r--systemtest/testdata/cast/cast_11.ql.out6
-rw-r--r--systemtest/testdata/cast/cast_12.ql2
-rw-r--r--systemtest/testdata/cast/cast_12.ql.java.out1
-rw-r--r--systemtest/testdata/cast/cast_12.ql.out6
-rw-r--r--systemtest/testdata/cast/cast_13.ql2
-rw-r--r--systemtest/testdata/cast/cast_13.ql.java.out1
-rw-r--r--systemtest/testdata/cast/cast_13.ql.out6
-rw-r--r--systemtest/testdata/cast/cast_14.ql1
-rw-r--r--systemtest/testdata/cast/cast_14.ql.java.out1
-rw-r--r--systemtest/testdata/cast/cast_14.ql.out6
-rw-r--r--systemtest/testdata/cast/cast_15.ql5
-rw-r--r--systemtest/testdata/cast/cast_15.ql.java.out4
-rw-r--r--systemtest/testdata/cast/cast_15.ql.out8
-rw-r--r--systemtest/testdata/cast/cast_16.ql5
-rw-r--r--systemtest/testdata/cast/cast_16.ql.java.out4
-rw-r--r--systemtest/testdata/cast/cast_16.ql.out8
-rw-r--r--systemtest/testdata/cast/cast_17.ql5
-rw-r--r--systemtest/testdata/cast/cast_17.ql.java.out4
-rw-r--r--systemtest/testdata/cast/cast_17.ql.out8
-rw-r--r--systemtest/testdata/cast/cast_18.ql5
-rw-r--r--systemtest/testdata/cast/cast_18.ql.java.out4
-rw-r--r--systemtest/testdata/cast/cast_18.ql.out8
-rw-r--r--systemtest/testdata/complex/complex01.ql1
-rw-r--r--systemtest/testdata/complex/complex01.ql.java.out4
-rw-r--r--systemtest/testdata/complex/complex01.ql.out5
-rw-r--r--systemtest/testdata/complex/complex02.ql1
-rw-r--r--systemtest/testdata/complex/complex02.ql.java.out4
-rw-r--r--systemtest/testdata/complex/complex02.ql.out5
-rw-r--r--systemtest/testdata/complex/complex03.ql1
-rw-r--r--systemtest/testdata/complex/complex03.ql.java.out4
-rw-r--r--systemtest/testdata/complex/complex03.ql.out5
-rw-r--r--systemtest/testdata/complex/complex04.ql1
-rw-r--r--systemtest/testdata/complex/complex04.ql.java.out4
-rw-r--r--systemtest/testdata/complex/complex04.ql.out5
-rw-r--r--systemtest/testdata/complex/complex05.ql1
-rw-r--r--systemtest/testdata/complex/complex05.ql.java.out4
-rw-r--r--systemtest/testdata/complex/complex05.ql.out5
-rw-r--r--systemtest/testdata/complex/complex06.ql1
-rw-r--r--systemtest/testdata/complex/complex06.ql.java.out4
-rw-r--r--systemtest/testdata/complex/complex06.ql.out5
-rw-r--r--systemtest/testdata/complex/complex07.ql1
-rw-r--r--systemtest/testdata/complex/complex07.ql.java.out4
-rw-r--r--systemtest/testdata/complex/complex07.ql.out5
-rw-r--r--systemtest/testdata/complex/complex08.ql1
-rw-r--r--systemtest/testdata/complex/complex08.ql.java.out4
-rw-r--r--systemtest/testdata/complex/complex08.ql.out5
-rw-r--r--systemtest/testdata/complex/complex09.ql1
-rw-r--r--systemtest/testdata/complex/complex09.ql.java.out4
-rw-r--r--systemtest/testdata/complex/complex09.ql.out5
-rw-r--r--systemtest/testdata/complex/complex10.ql1
-rw-r--r--systemtest/testdata/complex/complex10.ql.java.out4
-rw-r--r--systemtest/testdata/complex/complex10.ql.out5
-rw-r--r--systemtest/testdata/complex/complex11.ql1
-rw-r--r--systemtest/testdata/complex/complex11.ql.java.out4
-rw-r--r--systemtest/testdata/complex/complex11.ql.out5
-rw-r--r--systemtest/testdata/complex/complex12.ql1
-rw-r--r--systemtest/testdata/complex/complex12.ql.java.out4
-rw-r--r--systemtest/testdata/complex/complex12.ql.out5
-rw-r--r--systemtest/testdata/complex/complex13.ql1
-rw-r--r--systemtest/testdata/complex/complex13.ql.java.out2
-rw-r--r--systemtest/testdata/complex/complex13.ql.out24
-rw-r--r--systemtest/testdata/complex/complex14.ql1
-rw-r--r--systemtest/testdata/complex/complex14.ql.java.out2
-rw-r--r--systemtest/testdata/complex/complex14.ql.out24
-rw-r--r--systemtest/testdata/conversion/bmp1.ql5
-rw-r--r--systemtest/testdata/conversion/bmp1.ql.java.out29
-rw-r--r--systemtest/testdata/conversion/bmp1.ql.out6
-rw-r--r--systemtest/testdata/conversion/bmp2.ql5
-rw-r--r--systemtest/testdata/conversion/bmp2.ql.java.out29
-rw-r--r--systemtest/testdata/conversion/bmp2.ql.out6
-rw-r--r--systemtest/testdata/conversion/hdf1.ql5
-rw-r--r--systemtest/testdata/conversion/hdf1.ql.java.out29
-rw-r--r--systemtest/testdata/conversion/hdf1.ql.out6
-rw-r--r--systemtest/testdata/conversion/hdf2.ql5
-rw-r--r--systemtest/testdata/conversion/hdf2.ql.java.out2
-rw-r--r--systemtest/testdata/conversion/hdf2.ql.out1
-rw-r--r--systemtest/testdata/conversion/inv_bmp1.ql5
-rw-r--r--systemtest/testdata/conversion/inv_bmp1.ql.java.out29
-rw-r--r--systemtest/testdata/conversion/inv_bmp1.ql.out44
-rw-r--r--systemtest/testdata/conversion/inv_bmp2.ql5
-rw-r--r--systemtest/testdata/conversion/inv_bmp2.ql.java.out15
-rw-r--r--systemtest/testdata/conversion/inv_bmp2.ql.out44
-rw-r--r--systemtest/testdata/conversion/inv_hdf1.ql5
-rw-r--r--systemtest/testdata/conversion/inv_hdf1.ql.java.out29
-rw-r--r--systemtest/testdata/conversion/inv_hdf1.ql.out44
-rw-r--r--systemtest/testdata/conversion/inv_hdf2.ql5
-rw-r--r--systemtest/testdata/conversion/inv_hdf2.ql.java.out2
-rw-r--r--systemtest/testdata/conversion/inv_hdf2.ql.out1
-rw-r--r--systemtest/testdata/conversion/inv_hdf3.ql5
-rw-r--r--systemtest/testdata/conversion/inv_hdf3.ql.java.out2
-rw-r--r--systemtest/testdata/conversion/inv_hdf3.ql.out1
-rw-r--r--systemtest/testdata/conversion/inv_hdf4.ql5
-rw-r--r--systemtest/testdata/conversion/inv_hdf4.ql.java.out2
-rw-r--r--systemtest/testdata/conversion/inv_hdf4.ql.out1
-rw-r--r--systemtest/testdata/conversion/inv_jpeg1.ql5
-rw-r--r--systemtest/testdata/conversion/inv_jpeg1.ql.java.out29
-rw-r--r--systemtest/testdata/conversion/inv_jpeg1.ql.out44
-rw-r--r--systemtest/testdata/conversion/inv_jpeg2.ql5
-rw-r--r--systemtest/testdata/conversion/inv_jpeg2.ql.java.out15
-rw-r--r--systemtest/testdata/conversion/inv_jpeg2.ql.out44
-rw-r--r--systemtest/testdata/conversion/inv_png1.ql5
-rw-r--r--systemtest/testdata/conversion/inv_png1.ql.java.out29
-rw-r--r--systemtest/testdata/conversion/inv_png1.ql.out44
-rw-r--r--systemtest/testdata/conversion/inv_png2.ql5
-rw-r--r--systemtest/testdata/conversion/inv_png2.ql.java.out15
-rw-r--r--systemtest/testdata/conversion/inv_png2.ql.out44
-rw-r--r--systemtest/testdata/conversion/inv_tiff1.ql5
-rw-r--r--systemtest/testdata/conversion/inv_tiff1.ql.java.out29
-rw-r--r--systemtest/testdata/conversion/inv_tiff1.ql.out44
-rw-r--r--systemtest/testdata/conversion/inv_tiff2.ql5
-rw-r--r--systemtest/testdata/conversion/inv_tiff2.ql.java.out15
-rw-r--r--systemtest/testdata/conversion/inv_tiff2.ql.out44
-rw-r--r--systemtest/testdata/conversion/inv_vff1.ql6
-rw-r--r--systemtest/testdata/conversion/inv_vff1.ql.java.out29
-rw-r--r--systemtest/testdata/conversion/inv_vff1.ql.out44
-rw-r--r--systemtest/testdata/conversion/inv_vff2.ql5
-rw-r--r--systemtest/testdata/conversion/inv_vff2.ql.java.out2
-rw-r--r--systemtest/testdata/conversion/inv_vff2.ql.out1
-rw-r--r--systemtest/testdata/conversion/jpeg1.ql5
-rw-r--r--systemtest/testdata/conversion/jpeg1.ql.java.out29
-rw-r--r--systemtest/testdata/conversion/jpeg1.ql.out6
-rw-r--r--systemtest/testdata/conversion/jpeg2.ql5
-rw-r--r--systemtest/testdata/conversion/jpeg2.ql.java.out29
-rw-r--r--systemtest/testdata/conversion/jpeg2.ql.out6
-rw-r--r--systemtest/testdata/conversion/png1.ql5
-rw-r--r--systemtest/testdata/conversion/png1.ql.java.out29
-rw-r--r--systemtest/testdata/conversion/png1.ql.out6
-rw-r--r--systemtest/testdata/conversion/png2.ql5
-rw-r--r--systemtest/testdata/conversion/png2.ql.java.out29
-rw-r--r--systemtest/testdata/conversion/png2.ql.out6
-rw-r--r--systemtest/testdata/conversion/tiff1.ql5
-rw-r--r--systemtest/testdata/conversion/tiff1.ql.java.out29
-rw-r--r--systemtest/testdata/conversion/tiff1.ql.out6
-rw-r--r--systemtest/testdata/conversion/tiff2.ql5
-rw-r--r--systemtest/testdata/conversion/tiff2.ql.java.out29
-rw-r--r--systemtest/testdata/conversion/tiff2.ql.out6
-rw-r--r--systemtest/testdata/conversion/vff1.ql6
-rw-r--r--systemtest/testdata/conversion/vff1.ql.java.out29
-rw-r--r--systemtest/testdata/conversion/vff1.ql.out6
-rw-r--r--systemtest/testdata/conversion/vff2.ql5
-rw-r--r--systemtest/testdata/conversion/vff2.ql.java.out2
-rw-r--r--systemtest/testdata/conversion/vff2.ql.out1
-rw-r--r--systemtest/testdata/empty/empty.ql1
-rw-r--r--systemtest/testdata/empty/empty.ql.java.out2
-rw-r--r--systemtest/testdata/empty/empty.ql.out1
-rw-r--r--systemtest/testdata/empty/empty2.ql1
-rw-r--r--systemtest/testdata/empty/empty2.ql.java.out2
-rw-r--r--systemtest/testdata/empty/empty2.ql.out1
-rw-r--r--systemtest/testdata/empty/empty3.ql3
-rw-r--r--systemtest/testdata/empty/empty3.ql.java.out2
-rw-r--r--systemtest/testdata/empty/empty3.ql.out1
-rw-r--r--systemtest/testdata/empty/empty4.ql3
-rw-r--r--systemtest/testdata/empty/empty4.ql.java.out2
-rw-r--r--systemtest/testdata/empty/empty4.ql.out1
-rw-r--r--systemtest/testdata/empty/empty5.ql2
-rw-r--r--systemtest/testdata/empty/empty5.ql.java.out2
-rw-r--r--systemtest/testdata/empty/empty5.ql.out1
-rw-r--r--systemtest/testdata/empty/empty6.ql2
-rw-r--r--systemtest/testdata/empty/empty6.ql.java.out2
-rw-r--r--systemtest/testdata/empty/empty6.ql.out1
-rw-r--r--systemtest/testdata/empty/opt.ql3
-rw-r--r--systemtest/testdata/empty/opt.ql.java.out2
-rw-r--r--systemtest/testdata/empty/opt.ql.out1
-rw-r--r--systemtest/testdata/empty/opt1.ql3
-rw-r--r--systemtest/testdata/empty/opt1.ql.java.out2
-rw-r--r--systemtest/testdata/empty/opt1.ql.out1
-rw-r--r--systemtest/testdata/empty/opt2.ql3
-rw-r--r--systemtest/testdata/empty/opt2.ql.java.out2
-rw-r--r--systemtest/testdata/empty/opt2.ql.out1
-rw-r--r--systemtest/testdata/empty/opt3.ql3
-rw-r--r--systemtest/testdata/empty/opt3.ql.java.out2
-rw-r--r--systemtest/testdata/empty/opt3.ql.out1
-rw-r--r--systemtest/testdata/empty/opt4.ql3
-rw-r--r--systemtest/testdata/empty/opt4.ql.java.out2
-rw-r--r--systemtest/testdata/empty/opt4.ql.out1
-rw-r--r--systemtest/testdata/empty/opt41.ql3
-rw-r--r--systemtest/testdata/empty/opt41.ql.java.out2
-rw-r--r--systemtest/testdata/empty/opt41.ql.out1
-rw-r--r--systemtest/testdata/empty/opt5.ql2
-rw-r--r--systemtest/testdata/empty/opt5.ql.java.out2
-rw-r--r--systemtest/testdata/empty/opt5.ql.out1
-rw-r--r--systemtest/testdata/empty/opt6.ql2
-rw-r--r--systemtest/testdata/empty/opt6.ql.java.out2
-rw-r--r--systemtest/testdata/empty/opt6.ql.out1
-rw-r--r--systemtest/testdata/empty/opt7.ql2
-rw-r--r--systemtest/testdata/empty/opt7.ql.java.out2
-rw-r--r--systemtest/testdata/empty/opt7.ql.out1
-rw-r--r--systemtest/testdata/empty/opt8.ql2
-rw-r--r--systemtest/testdata/empty/opt8.ql.java.out2
-rw-r--r--systemtest/testdata/empty/opt8.ql.out1
-rw-r--r--systemtest/testdata/empty/opt9.ql2
-rw-r--r--systemtest/testdata/empty/opt9.ql.java.out2
-rw-r--r--systemtest/testdata/empty/opt9.ql.out1
-rw-r--r--systemtest/testdata/errorset1/err300.ql4
-rw-r--r--systemtest/testdata/errorset1/err300.ql.java.out2
-rw-r--r--systemtest/testdata/errorset1/err300.ql.out1
-rw-r--r--systemtest/testdata/errorset1/err301.ql3
-rw-r--r--systemtest/testdata/errorset1/err301.ql.java.out2
-rw-r--r--systemtest/testdata/errorset1/err301.ql.out1
-rw-r--r--systemtest/testdata/errorset1/err302.ql3
-rw-r--r--systemtest/testdata/errorset1/err302.ql.java.out2
-rw-r--r--systemtest/testdata/errorset1/err302.ql.out1
-rw-r--r--systemtest/testdata/errorset1/err349.ql.out6
-rw-r--r--systemtest/testdata/errorset1/err355.ql4
-rw-r--r--systemtest/testdata/errorset1/err355.ql.java.out2
-rw-r--r--systemtest/testdata/errorset1/err355.ql.out1
-rw-r--r--systemtest/testdata/errorset1/err356.ql4
-rw-r--r--systemtest/testdata/errorset1/err356.ql.java.out2
-rw-r--r--systemtest/testdata/errorset1/err356.ql.out1
-rw-r--r--systemtest/testdata/errorset1/err357.ql4
-rw-r--r--systemtest/testdata/errorset1/err357.ql.java.out2
-rw-r--r--systemtest/testdata/errorset1/err357.ql.out1
-rw-r--r--systemtest/testdata/errorset1/err359.ql5
-rw-r--r--systemtest/testdata/errorset1/err359.ql.java.out2
-rw-r--r--systemtest/testdata/errorset1/err359.ql.out1
-rw-r--r--systemtest/testdata/errorset1/err364.ql4
-rw-r--r--systemtest/testdata/errorset1/err364.ql.java.out2
-rw-r--r--systemtest/testdata/errorset1/err364.ql.out1
-rw-r--r--systemtest/testdata/errorset1/err385.ql5
-rw-r--r--systemtest/testdata/errorset1/err385.ql.java.out2
-rw-r--r--systemtest/testdata/errorset1/err385.ql.out1
-rw-r--r--systemtest/testdata/errorset1/err386.ql5
-rw-r--r--systemtest/testdata/errorset1/err386.ql.java.out2
-rw-r--r--systemtest/testdata/errorset1/err386.ql.out1
-rw-r--r--systemtest/testdata/errorset1/err390.ql4
-rw-r--r--systemtest/testdata/errorset1/err390.ql.java.out2
-rw-r--r--systemtest/testdata/errorset1/err390.ql.out1
-rw-r--r--systemtest/testdata/errorset1/err393.ql4
-rw-r--r--systemtest/testdata/errorset1/err393.ql.java.out2
-rw-r--r--systemtest/testdata/errorset1/err393.ql.out1
-rw-r--r--systemtest/testdata/errorset1/err394.ql4
-rw-r--r--systemtest/testdata/errorset1/err394.ql.java.out2
-rw-r--r--systemtest/testdata/errorset1/err394.ql.out1
-rw-r--r--systemtest/testdata/errorset1/err396.ql4
-rw-r--r--systemtest/testdata/errorset1/err396.ql.java.out2
-rw-r--r--systemtest/testdata/errorset1/err396.ql.out1
-rw-r--r--systemtest/testdata/errorset1/err397.ql4
-rw-r--r--systemtest/testdata/errorset1/err397.ql.java.out2
-rw-r--r--systemtest/testdata/errorset1/err397.ql.out1
-rw-r--r--systemtest/testdata/errorset1/err398.ql4
-rw-r--r--systemtest/testdata/errorset1/err398.ql.java.out2
-rw-r--r--systemtest/testdata/errorset1/err398.ql.out1
-rw-r--r--systemtest/testdata/errorset1/err403.ql5
-rw-r--r--systemtest/testdata/errorset1/err403.ql.java.out2
-rw-r--r--systemtest/testdata/errorset1/err403.ql.out1
-rw-r--r--systemtest/testdata/errorset1/err405.ql4
-rw-r--r--systemtest/testdata/errorset1/err405.ql.java.out2
-rw-r--r--systemtest/testdata/errorset1/err405.ql.out1
-rw-r--r--systemtest/testdata/errorset1/err406.ql4
-rw-r--r--systemtest/testdata/errorset1/err406.ql.java.out2
-rw-r--r--systemtest/testdata/errorset1/err406.ql.out1
-rw-r--r--systemtest/testdata/errorset1/err407.ql4
-rw-r--r--systemtest/testdata/errorset1/err407.ql.java.out2
-rw-r--r--systemtest/testdata/errorset1/err407.ql.out1
-rw-r--r--systemtest/testdata/errorset1/err408.ql4
-rw-r--r--systemtest/testdata/errorset1/err408.ql.java.out2
-rw-r--r--systemtest/testdata/errorset1/err408.ql.out1
-rw-r--r--systemtest/testdata/errorset1/err409.ql4
-rw-r--r--systemtest/testdata/errorset1/err409.ql.java.out2
-rw-r--r--systemtest/testdata/errorset1/err409.ql.out1
-rw-r--r--systemtest/testdata/errorset1/err413.ql6
-rw-r--r--systemtest/testdata/errorset1/err413.ql.java.out2
-rw-r--r--systemtest/testdata/errorset1/err413.ql.out1
-rw-r--r--systemtest/testdata/errorset1/err415.ql3
-rw-r--r--systemtest/testdata/errorset1/err415.ql.java.out2
-rw-r--r--systemtest/testdata/errorset1/err415.ql.out1
-rw-r--r--systemtest/testdata/errorset1/err950_300.ql5
-rw-r--r--systemtest/testdata/errorset1/err950_300.ql.java.out2
-rw-r--r--systemtest/testdata/errorset1/err950_300.ql.out1
-rw-r--r--systemtest/testdata/errorset1/err951.ql5
-rw-r--r--systemtest/testdata/errorset1/err951.ql.java.out2
-rw-r--r--systemtest/testdata/errorset1/err951.ql.out1
-rw-r--r--systemtest/testdata/errorset1/err952.ql5
-rw-r--r--systemtest/testdata/errorset1/err952.ql.java.out2
-rw-r--r--systemtest/testdata/errorset1/err952.ql.out1
-rw-r--r--systemtest/testdata/errorset1/err954_300.ql3
-rw-r--r--systemtest/testdata/errorset1/err954_300.ql.java.out2
-rw-r--r--systemtest/testdata/errorset1/err954_300.ql.out1
-rw-r--r--systemtest/testdata/errorset1/err961.ql3
-rw-r--r--systemtest/testdata/errorset1/err961.ql.java.out2
-rw-r--r--systemtest/testdata/errorset1/err961.ql.out1
-rw-r--r--systemtest/testdata/errorset1/err962.ql3
-rw-r--r--systemtest/testdata/errorset1/err962.ql.java.out2
-rw-r--r--systemtest/testdata/errorset1/err962.ql.out1
-rw-r--r--systemtest/testdata/errorset1/err963.ql3
-rw-r--r--systemtest/testdata/errorset1/err963.ql.java.out2
-rw-r--r--systemtest/testdata/errorset1/err963.ql.out1
-rw-r--r--systemtest/testdata/optimization/opt.ql2
-rw-r--r--systemtest/testdata/optimization/opt.ql.java.out29
-rw-r--r--systemtest/testdata/optimization/opt.ql.out44
-rw-r--r--systemtest/testdata/optimization/opt1.ql2
-rw-r--r--systemtest/testdata/optimization/opt1.ql.java.out29
-rw-r--r--systemtest/testdata/optimization/opt1.ql.out44
-rw-r--r--systemtest/testdata/optimization/opt2.ql2
-rw-r--r--systemtest/testdata/optimization/opt2.ql.java.out29
-rw-r--r--systemtest/testdata/optimization/opt2.ql.out44
-rw-r--r--systemtest/testdata/optimization/opt3.ql2
-rw-r--r--systemtest/testdata/optimization/opt3.ql.java.out29
-rw-r--r--systemtest/testdata/optimization/opt3.ql.out44
-rw-r--r--systemtest/testdata/optimization/opt4.ql2
-rw-r--r--systemtest/testdata/optimization/opt4.ql.java.out29
-rw-r--r--systemtest/testdata/optimization/opt4.ql.out44
-rw-r--r--systemtest/testdata/optimization/opt5.ql2
-rw-r--r--systemtest/testdata/optimization/opt5.ql.java.out29
-rw-r--r--systemtest/testdata/optimization/opt5.ql.out44
-rw-r--r--systemtest/testdata/optimization/opt6.ql2
-rw-r--r--systemtest/testdata/optimization/opt6.ql.java.out29
-rw-r--r--systemtest/testdata/optimization/opt6.ql.out44
-rw-r--r--systemtest/testdata/optimization/opt7.ql2
-rw-r--r--systemtest/testdata/optimization/opt7.ql.java.out29
-rw-r--r--systemtest/testdata/optimization/opt7.ql.out44
-rw-r--r--systemtest/testdata/optimization/opt8.ql2
-rw-r--r--systemtest/testdata/optimization/opt8.ql.java.out29
-rw-r--r--systemtest/testdata/optimization/opt8.ql.out44
-rw-r--r--systemtest/testdata/optimization/opt9.ql2
-rw-r--r--systemtest/testdata/optimization/opt9.ql.java.out29
-rw-r--r--systemtest/testdata/optimization/opt9.ql.out44
-rw-r--r--systemtest/testdata/overlay/overlay1.ql2
-rw-r--r--systemtest/testdata/overlay/overlay1.ql.java.out15
-rw-r--r--systemtest/testdata/overlay/overlay1.ql.out23
-rw-r--r--systemtest/testdata/overlay/overlay2.ql2
-rw-r--r--systemtest/testdata/overlay/overlay2.ql.java.out2
-rw-r--r--systemtest/testdata/overlay/overlay2.ql.out1
-rw-r--r--systemtest/testdata/overlay/overlay3.ql2
-rw-r--r--systemtest/testdata/overlay/overlay3.ql.java.out2
-rw-r--r--systemtest/testdata/overlay/overlay3.ql.out1
-rw-r--r--systemtest/testdata/overlay/overlay4.ql2
-rw-r--r--systemtest/testdata/overlay/overlay4.ql.java.out2
-rw-r--r--systemtest/testdata/overlay/overlay4.ql.out1
-rw-r--r--systemtest/testdata/overlay/overlay5.ql2
-rw-r--r--systemtest/testdata/overlay/overlay5.ql.java.out15
-rw-r--r--systemtest/testdata/overlay/overlay5.ql.out23
-rw-r--r--systemtest/testdata/overlay/overlay6.ql12
-rw-r--r--systemtest/testdata/overlay/overlay6.ql.java.out29
-rw-r--r--systemtest/testdata/overlay/overlay6.ql.out120
-rw-r--r--systemtest/testdata/parser/gentest.awk29
-rw-r--r--systemtest/testdata/parser/mm_long.ql3
-rw-r--r--systemtest/testdata/parser/mm_long.ql.java.out1
-rw-r--r--systemtest/testdata/parser/mm_long.ql.out6
-rw-r--r--systemtest/testdata/parser/mp_long.ql2
-rw-r--r--systemtest/testdata/parser/mp_long.ql.java.out1
-rw-r--r--systemtest/testdata/parser/mp_long.ql.out6
-rw-r--r--systemtest/testdata/parser/nm_long.ql2
-rw-r--r--systemtest/testdata/parser/nm_long.ql.java.out1
-rw-r--r--systemtest/testdata/parser/nm_long.ql.out6
-rw-r--r--systemtest/testdata/parser/nn_long.ql2
-rw-r--r--systemtest/testdata/parser/nn_long.ql.java.out1
-rw-r--r--systemtest/testdata/parser/nn_long.ql.out6
-rw-r--r--systemtest/testdata/parser/np_long.ql2
-rw-r--r--systemtest/testdata/parser/np_long.ql.java.out1
-rw-r--r--systemtest/testdata/parser/np_long.ql.out6
-rw-r--r--systemtest/testdata/parser/om_long.ql2
-rw-r--r--systemtest/testdata/parser/om_long.ql.java.out1
-rw-r--r--systemtest/testdata/parser/om_long.ql.out6
-rw-r--r--systemtest/testdata/parser/on_long.ql2
-rw-r--r--systemtest/testdata/parser/on_long.ql.java.out1
-rw-r--r--systemtest/testdata/parser/on_long.ql.out6
-rw-r--r--systemtest/testdata/parser/op_long.ql2
-rw-r--r--systemtest/testdata/parser/op_long.ql.java.out1
-rw-r--r--systemtest/testdata/parser/op_long.ql.out6
-rw-r--r--systemtest/testdata/parser/p1_long.ql2
-rw-r--r--systemtest/testdata/parser/p1_long.ql.java.out1
-rw-r--r--systemtest/testdata/parser/p1_long.ql.out6
-rw-r--r--systemtest/testdata/parser/p2_long.ql2
-rw-r--r--systemtest/testdata/parser/p2_long.ql.java.out1
-rw-r--r--systemtest/testdata/parser/p2_long.ql.out6
-rw-r--r--systemtest/testdata/parser/pm_long.ql2
-rw-r--r--systemtest/testdata/parser/pm_long.ql.java.out1
-rw-r--r--systemtest/testdata/parser/pm_long.ql.out6
-rw-r--r--systemtest/testdata/parser/pp_long.ql2
-rw-r--r--systemtest/testdata/parser/pp_long.ql.java.out1
-rw-r--r--systemtest/testdata/parser/pp_long.ql.out6
-rw-r--r--systemtest/testdata/parser/sqrt_1.ql2
-rw-r--r--systemtest/testdata/parser/sqrt_1.ql.java.out1
-rw-r--r--systemtest/testdata/parser/sqrt_1.ql.out6
-rw-r--r--systemtest/testdata/parser/sqrt_2.ql2
-rw-r--r--systemtest/testdata/parser/sqrt_2.ql.java.out1
-rw-r--r--systemtest/testdata/parser/sqrt_2.ql.out6
-rw-r--r--systemtest/testdata/parser/sqrt_3.ql2
-rw-r--r--systemtest/testdata/parser/sqrt_3.ql.java.out1
-rw-r--r--systemtest/testdata/parser/sqrt_3.ql.out6
-rw-r--r--systemtest/testdata/parser/sqrt_4.ql2
-rw-r--r--systemtest/testdata/parser/sqrt_4.ql.java.out1
-rw-r--r--systemtest/testdata/parser/sqrt_4.ql.out6
-rw-r--r--systemtest/testdata/parser/sqrt_5.ql2
-rw-r--r--systemtest/testdata/parser/sqrt_5.ql.java.out1
-rw-r--r--systemtest/testdata/parser/sqrt_5.ql.out6
-rw-r--r--systemtest/testdata/parser/sqrt_6.ql2
-rw-r--r--systemtest/testdata/parser/sqrt_6.ql.java.out1
-rw-r--r--systemtest/testdata/parser/sqrt_6.ql.out6
-rw-r--r--systemtest/testdata/parser/testcases21
-rw-r--r--systemtest/testdata/partialoverlay/u01_create.ql1
-rw-r--r--systemtest/testdata/partialoverlay/u01_create.ql.out0
-rw-r--r--systemtest/testdata/partialoverlay/u02_create.ql1
-rw-r--r--systemtest/testdata/partialoverlay/u02_create.ql.out0
-rw-r--r--systemtest/testdata/partialoverlay/u03_insert.ql14
-rw-r--r--systemtest/testdata/partialoverlay/u03_insert.ql.out0
-rw-r--r--systemtest/testdata/partialoverlay/u04_insert.ql13
-rw-r--r--systemtest/testdata/partialoverlay/u04_insert.ql.out0
-rw-r--r--systemtest/testdata/partialoverlay/u05_update.ql15
-rw-r--r--systemtest/testdata/partialoverlay/u05_update.ql.out0
-rw-r--r--systemtest/testdata/partialoverlay/u06_update.ql14
-rw-r--r--systemtest/testdata/partialoverlay/u06_update.ql.out0
-rw-r--r--systemtest/testdata/partialoverlay/u07_update.ql15
-rw-r--r--systemtest/testdata/partialoverlay/u07_update.ql.out0
-rw-r--r--systemtest/testdata/partialoverlay/u08_update.ql15
-rw-r--r--systemtest/testdata/partialoverlay/u08_update.ql.out0
-rw-r--r--systemtest/testdata/partialoverlay/u09_lookup.ql3
-rw-r--r--systemtest/testdata/partialoverlay/u09_lookup.ql.out24
-rw-r--r--systemtest/testdata/partialoverlay/u10_lookup.ql3
-rw-r--r--systemtest/testdata/partialoverlay/u10_lookup.ql.out24
-rw-r--r--systemtest/testdata/partialoverlay/u11_overlay.ql.out1
-rw-r--r--systemtest/testdata/partialoverlay/u12_overlay.ql.out84
-rw-r--r--systemtest/testdata/partialoverlay/u13_overlay.ql.out84
-rw-r--r--systemtest/testdata/partialoverlay/u98_drop.ql2
-rw-r--r--systemtest/testdata/partialoverlay/u98_drop.ql.out0
-rw-r--r--systemtest/testdata/partialoverlay/u99_drop.ql1
-rw-r--r--systemtest/testdata/partialoverlay/u99_drop.ql.out0
-rw-r--r--systemtest/testdata/partialupdate/u01_create.ql1
-rw-r--r--systemtest/testdata/partialupdate/u01_create.ql.java.out0
-rw-r--r--systemtest/testdata/partialupdate/u01_create.ql.out0
-rw-r--r--systemtest/testdata/partialupdate/u02_insert.ql13
-rw-r--r--systemtest/testdata/partialupdate/u02_insert.ql.java.out0
-rw-r--r--systemtest/testdata/partialupdate/u02_insert.ql.out0
-rw-r--r--systemtest/testdata/partialupdate/u03_lookup.ql5
-rw-r--r--systemtest/testdata/partialupdate/u03_lookup.ql.java.out15
-rw-r--r--systemtest/testdata/partialupdate/u03_lookup.ql.out24
-rw-r--r--systemtest/testdata/partialupdate/u04_update.ql15
-rw-r--r--systemtest/testdata/partialupdate/u04_update.ql.java.out0
-rw-r--r--systemtest/testdata/partialupdate/u04_update.ql.out0
-rw-r--r--systemtest/testdata/partialupdate/u05_lookup.ql5
-rw-r--r--systemtest/testdata/partialupdate/u05_lookup.ql.java.out15
-rw-r--r--systemtest/testdata/partialupdate/u05_lookup.ql.out34
-rw-r--r--systemtest/testdata/partialupdate/u06_update.ql14
-rw-r--r--systemtest/testdata/partialupdate/u06_update.ql.java.out0
-rw-r--r--systemtest/testdata/partialupdate/u06_update.ql.out0
-rw-r--r--systemtest/testdata/partialupdate/u071_update.ql14
-rw-r--r--systemtest/testdata/partialupdate/u071_update.ql.java.out0
-rw-r--r--systemtest/testdata/partialupdate/u071_update.ql.out0
-rw-r--r--systemtest/testdata/partialupdate/u072_lookup.ql5
-rw-r--r--systemtest/testdata/partialupdate/u072_lookup.ql.java.out15
-rw-r--r--systemtest/testdata/partialupdate/u072_lookup.ql.out54
-rw-r--r--systemtest/testdata/partialupdate/u07_lookup.ql5
-rw-r--r--systemtest/testdata/partialupdate/u07_lookup.ql.java.out15
-rw-r--r--systemtest/testdata/partialupdate/u07_lookup.ql.out54
-rw-r--r--systemtest/testdata/partialupdate/u08_update.ql15
-rw-r--r--systemtest/testdata/partialupdate/u08_update.ql.java.out0
-rw-r--r--systemtest/testdata/partialupdate/u08_update.ql.out0
-rw-r--r--systemtest/testdata/partialupdate/u09_lookup.ql5
-rw-r--r--systemtest/testdata/partialupdate/u09_lookup.ql.java.out15
-rw-r--r--systemtest/testdata/partialupdate/u09_lookup.ql.out64
-rw-r--r--systemtest/testdata/partialupdate/u10_update.ql11
-rw-r--r--systemtest/testdata/partialupdate/u10_update.ql.java.out0
-rw-r--r--systemtest/testdata/partialupdate/u10_update.ql.out0
-rw-r--r--systemtest/testdata/partialupdate/u11_lookup.ql5
-rw-r--r--systemtest/testdata/partialupdate/u11_lookup.ql.java.out15
-rw-r--r--systemtest/testdata/partialupdate/u11_lookup.ql.out64
-rw-r--r--systemtest/testdata/partialupdate/u12_update.ql9
-rw-r--r--systemtest/testdata/partialupdate/u12_update.ql.java.out0
-rw-r--r--systemtest/testdata/partialupdate/u12_update.ql.out0
-rw-r--r--systemtest/testdata/partialupdate/u13_lookup.ql5
-rw-r--r--systemtest/testdata/partialupdate/u13_lookup.ql.java.out15
-rw-r--r--systemtest/testdata/partialupdate/u13_lookup.ql.out64
-rw-r--r--systemtest/testdata/partialupdate/u14_update.ql5
-rw-r--r--systemtest/testdata/partialupdate/u14_update.ql.java.out0
-rw-r--r--systemtest/testdata/partialupdate/u14_update.ql.out0
-rw-r--r--systemtest/testdata/partialupdate/u15_lookup.ql5
-rw-r--r--systemtest/testdata/partialupdate/u15_lookup.ql.java.out15
-rw-r--r--systemtest/testdata/partialupdate/u15_lookup.ql.out64
-rw-r--r--systemtest/testdata/partialupdate/u16_update.ql15
-rw-r--r--systemtest/testdata/partialupdate/u16_update.ql.java.out0
-rw-r--r--systemtest/testdata/partialupdate/u16_update.ql.out0
-rw-r--r--systemtest/testdata/partialupdate/u17_lookup.ql5
-rw-r--r--systemtest/testdata/partialupdate/u17_lookup.ql.java.out15
-rw-r--r--systemtest/testdata/partialupdate/u17_lookup.ql.out64
-rw-r--r--systemtest/testdata/partialupdate/u18_update.ql5
-rw-r--r--systemtest/testdata/partialupdate/u18_update.ql.java.out0
-rw-r--r--systemtest/testdata/partialupdate/u18_update.ql.out0
-rw-r--r--systemtest/testdata/partialupdate/u19_lookup.ql5
-rw-r--r--systemtest/testdata/partialupdate/u19_lookup.ql.java.out15
-rw-r--r--systemtest/testdata/partialupdate/u19_lookup.ql.out64
-rw-r--r--systemtest/testdata/partialupdate/u20_update.ql9
-rw-r--r--systemtest/testdata/partialupdate/u20_update.ql.java.out0
-rw-r--r--systemtest/testdata/partialupdate/u20_update.ql.out0
-rw-r--r--systemtest/testdata/partialupdate/u21_lookup.ql5
-rw-r--r--systemtest/testdata/partialupdate/u21_lookup.ql.java.out15
-rw-r--r--systemtest/testdata/partialupdate/u21_lookup.ql.out64
-rw-r--r--systemtest/testdata/partialupdate/u30_update.ql10
-rw-r--r--systemtest/testdata/partialupdate/u30_update.ql.java.out0
-rw-r--r--systemtest/testdata/partialupdate/u30_update.ql.out0
-rw-r--r--systemtest/testdata/partialupdate/u31_lookup.ql5
-rw-r--r--systemtest/testdata/partialupdate/u31_lookup.ql.java.out15
-rw-r--r--systemtest/testdata/partialupdate/u31_lookup.ql.out64
-rw-r--r--systemtest/testdata/partialupdate/u32_update.ql15
-rw-r--r--systemtest/testdata/partialupdate/u32_update.ql.java.out0
-rw-r--r--systemtest/testdata/partialupdate/u32_update.ql.out0
-rw-r--r--systemtest/testdata/partialupdate/u33_lookup.ql5
-rw-r--r--systemtest/testdata/partialupdate/u33_lookup.ql.java.out15
-rw-r--r--systemtest/testdata/partialupdate/u33_lookup.ql.out64
-rw-r--r--systemtest/testdata/partialupdate/u34_update.ql20
-rw-r--r--systemtest/testdata/partialupdate/u34_update.ql.java.out0
-rw-r--r--systemtest/testdata/partialupdate/u34_update.ql.out0
-rw-r--r--systemtest/testdata/partialupdate/u35_lookup.ql5
-rw-r--r--systemtest/testdata/partialupdate/u35_lookup.ql.java.out15
-rw-r--r--systemtest/testdata/partialupdate/u35_lookup.ql.out64
-rw-r--r--systemtest/testdata/partialupdate/u36_update.ql10
-rw-r--r--systemtest/testdata/partialupdate/u36_update.ql.java.out0
-rw-r--r--systemtest/testdata/partialupdate/u36_update.ql.out0
-rw-r--r--systemtest/testdata/partialupdate/u37_lookup.ql5
-rw-r--r--systemtest/testdata/partialupdate/u37_lookup.ql.java.out15
-rw-r--r--systemtest/testdata/partialupdate/u37_lookup.ql.out64
-rw-r--r--systemtest/testdata/partialupdate/u38_update.ql20
-rw-r--r--systemtest/testdata/partialupdate/u38_update.ql.java.out0
-rw-r--r--systemtest/testdata/partialupdate/u38_update.ql.out0
-rw-r--r--systemtest/testdata/partialupdate/u39_lookup.ql5
-rw-r--r--systemtest/testdata/partialupdate/u39_lookup.ql.java.out15
-rw-r--r--systemtest/testdata/partialupdate/u39_lookup.ql.out64
-rw-r--r--systemtest/testdata/partialupdate/u40_update.ql7
-rw-r--r--systemtest/testdata/partialupdate/u40_update.ql.java.out0
-rw-r--r--systemtest/testdata/partialupdate/u40_update.ql.out0
-rw-r--r--systemtest/testdata/partialupdate/u41_lookup.ql5
-rw-r--r--systemtest/testdata/partialupdate/u41_lookup.ql.java.out15
-rw-r--r--systemtest/testdata/partialupdate/u41_lookup.ql.out64
-rw-r--r--systemtest/testdata/partialupdate/u42_update.ql7
-rw-r--r--systemtest/testdata/partialupdate/u42_update.ql.java.out0
-rw-r--r--systemtest/testdata/partialupdate/u42_update.ql.out0
-rw-r--r--systemtest/testdata/partialupdate/u43_lookup.ql5
-rw-r--r--systemtest/testdata/partialupdate/u43_lookup.ql.java.out15
-rw-r--r--systemtest/testdata/partialupdate/u43_lookup.ql.out64
-rw-r--r--systemtest/testdata/partialupdate/u98_deletemdd.ql2
-rw-r--r--systemtest/testdata/partialupdate/u98_deletemdd.ql.java.out0
-rw-r--r--systemtest/testdata/partialupdate/u98_deletemdd.ql.out0
-rw-r--r--systemtest/testdata/partialupdate/u99_dropcoll.ql1
-rw-r--r--systemtest/testdata/partialupdate/u99_dropcoll.ql.java.out0
-rw-r--r--systemtest/testdata/partialupdate/u99_dropcoll.ql.out0
-rw-r--r--systemtest/testdata/queryresult/boolean.ql2
-rw-r--r--systemtest/testdata/queryresult/boolean.ql.java.out1
-rw-r--r--systemtest/testdata/queryresult/boolean.ql.out6
-rw-r--r--systemtest/testdata/queryresult/char.ql2
-rw-r--r--systemtest/testdata/queryresult/char.ql.java.out1
-rw-r--r--systemtest/testdata/queryresult/char.ql.out6
-rw-r--r--systemtest/testdata/queryresult/double.ql2
-rw-r--r--systemtest/testdata/queryresult/double.ql.java.out1
-rw-r--r--systemtest/testdata/queryresult/double.ql.out6
-rw-r--r--systemtest/testdata/queryresult/float.ql2
-rw-r--r--systemtest/testdata/queryresult/float.ql.java.out1
-rw-r--r--systemtest/testdata/queryresult/float.ql.out6
-rw-r--r--systemtest/testdata/queryresult/long.ql2
-rw-r--r--systemtest/testdata/queryresult/long.ql.java.out1
-rw-r--r--systemtest/testdata/queryresult/long.ql.out6
-rw-r--r--systemtest/testdata/queryresult/minterval.ql2
-rw-r--r--systemtest/testdata/queryresult/minterval.ql.java.out1
-rw-r--r--systemtest/testdata/queryresult/minterval.ql.out6
-rw-r--r--systemtest/testdata/queryresult/octet.ql2
-rw-r--r--systemtest/testdata/queryresult/octet.ql.java.out1
-rw-r--r--systemtest/testdata/queryresult/octet.ql.out6
-rw-r--r--systemtest/testdata/queryresult/point.ql2
-rw-r--r--systemtest/testdata/queryresult/point.ql.java.out1
-rw-r--r--systemtest/testdata/queryresult/point.ql.out6
-rw-r--r--systemtest/testdata/queryresult/short.ql2
-rw-r--r--systemtest/testdata/queryresult/short.ql.java.out1
-rw-r--r--systemtest/testdata/queryresult/short.ql.out6
-rw-r--r--systemtest/testdata/queryresult/sinterval.ql2
-rw-r--r--systemtest/testdata/queryresult/sinterval.ql.java.out1
-rw-r--r--systemtest/testdata/queryresult/sinterval.ql.out6
-rw-r--r--systemtest/testdata/queryresult/struct.ql2
-rw-r--r--systemtest/testdata/queryresult/struct.ql.java.out16
-rw-r--r--systemtest/testdata/queryresult/struct.ql.out6
-rw-r--r--systemtest/testdata/queryresult/ulong.ql2
-rw-r--r--systemtest/testdata/queryresult/ulong.ql.java.out1
-rw-r--r--systemtest/testdata/queryresult/ulong.ql.out6
-rw-r--r--systemtest/testdata/queryresult/ushort.ql2
-rw-r--r--systemtest/testdata/queryresult/ushort.ql.java.out1
-rw-r--r--systemtest/testdata/queryresult/ushort.ql.out6
-rw-r--r--systemtest/testdata/reduce/addcellschar.ql3
-rw-r--r--systemtest/testdata/reduce/addcellschar.ql.java.out29
-rw-r--r--systemtest/testdata/reduce/addcellschar.ql.out24
-rw-r--r--systemtest/testdata/reduce/addcellsdouble.ql3
-rw-r--r--systemtest/testdata/reduce/addcellsdouble.ql.java.out29
-rw-r--r--systemtest/testdata/reduce/addcellsdouble.ql.out24
-rw-r--r--systemtest/testdata/reduce/addcellsfloat.ql3
-rw-r--r--systemtest/testdata/reduce/addcellsfloat.ql.java.out29
-rw-r--r--systemtest/testdata/reduce/addcellsfloat.ql.out24
-rw-r--r--systemtest/testdata/reduce/addcellslong.ql3
-rw-r--r--systemtest/testdata/reduce/addcellslong.ql.java.out29
-rw-r--r--systemtest/testdata/reduce/addcellslong.ql.out24
-rw-r--r--systemtest/testdata/reduce/addcellsoctet.ql3
-rw-r--r--systemtest/testdata/reduce/addcellsoctet.ql.java.out29
-rw-r--r--systemtest/testdata/reduce/addcellsoctet.ql.out24
-rw-r--r--systemtest/testdata/reduce/addcellsshort.ql3
-rw-r--r--systemtest/testdata/reduce/addcellsshort.ql.java.out29
-rw-r--r--systemtest/testdata/reduce/addcellsshort.ql.out24
-rw-r--r--systemtest/testdata/reduce/addcellsstruct.ql3
-rw-r--r--systemtest/testdata/reduce/addcellsstruct.ql.java.out15
-rw-r--r--systemtest/testdata/reduce/addcellsstruct.ql.out24
-rw-r--r--systemtest/testdata/reduce/addcellsulong.ql3
-rw-r--r--systemtest/testdata/reduce/addcellsulong.ql.java.out29
-rw-r--r--systemtest/testdata/reduce/addcellsulong.ql.out24
-rw-r--r--systemtest/testdata/reduce/addcellsushort.ql3
-rw-r--r--systemtest/testdata/reduce/addcellsushort.ql.java.out29
-rw-r--r--systemtest/testdata/reduce/addcellsushort.ql.out24
-rw-r--r--systemtest/testdata/reduce/avgcellschar.ql3
-rw-r--r--systemtest/testdata/reduce/avgcellschar.ql.java.out15
-rw-r--r--systemtest/testdata/reduce/avgcellschar.ql.out14
-rw-r--r--systemtest/testdata/reduce/avgcellsdouble.ql3
-rw-r--r--systemtest/testdata/reduce/avgcellsdouble.ql.java.out15
-rw-r--r--systemtest/testdata/reduce/avgcellsdouble.ql.out14
-rw-r--r--systemtest/testdata/reduce/avgcellsfloat.ql3
-rw-r--r--systemtest/testdata/reduce/avgcellsfloat.ql.java.out15
-rw-r--r--systemtest/testdata/reduce/avgcellsfloat.ql.out14
-rw-r--r--systemtest/testdata/reduce/avgcellslong.ql3
-rw-r--r--systemtest/testdata/reduce/avgcellslong.ql.java.out15
-rw-r--r--systemtest/testdata/reduce/avgcellslong.ql.out14
-rw-r--r--systemtest/testdata/reduce/avgcellsoctet.ql3
-rw-r--r--systemtest/testdata/reduce/avgcellsoctet.ql.java.out15
-rw-r--r--systemtest/testdata/reduce/avgcellsoctet.ql.out14
-rw-r--r--systemtest/testdata/reduce/avgcellsshort.ql3
-rw-r--r--systemtest/testdata/reduce/avgcellsshort.ql.java.out15
-rw-r--r--systemtest/testdata/reduce/avgcellsshort.ql.out14
-rw-r--r--systemtest/testdata/reduce/avgcellsstruct.ql3
-rw-r--r--systemtest/testdata/reduce/avgcellsstruct.ql.java.out15
-rw-r--r--systemtest/testdata/reduce/avgcellsstruct.ql.out14
-rw-r--r--systemtest/testdata/reduce/avgcellsulong.ql3
-rw-r--r--systemtest/testdata/reduce/avgcellsulong.ql.java.out15
-rw-r--r--systemtest/testdata/reduce/avgcellsulong.ql.out14
-rw-r--r--systemtest/testdata/reduce/avgcellsushort.ql3
-rw-r--r--systemtest/testdata/reduce/avgcellsushort.ql.java.out15
-rw-r--r--systemtest/testdata/reduce/avgcellsushort.ql.out14
-rw-r--r--systemtest/testdata/reduce/countcells.ql3
-rw-r--r--systemtest/testdata/reduce/countcells.ql.java.out29
-rw-r--r--systemtest/testdata/reduce/countcells.ql.out24
-rw-r--r--systemtest/testdata/reduce/maxcellschar.ql3
-rw-r--r--systemtest/testdata/reduce/maxcellschar.ql.java.out29
-rw-r--r--systemtest/testdata/reduce/maxcellschar.ql.out24
-rw-r--r--systemtest/testdata/reduce/maxcellsdouble.ql3
-rw-r--r--systemtest/testdata/reduce/maxcellsdouble.ql.java.out29
-rw-r--r--systemtest/testdata/reduce/maxcellsdouble.ql.out24
-rw-r--r--systemtest/testdata/reduce/maxcellsfloat.ql3
-rw-r--r--systemtest/testdata/reduce/maxcellsfloat.ql.java.out29
-rw-r--r--systemtest/testdata/reduce/maxcellsfloat.ql.out24
-rw-r--r--systemtest/testdata/reduce/maxcellslong.ql3
-rw-r--r--systemtest/testdata/reduce/maxcellslong.ql.java.out29
-rw-r--r--systemtest/testdata/reduce/maxcellslong.ql.out24
-rw-r--r--systemtest/testdata/reduce/maxcellsoctet.ql3
-rw-r--r--systemtest/testdata/reduce/maxcellsoctet.ql.java.out29
-rw-r--r--systemtest/testdata/reduce/maxcellsoctet.ql.out24
-rw-r--r--systemtest/testdata/reduce/maxcellsshort.ql3
-rw-r--r--systemtest/testdata/reduce/maxcellsshort.ql.java.out29
-rw-r--r--systemtest/testdata/reduce/maxcellsshort.ql.out24
-rw-r--r--systemtest/testdata/reduce/maxcellsstruct.ql3
-rw-r--r--systemtest/testdata/reduce/maxcellsstruct.ql.java.out15
-rw-r--r--systemtest/testdata/reduce/maxcellsstruct.ql.out24
-rw-r--r--systemtest/testdata/reduce/maxcellsulong.ql3
-rw-r--r--systemtest/testdata/reduce/maxcellsulong.ql.java.out29
-rw-r--r--systemtest/testdata/reduce/maxcellsulong.ql.out24
-rw-r--r--systemtest/testdata/reduce/maxcellsushort.ql3
-rw-r--r--systemtest/testdata/reduce/maxcellsushort.ql.java.out29
-rw-r--r--systemtest/testdata/reduce/maxcellsushort.ql.out24
-rw-r--r--systemtest/testdata/reduce/mincellschar.ql3
-rw-r--r--systemtest/testdata/reduce/mincellschar.ql.java.out29
-rw-r--r--systemtest/testdata/reduce/mincellschar.ql.out24
-rw-r--r--systemtest/testdata/reduce/mincellsdouble.ql3
-rw-r--r--systemtest/testdata/reduce/mincellsdouble.ql.java.out29
-rw-r--r--systemtest/testdata/reduce/mincellsdouble.ql.out24
-rw-r--r--systemtest/testdata/reduce/mincellsfloat.ql3
-rw-r--r--systemtest/testdata/reduce/mincellsfloat.ql.java.out29
-rw-r--r--systemtest/testdata/reduce/mincellsfloat.ql.out24
-rw-r--r--systemtest/testdata/reduce/mincellslong.ql3
-rw-r--r--systemtest/testdata/reduce/mincellslong.ql.java.out29
-rw-r--r--systemtest/testdata/reduce/mincellslong.ql.out24
-rw-r--r--systemtest/testdata/reduce/mincellsoctet.ql.out16
-rw-r--r--systemtest/testdata/reduce/mincellsshort.ql3
-rw-r--r--systemtest/testdata/reduce/mincellsshort.ql.java.out29
-rw-r--r--systemtest/testdata/reduce/mincellsshort.ql.out24
-rw-r--r--systemtest/testdata/reduce/mincellsstruct.ql3
-rw-r--r--systemtest/testdata/reduce/mincellsstruct.ql.java.out15
-rw-r--r--systemtest/testdata/reduce/mincellsstruct.ql.out24
-rw-r--r--systemtest/testdata/reduce/mincellsulong.ql3
-rw-r--r--systemtest/testdata/reduce/mincellsulong.ql.java.out29
-rw-r--r--systemtest/testdata/reduce/mincellsulong.ql.out24
-rw-r--r--systemtest/testdata/reduce/mincellsushort.ql3
-rw-r--r--systemtest/testdata/reduce/mincellsushort.ql.java.out29
-rw-r--r--systemtest/testdata/reduce/mincellsushort.ql.out24
-rw-r--r--systemtest/testdata/rewriteset1/pushdownall.ql7
-rw-r--r--systemtest/testdata/rewriteset1/pushdownall.ql.java.out15
-rw-r--r--systemtest/testdata/rewriteset1/pushdownall.ql.out24
-rw-r--r--systemtest/testdata/rewriteset1/pushdownsome.ql7
-rw-r--r--systemtest/testdata/rewriteset1/pushdownsome.ql.java.out43
-rw-r--r--systemtest/testdata/rewriteset1/pushdownsome.ql.out64
-rw-r--r--systemtest/testdata/testset1/agg1.ql6
-rw-r--r--systemtest/testdata/testset1/agg1.ql.java.out15
-rw-r--r--systemtest/testdata/testset1/agg1.ql.out24
-rw-r--r--systemtest/testdata/testset1/agg2.ql6
-rw-r--r--systemtest/testdata/testset1/agg2.ql.java.out29
-rw-r--r--systemtest/testdata/testset1/agg2.ql.out44
-rw-r--r--systemtest/testdata/testset1/agg3.ql6
-rw-r--r--systemtest/testdata/testset1/agg3.ql.java.out57
-rw-r--r--systemtest/testdata/testset1/agg3.ql.out84
-rw-r--r--systemtest/testdata/testset1/dot1.ql5
-rw-r--r--systemtest/testdata/testset1/dot1.ql.java.out29
-rw-r--r--systemtest/testdata/testset1/dot1.ql.out44
-rw-r--r--systemtest/testdata/testset1/dot2.ql5
-rw-r--r--systemtest/testdata/testset1/dot2.ql.java.out29
-rw-r--r--systemtest/testdata/testset1/dot2.ql.out44
-rw-r--r--systemtest/testdata/testset1/dot3.ql5
-rw-r--r--systemtest/testdata/testset1/dot3.ql.java.out29
-rw-r--r--systemtest/testdata/testset1/dot3.ql.out44
-rw-r--r--systemtest/testdata/testset1/dot4.ql5
-rw-r--r--systemtest/testdata/testset1/dot4.ql.java.out29
-rw-r--r--systemtest/testdata/testset1/dot4.ql.out44
-rw-r--r--systemtest/testdata/testset1/dot5.ql6
-rw-r--r--systemtest/testdata/testset1/dot5.ql.java.out29
-rw-r--r--systemtest/testdata/testset1/dot5.ql.out44
-rw-r--r--systemtest/testdata/testset1/dot6.ql5
-rw-r--r--systemtest/testdata/testset1/dot6.ql.java.out29
-rw-r--r--systemtest/testdata/testset1/dot6.ql.out44
-rw-r--r--systemtest/testdata/testset1/dot7.ql2
-rw-r--r--systemtest/testdata/testset1/dot7.ql.java.out15
-rw-r--r--systemtest/testdata/testset1/dot7.ql.out44
-rw-r--r--systemtest/testdata/testset1/ind1.ql5
-rw-r--r--systemtest/testdata/testset1/ind1.ql.java.out29
-rw-r--r--systemtest/testdata/testset1/ind1.ql.out44
-rw-r--r--systemtest/testdata/testset1/ind2.ql5
-rw-r--r--systemtest/testdata/testset1/ind2.ql.java.out15
-rw-r--r--systemtest/testdata/testset1/ind2.ql.out44
-rw-r--r--systemtest/testdata/testset1/ind3.ql5
-rw-r--r--systemtest/testdata/testset1/ind3.ql.java.out29
-rw-r--r--systemtest/testdata/testset1/ind3.ql.out44
-rw-r--r--systemtest/testdata/testset1/opt1.ql7
-rw-r--r--systemtest/testdata/testset1/opt1.ql.java.out29
-rw-r--r--systemtest/testdata/testset1/opt1.ql.out44
-rw-r--r--systemtest/testdata/testset1/opt2.ql5
-rw-r--r--systemtest/testdata/testset1/opt2.ql.java.out57
-rw-r--r--systemtest/testdata/testset1/opt2.ql.out84
-rw-r--r--systemtest/testdata/testset1/opt4.ql6
-rw-r--r--systemtest/testdata/testset1/opt4.ql.java.out29
-rw-r--r--systemtest/testdata/testset1/opt4.ql.out44
-rw-r--r--systemtest/testdata/testset1/opt5.ql6
-rw-r--r--systemtest/testdata/testset1/opt5.ql.java.out57
-rw-r--r--systemtest/testdata/testset1/opt5.ql.out84
-rw-r--r--systemtest/testdata/testset1/trim1.ql5
-rw-r--r--systemtest/testdata/testset1/trim1.ql.java.out29
-rw-r--r--systemtest/testdata/testset1/trim1.ql.out30
-rw-r--r--systemtest/testdata/testset1/trim2.ql5
-rw-r--r--systemtest/testdata/testset1/trim2.ql.java.out29
-rw-r--r--systemtest/testdata/testset1/trim2.ql.out30
-rw-r--r--systemtest/testdata/testset1/trim3.ql5
-rw-r--r--systemtest/testdata/testset1/trim3.ql.java.out57
-rw-r--r--systemtest/testdata/testset1/trim3.ql.out56
-rw-r--r--systemtest/testdata/testset1/trim4.ql5
-rw-r--r--systemtest/testdata/testset1/trim4.ql.java.out57
-rw-r--r--systemtest/testdata/testset1/trim4.ql.out56
-rw-r--r--systemtest/testdata/testset1/trim5.ql5
-rw-r--r--systemtest/testdata/testset1/trim5.ql.java.out57
-rw-r--r--systemtest/testdata/testset1/trim5.ql.out44
-rw-r--r--systemtest/testdata/testset1/trim6.ql5
-rw-r--r--systemtest/testdata/testset1/trim6.ql.java.out57
-rw-r--r--systemtest/testdata/testset1/trim6.ql.out44
-rw-r--r--systemtest/testdata/testset2/const1.ql5
-rw-r--r--systemtest/testdata/testset2/const1.ql.java.out15
-rw-r--r--systemtest/testdata/testset2/const1.ql.out16
-rw-r--r--systemtest/testdata/testset2/const10.ql5
-rw-r--r--systemtest/testdata/testset2/const10.ql.java.out15
-rw-r--r--systemtest/testdata/testset2/const10.ql.out16
-rw-r--r--systemtest/testdata/testset2/const11.ql5
-rw-r--r--systemtest/testdata/testset2/const11.ql.java.out15
-rw-r--r--systemtest/testdata/testset2/const11.ql.out16
-rw-r--r--systemtest/testdata/testset2/const2.ql5
-rw-r--r--systemtest/testdata/testset2/const2.ql.java.out15
-rw-r--r--systemtest/testdata/testset2/const2.ql.out16
-rw-r--r--systemtest/testdata/testset2/const3.ql5
-rw-r--r--systemtest/testdata/testset2/const3.ql.java.out15
-rw-r--r--systemtest/testdata/testset2/const3.ql.out16
-rw-r--r--systemtest/testdata/testset2/const4.ql5
-rw-r--r--systemtest/testdata/testset2/const4.ql.java.out15
-rw-r--r--systemtest/testdata/testset2/const4.ql.out16
-rw-r--r--systemtest/testdata/testset2/const5.ql5
-rw-r--r--systemtest/testdata/testset2/const5.ql.java.out15
-rw-r--r--systemtest/testdata/testset2/const5.ql.out16
-rw-r--r--systemtest/testdata/testset2/const6.ql5
-rw-r--r--systemtest/testdata/testset2/const6.ql.java.out15
-rw-r--r--systemtest/testdata/testset2/const6.ql.out16
-rw-r--r--systemtest/testdata/testset2/const7.ql5
-rw-r--r--systemtest/testdata/testset2/const7.ql.java.out15
-rw-r--r--systemtest/testdata/testset2/const7.ql.out16
-rw-r--r--systemtest/testdata/testset2/const8.ql5
-rw-r--r--systemtest/testdata/testset2/const8.ql.java.out15
-rw-r--r--systemtest/testdata/testset2/const8.ql.out16
-rw-r--r--systemtest/testdata/testset2/const9.ql5
-rw-r--r--systemtest/testdata/testset2/const9.ql.java.out15
-rw-r--r--systemtest/testdata/testset2/const9.ql.out16
-rw-r--r--systemtest/testdata/testset2/constmdd.ql5
-rw-r--r--systemtest/testdata/testset2/constmdd.ql.java.out15
-rw-r--r--systemtest/testdata/testset2/constmdd.ql.out16
-rw-r--r--systemtest/testdata/testset2/oid5.ql6
-rw-r--r--systemtest/testdata/testset2/oid5.ql.java.out0
-rw-r--r--systemtest/testdata/testset2/oid5.ql.out4
-rw-r--r--systemtest/testdata/testset2/oid6.ql6
-rw-r--r--systemtest/testdata/testset2/oid6.ql.java.out15
-rw-r--r--systemtest/testdata/testset2/oid6.ql.out44
-rw-r--r--systemtest/testdata/testset3/domexp1.ql5
-rw-r--r--systemtest/testdata/testset3/domexp1.ql.java.out29
-rw-r--r--systemtest/testdata/testset3/domexp1.ql.out44
-rw-r--r--systemtest/testdata/testset3/domexp2.ql6
-rw-r--r--systemtest/testdata/testset3/domexp2.ql.java.out29
-rw-r--r--systemtest/testdata/testset3/domexp2.ql.out42
-rw-r--r--systemtest/testdata/testset3/domexp3.ql5
-rw-r--r--systemtest/testdata/testset3/domexp3.ql.java.out29
-rw-r--r--systemtest/testdata/testset3/domexp3.ql.out34
-rw-r--r--systemtest/testdata/testset3/domexp4.ql5
-rw-r--r--systemtest/testdata/testset3/domexp4.ql.java.out29
-rw-r--r--systemtest/testdata/testset3/domexp4.ql.out24
-rw-r--r--systemtest/testdata/testset3/domexp5.ql6
-rw-r--r--systemtest/testdata/testset3/domexp5.ql.java.out29
-rw-r--r--systemtest/testdata/testset3/domexp5.ql.out30
-rw-r--r--systemtest/testdata/testset3/minterval1.ql6
-rw-r--r--systemtest/testdata/testset3/minterval1.ql.java.out29
-rw-r--r--systemtest/testdata/testset3/minterval1.ql.out30
-rw-r--r--systemtest/testdata/testset3/proj1.ql6
-rw-r--r--systemtest/testdata/testset3/proj1.ql.java.out29
-rw-r--r--systemtest/testdata/testset3/proj1.ql.out24
-rw-r--r--systemtest/testdata/testset3/proj2.ql6
-rw-r--r--systemtest/testdata/testset3/proj2.ql.java.out29
-rw-r--r--systemtest/testdata/testset3/proj2.ql.out24
-rw-r--r--systemtest/testdata/testset3/proj3.ql6
-rw-r--r--systemtest/testdata/testset3/proj3.ql.java.out29
-rw-r--r--systemtest/testdata/testset3/proj3.ql.out24
-rw-r--r--systemtest/testdata/testset3/proj4.ql6
-rw-r--r--systemtest/testdata/testset3/proj4.ql.java.out29
-rw-r--r--systemtest/testdata/testset3/proj4.ql.out24
-rw-r--r--systemtest/testdata/testset3/proj5.ql6
-rw-r--r--systemtest/testdata/testset3/proj5.ql.java.out29
-rw-r--r--systemtest/testdata/testset3/proj5.ql.out24
-rw-r--r--systemtest/testdata/testset3/proj6.ql5
-rw-r--r--systemtest/testdata/testset3/proj6.ql.java.out29
-rw-r--r--systemtest/testdata/testset3/proj6.ql.out44
-rw-r--r--systemtest/testdata/testset3/sdom1.ql5
-rw-r--r--systemtest/testdata/testset3/sdom1.ql.java.out29
-rw-r--r--systemtest/testdata/testset3/sdom1.ql.out44
-rw-r--r--systemtest/testdata/testset3/shift1.ql2
-rw-r--r--systemtest/testdata/testset3/shift1.ql.java.out15
-rw-r--r--systemtest/testdata/testset3/shift1.ql.out24
-rw-r--r--systemtest/testdata/testset3/shift2.ql2
-rw-r--r--systemtest/testdata/testset3/shift2.ql.java.out15
-rw-r--r--systemtest/testdata/testset3/shift2.ql.out24
-rw-r--r--systemtest/testdata/testset3/shift3.ql2
-rw-r--r--systemtest/testdata/testset3/shift3.ql.java.out15
-rw-r--r--systemtest/testdata/testset3/shift3.ql.out19
-rw-r--r--systemtest/testdata/testset3/shift4.ql2
-rw-r--r--systemtest/testdata/testset3/shift4.ql.java.out15
-rw-r--r--systemtest/testdata/testset3/shift4.ql.out19
-rw-r--r--systemtest/testdata/testset3/shift41.ql2
-rw-r--r--systemtest/testdata/testset3/shift41.ql.java.out15
-rw-r--r--systemtest/testdata/testset3/shift41.ql.out19
-rw-r--r--systemtest/testdata/testset3/trim1.ql6
-rw-r--r--systemtest/testdata/testset3/trim1.ql.java.out29
-rw-r--r--systemtest/testdata/testset3/trim1.ql.out44
-rw-r--r--systemtest/testdata/testset3/trim2.ql6
-rw-r--r--systemtest/testdata/testset3/trim2.ql.java.out29
-rw-r--r--systemtest/testdata/testset3/trim2.ql.out28
-rw-r--r--systemtest/testdata/testset3/trim3.ql6
-rw-r--r--systemtest/testdata/testset3/trim3.ql.java.out29
-rw-r--r--systemtest/testdata/testset3/trim3.ql.out44
-rw-r--r--systemtest/testdata/testset3/trim4.ql6
-rw-r--r--systemtest/testdata/testset3/trim4.ql.java.out29
-rw-r--r--systemtest/testdata/testset3/trim4.ql.out44
-rw-r--r--systemtest/testdata/testset3/trim5.ql6
-rw-r--r--systemtest/testdata/testset3/trim5.ql.java.out29
-rw-r--r--systemtest/testdata/testset3/trim5.ql.out28
-rw-r--r--systemtest/testdata/unaryfunc/abs_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/abs_1.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/abs_1.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/abs_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/abs_2.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/abs_2.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/abs_3.ql2
-rw-r--r--systemtest/testdata/unaryfunc/abs_3.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/abs_3.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/abs_4.ql2
-rw-r--r--systemtest/testdata/unaryfunc/abs_4.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/abs_4.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/abs_5.ql2
-rw-r--r--systemtest/testdata/unaryfunc/abs_5.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/abs_5.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/abs_6.ql2
-rw-r--r--systemtest/testdata/unaryfunc/abs_6.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/abs_6.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/acos_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/acos_1.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/acos_1.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/acos_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/acos_2.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/acos_2.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/acos_3.ql2
-rw-r--r--systemtest/testdata/unaryfunc/acos_3.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/acos_3.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/acos_4.ql2
-rw-r--r--systemtest/testdata/unaryfunc/acos_4.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/acos_4.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/acos_5.ql2
-rw-r--r--systemtest/testdata/unaryfunc/acos_5.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/acos_5.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/acos_dom_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/acos_dom_1.ql.java.out2
-rw-r--r--systemtest/testdata/unaryfunc/acos_dom_1.ql.out1
-rw-r--r--systemtest/testdata/unaryfunc/acos_dom_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/acos_dom_2.ql.java.out2
-rw-r--r--systemtest/testdata/unaryfunc/acos_dom_2.ql.out1
-rw-r--r--systemtest/testdata/unaryfunc/asin_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/asin_1.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/asin_1.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/asin_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/asin_2.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/asin_2.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/asin_3.ql2
-rw-r--r--systemtest/testdata/unaryfunc/asin_3.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/asin_3.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/asin_4.ql2
-rw-r--r--systemtest/testdata/unaryfunc/asin_4.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/asin_4.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/asin_5.ql2
-rw-r--r--systemtest/testdata/unaryfunc/asin_5.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/asin_5.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/asin_dom_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/asin_dom_1.ql.java.out2
-rw-r--r--systemtest/testdata/unaryfunc/asin_dom_1.ql.out1
-rw-r--r--systemtest/testdata/unaryfunc/asin_dom_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/asin_dom_2.ql.java.out2
-rw-r--r--systemtest/testdata/unaryfunc/asin_dom_2.ql.out1
-rw-r--r--systemtest/testdata/unaryfunc/atan_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/atan_1.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/atan_1.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/atan_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/atan_2.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/atan_2.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/atan_3.ql2
-rw-r--r--systemtest/testdata/unaryfunc/atan_3.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/atan_3.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/atan_4.ql2
-rw-r--r--systemtest/testdata/unaryfunc/atan_4.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/atan_4.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/atan_5.ql2
-rw-r--r--systemtest/testdata/unaryfunc/atan_5.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/atan_5.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/coll_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/coll_1.ql.java.out29
-rw-r--r--systemtest/testdata/unaryfunc/coll_1.ql.out44
-rw-r--r--systemtest/testdata/unaryfunc/coll_10.ql2
-rw-r--r--systemtest/testdata/unaryfunc/coll_10.ql.java.out29
-rw-r--r--systemtest/testdata/unaryfunc/coll_10.ql.out44
-rw-r--r--systemtest/testdata/unaryfunc/coll_11.ql2
-rw-r--r--systemtest/testdata/unaryfunc/coll_11.ql.java.out29
-rw-r--r--systemtest/testdata/unaryfunc/coll_11.ql.out44
-rw-r--r--systemtest/testdata/unaryfunc/coll_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/coll_2.ql.java.out29
-rw-r--r--systemtest/testdata/unaryfunc/coll_2.ql.out44
-rw-r--r--systemtest/testdata/unaryfunc/coll_3.ql2
-rw-r--r--systemtest/testdata/unaryfunc/coll_3.ql.java.out29
-rw-r--r--systemtest/testdata/unaryfunc/coll_3.ql.out44
-rw-r--r--systemtest/testdata/unaryfunc/coll_4.ql2
-rw-r--r--systemtest/testdata/unaryfunc/coll_4.ql.java.out2
-rw-r--r--systemtest/testdata/unaryfunc/coll_4.ql.out1
-rw-r--r--systemtest/testdata/unaryfunc/coll_5.ql2
-rw-r--r--systemtest/testdata/unaryfunc/coll_5.ql.java.out2
-rw-r--r--systemtest/testdata/unaryfunc/coll_5.ql.out1
-rw-r--r--systemtest/testdata/unaryfunc/coll_6.ql2
-rw-r--r--systemtest/testdata/unaryfunc/coll_6.ql.java.out29
-rw-r--r--systemtest/testdata/unaryfunc/coll_6.ql.out44
-rw-r--r--systemtest/testdata/unaryfunc/coll_7.ql2
-rw-r--r--systemtest/testdata/unaryfunc/coll_7.ql.java.out29
-rw-r--r--systemtest/testdata/unaryfunc/coll_7.ql.out44
-rw-r--r--systemtest/testdata/unaryfunc/coll_8.ql2
-rw-r--r--systemtest/testdata/unaryfunc/coll_8.ql.java.out29
-rw-r--r--systemtest/testdata/unaryfunc/coll_8.ql.out44
-rw-r--r--systemtest/testdata/unaryfunc/coll_9.ql2
-rw-r--r--systemtest/testdata/unaryfunc/coll_9.ql.java.out29
-rw-r--r--systemtest/testdata/unaryfunc/coll_9.ql.out44
-rw-r--r--systemtest/testdata/unaryfunc/cos_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/cos_1.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/cos_1.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/cos_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/cos_2.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/cos_2.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/cos_3.ql2
-rw-r--r--systemtest/testdata/unaryfunc/cos_3.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/cos_3.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/cos_4.ql2
-rw-r--r--systemtest/testdata/unaryfunc/cos_4.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/cos_4.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/cos_5.ql2
-rw-r--r--systemtest/testdata/unaryfunc/cos_5.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/cos_5.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/cos_6.ql2
-rw-r--r--systemtest/testdata/unaryfunc/cos_6.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/cos_6.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/cos_7.ql2
-rw-r--r--systemtest/testdata/unaryfunc/cos_7.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/cos_7.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/exp_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/exp_1.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/exp_1.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/exp_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/exp_2.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/exp_2.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/exp_3.ql2
-rw-r--r--systemtest/testdata/unaryfunc/exp_3.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/exp_3.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/exp_erange_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/exp_erange_1.ql.java.out2
-rw-r--r--systemtest/testdata/unaryfunc/exp_erange_1.ql.out1
-rw-r--r--systemtest/testdata/unaryfunc/exp_erange_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/exp_erange_2.ql.java.out2
-rw-r--r--systemtest/testdata/unaryfunc/exp_erange_2.ql.out1
-rw-r--r--systemtest/testdata/unaryfunc/ln_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/ln_1.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/ln_1.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/ln_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/ln_2.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/ln_2.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/ln_3.ql2
-rw-r--r--systemtest/testdata/unaryfunc/ln_3.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/ln_3.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/ln_edom.ql2
-rw-r--r--systemtest/testdata/unaryfunc/ln_edom.ql.java.out2
-rw-r--r--systemtest/testdata/unaryfunc/ln_edom.ql.out1
-rw-r--r--systemtest/testdata/unaryfunc/ln_erange.ql2
-rw-r--r--systemtest/testdata/unaryfunc/ln_erange.ql.java.out2
-rw-r--r--systemtest/testdata/unaryfunc/ln_erange.ql.out1
-rw-r--r--systemtest/testdata/unaryfunc/log_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/log_1.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/log_1.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/log_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/log_2.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/log_2.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/log_3.ql2
-rw-r--r--systemtest/testdata/unaryfunc/log_3.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/log_3.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/log_edom.ql2
-rw-r--r--systemtest/testdata/unaryfunc/log_edom.ql.java.out2
-rw-r--r--systemtest/testdata/unaryfunc/log_edom.ql.out1
-rw-r--r--systemtest/testdata/unaryfunc/log_erange.ql2
-rw-r--r--systemtest/testdata/unaryfunc/log_erange.ql.java.out2
-rw-r--r--systemtest/testdata/unaryfunc/log_erange.ql.out1
-rw-r--r--systemtest/testdata/unaryfunc/mix_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/mix_1.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/mix_1.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/mix_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/mix_2.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/mix_2.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/mix_3.ql2
-rw-r--r--systemtest/testdata/unaryfunc/mix_3.ql.java.out2
-rw-r--r--systemtest/testdata/unaryfunc/mix_3.ql.out1
-rw-r--r--systemtest/testdata/unaryfunc/sin_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/sin_1.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/sin_1.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/sin_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/sin_2.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/sin_2.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/sin_3.ql2
-rw-r--r--systemtest/testdata/unaryfunc/sin_3.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/sin_3.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/sin_4.ql2
-rw-r--r--systemtest/testdata/unaryfunc/sin_4.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/sin_4.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/sin_5.ql2
-rw-r--r--systemtest/testdata/unaryfunc/sin_5.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/sin_5.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/sin_6.ql2
-rw-r--r--systemtest/testdata/unaryfunc/sin_6.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/sin_6.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/sin_7.ql2
-rw-r--r--systemtest/testdata/unaryfunc/sin_7.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/sin_7.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_1.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_1.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_2.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_2.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_3.ql2
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_3.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_3.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_4.ql2
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_4.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_4.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_5.ql2
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_5.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_5.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_6.ql2
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_6.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_6.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_7.ql2
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_7.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_7.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_edom.ql2
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_edom.ql.java.out2
-rw-r--r--systemtest/testdata/unaryfunc/sqrt_edom.ql.out1
-rw-r--r--systemtest/testdata/unaryfunc/tan_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/tan_1.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/tan_1.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/tan_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/tan_2.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/tan_2.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/tan_3.ql2
-rw-r--r--systemtest/testdata/unaryfunc/tan_3.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/tan_3.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/tan_4.ql2
-rw-r--r--systemtest/testdata/unaryfunc/tan_4.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/tan_4.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/tan_edom_1.ql2
-rw-r--r--systemtest/testdata/unaryfunc/tan_edom_1.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/tan_edom_1.ql.out6
-rw-r--r--systemtest/testdata/unaryfunc/tan_edom_2.ql2
-rw-r--r--systemtest/testdata/unaryfunc/tan_edom_2.ql.java.out1
-rw-r--r--systemtest/testdata/unaryfunc/tan_edom_2.ql.out6
-rw-r--r--systemtest/testdata/updateset1/u1_create.ql1
-rw-r--r--systemtest/testdata/updateset1/u1_create.ql.java.out0
-rw-r--r--systemtest/testdata/updateset1/u1_create.ql.out0
-rw-r--r--systemtest/testdata/updateset1/u2_insert.ql1
-rw-r--r--systemtest/testdata/updateset1/u2_insert.ql.java.out0
-rw-r--r--systemtest/testdata/updateset1/u2_insert.ql.out0
-rw-r--r--systemtest/testdata/updateset1/u3_lookup.ql5
-rw-r--r--systemtest/testdata/updateset1/u3_lookup.ql.java.out15
-rw-r--r--systemtest/testdata/updateset1/u3_lookup.ql.out24
-rw-r--r--systemtest/testdata/updateset1/u4_update.ql3
-rw-r--r--systemtest/testdata/updateset1/u4_update.ql.java.out0
-rw-r--r--systemtest/testdata/updateset1/u4_update.ql.out0
-rw-r--r--systemtest/testdata/updateset1/u51_lookup.ql5
-rw-r--r--systemtest/testdata/updateset1/u51_lookup.ql.java.out15
-rw-r--r--systemtest/testdata/updateset1/u51_lookup.ql.out24
-rw-r--r--systemtest/testdata/updateset1/u5_deletemdd.ql2
-rw-r--r--systemtest/testdata/updateset1/u5_deletemdd.ql.java.out0
-rw-r--r--systemtest/testdata/updateset1/u5_deletemdd.ql.out0
-rw-r--r--systemtest/testdata/updateset1/u7_dropcoll.ql1
-rw-r--r--systemtest/testdata/updateset1/u7_dropcoll.ql.java.out0
-rw-r--r--systemtest/testdata/updateset1/u7_dropcoll.ql.out0
-rw-r--r--systemtest/testdata/updateset2/u1_create.ql1
-rw-r--r--systemtest/testdata/updateset2/u1_create.ql.java.out0
-rw-r--r--systemtest/testdata/updateset2/u1_create.ql.out0
-rw-r--r--systemtest/testdata/updateset2/u2_insert.ql1
-rw-r--r--systemtest/testdata/updateset2/u2_insert.ql.java.out0
-rw-r--r--systemtest/testdata/updateset2/u2_insert.ql.out0
-rw-r--r--systemtest/testdata/updateset2/u4_update.ql3
-rw-r--r--systemtest/testdata/updateset2/u4_update.ql.java.out0
-rw-r--r--systemtest/testdata/updateset2/u4_update.ql.out0
-rw-r--r--systemtest/testdata/updateset2/u5_update.ql3
-rw-r--r--systemtest/testdata/updateset2/u5_update.ql.java.out0
-rw-r--r--systemtest/testdata/updateset2/u5_update.ql.out0
-rw-r--r--systemtest/testdata/updateset2/u97_lookup.ql5
-rw-r--r--systemtest/testdata/updateset2/u97_lookup.ql.java.out15
-rw-r--r--systemtest/testdata/updateset2/u97_lookup.ql.out25
-rw-r--r--systemtest/testdata/updateset2/u98_deletemdd.ql2
-rw-r--r--systemtest/testdata/updateset2/u98_deletemdd.ql.java.out0
-rw-r--r--systemtest/testdata/updateset2/u98_deletemdd.ql.out0
-rw-r--r--systemtest/testdata/updateset2/u99_dropcoll.ql1
-rw-r--r--systemtest/testdata/updateset2/u99_dropcoll.ql.java.out0
-rw-r--r--systemtest/testdata/updateset2/u99_dropcoll.ql.out0
-rw-r--r--systemtest/testdata/updateset3/u01_create.ql1
-rw-r--r--systemtest/testdata/updateset3/u01_create.ql.java.out0
-rw-r--r--systemtest/testdata/updateset3/u01_create.ql.out0
-rw-r--r--systemtest/testdata/updateset3/u02_insert.ql1
-rw-r--r--systemtest/testdata/updateset3/u02_insert.ql.java.out0
-rw-r--r--systemtest/testdata/updateset3/u02_insert.ql.out0
-rw-r--r--systemtest/testdata/updateset3/u03_lookup.ql2
-rw-r--r--systemtest/testdata/updateset3/u03_lookup.ql.java.out15
-rw-r--r--systemtest/testdata/updateset3/u03_lookup.ql.out18
-rw-r--r--systemtest/testdata/updateset3/u04_update.ql3
-rw-r--r--systemtest/testdata/updateset3/u04_update.ql.java.out0
-rw-r--r--systemtest/testdata/updateset3/u04_update.ql.out0
-rw-r--r--systemtest/testdata/updateset3/u05_lookup.ql2
-rw-r--r--systemtest/testdata/updateset3/u05_lookup.ql.java.out15
-rw-r--r--systemtest/testdata/updateset3/u05_lookup.ql.out19
-rw-r--r--systemtest/testdata/updateset3/u06_update.ql3
-rw-r--r--systemtest/testdata/updateset3/u06_update.ql.java.out0
-rw-r--r--systemtest/testdata/updateset3/u06_update.ql.out0
-rw-r--r--systemtest/testdata/updateset3/u07_lookup.ql2
-rw-r--r--systemtest/testdata/updateset3/u07_lookup.ql.java.out15
-rw-r--r--systemtest/testdata/updateset3/u07_lookup.ql.out19
-rw-r--r--systemtest/testdata/updateset3/u08_update.ql3
-rw-r--r--systemtest/testdata/updateset3/u08_update.ql.java.out0
-rw-r--r--systemtest/testdata/updateset3/u08_update.ql.out0
-rw-r--r--systemtest/testdata/updateset3/u09_update.ql3
-rw-r--r--systemtest/testdata/updateset3/u09_update.ql.java.out0
-rw-r--r--systemtest/testdata/updateset3/u09_update.ql.out0
-rw-r--r--systemtest/testdata/updateset3/u10_update.ql3
-rw-r--r--systemtest/testdata/updateset3/u10_update.ql.java.out0
-rw-r--r--systemtest/testdata/updateset3/u10_update.ql.out0
-rw-r--r--systemtest/testdata/updateset3/u97_lookup.ql2
-rw-r--r--systemtest/testdata/updateset3/u97_lookup.ql.java.out15
-rw-r--r--systemtest/testdata/updateset3/u97_lookup.ql.out20
-rw-r--r--systemtest/testdata/updateset3/u98_deletemdd.ql2
-rw-r--r--systemtest/testdata/updateset3/u98_deletemdd.ql.java.out0
-rw-r--r--systemtest/testdata/updateset3/u98_deletemdd.ql.out0
-rw-r--r--systemtest/testdata/updateset3/u99_dropcoll.ql1
-rw-r--r--systemtest/testdata/updateset3/u99_dropcoll.ql.java.out0
-rw-r--r--systemtest/testdata/updateset3/u99_dropcoll.ql.out0
-rw-r--r--systemtest/testdata/updateset4/u01_create.ql1
-rw-r--r--systemtest/testdata/updateset4/u01_create.ql.java.out0
-rw-r--r--systemtest/testdata/updateset4/u01_create.ql.out0
-rw-r--r--systemtest/testdata/updateset4/u02_insert.ql1
-rw-r--r--systemtest/testdata/updateset4/u02_insert.ql.java.out0
-rw-r--r--systemtest/testdata/updateset4/u02_insert.ql.out0
-rw-r--r--systemtest/testdata/updateset4/u97_lookup.ql2
-rw-r--r--systemtest/testdata/updateset4/u97_lookup.ql.java.out15
-rw-r--r--systemtest/testdata/updateset4/u97_lookup.ql.out24
-rw-r--r--systemtest/testdata/updateset4/u98_deletemdd.ql2
-rw-r--r--systemtest/testdata/updateset4/u98_deletemdd.ql.java.out0
-rw-r--r--systemtest/testdata/updateset4/u98_deletemdd.ql.out0
-rw-r--r--systemtest/testdata/updateset4/u99_dropcoll.ql1
-rw-r--r--systemtest/testdata/updateset4/u99_dropcoll.ql.java.out0
-rw-r--r--systemtest/testdata/updateset4/u99_dropcoll.ql.out0
-rw-r--r--systemtest/testjava.sh353
1404 files changed, 18875 insertions, 0 deletions
diff --git a/systemtest/Makefile b/systemtest/Makefile
new file mode 100644
index 0000000..e431fdf
--- /dev/null
+++ b/systemtest/Makefile
@@ -0,0 +1,56 @@
+# -*-Makefile-*-
+#
+# This file is part of rasdaman community.
+#
+# Rasdaman community is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Rasdaman community is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with rasdaman community. If not, see <http://www.gnu.org/licenses/>.
+#
+# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann /
+# rasdaman GmbH.
+#
+# For more information please see <http://www.rasdaman.org>
+# or contact Peter Baumann via <baumann@rasdaman.com>.
+#
+# MAKEFILE FOR:
+# perform systemtest (overall rasdaman test suite)
+#
+# COMMENTS:
+# - not yet operational
+#
+##################################################################
+######################### Definitions ############################
+
+# all test programs
+SRCCXX =
+OBJS = ${SRCCXX:%.cc=%.o}
+ALLTESTS = ${SRCCXX:%.cc=%}
+MISCCLEAN = core
+
+# add compile and link options for STL
+CXXFLAGS += $(STLCXXFLAGS)
+LDFLAGS += $(STLLDFLAGS)
+
+########################### Targets ##############################
+
+# general system test
+.PHONY: systemtest
+systemtest:
+ ./testcenter.sh
+ ./testcenter2.sh
+ ./testjava.sh
+
+clean:
+ -rm $(MISCCLEAN)
+
+######################## Dependencies ############################
+
diff --git a/systemtest/image1.bmp b/systemtest/image1.bmp
new file mode 100644
index 0000000..8726663
--- /dev/null
+++ b/systemtest/image1.bmp
Binary files differ
diff --git a/systemtest/image1.hdf b/systemtest/image1.hdf
new file mode 100644
index 0000000..faf61b3
--- /dev/null
+++ b/systemtest/image1.hdf
Binary files differ
diff --git a/systemtest/image1.jpg b/systemtest/image1.jpg
new file mode 100644
index 0000000..05b4f5b
--- /dev/null
+++ b/systemtest/image1.jpg
Binary files differ
diff --git a/systemtest/image1.png b/systemtest/image1.png
new file mode 100644
index 0000000..28662b8
--- /dev/null
+++ b/systemtest/image1.png
Binary files differ
diff --git a/systemtest/image1.tif b/systemtest/image1.tif
new file mode 100644
index 0000000..3946810
--- /dev/null
+++ b/systemtest/image1.tif
Binary files differ
diff --git a/systemtest/image1.vff b/systemtest/image1.vff
new file mode 100644
index 0000000..10eed0d
--- /dev/null
+++ b/systemtest/image1.vff
Binary files differ
diff --git a/systemtest/image2.bmp b/systemtest/image2.bmp
new file mode 100644
index 0000000..8726663
--- /dev/null
+++ b/systemtest/image2.bmp
Binary files differ
diff --git a/systemtest/image2.hdf b/systemtest/image2.hdf
new file mode 100644
index 0000000..1f99e17
--- /dev/null
+++ b/systemtest/image2.hdf
Binary files differ
diff --git a/systemtest/image2.jpg b/systemtest/image2.jpg
new file mode 100644
index 0000000..05b4f5b
--- /dev/null
+++ b/systemtest/image2.jpg
Binary files differ
diff --git a/systemtest/image2.png b/systemtest/image2.png
new file mode 100644
index 0000000..28662b8
--- /dev/null
+++ b/systemtest/image2.png
Binary files differ
diff --git a/systemtest/image2.tif b/systemtest/image2.tif
new file mode 100644
index 0000000..3946810
--- /dev/null
+++ b/systemtest/image2.tif
Binary files differ
diff --git a/systemtest/image2.vff b/systemtest/image2.vff
new file mode 100644
index 0000000..b455d86
--- /dev/null
+++ b/systemtest/image2.vff
@@ -0,0 +1,15 @@
+ncaa
+rank=2;
+type=raster;
+format=slice;
+size=11 11;
+origin=0 0;
+extent=10 10;
+aspect=1.0 1.0;
+bands=1;
+bits=8;
+endianness=little_endian;
+data_order=xy;
+
+
+ \ No newline at end of file
diff --git a/systemtest/images/ovl1.ppm b/systemtest/images/ovl1.ppm
new file mode 100644
index 0000000..d897c90
--- /dev/null
+++ b/systemtest/images/ovl1.ppm
@@ -0,0 +1,4 @@
+P6
+10 10
+255
+¼l3¬c$´k+´w4´k+¬k,´l=¼yE¤wK´†C´r4¬c$¬k,´w4´k+¤k3¬k4´r=´€CÄT¬e=œX,¤^+´l=´r4¬k,´k+¬k4´€CÌR”X6„A&”L$¬d1´l4´l4´l4´l4½r>¼€D„F(t8„@¤Y,´e6¼l3´r4´r4¼l3´l4|B,t2|:œR.´d,´l4´k+´k+¼l3¬^*|K)f6&„@¤R#¬^*´d,´d,´k+´d,¬Y$|M4t8„@¤X#´^/´^!´k+´d"¼l3´d,•FœLœR"œW#¤Y,¬d1´l4´l4´d,¬^*œW#”L”L¤R#´l4½r>´l4¬^*´d,¬Y$ \ No newline at end of file
diff --git a/systemtest/images/ovl2.ppm b/systemtest/images/ovl2.ppm
new file mode 100644
index 0000000..03b0fec
--- /dev/null
+++ b/systemtest/images/ovl2.ppm
Binary files differ
diff --git a/systemtest/images/ovl3.ppm b/systemtest/images/ovl3.ppm
new file mode 100644
index 0000000..d4e7db0
--- /dev/null
+++ b/systemtest/images/ovl3.ppm
Binary files differ
diff --git a/systemtest/memleak/overview b/systemtest/memleak/overview
new file mode 100644
index 0000000..2e5cbc3
--- /dev/null
+++ b/systemtest/memleak/overview
@@ -0,0 +1,18 @@
+test server memleaks by invoking a large number of operations using rasql.
+
+RASQL=rasql
+
+REPETITIONS=100
+
+- subsetting
+
+QUERY_TRIM="select a[sdom(a)[0].lo+1:sdom(a)[0].hi-1,sdom(a)[1].lo+1:sdom(a)[1].hi-1] from $TESTCOLL_2D as a"
+
+
+
+for n in ($REPETITIONS)
+do
+ echo performing run $n...
+ $RASQL -q $UERY_TRIM # ignore result
+done
+
diff --git a/systemtest/rasdl/generator_rasdl.sh b/systemtest/rasdl/generator_rasdl.sh
new file mode 100644
index 0000000..6d8d31f
--- /dev/null
+++ b/systemtest/rasdl/generator_rasdl.sh
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+EXC="exc.sh"
+
+CREDB="rasdl RASBASE -c"
+INSDB="rasdl RASBASE -r $RMANHOME/include/basictypes.odl -i"
+PRNDB="rasdl RASBASE -p"
+DELDB="rasdl RASBASE -deldatabase"
+
+
+CMD=$CREDB
+echo "1. Creating RASBASE."
+COUT="create1.out"
+$EXC "$CMD" $COUT
+echo "2. Creating RASBASE again."
+COUT="create2.out"
+$EXC "$CMD" $COUT
+
+
+CMD=$INSDB
+echo "3. Inserting basic types into RASBASE."
+COUT="insert1.out"
+$EXC "$CMD" $COUT
+echo "4. Inserting basic types into RASBASE again."
+COUT="insert2.out"
+$EXC "$CMD" $COUT
+
+
+CMD=$PRNDB
+echo "5. Printing basic types from RASBASE."
+COUT="types1.out"
+$EXC "$CMD" $COUT
+
+
+CMD=$DELDB
+echo "6. Deleting RASBASE."
+COUT="delete1.out"
+$EXC "$CMD" $COUT
+echo "7. Deleting RASBASE again."
+COUT="delete2.out"
+$EXC "$CMD" $COUT
diff --git a/systemtest/rasdl/rasdl.sh b/systemtest/rasdl/rasdl.sh
new file mode 100644
index 0000000..55848ca
--- /dev/null
+++ b/systemtest/rasdl/rasdl.sh
@@ -0,0 +1,9 @@
+#!/bin/bash
+cdir=$PWD
+cd $RMANHOME/systemtest/rasdl
+./test_rasdl.sh > log.out 2>&1
+diff log.out compare.out
+retval=$?
+cd $cdir
+echo $retval
+exit $retval
diff --git a/systemtest/rasdl/test_rasdl.sh b/systemtest/rasdl/test_rasdl.sh
new file mode 100644
index 0000000..111d754
--- /dev/null
+++ b/systemtest/rasdl/test_rasdl.sh
@@ -0,0 +1,90 @@
+#!/bin/bash
+
+if [ $USER != rastest ]; then
+ echo "You are $USER."
+ echo "Only user rastest is allowed to run $0."
+ exit 1
+fi
+
+EXC="exc.sh"
+
+CREDB="rasdl RASBASE -c"
+INSDB="rasdl RASBASE -r $RMANHOME/include/basictypes.odl -i"
+PRNDB="rasdl RASBASE -p"
+DELDB="rasdl RASBASE -deldatabase"
+
+TOUT="test_rasdl.out"
+
+CMD=$CREDB
+echo -n "1. Creating RASBASE: "
+COUT="create1.out"
+$EXC "$CMD" $TOUT
+diff $COUT $TOUT
+if [ $? = 0 ]; then
+ echo "OK"
+else
+ echo "FAILED"
+fi
+
+echo -n "2. Creating RASBASE again: "
+COUT="create2.out"
+$EXC "$CMD" $TOUT
+diff $COUT $TOUT
+if [ $? = 0 ]; then
+ echo "OK"
+else
+ echo "FAILED"
+fi
+
+CMD=$INSDB
+echo -n "3. Inserting basic types into RASBASE: "
+COUT="insert1.out"
+$EXC "$CMD" $TOUT
+diff $COUT $TOUT
+if [ $? = 0 ]; then
+ echo "OK"
+else
+ echo "FAILED"
+fi
+
+echo -n "4. Inserting basic types into RASBASE again: "
+COUT="insert2.out"
+$EXC "$CMD" $TOUT
+diff $COUT $TOUT
+if [ $? = 0 ]; then
+ echo "OK"
+else
+ echo "FAILED"
+fi
+
+CMD=$PRNDB
+echo -n "5. Printing basic types from RASBASE: "
+COUT="types1.out"
+$EXC "$CMD" $TOUT
+diff $COUT $TOUT
+if [ $? = 0 ]; then
+ echo "OK"
+else
+ echo "FAILED"
+fi
+
+CMD=$DELDB
+echo -n "6. Deleting RASBASE: "
+COUT="delete1.out"
+$EXC "$CMD" $TOUT
+diff $COUT $TOUT
+if [ $? = 0 ]; then
+ echo "OK"
+else
+ echo "FAILED"
+fi
+
+echo -n "7. Deleting RASBASE again: "
+COUT="delete2.out"
+$EXC "$CMD" $TOUT
+diff $COUT $TOUT
+if [ $? = 0 ]; then
+ echo "OK"
+else
+ echo "FAILED"
+fi
diff --git a/systemtest/scripts/rasql_1.png b/systemtest/scripts/rasql_1.png
new file mode 100644
index 0000000..125be48
--- /dev/null
+++ b/systemtest/scripts/rasql_1.png
Binary files differ
diff --git a/systemtest/scripts/test_error-par.old b/systemtest/scripts/test_error-par.old
new file mode 100644
index 0000000..55c5ece
--- /dev/null
+++ b/systemtest/scripts/test_error-par.old
@@ -0,0 +1,2 @@
+test_error-par.sh: testing client/server communication for open/close db/ta, protocol is RNP
+test_error-par.sh: 10 probed, 2 reached, 8 failed.
diff --git a/systemtest/scripts/test_error-par.sh b/systemtest/scripts/test_error-par.sh
new file mode 100644
index 0000000..748d285
--- /dev/null
+++ b/systemtest/scripts/test_error-par.sh
@@ -0,0 +1,130 @@
+#!/bin/bash
+#
+# This file is part of rasdaman community.
+#
+# Rasdaman community is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Rasdaman community is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with rasdaman community. If not, see <http://www.gnu.org/licenses/>.
+#
+# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann /
+# rasdaman GmbH.
+#
+# For more information please see <http://www.rasdaman.org>
+# or contact Peter Baumann via <baumann@rasdaman.com>.
+# test_errors-par.sh - test multi-server availability
+#
+# SYNOPSIS:
+# test_errors-par.sh
+#
+# DESCRIPTION
+# Performs test queries to check that multiple servers are really available.
+# To this end, several "ping" programs are spawned each keeping a server busy.
+# If a pinger fails then there is no (more) server available.
+# This way, the script determines the number of servers available.
+#
+# RESPONDING TO INCIDENT
+# none
+#
+# PROCEDURE
+# see above.
+#
+# PRECONDITIONS
+# - rasdaman up and running, with database having user/password as defined below
+#
+# RETURN CODES
+ RC_OK=0 # everything went fine
+ RC_ERROR=1 # something went wrong
+#
+
+
+RCTEXT_OK="OK"
+RCTEXT_ERROR="NOT_OK"
+
+# --- CONSTANTS -----------------------------------------------------
+
+# number of servers to be probed
+NO_OF_SERVERS=10
+
+# name of script
+PROG=`basename $0`
+
+# name of test program
+TESTPROG=`basename $0 .sh`
+
+# log output
+LOGFILE=/tmp/`basename $PROG .sh`.log
+
+# old log file for regression comparison:
+OLDFILE=`basename $PROG .sh`.old
+
+# how to react on error
+function raiseError() { echo "$PROG: fatal error, aborting."; exit $RC_ERROR; }
+#function raiseError() { echo "$PROG: error in test; resuming."; RC=$RC_ERROR; }
+
+# string to determine that a server connection suceeded; see test prog src!
+SUCCESS_INDICATOR=SUCCESS
+
+# --- ACTION --------------------------------------------------------
+
+echo $PROG: testing client/server communication for open/close db/ta, protocol is $RMANPROTOCOL
+echo $PROG: testing client/server communication for open/close db/ta, protocol is $RMANPROTOCOL >$LOGFILE
+
+# initialize overall return code
+RC=$RC_OK
+
+# --- make test progs
+( cd $TESTPROG; make )
+
+# --- check no of available servers
+for (( i=$NO_OF_SERVERS; $i > 0; i=`expr $i - 1` ))
+do
+ # each tester runs infinitely, thereby definitely blocking its server
+ $TESTPROG/$TESTPROG --wait 100 --requests 1000000 --id $i 2>&1 >${LOGFILE}_$i &
+ # collect process ids so that wen can kill them again lateron
+ PIDS="$PIDS $!"
+done
+
+echo -n "$PROG: waiting for test progs to settle down"
+for i in 1 2 3 4 5
+do
+ sleep 1
+ echo -n "."
+done
+echo
+
+# cleanup processes; we're not interested whether they really are alive still
+kill -TERM $PIDS 2>/dev/null
+
+# evaluate log file
+SUCCEEDS=`grep $SUCCESS_INDICATOR ${LOGFILE}*| wc -l`
+echo $PROG: $NO_OF_SERVERS probed, $SUCCEEDS reached, `expr $NO_OF_SERVERS - $SUCCEEDS` failed.
+echo $PROG: $NO_OF_SERVERS probed, $SUCCEEDS reached, `expr $NO_OF_SERVERS - $SUCCEEDS` failed. >>$LOGFILE
+
+# --- compare files against old ones
+if [ `diff $OLDFILE $LOGFILE | wc -l` -ne 0 ]
+then
+ echo "$PROG: Error: regression discrepancy between files $OLDFILE $LOGFILE -- $RCTEXT_ERROR"
+ RC=$RC_ERROR
+fi
+
+# --- cleanup and summarise
+if [ $RC -eq $RC_OK ]
+then
+ rm -f ${LOGFILE}*
+ RCTEXT=$RCTEXT_OK
+else
+ RCTEXT=$RCTEXT_ERROR
+fi
+
+echo $PROG: done, result is $RCTEXT.
+exit $RC
+
diff --git a/systemtest/scripts/test_error-par/Makefile b/systemtest/scripts/test_error-par/Makefile
new file mode 100644
index 0000000..84e596e
--- /dev/null
+++ b/systemtest/scripts/test_error-par/Makefile
@@ -0,0 +1,77 @@
+# -*-Makefile-*-
+#
+# This file is part of rasdaman community.
+#
+# Rasdaman community is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Rasdaman community is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with rasdaman community. If not, see <http://www.gnu.org/licenses/>.
+#
+# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann /
+# rasdaman GmbH.
+#
+# For more information please see <http://www.rasdaman.org>
+# or contact Peter Baumann via <baumann@rasdaman.com>. # Top Level makefile. This points to the various modules that have to be build
+# and/or deployed
+#
+# MAKEFILE FOR:
+# test_error-par
+#
+# COMMENTS:
+#
+##################################################################
+
+######################### Definitions ############################
+
+# use client specific flags
+CXXFLAGS := $(CLIENTCXXFLAGS)
+LDFLAGS := $(CLIENTLDFLAGS)
+
+# add communication flags
+CXXFLAGS += $(COMMCXXFLAGS)
+LDFLAGS += $(COMMLDFLAGS)
+
+LIBS = $(RASODMG) $(CLIENTCOMM) $(RASLIB) \
+ $(CONVERSION) $(LIBAKINSIDE) $(LIBAKNET)
+
+IMGLIBS = $(l_SYM)tiff $(l_SYM)jpeg $(l_SYM)png $(l_SYM)crypto $(l_SYM)z \
+ $(l_SYM)mfhdf $(l_SYM)df $(l_SYM)ppm $(l_SYM)pgm $(l_SYM)pbm
+
+LDFLAGS += $(L_SYM)$(SUPPORT_BASE)/lib
+
+SRCCXX= test_error-par.cc
+OBJS = ${SRCCXX:%.cc=%.o}
+
+ifeq ($(OSTYPE),$(OSTYPE_SOLARIS))
+ LDFLAGS+= -lsocket
+endif
+
+MISCCLEAN = test_error-par
+
+########################### Targets ##############################
+# main target
+.PHONY: all
+all: test_error-par
+
+test_error-par: test_error-par.o $(LIBS)
+ $(PURIFY) $(CXX) $(LDFLAGS) -o test_error-par $^ $(LIBS) $(IMGLIBS) -lm
+
+.PHONY: depend
+depend:
+ -rm Makefile.dep
+ $(MAKEDEPEND) -m -f- -- $(CXXFLAGS) -- $(SRCCXX) $(SRCCC) > Makefile.dep
+
+.PHONY: clean
+clean:
+ -rm $(OBJS) $(MISCCLEAN)
+
+######################## Dependencies ############################
+
diff --git a/systemtest/scripts/test_error-par/test_error-par.cc b/systemtest/scripts/test_error-par/test_error-par.cc
new file mode 100644
index 0000000..05eb7f0
--- /dev/null
+++ b/systemtest/scripts/test_error-par/test_error-par.cc
@@ -0,0 +1,467 @@
+/*
+* This file is part of rasdaman community.
+*
+* Rasdaman community is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* Rasdaman community is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with rasdaman community. If not, see <http://www.gnu.org/licenses/>.
+*
+* Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann /
+rasdaman GmbH.
+*
+* For more information please see <http://www.rasdaman.org>
+* or contact Peter Baumann via <baumann@rasdaman.com>.
+*/
+
+/*************************************************************
+ *
+ *
+ * PURPOSE:
+ * Open a db connection to block a server. To additionally keep
+ * it busy, a request is sent periodically with a configurable
+ * wait time inbetween.
+ * Upon a SIGTERM signal, the program gracefully exits, closing
+ * transaction and database.
+ * Request is a dummy get type request, it doesn't matter what
+ * the response is.
+ * This program is used to test behavior on erroneous API calls
+ * on multiple servers (ie, parallel behavior - sequential behavior
+ * is tested in the twin program test_rasgeo-seq.cc).
+ *
+ * PARAMETERS:
+ * -w n wait n millisecs until next request
+ * -i n identifier for logging
+ * -r n run n requests, then terminate
+ * ...plus server, port, db, user, passwd
+ *
+ *
+ * PRECONDITIONS:
+ * - have a rasdaman server running
+ * - have at least one 1 rasserver up
+ *
+ * COMMENTS:
+ * - server type controlled via RMANPROTOCOL
+ *
+ * BUGS:
+ *
+ ************************************************************/
+
+using namespace std;
+
+static const char test_error_par_rcsid[] = "@(#)test_test_error-par,test_error-par.cc: $Id: test_error-par.cc,v 1.2 2005/09/11 08:42:33 rasdev Exp $";
+
+// error indicator - should eventually go into a central systemtest include
+static const char MSG_OK[] = "ok";
+static const char MSG_FAILED[] = "error";
+
+/*
+COMPDATE=`date +"%d.%m.%Y %H:%M:%S"`
+and -DCOMPDATE="\"$(COMPDATE)\"" when compiling
+*/
+#ifndef RMANVERSION
+#error "Please specify RMANVERSION variable!"
+#endif
+
+#ifndef COMPDATE
+#error "Please specify the COMPDATE variable!"
+#endif
+
+
+#ifdef EARLY_TEMPLATE
+#define __EXECUTABLE__
+#include "raslib/template_inst.hh"
+#endif
+
+#ifdef __VISUALC__
+#include <strstrea.h>
+#else
+#include <strstream>
+#endif
+
+#include <stdio.h>
+#include <string.h>
+#include <sstream>
+#include <fstream>
+
+#include <signal.h> // for signal()
+
+#ifdef __VISUALC__
+ #define __EXECUTABLE__
+#endif
+
+#include "rasodmg/transaction.hh"
+#include "rasodmg/database.hh"
+
+#include "rasodmg/ref.hh"
+#include "raslib/marraytype.hh"
+#include "rasodmg/set.hh"
+#include "rasodmg/marray.hh"
+#include "rasodmg/iterator.hh"
+#include "rasodmg/oqlquery.hh"
+
+#include "raslib/type.hh"
+
+#include "raslib/minterval.hh"
+
+#include "raslib/primitive.hh"
+#include "raslib/complex.hh"
+#include "raslib/structure.hh"
+
+#include "raslib/structuretype.hh"
+#include "raslib/primitivetype.hh"
+
+#include "cmlparser.hh"
+
+#ifdef __VISUALC__
+ #undef __EXECUTABLE__
+#endif
+
+// debug facility; relies on -DDEBUG at compile time
+// tell debug that here is the place for the variables (to be done in the main() src file)
+#define DEBUG_MAIN
+#include "debug-clt.hh"
+
+const int MAX_STR_LEN = 255;
+const int MAX_QUERY_LEN = 10240;
+
+/// log strings (keep consistent with shell script!)
+/// - log string indicating that the server cannot be reached
+const char *ERROR_INDICATOR = "ERROR";
+/// - log string indicating that the server cannot be reached
+const char *TOUCH_SUCCESS = "SUCCESS";
+
+/// program exit codes
+#define EXIT_SUCCESS 0
+#define EXIT_USAGE 2
+#define EXIT_FAILURE -1
+
+// parameter names, defaults, and help texts
+
+#define PARAM_HELP_FLAG 'h'
+#define PARAM_HELP "help"
+#define HELP_HELP "show command line switches"
+
+#define PARAM_WAIT_FLAG 'w'
+#define PARAM_WAIT "wait"
+#define HELP_WAIT "<n> wait time between requests [msecs]"
+#define DEFAULT_WAIT 1000
+#define DEFAULT_WAIT_STR "1000"
+
+#define PARAM_ID_FLAG 'i'
+#define PARAM_ID "id"
+#define HELP_ID "<n> id [integer]"
+#define DEFAULT_ID 1
+#define DEFAULT_ID_STR "1"
+
+#define PARAM_REQU_FLAG 'r'
+#define PARAM_REQU "requests"
+#define HELP_REQU "<n> number of requests [integer]"
+#define DEFAULT_REQU 1
+#define DEFAULT_REQU_STR "1"
+
+#define PARAM_SERV_FLAG 's'
+#define PARAM_SERV "server"
+#define HELP_SERV "<host-name> rasdaman server"
+#define DEFAULT_SERV "localhost"
+
+#define PARAM_PORT_FLAG 'p'
+#define PARAM_PORT "port"
+#define HELP_PORT "<p> rasmgr port number"
+#define DEFAULT_PORT 7001
+#define DEFAULT_PORT_STR "7001"
+
+#define PARAM_DB_FLAG 'd'
+#define PARAM_DB "database"
+#define HELP_DB "<db-name> name of database"
+#define DEFAULT_DB "RASBASE"
+
+#define PARAM_USER "user"
+#define HELP_USER "<user-name> name of user"
+#define DEFAULT_USER "rasguest"
+
+#define PARAM_PASSWD "passwd"
+#define HELP_PASSWD "<user-passwd> password of user"
+#define DEFAULT_PASSWD "rasguest"
+
+#define PARAM_DEBUG "debug"
+#define HELP_DEBUG "generate diagnostic output"
+
+// name to be tested in touch()
+const char* MDD_TYPE_NAME = "RGBImage";
+
+// global variables and default settings
+// -------------------------------------
+
+bool keepOn = true; // while true: keep in loop; reset by interrupt
+
+r_Database db;
+r_Transaction ta;
+
+bool dbIsOpen = false;
+bool taIsOpen = false;
+
+unsigned int id = DEFAULT_ID;
+unsigned long waitTime = DEFAULT_WAIT;
+unsigned int requests = DEFAULT_REQU;
+
+const char *serverName = DEFAULT_SERV;
+r_ULong serverPort = DEFAULT_PORT;
+const char *baseName = DEFAULT_DB;
+
+const char *user = DEFAULT_USER;
+const char *passwd = DEFAULT_PASSWD;
+
+const char *fileName = NULL;
+const char *queryString=NULL;
+
+// query result set.
+// we define it here because on empty results the set seems to be corrupt which kills the default destructor
+r_Set< r_Ref_Any > result_set;
+
+// end of globals
+
+void
+parseParams(int argc, char** argv) throw (r_Error)
+{
+ CommandLineParser &cmlInter = CommandLineParser::getInstance();
+
+ CommandLineParameter &clp_help = cmlInter.addFlagParameter( PARAM_HELP_FLAG, PARAM_HELP, HELP_HELP );
+
+ CommandLineParameter &clp_wait = cmlInter.addStringParameter( PARAM_WAIT_FLAG, PARAM_WAIT, HELP_WAIT, DEFAULT_WAIT_STR );
+
+ CommandLineParameter &clp_id = cmlInter.addStringParameter( PARAM_ID_FLAG, PARAM_ID, HELP_ID, DEFAULT_ID_STR );
+
+ CommandLineParameter &clp_requ = cmlInter.addStringParameter( PARAM_REQU_FLAG, PARAM_REQU, HELP_REQU, DEFAULT_REQU_STR );
+
+ CommandLineParameter &clp_server = cmlInter.addStringParameter( PARAM_SERV_FLAG, PARAM_SERV, HELP_SERV, DEFAULT_SERV );
+ CommandLineParameter &clp_port = cmlInter.addStringParameter( PARAM_PORT_FLAG, PARAM_PORT, HELP_PORT, DEFAULT_PORT_STR);
+ CommandLineParameter &clp_database = cmlInter.addStringParameter( PARAM_DB_FLAG, PARAM_DB, HELP_DB, DEFAULT_DB );
+ CommandLineParameter &clp_user = cmlInter.addStringParameter(CommandLineParser::noShortName, PARAM_USER, HELP_USER, DEFAULT_USER );
+ CommandLineParameter &clp_passwd = cmlInter.addStringParameter(CommandLineParser::noShortName, PARAM_PASSWD, HELP_PASSWD, DEFAULT_PASSWD );
+
+#ifdef DEBUG
+ CommandLineParameter &clp_debug = cmlInter.addFlagParameter( CommandLineParser::noShortName, PARAM_DEBUG, HELP_DEBUG );
+#endif
+
+ try
+ {
+ cmlInter.processCommandLine(argc, argv);
+
+ if (cmlInter.isPresent( PARAM_HELP_FLAG ))
+ {
+ cout << "usage: " << argv[0] << " [options]" << endl;
+ cout << "options:" << endl;
+ cmlInter.printHelp();
+ exit( EXIT_USAGE );
+ }
+
+ // check mandatory parameters ====================================================
+
+ // evaluate optional parameter server --------------------------------------
+ if (cmlInter.isPresent( PARAM_WAIT ))
+ waitTime = cmlInter.getValueAsLong( PARAM_WAIT );
+
+ // check optional parameters ====================================================
+
+ // evaluate optional parameter id --------------------------------------
+ if (cmlInter.isPresent( PARAM_ID ))
+ id = cmlInter.getValueAsLong( PARAM_ID );
+
+ // evaluate optional parameter requests --------------------------------------
+ if (cmlInter.isPresent( PARAM_REQU ))
+ requests = cmlInter.getValueAsLong( PARAM_REQU );
+
+ // evaluate optional parameter server --------------------------------------
+ if (cmlInter.isPresent( PARAM_SERV ))
+ serverName = cmlInter.getValueAsString( PARAM_SERV );
+
+ // evaluate optional parameter port --------------------------------------
+ if (cmlInter.isPresent( PARAM_PORT ))
+ serverPort = cmlInter.getValueAsLong( PARAM_PORT );
+
+ // evaluate optional parameter database --------------------------------------
+ if (cmlInter.isPresent( PARAM_DB ))
+ baseName = cmlInter.getValueAsString( PARAM_DB );
+
+ // evaluate optional parameter user --------------------------------------
+ if (cmlInter.isPresent( PARAM_USER ))
+ user = cmlInter.getValueAsString( PARAM_USER );
+
+ // evaluate optional parameter passwd --------------------------------------
+ if (cmlInter.isPresent( PARAM_PASSWD ))
+ passwd = cmlInter.getValueAsString( PARAM_PASSWD );
+
+#ifdef DEBUG
+ // evaluate optional parameter MDD type name --------------------------------------
+ SET_OUTPUT( cmlInter.isPresent( PARAM_DEBUG ) );
+#endif
+
+ }
+ catch(CmlException& err)
+ {
+ cout << argv[0] << ": " << err.what() << endl;
+ throw;
+ }
+} // parseParams()
+
+
+void catchInterrupt( int n )
+{
+ keepOn = false;
+}
+
+void
+openDatabase() throw (r_Error)
+{
+ ENTER( "openDatabase -- db is " << (dbIsOpen?"":"not ") << "open." );
+
+ db.set_servername(serverName, serverPort);
+ db.set_useridentification(user, passwd);
+ TALK( "database was closed, opening database=" << baseName << ", server=" << serverName << ", port=" << serverPort << ", user=" << user << ", passwd=" << passwd << "." );
+ db.open(baseName);
+ dbIsOpen = true;
+
+ LEAVE( "openDatabase" );
+} // openDatabase()
+
+void
+closeDatabase() throw (r_Error)
+{
+ ENTER( "closeDatabase -- db is " << (dbIsOpen?"":"not ") << "open." );
+
+ db.close();
+ dbIsOpen = false;
+
+ LEAVE( "closeDatabase" );
+ return;
+} // closeDatabase()
+
+void
+openTransaction(bool readwrite) throw (r_Error)
+{
+ ENTER( "openTransaction, readwrite=" << (readwrite?"rw":"ro") << ", ta is " << (taIsOpen?"":"not ") << "open." );
+
+ if (readwrite)
+ ta.begin(r_Transaction::read_write);
+ else
+ ta.begin(r_Transaction::read_only);
+ taIsOpen = true;
+
+ LEAVE( "openTransaction" );
+} // openTransaction()
+
+void
+closeTransaction() throw (r_Error)
+{
+ ENTER( "closeTransaction: aborting ta; ta is " << (taIsOpen?"":"not ") << "open." );
+
+ ta.abort();
+ taIsOpen = false;
+
+ LEAVE( "closeTransaction" );
+ return;
+} // closeTransaction()
+
+int
+touch() throw (r_Error)
+{
+ int returnValue = EXIT_SUCCESS;
+
+ ENTER( "touch -- fetching type information for " << MDD_TYPE_NAME << "." );
+
+ char* typeStructure = NULL;
+
+ // get type structure from database just to touch it
+ ClientComm *cc = db.getComm();
+ if (cc == NULL)
+ {
+ cout << "got NULL communication object from db...";
+ returnValue = EXIT_FAILURE;
+ }
+ else
+ {
+ typeStructure = cc->getTypeStructure( MDD_TYPE_NAME, ClientComm::r_MDDType_Type );
+ TALK( "type structure is " << typeStructure );
+ }
+
+ LEAVE( "touch -> " << returnValue );
+ return( returnValue );
+}
+
+void wait( unsigned long w )
+{
+ timeval tv;
+ tv.tv_sec = w / 1000;
+ tv.tv_usec = w * 1000;
+
+ select(0,NULL,NULL,NULL,&tv); // wait <tv> time
+}
+
+
+/*
+ * main prog: evaluate cmd line, access db.
+ * returns:
+ * EXIT_SUCCESS all went fine
+ * EXIT_HELP help was requested
+ * EXIT_FAILURE something went wrong
+ */
+int main(int argc, char** argv)
+{
+ SET_OUTPUT( true );
+
+ int retval = EXIT_SUCCESS; // overall result status
+
+ signal( SIGTERM, catchInterrupt );
+
+ try
+ {
+ parseParams( argc, argv );
+
+ cout << argv[0] << " id=" << id << ", " << requests << " requests...";
+ openDatabase();
+ openTransaction( false );
+
+ while (keepOn && requests > 0 && retval == EXIT_SUCCESS)
+ {
+ cout << id << ":" << flush;
+ retval = touch();
+ cout << TOUCH_SUCCESS << " " << flush;
+ wait( waitTime );
+ requests--;
+ }
+
+ closeTransaction();
+ closeDatabase();
+ }
+ catch (const r_Error& e)
+ {
+ cout << argv[0] << ": " << ERROR_INDICATOR << ": " << e.get_errorno() << ": " << e.what() << endl;
+ retval = EXIT_FAILURE;
+ }
+ catch (...)
+ {
+ cerr << argv[0] << ERROR_INDICATOR << ": panic: unexpected internal exception." << endl;
+ retval = EXIT_FAILURE;
+ }
+
+ if (retval != EXIT_SUCCESS && (dbIsOpen || taIsOpen) )
+ {
+ closeTransaction(); // abort transaction and close database, ignore any further exceptions
+ closeDatabase();
+ }
+
+ cout << " id=" << id << " done." << endl;
+
+ return retval;
+} // main()
+
+// end of test_error-par.cc
+
diff --git a/systemtest/scripts/test_error-seq.old b/systemtest/scripts/test_error-seq.old
new file mode 100644
index 0000000..c258bbc
--- /dev/null
+++ b/systemtest/scripts/test_error-seq.old
@@ -0,0 +1,13 @@
+test_error-seq.sh: testing client/server communication for open/close db/ta, Fri Sep 2 22:02:32 CEST 2005
+test_error-seq/test_error-seq v1.0, rasdaman v5 -- generated on 02.09.2005 21:49:12.
+- good cycle...ok
+- bad cycle: do not close db, reopen...ok: 0: Exception: Database Open
+- bad cycle: do not close ta, reopen...ok: 0: Exception: Transaction Open
+- bad cycle: do not open ta, touch...ok: 0: Exception: Transaction Not Open
+- bad cycle: double open ta, touch...ok: 0: Exception: Transaction Open
+- bad cycle: double open db, touch...ok: 0: Exception: Database Open
+- bad cycle: double open ta, touch...ok: 0: Exception: Transaction Open
+- bad cycle: double abort ta (handled gracefully)...ok: 0: Exception: Transaction Not Open
+- bad cycle: double close db (handled gracefully)...ok
+- bad cycle: touch without any db/ta open...got NULL communication object from db...ok
+test_error-seq/test_error-seq done.
diff --git a/systemtest/scripts/test_error-seq.sh b/systemtest/scripts/test_error-seq.sh
new file mode 100644
index 0000000..9d0813e
--- /dev/null
+++ b/systemtest/scripts/test_error-seq.sh
@@ -0,0 +1,99 @@
+#!/bin/bash
+#
+# This file is part of rasdaman community.
+#
+# Rasdaman community is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Rasdaman community is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with rasdaman community. If not, see <http://www.gnu.org/licenses/>.
+#
+# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann /
+# rasdaman GmbH.
+#
+# For more information please see <http://www.rasdaman.org>
+# or contact Peter Baumann via <baumann@rasdaman.com>.
+# test_errors-seq.sh - test single-client errors due to bad client behavior
+#
+# SYNOPSIS:
+# test_errors-seq.sh
+#
+# DESCRIPTION
+# Performs test queries to check proper handling of error conditions.
+# - Errors on query level are handled by rasql.
+# - Errors on protocol level are triggered via a test program.
+# Ater provoking an error, it is tested whether the server remains
+# available fur same/other clients (whatever is appropriate).
+#
+# RESPONDING TO INCIDENT
+# none
+#
+# PROCEDURE
+# perform invocations, checks response and subsequent server availbility.
+#
+# PRECONDITIONS
+# - rasql utility available
+# - rasdaman up and running, with database having user/password as defined below
+#
+# RETURN CODES
+ RC_OK=0 # everything went fine
+ RC_ERROR=1 # something went wrong
+#
+RCTEXT_OK="OK"
+RCTEXT_ERROR="NOT_OK"
+
+# --- CONSTANTS -----------------------------------------------------
+
+# name of script
+PROG=`basename $0`
+
+# name of test program
+TESTPROG=`basename $0 .sh`
+
+# log output
+LOGFILE=/tmp/`basename $PROG .sh`.log
+
+# old log file for regression comparison:
+OLDFILE=`basename $PROG .sh`.old
+
+# how to react on error
+function raiseError() { echo "$PROG: fatal error, aborting."; exit $RC_ERROR; }
+#function raiseError() { echo "$PROG: error in test; resuming."; RC=$RC_ERROR; }
+
+# --- ACTION --------------------------------------------------------
+
+echo $PROG: testing client/server communication for open/close db/ta
+echo $PROG: testing client/server communication for open/close db/ta, `date` >$LOGFILE
+
+# initialize overall return code
+RC=$RC_OK
+
+# --- test
+(cd $TESTPROG; make )
+$TESTPROG/$TESTPROG 2>&1 >>$LOGFILE || raiseError
+
+# --- compare files against old ones
+if [ `cmp -s $OLDFILE $LOGFILE` ]
+then
+ echo "Error: regression discrepancy between files $OLDDIR/$i and $LOGDIR/$i -- $RCTEXT_ERROR"
+fi
+
+# --- cleanup and summarise
+if [ $RC -eq $RC_OK ]
+then
+ rm -f $LOGFILE
+ RCTEXT=$RCTEXT_OK
+else
+ RCTEXT=$RCTEXT_ERROR
+fi
+
+echo $PROG: done, result is $RCTEXT.
+exit $RC
+
diff --git a/systemtest/scripts/test_error-seq/Makefile b/systemtest/scripts/test_error-seq/Makefile
new file mode 100644
index 0000000..09826d6
--- /dev/null
+++ b/systemtest/scripts/test_error-seq/Makefile
@@ -0,0 +1,70 @@
+# -*-Makefile-*-
+#
+# This file is part of rasdaman community.
+#
+# Rasdaman community is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Rasdaman community is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with rasdaman community. If not, see <http://www.gnu.org/licenses/>.
+#
+# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann /
+# rasdaman GmbH.
+#
+# For more information please see <http://www.rasdaman.org>
+# or contact Peter Baumann via <baumann@rasdaman.com>. # Top Level makefile. This points to the various modules that have to be build
+# and/or deployed
+#
+# MAKEFILE FOR:
+# test_error-seq
+#
+# COMMENTS:
+#
+##################################################################
+
+######################### Definitions ############################
+
+# use client specific flags
+CXXFLAGS := $(CLIENTCXXFLAGS)
+LDFLAGS := $(CLIENTLDFLAGS)
+
+# add communication flags
+CXXFLAGS += $(COMMCXXFLAGS)
+LDFLAGS += $(COMMLDFLAGS)
+
+LIBS = $(RASODMG) $(CLIENTCOMM) $(RASLIB) \
+ $(CONVERSION) $(LIBAKINSIDE) $(LIBAKNET)
+
+IMGLIBS = $(l_SYM)tiff $(l_SYM)jpeg $(l_SYM)png $(l_SYM)crypto $(l_SYM)z \
+ $(l_SYM)mfhdf $(l_SYM)df $(l_SYM)ppm $(l_SYM)pgm $(l_SYM)pbm
+
+LDFLAGS += $(L_SYM)$(SUPPORT_BASE)/lib
+
+SRCCXX= test_error-seq.cc
+OBJS = ${SRCCXX:%.cc=%.o}
+
+ifeq ($(OSTYPE),$(OSTYPE_SOLARIS))
+ LDFLAGS+= -lsocket
+endif
+
+MISCCLEAN = test_error-seq
+
+########################### Targets ##############################
+# main target
+.PHONY: all
+all: test_error-seq
+
+test_error-seq: test_error-seq.o $(LIBS)
+ $(PURIFY) $(CXX) $(LDFLAGS) -o test_error-seq $^ $(LIBS) $(IMGLIBS) -lm
+
+.PHONY: clean
+clean:
+ -rm $(OBJS) $(MISCCLEAN)
+
diff --git a/systemtest/scripts/test_error-seq/test_error-seq.cc b/systemtest/scripts/test_error-seq/test_error-seq.cc
new file mode 100644
index 0000000..79d889f
--- /dev/null
+++ b/systemtest/scripts/test_error-seq/test_error-seq.cc
@@ -0,0 +1,515 @@
+/*
+* This file is part of rasdaman community.
+*
+* Rasdaman community is free software: you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation, either version 3 of the License, or
+* (at your option) any later version.
+*
+* Rasdaman community is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with rasdaman community. If not, see <http://www.gnu.org/licenses/>.
+*
+* Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann /
+rasdaman GmbH.
+*
+* For more information please see <http://www.rasdaman.org>
+* or contact Peter Baumann via <baumann@rasdaman.com>.
+*/
+
+/*************************************************************
+ *
+ *
+ * PURPOSE:
+ * test behavior on erroneous API calls on a single server
+ * (ie, sequential behavior - parallel behavior is tested in
+ * the twin program test_rasgeo-par.cc).
+ *
+ *
+ * PRECONDITIONS:
+ * - have a rasdaman server running, with std types inserted
+ * - use exactly 1 rasserver
+ *
+ * COMMENTS:
+ *
+ * BUGS:
+ *
+ ************************************************************/
+
+static const char test_error_seq_rcsid[] = "@(#)test_test_error-seq,test_error-seq.cc: $Id: test_error-seq.cc,v 1.1 2003/12/27 19:30:23 rasdev Exp $";
+
+// error indicator - should eventually go into a central systemtest include
+static const char MSG_OK[] = "ok";
+static const char MSG_FAILED[] = "error";
+
+/*
+COMPDATE=`date +"%d.%m.%Y %H:%M:%S"`
+and -DCOMPDATE="\"$(COMPDATE)\"" when compiling
+*/
+#ifndef RMANVERSION
+#error "Please specify RMANVERSION variable!"
+#endif
+
+#ifndef COMPDATE
+#error "Please specify the COMPDATE variable!"
+#endif
+
+
+#ifdef EARLY_TEMPLATE
+#define __EXECUTABLE__
+#include "raslib/template_inst.hh"
+#endif
+
+#ifdef __VISUALC__
+#include <strstrea.h>
+#else
+#include <strstream>
+#endif
+
+#include <stdio.h>
+#include <string.h>
+#include <sstream>
+#include <fstream>
+
+using namespace std;
+
+#ifdef __VISUALC__
+ #define __EXECUTABLE__
+#endif
+
+#include "rasodmg/transaction.hh"
+#include "rasodmg/database.hh"
+
+#include "rasodmg/ref.hh"
+#include "raslib/marraytype.hh"
+#include "rasodmg/set.hh"
+#include "rasodmg/marray.hh"
+#include "rasodmg/iterator.hh"
+#include "rasodmg/oqlquery.hh"
+
+#include "raslib/type.hh"
+
+#include "raslib/minterval.hh"
+
+#include "raslib/primitive.hh"
+#include "raslib/complex.hh"
+#include "raslib/structure.hh"
+
+#include "raslib/structuretype.hh"
+#include "raslib/primitivetype.hh"
+
+#include "cmlparser.hh"
+
+#ifdef __VISUALC__
+ #undef __EXECUTABLE__
+#endif
+
+// debug facility; relies on -DDEBUG at compile time
+// tell debug that here is the place for the variables (to be done in the main() src file)
+#define DEBUG_MAIN
+#include "debug-clt.hh"
+
+const int MAX_STR_LEN = 255;
+const int MAX_QUERY_LEN = 10240;
+
+
+/// program exit codes
+#define EXIT_SUCCESS 0
+#define EXIT_USAGE 2
+#define EXIT_FAILURE -1
+
+// parameter names, defaults, and help texts
+
+#define PARAM_HELP_FLAG 'h'
+#define PARAM_HELP "help"
+#define HELP_HELP "show command line switches"
+
+#define PARAM_SERV_FLAG 's'
+#define PARAM_SERV "server"
+#define HELP_SERV "<host-name> rasdaman server"
+#define DEFAULT_SERV "localhost"
+
+#define PARAM_PORT_FLAG 'p'
+#define PARAM_PORT "port"
+#define HELP_PORT "<p> rasmgr port number"
+#define DEFAULT_PORT 7001
+#define DEFAULT_PORT_STR "7001"
+
+#define PARAM_DB_FLAG 'd'
+#define PARAM_DB "database"
+#define HELP_DB "<db-name> name of database"
+#define DEFAULT_DB "RASBASE"
+
+#define PARAM_USER "user"
+#define HELP_USER "<user-name> name of user"
+#define DEFAULT_USER "rasguest"
+
+#define PARAM_PASSWD "passwd"
+#define HELP_PASSWD "<user-passwd> password of user"
+#define DEFAULT_PASSWD "rasguest"
+
+#define PARAM_DEBUG "debug"
+#define HELP_DEBUG "generate diagnostic output"
+
+// name to be tested in touch()
+const char* MDD_TYPE_NAME = "RGBImage";
+
+// global variables and default settings
+// -------------------------------------
+
+r_Database db;
+r_Transaction ta;
+
+bool dbIsOpen = false;
+bool taIsOpen = false;
+
+const char *serverName = DEFAULT_SERV;
+r_ULong serverPort = DEFAULT_PORT;
+const char *baseName = DEFAULT_DB;
+
+const char *user = DEFAULT_USER;
+const char *passwd = DEFAULT_PASSWD;
+
+const char *fileName = NULL;
+const char *queryString=NULL;
+
+// query result set.
+// we define it here because on empty results the set seems to be corrupt which kills the default destructor
+r_Set< r_Ref_Any > result_set;
+
+// end of globals
+
+void
+parseParams(int argc, char** argv) throw (r_Error)
+{
+ CommandLineParser &cmlInter = CommandLineParser::getInstance();
+
+ CommandLineParameter &clp_help = cmlInter.addFlagParameter( PARAM_HELP_FLAG, PARAM_HELP, HELP_HELP );
+
+ CommandLineParameter &clp_server = cmlInter.addStringParameter( PARAM_SERV_FLAG, PARAM_SERV, HELP_SERV, DEFAULT_SERV );
+ CommandLineParameter &clp_port = cmlInter.addStringParameter( PARAM_PORT_FLAG, PARAM_PORT, HELP_PORT, DEFAULT_PORT_STR);
+ CommandLineParameter &clp_database = cmlInter.addStringParameter( PARAM_DB_FLAG, PARAM_DB, HELP_DB, DEFAULT_DB );
+ CommandLineParameter &clp_user = cmlInter.addStringParameter(CommandLineParser::noShortName, PARAM_USER, HELP_USER, DEFAULT_USER );
+ CommandLineParameter &clp_passwd = cmlInter.addStringParameter(CommandLineParser::noShortName, PARAM_PASSWD, HELP_PASSWD, DEFAULT_PASSWD );
+
+#ifdef DEBUG
+ CommandLineParameter &clp_debug = cmlInter.addFlagParameter( CommandLineParser::noShortName, PARAM_DEBUG, HELP_DEBUG );
+#endif
+
+ try
+ {
+ cmlInter.processCommandLine(argc, argv);
+
+ if (cmlInter.isPresent( PARAM_HELP_FLAG ))
+ {
+ cout << "usage: " << argv[0] << " [options]" << endl;
+ cout << "options:" << endl;
+ cmlInter.printHelp();
+ exit( EXIT_USAGE );
+ }
+
+ // check optional parameters ====================================================
+
+ // evaluate optional parameter server --------------------------------------
+ if (cmlInter.isPresent( PARAM_SERV ))
+ serverName = cmlInter.getValueAsString( PARAM_SERV );
+
+ // evaluate optional parameter port --------------------------------------
+ if (cmlInter.isPresent( PARAM_PORT ))
+ serverPort = cmlInter.getValueAsLong( PARAM_PORT );
+
+ // evaluate optional parameter database --------------------------------------
+ if (cmlInter.isPresent( PARAM_DB ))
+ baseName = cmlInter.getValueAsString( PARAM_DB );
+
+ // evaluate optional parameter user --------------------------------------
+ if (cmlInter.isPresent( PARAM_USER ))
+ user = cmlInter.getValueAsString( PARAM_USER );
+
+ // evaluate optional parameter passwd --------------------------------------
+ if (cmlInter.isPresent( PARAM_PASSWD ))
+ passwd = cmlInter.getValueAsString( PARAM_PASSWD );
+
+#ifdef DEBUG
+ // evaluate optional parameter MDD type name --------------------------------------
+ SET_OUTPUT( cmlInter.isPresent( PARAM_DEBUG ) );
+#endif
+
+ }
+ catch(CmlException& err)
+ {
+ cout << argv[0] << ": " << err.what() << endl;
+ throw;
+ }
+} // parseParams()
+
+
+void
+openDatabase() throw (r_Error)
+{
+ ENTER( "openDatabase -- db is " << (dbIsOpen?"":"not ") << "open." );
+
+ db.set_servername(serverName, serverPort);
+ db.set_useridentification(user, passwd);
+ TALK( "database was closed, opening database=" << baseName << ", server=" << serverName << ", port=" << serverPort << ", user=" << user << ", passwd=" << passwd << "." );
+ db.open(baseName);
+ dbIsOpen = true;
+
+ LEAVE( "openDatabase" );
+} // openDatabase()
+
+void
+closeDatabase() throw (r_Error)
+{
+ ENTER( "closeDatabase -- db is " << (dbIsOpen?"":"not ") << "open." );
+
+ db.close();
+ dbIsOpen = false;
+
+ LEAVE( "closeDatabase" );
+ return;
+} // closeDatabase()
+
+void
+openTransaction(bool readwrite) throw (r_Error)
+{
+ ENTER( "openTransaction, readwrite=" << (readwrite?"rw":"ro") << ", ta is " << (taIsOpen?"":"not ") << "open." );
+
+ if (readwrite)
+ ta.begin(r_Transaction::read_write);
+ else
+ ta.begin(r_Transaction::read_only);
+ taIsOpen = true;
+
+ LEAVE( "openTransaction" );
+} // openTransaction()
+
+void
+closeTransaction() throw (r_Error)
+{
+ ENTER( "closeTransaction: aborting ta; ta is " << (taIsOpen?"":"not ") << "open." );
+
+ ta.abort();
+ taIsOpen = false;
+
+ LEAVE( "closeTransaction" );
+ return;
+} // closeTransaction()
+
+void
+touch() throw (r_Error)
+{
+ ENTER( "touch -- fetching type information for " << MDD_TYPE_NAME << "." );
+
+ char* typeStructure = NULL;
+
+ // get type structure from database just to touch it
+ ClientComm *cc = db.getComm();
+ if (cc == NULL)
+ cout << "got NULL communication object from db...";
+ else
+ {
+ typeStructure = cc->getTypeStructure( MDD_TYPE_NAME, ClientComm::r_MDDType_Type );
+ TALK( "type structure is " << typeStructure );
+ }
+
+ LEAVE( "touch" );
+}
+
+void
+doStuff() throw (r_Error)
+{
+ ENTER( "doStuff" );
+
+ cout << "- good cycle..." << flush;
+ openDatabase();
+ openTransaction( false );
+ touch();
+ closeTransaction();
+ closeDatabase();
+ cout << MSG_OK << endl;
+
+ cout << "- bad cycle: do not close db, reopen..." << flush;
+ openDatabase();
+ openTransaction( false );
+ touch();
+ closeTransaction();
+ try
+ {
+ openDatabase();
+ cout << MSG_FAILED << endl;
+ }
+ catch (r_Error& e)
+ {
+ cout << MSG_OK << ": " << e.get_errorno() << ": " << e.what() << endl;
+ }
+ closeDatabase();
+
+ cout << "- bad cycle: do not close ta, reopen..." << flush;
+ openDatabase();
+ openTransaction( false );
+ touch();
+ try
+ {
+ openTransaction( false );
+ cout << MSG_FAILED << endl;
+ }
+ catch (r_Error& e)
+ {
+ cout << MSG_OK << ": " << e.get_errorno() << ": " << e.what() << endl;
+ }
+ closeDatabase();
+
+ cout << "- bad cycle: do not open ta, touch..." << flush;
+ openDatabase();
+ try
+ {
+ touch();
+ closeTransaction();
+ cout << MSG_FAILED << endl;
+ }
+ catch (r_Error& e)
+ {
+ cout << MSG_OK << ": " << e.get_errorno() << ": " << e.what() << endl;
+ }
+ closeDatabase();
+
+ cout << "- bad cycle: double open ta, touch..." << flush;
+ openDatabase();
+ openTransaction( false );
+ try
+ {
+ openTransaction( false );
+ cout << MSG_FAILED << endl;
+ }
+ catch (r_Error& e)
+ {
+ cout << MSG_OK << ": " << e.get_errorno() << ": " << e.what() << endl;
+ }
+ touch();
+ closeDatabase();
+
+ cout << "- bad cycle: double open db, touch..." << flush;
+ openDatabase();
+ try
+ {
+ openDatabase();
+ cout << MSG_FAILED << endl;
+ }
+ catch (r_Error& e)
+ {
+ cout << MSG_OK << ": " << e.get_errorno() << ": " << e.what() << endl;
+ }
+ openTransaction( false );
+ touch();
+ closeDatabase();
+
+ cout << "- bad cycle: double open ta, touch..." << flush;
+ openDatabase();
+ openTransaction( false );
+ try
+ {
+ openTransaction( false );
+ cout << MSG_FAILED << endl;
+ }
+ catch (r_Error& e)
+ {
+ cout << MSG_OK << ": " << e.get_errorno() << ": " << e.what() << endl;
+ }
+ touch();
+ closeTransaction();
+ closeDatabase();
+
+ cout << "- bad cycle: double abort ta (handled gracefully)..." << flush;
+ openDatabase();
+ openTransaction( false );
+ touch();
+ closeTransaction();
+ try
+ {
+ closeTransaction();
+ cout << MSG_FAILED << endl;
+ }
+ catch (r_Error& e)
+ {
+ cout << MSG_OK << ": " << e.get_errorno() << ": " << e.what() << endl;
+ }
+ closeDatabase();
+
+ cout << "- bad cycle: double close db (handled gracefully)..." << flush;
+ openDatabase();
+ openTransaction( false );
+ touch();
+ closeTransaction();
+ closeDatabase();
+ try
+ {
+ closeDatabase();
+ cout << MSG_OK << endl;
+ }
+ catch (r_Error& e)
+ {
+ cout << MSG_FAILED << ": " << e.get_errorno() << ": " << e.what() << endl;
+ }
+
+ cout << "- bad cycle: touch without any db/ta open..." << flush;
+ try
+ {
+ touch();
+ cout << MSG_OK << endl;
+ }
+ catch (r_Error& e)
+ {
+ cout << MSG_FAILED << ": " << e.get_errorno() << ": " << e.what() << endl;
+ }
+
+ LEAVE( "doStuff" );
+}
+
+/*
+ * returns 0 on success, -1 on error
+ */
+int main(int argc, char** argv)
+{
+ SET_OUTPUT( true );
+
+ int retval = EXIT_SUCCESS; // overall result status
+
+ try
+ {
+ parseParams( argc, argv );
+
+ cout << argv[0] << " v1.0, rasdaman v" << RMANVERSION/1000 << " -- generated on " << COMPDATE << "." << endl;
+
+ doStuff();
+ retval = EXIT_SUCCESS;
+ cout << argv[0] << " done." << endl;
+ }
+ catch (const r_Error& e)
+ {
+ cout << argv[0] << ": error " << e.get_errorno() << ": " << e.what() << endl;
+ retval = EXIT_FAILURE;
+ }
+ catch (...)
+ {
+ cerr << argv[0] << ": panic: unexpected internal exception." << endl;
+ retval = EXIT_FAILURE;
+ }
+
+ if (retval != EXIT_SUCCESS && (dbIsOpen || taIsOpen) )
+ {
+ cout << "aborting transaction..." << flush;
+ closeTransaction(); // abort transaction and close database, ignore any further exceptions
+ cout << "ok" << endl;
+ closeDatabase();
+ }
+
+ return retval;
+} // main()
+
+// end of test_error-seq.cc
+
diff --git a/systemtest/scripts/test_ql-extend.sh b/systemtest/scripts/test_ql-extend.sh
new file mode 100644
index 0000000..6a8a9ff
--- /dev/null
+++ b/systemtest/scripts/test_ql-extend.sh
@@ -0,0 +1,131 @@
+#!/bin/ksh
+#
+# This file is part of rasdaman community.
+#
+# Rasdaman community is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Rasdaman community is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with rasdaman community. If not, see <http://www.gnu.org/licenses/>.
+#
+# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann /
+# rasdaman GmbH.
+#
+# For more information please see <http://www.rasdaman.org>
+# or contact Peter Baumann via <baumann@rasdaman.com>.
+# test_ql-extend.sh - test extend() function of rasql
+#
+# SYNOPSIS:
+# test_ql-extend.sh
+#
+# DESCRIPTION
+# Performs test queries to check whether extend() function works.
+echo not yet done!
+exit
+#
+# RESPONDING TO INCIDENT
+# Incident_2005-07-12_IGN_png-transparency
+#
+# PROCEDURE
+# Perform rasql calls, check output and, where applicable, the image generated.
+# Output checking inspects target domain and image contents
+# (original area unchanged, new areas set to 0; contents check just by dumping
+# and relying on regression comparison)
+#
+# PRECONDITIONS
+# - rasql utility available
+# - rasdaman up and running, with database having user/password as defined below
+# - ImageMagick installed to have 'identify' utility
+#
+# RETURN CODES
+ RC_OK=0 # everything went fine
+ RC_ERROR=1 # something went wrong
+#
+# CHANGE HISTORY
+# 2005-jul-16 P.Baumann created
+#
+# RESTRICTIONS
+# test only with 2D, should be extended
+# test only with RGB, should be extended to cover all pixel types
+#
+
+
+# --- CONSTANTS -----------------------------------------------------
+
+RCTEXT_OK="OK"
+RCTEXT_ERROR="NOT_OK"
+
+# name of script
+PROG=`basename $0`
+
+# temp file for getcap response:
+TMPFILE=/tmp/`basename $PROG .sh`.tmp
+
+# --- TEST SETTINGS -------------------------------------------------
+
+# login (must allow r/w)
+USER=rasadmin
+PASSWD=rasadmin
+
+# test collection
+TESTCOLL=ExtendTestCollection
+
+# test image boxes
+BOX_ALLPOS=[10:20,30:40]
+BOX_ALLNEG=[-20:-10,-40:-30]
+BOX_MIXED=[-10:20,-30:40]
+
+# extend boxes, good cases: top right
+EXTEND_GOOD_TOPRIGHT_ALLPOS=[10:20,30:40] ??
+EXTEND_GOOD_TOPRIGHT_ALLNEG=[-20:-10,-40:-30] ??
+EXTEND_GOOD_TOPRIGHT_MIXED=[-10:20,-30:40] ??
+
+...
+
+# bad test cases: extend area inside image
+EXTED_BAD_INSIDE_ALLPOS=[11:19,31:39]
+EXTED_BAD_INSIDE_ALLNEG=[-19:-11,-39:-31]
+EXTED_BAD_INSIDE_MIXED=[-11:19,-29:39]
+
+# --- ACTION --------------------------------------------------------
+
+echo $PROG: Verify rasql extend function
+
+# delete eventually preexisting test collection
+# create test collection
+# create white test images
+# - all corner points in positive quadrant
+# - corner points in all quadrants
+# - all corner points in negative quadrant
+# extend each test image, good cases
+# - extend top right (cross origin for neg locations!)
+# - extend bottom left (cross origin for pos locations!)
+# - extend in all directions
+# extend each test image, bad cases
+# - extend area completely inside test image
+
+# delete test collection
+
+# search for proper string in response
+if [ ...... ]
+then
+ RC=$RC_ERROR
+ RCTEXT=$RCTEXT_ERROR
+else
+ RC=$RC_OK
+ RCTEXT=$RCTEXT_OK
+fi
+
+# clean up
+rm -f $TMPFILE
+
+echo $PROG: done, result is $RCTEXT.
+exit $RC
+
diff --git a/systemtest/scripts/test_ql-png-options.sh b/systemtest/scripts/test_ql-png-options.sh
new file mode 100644
index 0000000..ba6421c
--- /dev/null
+++ b/systemtest/scripts/test_ql-png-options.sh
@@ -0,0 +1,251 @@
+#!/bin/bash
+#
+# This file is part of rasdaman community.
+#
+# Rasdaman community is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Rasdaman community is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with rasdaman community. If not, see <http://www.gnu.org/licenses/>.
+#
+# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann /
+# rasdaman GmbH.
+#
+# For more information please see <http://www.rasdaman.org>
+# or contact Peter Baumann via <baumann@rasdaman.com>.
+# test_ql-png-options.sh - test png(mdd,options) function of rasql
+#
+# SYNOPSIS:
+# test_ql-png-options.sh
+#
+# DESCRIPTION
+# Performs test queries to check whether transparency and background
+# option works in function png(_,_).
+#Write log to stdout/stderr for ???
+# Does not test general image encoding!
+#
+# RESPONDING TO INCIDENT
+# Incident_2005-07-12_IGN_png-transparency
+#
+# PROCEDURE
+# - create test collections and objects
+# - perform rasql calls, check output and, where applicable, the image generated
+# check that (i) file is generated, (ii) has transparency color set appropriately
+# - remove output files and test collections
+#
+# PRECONDITIONS
+# - rasql binary available in the $RMANBASE/applications/rasql development directory
+# - rasdaman up and running,
+# - database allows write access using user/password as defined below
+# - ImageMagick installed to have 'identify' utility
+# - can create subdir in cwd
+#
+# RETURN CODES
+ RC_OK=0 # everything went fine
+ RC_ERROR=1 # something went wrong
+#
+# CHANGE HISTORY
+# 2005-jul-26 P.Baumann created
+# 2005-aug-25 P.Baumann use raiseError() to centralize bailout behavior
+#
+# COMMENTS
+# - add test for INV_PNG()
+#
+
+
+# --- CONSTANTS -----------------------------------------------------
+
+# textual representation of error conditions
+RCTEXT_OK="OK"
+RCTEXT_ERROR="NOT_OK"
+
+# name of script
+PROG=`basename $0`
+
+# reference data directory
+OLDDIR=./`basename $PROG .sh`.old
+
+# temp dir for image files
+TMPDIR=./`basename $PROG .sh`.test
+
+# user/password (must have r/w rights!)
+USER=rasadmin
+PASSWD=rasadmin
+
+# test collections for monochrome/gray/color images
+TESTCOLL_MONO=TestPngMono
+TESTCOLL_GRAY=TestPngGray
+TESTCOLL_COLOR=TestPngColor
+
+# the rasql utility, suppressing unnecessarily verbose output
+RMANBASE=~rasdev/Compile/rasdaman
+RASQL="$RMANBASE/applications/rasql/rasql --quiet"
+
+# to get error messages (from $RMANHOME/bin/errtxts):
+RMANHOME=$RMANBASE
+
+# how to react on error
+function raiseError() { echo "$PROG: fatal error, aborting."; exit $RC_ERROR; }
+#function raiseError() { echo "$PROG: error in test; resuming."; RC=$RC_ERROR; }
+
+# --- ACTION --------------------------------------------------------
+
+echo "$PROG: test rasql PNG() function"
+
+# --- preparation
+
+echo "$PROG: create test dir"
+mkdir -p $TMPDIR
+
+# initialize overall return code
+RC=$RC_OK
+
+# --- cleanup to prepare
+# delete test collection & image & temp data
+$RASQL -q "drop collection $TESTCOLL_MONO" --user $USER --passwd $PASSWD
+$RASQL -q "drop collection $TESTCOLL_GRAY" --user $USER --passwd $PASSWD
+$RASQL -q "drop collection $TESTCOLL_COLOR" --user $USER --passwd $PASSWD
+
+# create test collections
+# - mono
+$RASQL -q "create collection $TESTCOLL_MONO BoolSet" --user $USER --passwd $PASSWD || raiseError
+# - gray
+$RASQL -q "create collection $TESTCOLL_GRAY GreySet" --user $USER --passwd $PASSWD || raiseError
+# - color
+$RASQL -q "create collection $TESTCOLL_COLOR RGBSet" --user $USER --passwd $PASSWD || raiseError
+
+# create test objects
+# - mono
+$RASQL -q "insert into $TESTCOLL_MONO values marray x in [0:3,0:3] values (x[0]+x[1]) = 1" --user $USER --passwd $PASSWD || raiseError
+# - gray
+$RASQL -q "insert into $TESTCOLL_GRAY values marray x in [0:3,0:3] values (char) (x[0]*x[1])" --user $USER --passwd $PASSWD || raiseError
+# - color
+$RASQL -q "insert into $TESTCOLL_COLOR values marray x in [0:3,0:3] values ((char)(x[0]*x[1]))*{1c,1c,1c}" --user $USER --passwd $PASSWD || raiseError
+
+# --- tests
+
+echo "$PROG: test good cases pf transp / non-transp, bg colors"
+echo "$PROG: --- set bg to transparent"
+echo "$PROG: --- --- mono"
+echo "$PROG: --- --- --- dec"
+$RASQL -q "select png(a,\"tRNS=0)\" ) from $TESTCOLL_MONO as a" --out file --outfile $TMPDIR/png-mono-trns_1 || raiseError
+if [ `identify -verbose $TMPDIR/png-mono-trns_1.png | grep Opacity | grep 0 | wc -l` -eq 0 ]
+then
+ echo "Error: transparency not set in PNG file $TMPDIR/pngmono-trns_1.png -- $RCTEXT_ERROR"
+ raiseError
+fi
+if [ ! `cmp -s $OLDDIR/png-mono-trns_1.png $TMPDIR/png-mono-trns_1.png` ]
+then
+ echo "Error: PNG file contents in file $TMPDIR/pngmono-trns_1.png does not match regression source -- $RCTEXT_ERROR"
+ raiseError
+fi
+
+# ==== complete down here:
+$RASQL -q "select png(a,\"tRNS=1)\" ) from $TESTCOLL_MONO as a" --out file --outfile $TMPDIR/png-mono-trns_2 || raiseError
+
+echo "$PROG: --- --- gray"
+echo "$PROG: --- --- --- dec"
+$RASQL -q "select png(a,\"tRNS=0)\" ) from $TESTCOLL_GRAY as a" --out file --outfile $TMPDIR/png-gray-trns_1 || raiseError
+$RASQL -q "select png(a,\"tRNS=2)\" ) from $TESTCOLL_GRAY as a" --out file --outfile $TMPDIR/png-gray-trns_2 || raiseError
+$RASQL -q "select png(a,\"tRNS=255)\" ) from $TESTCOLL_GRAY as a" --out file --outfile $TMPDIR/png-gray-trns_3 || raiseError
+echo "$PROG: --- --- --- oct"
+$RASQL -q "select png(a,\"tRNS=00)\" ) from $TESTCOLL_GRAY as a" --out file --outfile $TMPDIR/png-gray-trns_4 || raiseError
+$RASQL -q "select png(a,\"tRNS=02)\" ) from $TESTCOLL_GRAY as a" --out file --outfile $TMPDIR/png-gray-trns_5 || raiseError
+$RASQL -q "select png(a,\"tRNS=07777)\" ) from $TESTCOLL_GRAY as a" --out file --outfile $TMPDIR/png-gray-trns_6 || raiseError
+echo "$PROG: --- --- --- hex"
+$RASQL -q "select png(a,\"tRNS=0x0)\" ) from $TESTCOLL_GRAY as a" --out file --outfile $TMPDIR/png-gray-trns_7 || raiseError
+$RASQL -q "select png(a,\"tRNS=0x2)\" ) from $TESTCOLL_GRAY as a" --out file --outfile $TMPDIR/png-gray-trns_8 || raiseError
+$RASQL -q "select png(a,\"tRNS=0xff)\" ) from $TESTCOLL_GRAY as a" --out file --outfile $TMPDIR/png-gray-trns_9 || raiseError
+
+echo "$PROG: --- --- color"
+echo "$PROG: --- --- --- dec"
+$RASQL -q "select png(a,\"tRNS=(1;2;3)\" ) from $TESTCOLL_COLOR as a" --out file --outfile $TMPDIR/png-color-trns_1 || raiseError
+echo "$PROG: --- --- --- hex"
+$RASQL -q "select png(a,\"tRNS=(0x77;0xd0;0xf8)\" ) from rgb as a" --out file || raiseError
+echo "$PROG: --- --- --- mixed"
+$RASQL -q "select png(a,\"tRNS=(1;02;0x3)\" ) from $TESTCOLL_COLOR as a" --out file --outfile $TMPDIR/png-color-trns_10 || raiseError
+
+
+echo "$PROG: test bad cases: syntax errors, overflow in bg colors"
+
+echo "$PROG: --- tRNS tag wrong"
+if [ `$RASQL -q "select png(a,\"XXX=(1;2;3)\" ) from $TESTCOLL_COLOR as a" 2>&1 | grep "Execution error 381" | wc -l` -ne 1 ]
+then
+ echo "Error: cannot sense proper error message -- $RCTEXT_ERROR"
+ raiseError
+fi
+
+echo "$PROG: --- no number, gray"
+if [ `$RASQL -q "select png(a,\"tRNS=zzz\" ) from $TESTCOLL_GRAY as a" 2>&1 | grep "Execution error 381" | wc -l` -ne 1 ]
+then
+ echo "Error: cannot sense proper error message -- $RCTEXT_ERROR"
+ raiseError
+fi
+
+echo "$PROG: --- no number, color"
+if [ `$RASQL -q "select png(a,\"tRNS=(q;w;s)\" ) from $TESTCOLL_GRAY as a" 2>&1 | grep "Execution error 381" | wc -l` -ne 1 ]
+then
+ echo "Error: cannot sense proper error message -- $RCTEXT_ERROR"
+ raiseError
+fi
+
+echo "$PROG: --- color/gray mismatch"
+if [ `$RASQL -q "select png(a,\"tRNS=12\" ) from $TESTCOLL_COLOR as a" 2>&1 | grep "Execution error 381" | wc -l` -ne 1 ]
+then
+ echo "Error: cannot sense proper error message -- $RCTEXT_ERROR"
+ raiseError
+fi
+
+if [ `$RASQL -q "select png(a,\"tRNS=(1;2;3)\" ) from $TESTCOLL_GRAY as a" 2>&1 | grep "Execution error 381" | wc -l` -ne 1 ]
+then
+ echo "Error: cannot sense proper error message -- $RCTEXT_ERROR"
+ raiseError
+fi
+
+echo "$PROG: --- paren error (not recognized currently)"
+if [ `$RASQL -q "select png(a,\"tRNS=12;13;14)\" ) from $TESTCOLL_GRAY as a" 2>&1 | grep "Execution error 381" | wc -l` -ne 1 ]
+then
+ echo "Error: cannot sense proper error message -- $RCTEXT_ERROR"
+ raiseError
+fi
+
+echo "$PROG: --- number overflow"
+if [ `$RASQL -q "select png(a,\"tRNS=1000000000;2000000000;30000000000000)\" ) from $TESTCOLL_COLOR as a" 2>&1 | grep "Execution error 381" | wc -l` -ne 1 ]
+then
+ echo "Error: cannot sense proper error message -- $RCTEXT_ERROR"
+ raiseError
+fi
+
+
+# compare files against old ones
+for i in `(cd $TMPDIR; ls *.png)`
+do
+ if [ `cmp -s $OLDDIR/$i $TMPDIR/$i` ]
+ then
+ echo "Error: regression discrepancy between files $OLDDIR/$i and $TMPDIR/$i -- $RCTEXT_ERROR"
+ fi
+done
+
+# --- cleanup and summarise
+# delete test collection & image & temp data
+$RASQL -q "drop collection $TESTCOLL_MONO" --user $USER --passwd $PASSWD || raiseError
+$RASQL -q "drop collection $TESTCOLL_GRAY" --user $USER --passwd $PASSWD || raiseError
+$RASQL -q "drop collection $TESTCOLL_COLOR" --user $USER --passwd $PASSWD || raiseError
+
+if [ $RC -eq $RC_OK ]
+then
+ rm -rf $TMPDIR
+ RCTEXT=$RCTEXT_OK
+else
+ RCTEXT=$RCTEXT_ERROR
+fi
+
+echo $PROG: done, result is $RCTEXT.
+exit $RC
diff --git a/systemtest/scripts/test_ql-png-options.test/png-color-trns_1.png b/systemtest/scripts/test_ql-png-options.test/png-color-trns_1.png
new file mode 100644
index 0000000..adf7769
--- /dev/null
+++ b/systemtest/scripts/test_ql-png-options.test/png-color-trns_1.png
Binary files differ
diff --git a/systemtest/scripts/test_ql-png-options.test/png-color-trns_10.png b/systemtest/scripts/test_ql-png-options.test/png-color-trns_10.png
new file mode 100644
index 0000000..adf7769
--- /dev/null
+++ b/systemtest/scripts/test_ql-png-options.test/png-color-trns_10.png
Binary files differ
diff --git a/systemtest/scripts/test_ql-png-options.test/png-gray-trns_1.png b/systemtest/scripts/test_ql-png-options.test/png-gray-trns_1.png
new file mode 100644
index 0000000..70a5bd6
--- /dev/null
+++ b/systemtest/scripts/test_ql-png-options.test/png-gray-trns_1.png
Binary files differ
diff --git a/systemtest/scripts/test_ql-png-options.test/png-gray-trns_2.png b/systemtest/scripts/test_ql-png-options.test/png-gray-trns_2.png
new file mode 100644
index 0000000..036b6ec
--- /dev/null
+++ b/systemtest/scripts/test_ql-png-options.test/png-gray-trns_2.png
Binary files differ
diff --git a/systemtest/scripts/test_ql-png-options.test/png-gray-trns_3.png b/systemtest/scripts/test_ql-png-options.test/png-gray-trns_3.png
new file mode 100644
index 0000000..3b57c56
--- /dev/null
+++ b/systemtest/scripts/test_ql-png-options.test/png-gray-trns_3.png
Binary files differ
diff --git a/systemtest/scripts/test_ql-png-options.test/png-gray-trns_4.png b/systemtest/scripts/test_ql-png-options.test/png-gray-trns_4.png
new file mode 100644
index 0000000..70a5bd6
--- /dev/null
+++ b/systemtest/scripts/test_ql-png-options.test/png-gray-trns_4.png
Binary files differ
diff --git a/systemtest/scripts/test_ql-png-options.test/png-gray-trns_5.png b/systemtest/scripts/test_ql-png-options.test/png-gray-trns_5.png
new file mode 100644
index 0000000..036b6ec
--- /dev/null
+++ b/systemtest/scripts/test_ql-png-options.test/png-gray-trns_5.png
Binary files differ
diff --git a/systemtest/scripts/test_ql-png-options.test/png-gray-trns_6.png b/systemtest/scripts/test_ql-png-options.test/png-gray-trns_6.png
new file mode 100644
index 0000000..3b57c56
--- /dev/null
+++ b/systemtest/scripts/test_ql-png-options.test/png-gray-trns_6.png
Binary files differ
diff --git a/systemtest/scripts/test_ql-png-options.test/png-gray-trns_7.png b/systemtest/scripts/test_ql-png-options.test/png-gray-trns_7.png
new file mode 100644
index 0000000..70a5bd6
--- /dev/null
+++ b/systemtest/scripts/test_ql-png-options.test/png-gray-trns_7.png
Binary files differ
diff --git a/systemtest/scripts/test_ql-png-options.test/png-gray-trns_8.png b/systemtest/scripts/test_ql-png-options.test/png-gray-trns_8.png
new file mode 100644
index 0000000..036b6ec
--- /dev/null
+++ b/systemtest/scripts/test_ql-png-options.test/png-gray-trns_8.png
Binary files differ
diff --git a/systemtest/scripts/test_ql-png-options.test/png-gray-trns_9.png b/systemtest/scripts/test_ql-png-options.test/png-gray-trns_9.png
new file mode 100644
index 0000000..3b57c56
--- /dev/null
+++ b/systemtest/scripts/test_ql-png-options.test/png-gray-trns_9.png
Binary files differ
diff --git a/systemtest/scripts/test_ql-png-options.test/png-mono-trns_1.png b/systemtest/scripts/test_ql-png-options.test/png-mono-trns_1.png
new file mode 100644
index 0000000..e6c26c9
--- /dev/null
+++ b/systemtest/scripts/test_ql-png-options.test/png-mono-trns_1.png
Binary files differ
diff --git a/systemtest/scripts/test_ql-png-options.test/png-mono-trns_2.png b/systemtest/scripts/test_ql-png-options.test/png-mono-trns_2.png
new file mode 100644
index 0000000..583edee
--- /dev/null
+++ b/systemtest/scripts/test_ql-png-options.test/png-mono-trns_2.png
Binary files differ
diff --git a/systemtest/scripts/test_user.sh b/systemtest/scripts/test_user.sh
new file mode 100644
index 0000000..d6a4e7e
--- /dev/null
+++ b/systemtest/scripts/test_user.sh
@@ -0,0 +1,157 @@
+#!/bin/ksh
+#
+# This file is part of rasdaman community.
+#
+# Rasdaman community is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Rasdaman community is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with rasdaman community. If not, see <http://www.gnu.org/licenses/>.
+#
+# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann /
+# rasdaman GmbH.
+#
+# For more information please see <http://www.rasdaman.org>
+# or contact Peter Baumann via <baumann@rasdaman.com>.
+# test_user - test rasdaman server authentication
+#
+# SYNOPSIS:
+# test_user.sh
+#
+# DESCRIPTION
+# Performs rasql test queries to check whether authentication is observed.
+#
+# RESPONDING TO INCIDENT
+# -none-
+#
+# PROCEDURE
+# Perform rasql calls performing different operations types requiring
+# different authentication. check whether operations are recejcted/accepted
+# properly.
+#
+# PRECONDITIONS
+# - rasql utility available
+# - rasdaman up and running, with database having user/password as defined below
+#
+# RETURN CODES
+ RC_OK=0 # everything went fine
+ RC_ERROR=1 # something went wrong
+#
+# CHANGE HISTORY
+# 2006-jan-02 P.Baumann created
+#
+# RESTRICTIONS
+# -/-
+#
+
+
+# --- CONSTANTS -----------------------------------------------------
+
+RCTEXT_OK="OK"
+RCTEXT_ERROR="NOT_OK"
+
+ERROR=ERROR
+INDENT="+++"
+
+# name of script
+PROG=`basename $0`
+PROGBASE=`basename $0 .sh`
+
+# log file output
+LOG=$PROGBASE.log
+
+# reference log file
+REFLOG=$LOG.reference
+# save old log here if it exists
+SAVELOG=$LOG.save
+
+# --- TEST SETTINGS -------------------------------------------------
+
+# r/o login
+USER_RO=rasguest
+PASSWD_RO=rasguest
+
+# r/w login
+USER_RW=rasadmin
+PASSWD_RW=rasadmin
+
+# nonex login
+USER_NONEX=nonex
+PASSWD_NONEX=nonex
+
+# test collection
+TESTCOLL=AuthentTestCollection
+TESTCOLL_TYPE=GreySet
+
+# --- ACTION --------------------------------------------------------
+
+# save old log if present
+if [ -f $LOG ]
+then
+ echo found old log file, shifting it to $SAVELOG
+ mv $LOG $SAVELOG
+fi
+
+echo $PROG: testing rasdaman authentication at `date` | tee $LOG
+
+# good cases
+echo $INDENT good cases | tee -a $LOG
+echo $INDENT $INDENT write
+( rasql --quiet -q "create collection $TESTCOLL $TESTCOLL_TYPE" --user $USER_RW --passwd $PASSWD_RW \
+ || (export RC=$?; echo Fatal $ERROR, exit code $RC) ) | tee -a $LOG
+( rasql --quiet -q "insert into $TESTCOLL values marray x in [1:10,1:10] values (char) x[0]" --user $USER_RW --passwd $PASSWD_RW \
+ || (export RC=$?; echo Fatal $ERROR, exit code $RC) ) | tee -a $LOG
+( rasql --quiet -q "update $TESTCOLL as m set m[1:1,1:1] assign marray x in [1:1,1:1] values 42c" --user $USER_RW --passwd $PASSWD_RW \
+ || (export RC=$?; echo Fatal $ERROR, exit code $RC) ) | tee -a $LOG
+echo $INDENT $INDENT read
+( rasql --quiet -q "select a[1,1] from $TESTCOLL as a" --user $USER_RW --passwd $PASSWD_RW \
+ || (export RC=$?; echo Fatal $ERROR, exit code $RC) ) | tee -a $LOG
+( rasql --quiet -q "select a[1,1] from $TESTCOLL as a" --user $USER_RO --passwd $PASSWD_RO \
+ || (export RC=$?; echo Fatal $ERROR, exit code $RC) ) | tee -a $LOG
+echo $INDENT $INDENT "write (2)"
+# not yet supported by server:
+# ( rasql --quiet -q "delete from $TESTCOLL" --user $USER_RW --passwd $PASSWD_RW \
+( rasql --quiet -q "delete from $TESTCOLL where true" --user $USER_RW --passwd $PASSWD_RW \
+ || (export RC=$?; echo Fatal $ERROR, exit code $RC) ) | tee -a $LOG
+( rasql --quiet -q "drop collection $TESTCOLL" --user $USER_RW --passwd $PASSWD_RW \
+ || (export RC=$?; echo Fatal $ERROR, exit code $RC) ) | tee -a $LOG
+echo $INDENT $INDENT set up test env for subsequent cases
+( rasql --quiet -q "create collection $TESTCOLL $TESTCOLL_TYPE" --user $USER_RW --passwd $PASSWD_RW \
+ || (export RC=$?; echo Fatal $ERROR, exit code $RC) ) | tee -a $LOG
+( rasql --quiet -q "insert into $TESTCOLL values marray x in [1:10,1:10] values (char) x[0]" --user $USER_RW --passwd $PASSWD_RW \
+ || (export RC=$?; echo Fatal $ERROR, exit code $RC) ) | tee -a $LOG
+echo $INDENT good cases done. | tee -a $LOG
+
+# bad cases
+echo $INDENT bad cases | tee -a $LOG
+echo $INDENT $INDENT nonex login
+( rasql --quiet -q "select a[1,1] from $TESTCOLL as a" --user $USER_NONEX --passwd $PASSWD_NONEX \
+ || (export RC=$?; echo Recognized bad case, exit code $RC) ) | tee -a $LOG
+echo $INDENT $INDENT write op with r/o login
+( rasql --quiet -q "update $TESTCOLL as m set m[1:1,1:1] assign marray x in [1:1,1:1] values 42c" --user $USER_RO --passwd $PASSWD_RO \
+ || (export RC=$?; echo Recognized bad case, exit code $RC) ) | tee -a $LOG
+( rasql --quiet -q "insert into $TESTCOLL values marray x in [1:10,1:10] values (char) x[0]" --user $USER_RO --passwd $PASSWD_RO \
+ || (export RC=$?; echo Recognized bad case, exit code $RC) ) | tee -a $LOG
+( rasql --quiet -q "delete from $TESTCOLL where true" --user $USER_RO --passwd $PASSWD_RO \
+ || (export RC=$?; echo Recognized bad case, exit code $RC) ) | tee -a $LOG
+echo $INDENT $INDENT wrong passwd
+( rasql --quiet -q "select a[1,1] from $TESTCOLL as a" --user $USER_RO --passwd $PASSWD_NONEX \
+ || (export RC=$?; echo Recognized bad case, exit code $RC) ) | tee -a $LOG
+( rasql --quiet -q "update $TESTCOLL as m set m[1:1,1:1] assign marray x in [1:1,1:1] values 42c" --user $USER_RW --passwd $PASSWD_RO \
+ || (export RC=$?; echo Recognized bad case, exit code $RC) ) | tee -a $LOG
+echo $INDENT bad cases done. | tee -a $LOG
+
+echo $INDENT cleanup:
+( rasql --quiet -q "drop collection $TESTCOLL" --user $USER_RW --passwd $PASSWD_RW \
+ || (export RC=$?; echo Fatal $ERROR, exit code $RC) ) | tee -a $LOG
+
+echo $PROG: done at `date`.
+exit $RC
+
diff --git a/systemtest/scripts/testoid.sh b/systemtest/scripts/testoid.sh
new file mode 100644
index 0000000..b8cdbb4
--- /dev/null
+++ b/systemtest/scripts/testoid.sh
@@ -0,0 +1,114 @@
+#!/bin/ksh
+#
+# This file is part of rasdaman community.
+#
+# Rasdaman community is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Rasdaman community is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with rasdaman community. If not, see <http://www.gnu.org/licenses/>.
+#
+# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann /
+# rasdaman GmbH.
+#
+# For more information please see <http://www.rasdaman.org>
+# or contact Peter Baumann via <baumann@rasdaman.com>.
+if [[ $1 = "" || $2 = "" ]]; then
+ echo "usage: testoid.sh <server name> <base name>"
+ return
+fi
+
+SERVER=$1
+BASENAME=$2
+
+# test programs
+insert="$RMANBASE/rasodmg/test/test_insert3 -server $SERVER -base $BASENAME "
+query="$RMANBASE/rasodmg/test/test_query -server $SERVER -base $BASENAME "
+lookup="$RMANBASE/rasodmg/test/test_lookup -server $SERVER -base $BASENAME "
+
+
+testExitStatus()
+{
+ if [[ ( $2 = 0 && $1 = 0 ) || ( $2 != 0 && $1 != 0 ) ]]; then
+ echo "OK"
+ else
+ echo "FAILED"
+ echo "\nProgram output:"
+ cat log
+ echo "\n\n"
+ fi
+}
+
+
+#
+# main
+#
+
+setOId=""
+imageOId=""
+
+echo "-- Testbed start block."
+echo "Delete test set oidSet ... " ;
+echo "10\n" | $insert -setname oidSet > log ;
+testExitStatus $? -1;
+
+echo "Insert test image into oidSet ... " ;
+echo "5\n 0\n 2\n 0\n 10\n 0\n 10\n" | $insert -setname oidSet -testbed > log ;
+testExitStatus $? 0;
+echo "-- Testbed end block."
+
+# get oids
+setOId=`grep set_oid log | sed 's/-- Testbed:.*=//g' `
+imageOId=`grep image_oid log | sed 's/-- Testbed:.*=//g' `
+
+echo "Set OId: " $setOId
+echo "Image OId: " $imageOId
+
+echo "-- Testbed start block."
+echo "Get set by oid ... "
+$lookup -oid $setOId -testbed -nooutput > log;
+testExitStatus $? 0;
+
+echo "Get image by oid ... "
+$lookup -oid $imageOId -testbed -nooutput > log;
+testExitStatus $? 0;
+
+echo "Get set by name ... "
+$lookup -setname oidSet -testbed -nooutput > log;
+testExitStatus $? 0;
+
+echo "Remove image from oidSet ... " ;
+echo "11\n 1\n" | $insert -setname oidSet > log ;
+testExitStatus $? 0;
+
+echo "Try to access image by oid again ... "
+$lookup -oid $imageOId -testbed -nooutput > log;
+testExitStatus $? -1;
+
+echo "Delete test set oidSet ... " ;
+echo "10\n" | $insert -setname oidSet > log ;
+testExitStatus $? 0;
+
+echo "Try to access set by oid again ... "
+$lookup -oid $setOId -testbed -nooutput > log;
+testExitStatus $? -1;
+
+echo "Try to access set by name again ... "
+$lookup -setname oidSet -testbed -nooutput > log;
+testExitStatus $? -1;
+echo "-- Testbed end block."
+
+echo "\nTesting finnished."
+
+
+
+
+
+
diff --git a/systemtest/testOutputGen.awk b/systemtest/testOutputGen.awk
new file mode 100644
index 0000000..f29b104
--- /dev/null
+++ b/systemtest/testOutputGen.awk
@@ -0,0 +1,19 @@
+BEGIN { testSection = 0; }
+# ignore empty lines
+/^$/ { next; }
+
+# ignore oid lines
+/^ *Oid\.*:*/ { next; }
+
+# turn on flag
+/^-- Testbed start block.*/ { testSection = 1; }
+
+# turn off flag
+/^-- Testbed end block.*/ { testSection = 0; }
+
+# print lines in test section
+testSection==1 { print $0; next; }
+
+# print lines starting with -- Testbed
+/^-- Testbed .*/ { print $0; }
+
diff --git a/systemtest/testcenter.sh b/systemtest/testcenter.sh
new file mode 100644
index 0000000..71ec49e
--- /dev/null
+++ b/systemtest/testcenter.sh
@@ -0,0 +1,710 @@
+#!/bin/ksh
+#
+# This file is part of rasdaman community.
+#
+# Rasdaman community is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Rasdaman community is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with rasdaman community. If not, see <http://www.gnu.org/licenses/>.
+#
+# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann /
+# rasdaman GmbH.
+#
+# For more information please see <http://www.rasdaman.org>
+# or contact Peter Baumann via <baumann@rasdaman.com>.
+######################### testcenter.sh header ###################
+#
+# testcenter.sh FOR:
+# Release of RASDAMAN
+#
+# COMMENTS:
+#
+#
+##################################################################
+
+TESTER=$USER
+CLIENT=$HOSTNAME
+SERVER=$HOSTNAME
+BASENAME=RASBASE
+USERNAME=rasguest
+USERPASSWD=rasguest
+TRANSFER=Array
+TRANSFERPARAMS=""
+STORAGE=Array
+STORAGEPARAMS=""
+TILING=""
+TILINGPARAMS=""
+LOGFILE=testcenter.log
+TESTINTERACTIVE="off"
+DIFFINTERACTIVE="on"
+UPDATEINTERACTIVE="on"
+RESETDB="on"
+SCRIPTS="off"
+QUERIES="on"
+TESTDIR="testdata"
+returnValue="EXECUTION OK"
+DEBUG="off"
+
+if (test -n "$1"); then
+ if (test -d $1 -o -f $1); then
+ TESTDIR=$1
+ else
+ SERVER=$1
+ if (test -n "$2"); then
+ TESTDIR=$2
+ fi
+ fi
+fi
+
+showOptions()
+{
+ echo "===================================================================="
+ echo " TEST CENTER OPTIONS:"
+ echo "===================================================================="
+ echo " Date...........................: " `date`
+ echo " (T)ester.......................: " $TESTER
+ echo " (C)lient name..................: " $CLIENT
+ echo " (S)erver name..................: " $SERVER
+ echo " (B)ase name....................: " $BASENAME
+ echo " (U)ser name....................: " $USERNAME
+ echo " User (p)assword................: " $USERPASSWD
+ echo " T(r)ansfer format..............: " $TRANSFER
+ echo " Tra(n)sfer format params.......: " $TRANSFERPARAMS
+ echo " Stora(g)e format...............: " $STORAGE
+ echo " Stor(a)ge format params........: " $STORAGEPARAMS
+ echo " Tiling sc(h)eme................: " $TILING
+ echo " Tiling sche(m)e params.........: " $TILINGPARAMS
+ echo " (L)og file.....................: " $LOGFILE
+ echo " (Q)uery dir....................: " $TESTDIR
+ echo ""
+ echo " Tests (i)nteractive............: " $TESTINTERACTIVE
+ echo " Show dif(f) interactive........: " $DIFFINTERACTIVE
+ echo " Update testbe(d) interactive...: " $UPDATEINTERACTIVE
+ echo " R(e)set test database..........: " $RESETDB
+ echo " Debug c(o)mmands...............: " $DEBUG
+ echo ""
+ echo " Phase (1) Test queries.........: " $QUERIES
+ echo " Phase (2) Test scripts.........: " $SCRIPTS
+ echo ""
+}
+
+setParameters()
+{
+ option="*"
+
+ while [[ $option != "" ]]; do
+
+ clear
+ showOptions
+
+ echo " \nEnter option to change setting or <return> to continue! \c"
+ read option
+ echo "\n"
+
+ if [[ $option = t ]]; then
+ echo " Enter new name for tester: \c"
+ read TESTER
+ echo
+ elif [[ $option = c ]]; then
+ echo " Enter new client name: \c"
+ read CLIENT
+ echo
+ elif [[ $option = u ]]; then
+ echo " Enter new user name: \c"
+ read USERNAME
+ echo
+ elif [[ $option = p ]]; then
+ echo " Enter new user password: \c"
+ read USERPASSWD
+ echo
+ elif [[ $option = r ]]; then
+ echo " Enter new transfer format: \c"
+ read TRANSFER
+ echo
+ elif [[ $option = n ]]; then
+ echo " Enter new transfer format params: \c"
+ read TRANSFERPARAMS
+ echo
+ elif [[ $option = g ]]; then
+ echo " Enter new storage format: \c"
+ read STORAGE
+ echo
+ elif [[ $option = a ]]; then
+ echo " Enter new storage format params: \c"
+ read STORAGEPARAMS
+ echo
+ elif [[ $option = h ]]; then
+ echo " Enter new tiling scheme: \c"
+ read TILING
+ echo
+ elif [[ $option = m ]]; then
+ echo " Enter new tiling scheme params: \c"
+ read TILINGPARAMS
+ echo
+ elif [[ $option = s ]]; then
+ echo " Enter new server name: \c"
+ read SERVER
+ echo
+ elif [[ $option = b ]]; then
+ echo " Enter new base name: \c"
+ read BASENAME
+ echo
+ elif [[ $option = l ]]; then
+ echo " Enter new name for the log file: \c"
+ read LOGFILE
+ echo
+ elif [[ $option = q ]]; then
+ echo " Enter new name for the query data directory: \c"
+ read TESTDIR
+ echo
+ elif [[ $option = i ]]; then
+ if [[ $TESTINTERACTIVE = "off" ]]; then
+ TESTINTERACTIVE="on"
+ else
+ TESTINTERACTIVE="off"
+ fi
+ elif [[ $option = f ]]; then
+ if [[ $DIFFINTERACTIVE = "off" ]]; then
+ DIFFINTERACTIVE="on"
+ else
+ DIFFINTERACTIVE="off"
+ fi
+ elif [[ $option = d ]]; then
+ if [[ $UPDATEINTERACTIVE = "off" ]]; then
+ UPDATEINTERACTIVE="on"
+ else
+ UPDATEINTERACTIVE="off"
+ fi
+ elif [[ $option = o ]]; then
+ if [[ $DEBUG = "off" ]]; then
+ DEBUG="on"
+ else
+ DEBUG="off"
+ fi
+ elif [[ $option = e ]]; then
+ if [[ $RESETDB = "off" ]]; then
+ RESETDB="on"
+ else
+ RESETDB="off"
+ fi
+ elif [[ $option = 1 ]]; then
+ if [[ $QUERIES = "off" ]]; then
+ QUERIES="on"
+ else
+ QUERIES="off"
+ fi
+ elif [[ $option = 2 ]]; then
+ if [[ $SCRIPTS = "off" ]]; then
+ SCRIPTS="on"
+ else
+ SCRIPTS="off"
+ fi
+ fi
+
+ done
+}
+
+
+
+testQuery()
+{
+ testFile=$1
+
+
+ echo $testCnt ". Test query: " $testFile "\c"
+
+ if [[ $DEBUG = "on" ]]; then
+ echo "shell command:"
+ echo $query -file $testFile -testbed
+ else
+
+ YesNo="y"
+ if [[ $TESTINTERACTIVE = "on" ]]; then
+ echo " Test it (y/n) ? \c"
+ read YesNo
+ fi
+
+ if [[ $YesNo = "y" ]]; then
+ $query -file $testFile -testbed > testbedOutput
+ checkTestImage $testFile;
+ fi
+ fi
+}
+
+
+
+testScript()
+{
+ testFile=$1
+
+ echo $testCnt ". Test script: " $testFile "\c"
+
+ if [[ $DEBUG = "on" ]]; then
+ echo "shell command:"
+ echo $testFile $SERVER $BASENAME > testbedOutput
+ else
+ YesNo="y"
+ if [[ $TESTINTERACTIVE = "on" ]]; then
+ echo " Test it (y/n) ? \c"
+ read YesNo
+ fi
+
+ if [[ $YesNo = "y" ]]; then
+ $testFile $SERVER $BASENAME > testbedOutput
+ checkTestImage $testFile;
+ fi
+ fi
+}
+
+
+
+checkTestImage()
+{
+ returnValue="EXECUTION OK"
+
+ # create info file
+ gawk -f testOutputGen.awk testbedOutput > testbedOutputInfo
+
+ # check for verification file
+ verificationFile=$testFile".out"
+
+ if [[ ! -a $verificationFile ]]; then
+ echo FAILED
+ echo " ERROR: verification file $verificationFile does not exist"
+
+ YesNo="n"
+ if [[ $DIFFINTERACTIVE = "on" ]]; then
+ echo " Do you want to see the output (y/n) ? \c"
+ read YesNo__
+ fi
+
+ if [[ $YesNo = "y" ]]; then
+ echo "\n\nI. TEST FILE"
+ cat $testFile
+ echo "\n\nII. OUTPUT"
+ cat testbedOutputInfo
+ echo "\n\n"
+ fi
+
+ YesNo="n"
+ if [[ $UPDATEINTERACTIVE = "on" ]]; then
+ echo " Do you want to create a verification file (y/n) ? \c"
+ read YesNo
+ fi
+ if [[ $YesNo = "y" ]]; then
+ cp testbedOutputInfo $verificationFile
+ echo " CREATED\n"
+ returnValue=$returnValue" VERIFICATION FILE NOT FOUND, CREATED AS NEW"
+ cvs add -m "testcenter verificationf file for query $testFile" $verificationFile
+ cvs commit -m "testcenter verification file created as new by TESTER=$TESTER" $verificationFile
+ else
+ cp testbedOutputInfo $testFile".tmp"
+ echo " NOT CREATED\n"
+ returnValue=$returnValue" VERIFICATION FILE NOT FOUND, NOT CREATED"
+ fi
+
+ else
+
+
+ diff -c testbedOutputInfo $verificationFile 2>&1 1> /tmp/diff.out
+
+ if [[ $? != 0 ]]; then
+ echo "FAILED"
+ returnValue="EXECUTION FAILED"
+
+ YesNo="n"
+ if [[ $DIFFINTERACTIVE = "on" ]]; then
+ echo " Do you want to see the diff output (y/n) ? \c"
+ read YesNo
+ fi
+
+
+ if [[ $YesNo = "y" ]]; then
+ echo "\n\nI. TEST FILE"
+ cat $testFile
+ echo "\n\n DIFF OUTPUT:"
+ cat /tmp/diff.out
+ echo "\n\n"
+ fi
+
+ YesNo="n"
+ if [[ $UPDATEINTERACTIVE = "on" ]]; then
+ echo " Do you want to update the verification file (y/n) ? \c"
+ read YesNo
+ fi
+ if [[ $YesNo = "y" ]]; then
+ if(cvs status $verificationFile); then
+ cvs edit $verificationFile
+ cp testbedOutputInfo $verificationFile
+ echo " UPDATED\n"
+ cvs commit -m "testcenter verification file updated by TESTER=$TESTER" $verificationFile
+ returnValue=$returnValue" VERIFICATION FILE UPDATED"
+ else
+ cp testbedOutputInfo $verificationFile
+ echo " CREATED\n"
+ cvs add -m "testcenter verificationf file for query $testFile" $verificationFile
+ cvs commit -m "testcenter verification file created as new by TESTER=$TESTER" $verificationFile
+ returnValue=$returnValue" VERIFICATION FILE NOT IN REPOSITORY, CHECKED AS NEW"
+ fi
+ else
+ cp testbedOutputInfo $testFile".tmp"
+ fi
+
+ else
+ echo "OK"
+ fi
+
+ fi
+
+ rm testbedOutput testbedOutputInfo /tmp/diff.out
+}
+
+checkBinaries()
+{
+ # test programs
+ insert="$RMANBASE/bin/test_insert3"
+ query="$RMANBASE/bin/test_query"
+ insertppm="$RMANBASE/insertutils/insertppm"
+ images="$RMANBASE/systemtest/images"
+
+ if [[ ! -a $insertppm ]]; then
+ echo "\nTest program $insertppm not found"
+ echo "Please build the program and try again."
+ exit 1
+ fi
+
+ if [[ ! -a $insert ]]; then
+ echo "\nTest program $insert not found"
+ echo "Please build the program and try again."
+ exit 1
+ fi
+
+ if [[ ! -a $query ]]; then
+ echo "\nTest program $query not found"
+ echo "Please build the program and try again."
+ exit 1
+ fi
+}
+
+setBinariesParams()
+{
+# server and database required
+if(test -z "$SERVER"); then
+ echo "Server name is not set!"
+ exit 1
+fi
+if(test -z "$BASENAME"); then
+ echo "Base name is not set!"
+ exit 1
+fi
+
+if(test -z "$USERNAME"); then
+ echo "User name is not set!"
+ exit 1
+fi
+
+if(test -z "$USERPASSWD"); then
+ echo "User password is not set!"
+ exit 1
+fi
+
+#test_insert3 params
+insert="$insert -server $SERVER -base $BASENAME -user $USERNAME -passwd $USERPASSWD"
+if(test -n "$TRANSFER"); then
+ insert="$insert -transferformat $TRANSFER"
+fi
+if(test -n "$TRANSFERPARAMS"); then
+ insert="$insert -transferformatparams $TRANSFERPARAMS"
+fi
+if(test -n "$STORAGE"); then
+ insert="$insert -storageformat $STORAGE"
+fi
+if(test -n "$STORAGEPARAMS"); then
+ insert="$insert -storageformatparams $STORAGEPARAMS"
+fi
+if(test -n "$TILING"); then
+ insert="$insert -tiling $TILING"
+fi
+if(test -n "$TILINGPARAMS"); then
+ insert="$insert -tilingparams $TILINGPARAMS"
+fi
+
+#insertppm params
+insertppm="$insertppm -server $SERVER -base $BASENAME -user $USERNAME -passwd $USERPASSWD"
+if(test -n "$TRANSFER"); then
+insertppm="$insertppm -transferformat $TRANSFER"
+fi
+if(test -n "$TRANSFERPARAMS"); then
+insertppm="$insertppm -transferformatparams $TRANSFERPARAMS"
+fi
+if(test -n "$STORAGE"); then
+insertppm="$insertppm -storageformat $STORAGE"
+fi
+if(test -n "$STORAGEPARAMS"); then
+insertppm="$insertppm -storageformatparams $STORAGEPARAMS"
+fi
+
+#test_query params
+query="$query -server $SERVER -base $BASENAME -user $USERNAME -passwd $USERPASSWD"
+if(test -n "$TRANSFER"); then
+ query="$query -transferformat $TRANSFER"
+fi
+if(test -n "$TRANSFERPARAMS"); then
+ query="$query -transferformatparams $TRANSFERPARAMS"
+fi
+if(test -n "$STORAGE"); then
+ query="$query -storageformat $STORAGE"
+fi
+if(test -n "$STORAGEPARAMS"); then
+ query="$query -storageformatparams $STORAGEPARAMS"
+fi
+if(test -n "$TILING"); then
+ query="$query -tiling $TILING"
+fi
+if(test -n "$TILINGPARAMS"); then
+ query="$query -tilingparams $TILINGPARAMS"
+fi
+}
+
+resetLog()
+{
+YesNo="n"
+if [[ $UPDATEINTERACTIVE = "on" ]]; then
+ if [[ -a $LOGFILE ]]; then
+ echo "Delete log file $LOGFILE (y/n) ? \c"
+ read YesNo
+ echo "\n"
+ fi
+fi
+if [[ $YesNo = y ]]; then
+ rm -f $LOGFILE
+fi
+}
+
+resetDB()
+{
+if [[ $RESETDB = "on" ]]; then
+ echo "Reset demo data in db (y/n) ? \c"
+ read YesNo
+ echo "\n"
+
+ if [[ $YesNo = y ]]; then
+
+ # delete collections
+ echo "Delete test collections of $BASENAME...\c" ;
+ echo "=============================================================================" >> $LOGFILE
+ echo "Delete test collections of $BASENAME" >> $LOGFILE ;
+ echo "=============================================================================\n" >> $LOGFILE
+
+ if [[ $DEBUG = "on" ]]; then
+ echo "shell command:"
+ echo "10\n" $insert -setname ImgCharA
+ echo "10\n" $insert -setname ImgCharB
+ echo "10\n" $insert -setname ImgCharC
+ echo "10\n" $insert -setname ImgCharD
+ echo "10\n" $insert -setname ImgCharMask
+ echo "10\n" $insert -setname OvlCharA
+ echo "10\n" $insert -setname OvlCharB
+ echo "10\n" $insert -setname OvlCharC
+
+ echo "10\n" $insert -setname ImgRGBA
+ echo "10\n" $insert -setname ImgULongC
+ echo "10\n" $insert -setname OlapCharA
+ echo "10\n" $insert -setname StringCharA
+ echo "10\n" $insert -setname CubeCharA
+ echo "10\n" $insert -setname OvlRGBA
+ echo "10\n" $insert -setname OvlRGBB
+ echo "10\n" $insert -setname OvlRGBC
+ else
+ echo "10\n" | $insert -setname ImgCharA >> $LOGFILE ;
+ echo "10\n" | $insert -setname ImgCharB >> $LOGFILE ;
+ echo "10\n" | $insert -setname ImgCharC >> $LOGFILE ;
+ echo "10\n" | $insert -setname ImgCharD >> $LOGFILE ;
+ echo "10\n" | $insert -setname ImgCharMask >> $LOGFILE ;
+ echo "10\n" | $insert -setname OvlCharA >> $LOGFILE ;
+ echo "10\n" | $insert -setname OvlCharB >> $LOGFILE ;
+ echo "10\n" | $insert -setname OvlCharC >> $LOGFILE ;
+
+ echo "10\n" | $insert -setname ImgRGBA >> $LOGFILE ;
+ echo "10\n" | $insert -setname ImgULongC >> $LOGFILE ;
+ echo "10\n" | $insert -setname OlapCharA >> $LOGFILE ;
+ echo "10\n" | $insert -setname StringCharA >> $LOGFILE ;
+ echo "10\n" | $insert -setname CubeCharA >> $LOGFILE ;
+ echo "10\n" | $insert -setname OvlRGBA >> $LOGFILE ;
+ echo "10\n" | $insert -setname OvlRGBB >> $LOGFILE ;
+ echo "10\n" | $insert -setname OvlRGBC >> $LOGFILE ;
+ fi
+
+
+ echo "OK" ;
+
+ echo "\n\nCreate demo data in db (y/n) ? \c"
+ read YesNo
+ echo "\n"
+
+ if [[ $YesNo = y ]]; then
+ #create collections
+ echo "Insert test collections into $BASENAME...\c" ;
+ echo "=============================================================================" >> $LOGFILE
+ echo "Insert test collections into $BASENAME" >> $LOGFILE ;
+ echo "=============================================================================\n" >> $LOGFILE
+
+ if [[ $DEBUG = "on" ]]; then
+ echo "shell command:"
+ echo "5\n 0\n 2\n 0\n 10\n 0\n 10\n" $insert -setname ImgCharA
+ echo "5\n 1\n 2\n 0\n 10\n 0\n 10\n" $insert -setname ImgCharA
+
+ echo "5\n 10\n 2\n 0\n 10\n 0\n 10\n" $insert -setname ImgCharB
+ echo "5\n 20\n 2\n 0\n 10\n 0\n 10\n" $insert -setname ImgCharB
+
+ echo "5\n 100\n 2\n 0\n 10\n 0\n 10\n" $insert -setname ImgCharC
+ echo "5\n 200\n 2\n 0\n 10\n 0\n 10\n" $insert -setname ImgCharC
+
+ echo "13\n 2\n 0\n 10\n 0\n 10\n" $insert -setname ImgCharD
+
+ echo "5\n 2\n 2\n-2\n 2\n-1\n 1\n" $insert -setname ImgCharMask
+
+ echo "1\n 2\n 0\n 9\n 0\n 9\n" $insert -setname ImgULongC
+
+ echo "6\n 2\n 0\n 10\n 0\n 10\n" $insert -setname ImgRGBA
+ echo "6\n 2\n 0\n 10\n 0\n 10\n" $insert -setname ImgRGBA
+
+ echo "13\n 2\n 0\n 13\n 0\n 1\n" $insert -setname OlapCharA
+
+ echo "13\n 1\n 0\n 99\n " $insert -setname StringCharA -settype GreySet1 -mddtype GreyString
+ echo "5\n 0\n 3\n 0\n 10\n 0\n 10\n 0\n 10\n" $insert -setname CubeCharA -settype GreySet3 -mddtype GreyCube
+
+ echo $insertppm -collection OvlRGBA $images/ovl1.ppm
+ echo $insertppm -collection OvlRGBB $images/ovl2.ppm
+ echo $insertppm -collection OvlRGBC $images/ovl3.ppm
+ echo $insertppm -grey -collection OvlCharA $images/ovl1.ppm
+ echo $insertppm -grey -collection OvlCharB $images/ovl2.ppm
+ echo $insertppm -grey -collection OvlCharC $images/ovl3.ppm
+ else
+ echo "5\n 0\n 2\n 0\n 10\n 0\n 10\n" | $insert -setname ImgCharA >> $LOGFILE ;
+ echo "5\n 1\n 2\n 0\n 10\n 0\n 10\n" | $insert -setname ImgCharA >> $LOGFILE ;
+
+ echo "5\n 10\n 2\n 0\n 10\n 0\n 10\n" | $insert -setname ImgCharB >> $LOGFILE ;
+ echo "5\n 20\n 2\n 0\n 10\n 0\n 10\n" | $insert -setname ImgCharB >> $LOGFILE ;
+
+ echo "5\n 100\n 2\n 0\n 10\n 0\n 10\n" | $insert -setname ImgCharC >> $LOGFILE ;
+ echo "5\n 200\n 2\n 0\n 10\n 0\n 10\n" | $insert -setname ImgCharC >> $LOGFILE ;
+
+ echo "13\n 2\n 0\n 10\n 0\n 10\n" | $insert -setname ImgCharD >> $LOGFILE ;
+
+ echo "5\n 2\n 2\n-2\n 2\n-1\n 1\n" | $insert -setname ImgCharMask >> $LOGFILE;
+
+ echo "1\n 2\n 0\n 9\n 0\n 9\n" | $insert -setname ImgULongC >> $LOGFILE;
+
+ echo "6\n 2\n 0\n 10\n 0\n 10\n" | $insert -setname ImgRGBA >> $LOGFILE ;
+ echo "6\n 2\n 0\n 10\n 0\n 10\n" | $insert -setname ImgRGBA >> $LOGFILE ;
+
+ echo "13\n 2\n 0\n 13\n 0\n 1\n" | $insert -setname OlapCharA >> $LOGFILE ;
+
+ echo "13\n 1\n 0\n 99\n " | $insert -setname StringCharA -settype GreySet1 -mddtype GreyString >> $LOGFILE ;
+ echo "5\n 0\n 3\n 0\n 10\n 0\n 10\n 0\n 10\n" | $insert -setname CubeCharA -settype GreySet3 -mddtype GreyCube >> $LOGFILE ;
+
+ $insertppm -collection OvlRGBA $images/ovl1.ppm >> $LOGFILE
+ $insertppm -collection OvlRGBB $images/ovl2.ppm >> $LOGFILE
+ $insertppm -collection OvlRGBC $images/ovl3.ppm >> $LOGFILE
+ $insertppm -grey -collection OvlCharA $images/ovl1.ppm >> $LOGFILE
+ $insertppm -grey -collection OvlCharB $images/ovl2.ppm >> $LOGFILE
+ $insertppm -grey -collection OvlCharC $images/ovl3.ppm >> $LOGFILE
+ fi
+
+ echo "OK" ;
+ fi
+ fi
+fi
+}
+
+#
+# main
+#
+
+checkBinaries;
+
+setParameters;
+
+setBinariesParams;
+
+resetLog;
+
+showOptions >> $LOGFILE
+
+resetDB;
+
+#
+# test query files
+#
+
+if [[ $QUERIES = "on" ]]; then
+
+ echo "\nPhase 1: Testing Query Files\n"
+ echo "\n=============================================================================" >> $LOGFILE
+ echo "Phase 1: Testing Query Files..." >> $LOGFILE ;
+ echo "=============================================================================\n" >> $LOGFILE
+
+ testCnt=1
+ queryFiles=`find $TESTDIR -name '*.ql' | sort`
+
+ for queryFile in $queryFiles; do
+
+ testQuery $queryFile
+
+ echo "Query " $testCnt $queryFile":" $returnValue >> $LOGFILE
+
+ testCnt=$(($testCnt+1))
+ done
+fi
+
+
+#
+# test scripts
+#
+
+if [[ $SCRIPTS = "on" ]]; then
+ echo "\nPhase 2: Testing Scripts\n"
+ echo "\n=============================================================================" >> $LOGFILE
+ echo "Phase 2: Testing Scripts" >> $LOGFILE
+ echo "=============================================================================\n" >> $LOGFILE
+
+ testCnt=1
+ scriptFiles=`find scripts -name '*.sh' | sort`
+
+ for scriptFile in $scriptFiles; do
+
+ testScript $scriptFile
+
+ echo "Script " $testCnt $scriptFile":" $returnValue >> $LOGFILE
+
+ testCnt=$(($testCnt+1))
+ done
+fi
+
+echo "\nTesting finnished at " `date`
+echo "\n===================================================================" >> $LOGFILE
+echo "Test finnished at " `date` >> $LOGFILE
+echo "===================================================================\n" >> $LOGFILE
+
+
+YesNo="n"
+if [[ $UPDATEINTERACTIVE = "on" ]]; then
+ echo "\nDo you want to check in the log file (y/n) ? \c"
+ read YesNo
+ echo "\n\n"
+fi
+if [[ $YesNo = y ]]; then
+ cvs edit session.log
+ cp $LOGFILE session.log
+ cvs commit -m "updated by testcenter runned by TESTER=$TESTER" session.log
+fi
+exit 0
diff --git a/systemtest/testcenter2.sh b/systemtest/testcenter2.sh
new file mode 100644
index 0000000..44e2d92
--- /dev/null
+++ b/systemtest/testcenter2.sh
@@ -0,0 +1,444 @@
+#!/bin/ksh
+#
+# This file is part of rasdaman community.
+#
+# Rasdaman community is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Rasdaman community is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with rasdaman community. If not, see <http://www.gnu.org/licenses/>.
+#
+# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann /
+# rasdaman GmbH.
+#
+# For more information please see <http://www.rasdaman.org>
+# or contact Peter Baumann via <baumann@rasdaman.com>.
+######################### testcenter.sh header ###################
+#
+# testcenter.sh FOR:
+# Release of RASDAMAN
+#
+# COMMENTS:
+# args needed: serverhost databasehost logdirectory testjava queries scripts checkin conversion compression
+# last six are "on"/"off"-switches.
+#
+##################################################################
+
+TESTER=$USER
+BASENAME=RASBASE
+TIMESTAMP=`date +%d%b%y%H%M%S`
+LOGFILE="$3/$HOSTNAME.$TIMESTAMP.log"
+SEEOUTPUT="off"
+CREATEVFILE="off"
+UPDATEVFILE="off"
+INTERACTIVE="off"
+DEMODATA="on"
+CREATEDATA="on"
+TESTJAVA=$4
+QUERIES=$5
+SCRIPTS=$6
+CHECKINLOG=$7
+CONV=$8
+COMP=$9
+TESTDIR=testdata
+
+echo "$0 $1 $2 $3 $4 $5 $6 $7 $8 $9"
+
+if [[ $1 = "" || $2 = "" ]]; then
+ SERVER=$HOSTNAME
+ CLIENT=$HOSTNAME
+else
+ SERVER=$1
+ CLIENT=$2
+fi
+
+if [[ $7 = "" ]]; then
+ CHECKINLOG="off"
+else
+ CHECKINLOG=$7
+fi
+
+if [[ $6 = "" ]]; then
+ SCRIPTS="off"
+else
+ SCRIPTS=$6
+fi
+
+if [[ $5 = "" ]]; then
+ QUERIES="off"
+else
+ QUERIES=$5
+fi
+
+if [[ $4 = "" ]]; then
+ TESTJAVA="off"
+else
+ TESTJAVA=$4
+fi
+
+
+setParameters()
+{
+ option="*"
+
+ while [[ $option != "" ]]; do
+
+ echo "\n"
+ echo " (T)ester...............: " $TESTER
+ echo " (C)lient name..........: " $CLIENT
+ echo " (S)erver name..........: " $SERVER
+ echo " (B)ase name............: " $BASENAME
+ echo " (L)og file.............: " $LOGFILE
+ echo " (Q)uery dir............: " $TESTDIR
+ echo " (I)nteractive..........: " $INTERACTIVE
+ echo ""
+ echo " Phase (1) Test Queries.: " $QUERIES
+ echo " Phase (2) Test Scripts.: " $SCRIPTS
+
+ echo " \nEnter [tcsblqi12] to change setting or <return> to continue! \c"
+ read option
+ echo "\n"
+
+ if [[ $option = t ]]; then
+ echo " Enter new name for tester: \c"
+ read TESTER
+ echo
+ elif [[ $option = c ]]; then
+ echo " Enter new client name: \c"
+ read CLIENT
+ echo
+ elif [[ $option = s ]]; then
+ echo " Enter new server name: \c"
+ read SERVER
+ echo
+ elif [[ $option = b ]]; then
+ echo " Enter new base name: \c"
+ read BASENAME
+ echo
+ elif [[ $option = l ]]; then
+ echo " Enter new name for the log file: \c"
+ read LOGFILE
+ echo
+ elif [[ $option = q ]]; then
+ echo " Enter new name for the query data directory: \c"
+ read TESTDIR
+ echo
+ elif [[ $option = i ]]; then
+ if [[ $INTERACTIVE = "off" ]]; then
+ INTERACTIVE="on"
+ else
+ INTERACTIVE="off"
+ fi
+ elif [[ $option = 1 ]]; then
+ if [[ $QUERIES = "off" ]]; then
+ QUERIES="on"
+ else
+ QUERIES="off"
+ fi
+ elif [[ $option = 2 ]]; then
+ if [[ $SCRIPTS = "off" ]]; then
+ SCRIPTS="on"
+ else
+ SCRIPTS="off"
+ fi
+ fi
+ done
+}
+
+
+
+testQuery()
+{
+ testFile=$1
+
+ echo $testCnt ". Test query: " $testFile "\c" >> $LOGFILE 2>&1
+
+ YesNo="y"
+ if [[ $INTERACTIVE = "on" ]]; then
+ echo $testCnt ". Test query: " $testFile "\c"
+ echo " Test it (y/n) ? \c"
+ read YesNo
+ fi
+
+ if [[ $YesNo = "y" ]]; then
+ $query $testFile -testbed > testbedOutput
+ checkTestImage $testFile;
+ fi
+}
+
+
+testScript()
+{
+ testFile=$1
+
+ echo $testCnt ". Test script: " $testFile "\c" >> $LOGFILE 2>&1
+
+ YesNo="y"
+ if [[ $INTERACTIVE = "on" ]]; then
+ echo $testCnt ". Test script: " $testFile "\c"
+ echo " Test it (y/n) ? \c"
+ read YesNo
+ fi
+
+ if [[ $YesNo = "y" ]]; then
+ $testFile $SERVER $BASENAME > testbedOutput
+ checkTestImage $testFile;
+ fi
+}
+
+
+checkTestImage()
+{
+ returnValue="EXECUTION OK"
+
+ # create info file
+ gawk -f testOutputGen.awk testbedOutput > testbedOutputInfo
+
+ # check for verification file
+ verificationFile=$testFile".out"
+
+ if [[ ! -a $verificationFile ]]; then
+ echo FAILED >> $LOGFILE 2>&1
+ echo " ERROR: verification file $verificationFile does not exist" >> $LOGFILE 2>&1
+ if [[ $SEEOUTPUT = "on" ]]; then
+ echo "I. TEST FILE" >> $LOGFILE 2>&1
+ cat $testFile >> $LOGFILE 2>&1
+ echo "\n\nII. OUTPUT" >> $LOGFILE 2>&1
+ cat testbedOutputInfo >> $LOGFILE 2>&1
+ echo "\n\n"
+ fi
+ if [[ $CREATEVFILE = "on" ]]; then
+ cp testbedOutputInfo $verificationFile
+ echo " CREATED\n" >> $LOGFILE 2>&1
+ returnValue="VERIFICATION FILE CREATED"
+ else
+ echo " NOT CREATED\n" >> $LOGFILE 2>&1
+ returnValue="VERIFICATION FILE NOT FOUND"
+ fi
+ else
+ diff testbedOutputInfo $verificationFile >> $LOGFILE 2>&1
+ if [[ $? = 1 ]]; then
+ echo "FAILED" >> $LOGFILE 2>&1
+ echo "\nProgram output:" >> $LOGFILE 2>&1
+ cat testbedOutput >> $LOGFILE 2>&1
+ echo "\n\n" >> $LOGFILE 2>&1
+ returnValue="EXECUTION FAILED"
+ if [[ $UPDATEVFILE = "on" ]]; then
+ co -l $verificationFile
+ cp testbedOutputInfo $verificationFile
+ echo " UPDATED\n" >> $LOGFILE 2>&1
+ ci -u -m"testcenter update" $verificationFile
+ returnValue="VERIFICATION FILE UPDATED"
+ fi
+ else
+ echo "OK" >> $LOGFILE 2>&1
+ fi
+ fi
+ rm testbedOutput testbedOutputInfo
+}
+
+
+
+#
+# main
+#
+
+# test programs
+insert="$RMANBASE/bin/test_insert3"
+query="$RMANBASE/bin/test_query"
+insertppm="$RMANBASE/insertutils/insertppm"
+images="$RMANBASE/systemtest/images"
+rasdltest="$RMANBASE/systemtest/rasdl/rasdl.sh"
+
+echo "Test log file." > $LOGFILE 2>&1
+
+if [[ ! -a $insert ]]; then
+ echo "\nTest program $insertppm not found" >> $LOGFILE 2>&1
+ echo "Please build the program and try again." >> $LOGFILE 2>&1
+ return
+fi
+
+if [[ ! -a $insert ]]; then
+ echo "\nTest program $insert not found" >> $LOGFILE 2>&1
+ echo "Please build the program and try again." >> $LOGFILE 2>&1
+ return
+fi
+
+if [[ ! -a $query ]]; then
+ echo "\nTest program $query not found" >> $LOGFILE 2>&1
+ echo "Please build the program and try again." >> $LOGFILE 2>&1
+ return
+fi
+
+if [[ ! -a $rasdltest ]]; then
+ echo "\nTest program $rasdltest not found" >> $LOGFILE 2>&1
+ echo "Please build the program and try again." >> $LOGFILE 2>&1
+ return
+fi
+
+#
+# test rasdl
+#
+echo "\nPhase -1: Testing RasDL\n" >> $LOGFILE 2>&1
+$rasdl >> $LOGFILE 2>&1
+if [[ $? != 0 ]]; then
+ echo "\nTest program $rasdltest failed" >> $LOGFILE 2>&1
+ return
+fi
+
+insert="$insert $SERVER $BASENAME"
+insertppm="$insertppm -server $SERVER -base $BASENAME"
+query="$query $SERVER $BASENAME"
+YesNo=""
+
+
+if [[ $DEMODATA = "on" ]]; then
+ echo "\n\nReset demo data in db: \n" >> $LOGFILE 2>&1
+
+ # delete collections
+ echo "Delete test collections of $BASENAME..." >> $LOGFILE 2>&1;
+ echo "10\n" | $insert ImgCharA >> $LOGFILE 2>&1 ;
+ echo "10\n" | $insert ImgCharB >> $LOGFILE 2>&1 ;
+ echo "10\n" | $insert ImgCharC >> $LOGFILE 2>&1 ;
+ echo "10\n" | $insert ImgCharD >> $LOGFILE 2>&1 ;
+ echo "10\n" | $insert ImgCharMask >> $LOGFILE 2>&1 ;
+ echo "10\n" | $insert OvlCharA >> $LOGFILE 2>&1 ;
+ echo "10\n" | $insert OvlCharB >> $LOGFILE 2>&1 ;
+ echo "10\n" | $insert OvlCharC >> $LOGFILE 2>&1 ;
+ echo "10\n" | $insert ImgRGBA >> $LOGFILE 2>&1 ;
+ echo "10\n" | $insert ImgULongC >> $LOGFILE 2>&1 ;
+ echo "10\n" | $insert OlapCharA >> $LOGFILE 2>&1 ;
+ echo "10\n" | $insert StringCharA >> $LOGFILE 2>&1 ;
+ echo "10\n" | $insert CubeCharA >> $LOGFILE 2>&1 ;
+ echo "10\n" | $insert OvlRGBA >> $LOGFILE 2>&1 ;
+ echo "10\n" | $insert OvlRGBB >> $LOGFILE 2>&1 ;
+ echo "10\n" | $insert OvlRGBC >> $LOGFILE 2>&1 ;
+
+ if [[ $CREATEDATA = "on" ]]; then
+ echo "\n\nCreate demo data in db: \n" >> $LOGFILE 2>&1
+
+ #create collections
+ echo "Insert test collections into $BASENAME..." >> $LOGFILE 2>&1;
+ echo "5\n 0\n 2\n 0\n 10\n 0\n 10\n" | $insert ImgCharA >> $LOGFILE 2>&1 ;
+ echo "5\n 1\n 2\n 0\n 10\n 0\n 10\n" | $insert ImgCharA >> $LOGFILE 2>&1 ;
+ echo "5\n 10\n 2\n 0\n 10\n 0\n 10\n" | $insert ImgCharB >> $LOGFILE 2>&1 ;
+ echo "5\n 20\n 2\n 0\n 10\n 0\n 10\n" | $insert ImgCharB >> $LOGFILE 2>&1 ;
+ echo "5\n 100\n 2\n 0\n 10\n 0\n 10\n" | $insert ImgCharC >> $LOGFILE 2>&1 ;
+ echo "5\n 200\n 2\n 0\n 10\n 0\n 10\n" | $insert ImgCharC >> $LOGFILE 2>&1 ;
+ echo "13\n 2\n 0\n 10\n 0\n 10\n" | $insert ImgCharD >> $LOGFILE 2>&1 ;
+ echo "5\n 2\n 2\n-2\n 2\n-1\n 1\n" | $insert ImgCharMask >> $LOGFILE 2>&1;
+ echo "1\n 2\n 0\n 9\n 0\n 9\n" | $insert ImgULongC >> $LOGFILE 2>&1;
+ echo "6\n 2\n 0\n 10\n 0\n 10\n" | $insert ImgRGBA >> $LOGFILE 2>&1 ;
+ echo "6\n 2\n 0\n 10\n 0\n 10\n" | $insert ImgRGBA >> $LOGFILE 2>&1 ;
+ echo "13\n 2\n 0\n 13\n 0\n 1\n" | $insert OlapCharA >> $LOGFILE 2>&1 ;
+ echo "13\n 1\n 0\n 99\n " | $insert StringCharA -settype GreySet1 -mddtype GreyString >> $LOGFILE 2>&1 ;
+ echo "5\n 0\n 3\n 0\n 10\n 0\n 10\n 0\n 10\n" | $insert CubeCharA -settype GreySet3 -mddtype GreyCube >> $LOGFILE 2>&1 ;
+
+ $insertppm -collection OvlRGBA $images/ovl1.ppm >> $LOGFILE 2>&1
+ $insertppm -collection OvlRGBB $images/ovl2.ppm >> $LOGFILE 2>&1
+ $insertppm -collection OvlRGBC $images/ovl3.ppm >> $LOGFILE 2>&1
+ $insertppm -grey -collection OvlCharA $images/ovl1.ppm >> $LOGFILE 2>&1
+ $insertppm -grey -collection OvlCharB $images/ovl2.ppm >> $LOGFILE 2>&1
+ $insertppm -grey -collection OvlCharC $images/ovl3.ppm >> $LOGFILE 2>&1
+ fi
+fi
+
+#
+# print some summary information
+#
+echo "--------------------------------------------------------------TEST SESSION--" >> $LOGFILE 2>&1
+echo "- Date........ : " `date` >> $LOGFILE 2>&1
+echo "- Tester.......: " $TESTER >> $LOGFILE 2>&1
+echo "- Directory....: " $PWD/$TESTDIR >> $LOGFILE 2>&1
+echo "- Client name..: " $CLIENT >> $LOGFILE 2>&1
+echo "- Server name..: " $SERVER >> $LOGFILE 2>&1
+echo "- Base name....: " $BASENAME >> $LOGFILE 2>&1
+echo "- Time stamp...: " $TIMESTAMP >> $LOGFILE 2>&1
+echo "----------------------------------------------------------------------START-" >> $LOGFILE 2>&1
+
+
+#
+# test java
+#
+if [[ $TESTJAVA = "on" ]]; then
+ javaquery="$RMANBASE/java/examples/TestQuery.class"
+ if [[ ! -a $javaquery ]]; then
+ echo "\nTest program $javaquery not found"
+ echo "Please build the program and try again."
+ return
+ fi
+ echo "\nPhase 0: Testing Java Query Files\n" >> $LOGFILE 2>&1
+ java -classpath $CLASSPATH:/usr/local/dist/dir/java/:$RMANBASE/java/:$RMANBASE/java/classes:$RMANHOME/java/:$RMANHOME/java/classes examples.TestQuery -server $SERVER -database $BASENAME -testdirectory /home/staff/rastest/testdata -logfile testjava.log
+ cat testjava.log >> $LOGFILE
+fi
+
+#
+# test query files
+#
+if [[ $QUERIES = "on" ]]; then
+ echo "\nPhase 1: Testing Query Files\n" >> $LOGFILE 2>&1
+ testCnt=1
+ queryFiles=`find $TESTDIR -name '*.ql' | sort`
+ for queryFile in $queryFiles; do
+ testQuery $queryFile
+ echo "Query " $testCnt $queryFile":" $returnValue
+ testCnt=$(($testCnt+1))
+ done
+fi
+
+#
+# test scripts
+#
+if [[ $SCRIPTS = "on" ]]; then
+ echo "\nPhase 2: Testing Scripts\n" >> $LOGFILE 2>&1
+ testCnt=1
+ scriptFiles=`find scripts -name '*.sh' | sort`
+ for scriptFile in $scriptFiles; do
+ testScript $scriptFile
+ echo "Script " $testCnt $scriptFile":" $returnValue
+ testCnt=$(($testCnt+1))
+ done
+fi
+
+#
+# test conversion
+#
+if [[ $CONV = "on" ]]; then
+ echo "\nPhase 3: Testing Conversion\n" >> $LOGFILE 2>&1
+ cdir=$PWD
+ cd $RMANHOME/rasodmg/test
+ (echo "v"; echo "e") | ./test_comp_conv.sh
+ cd cdir
+fi
+
+#
+# test compresion
+#
+if [[ $COMP = "on" ]]; then
+ echo "\nPhase 4: Testing Compression\n" >> $LOGFILE 2>&1
+ cdir=$PWD
+ cd $RMANHOME/rasodmg/test
+ (echo "p"; echo "e") | ./test_comp_conv.sh
+ cd cdir
+fi
+
+echo "\n\n" >> $LOGFILE 2>&1
+
+#
+# check in log file
+#
+
+if [[ $CHECKINLOG = "on" ]]; then
+ co -l session.log
+ cp $LOGFILE session.log
+ ci -u session.log
+fi
+
+echo "Testing finnished."
diff --git a/systemtest/testdata/1dset1/cellaccess.ql b/systemtest/testdata/1dset1/cellaccess.ql
new file mode 100644
index 0000000..687d2e4
--- /dev/null
+++ b/systemtest/testdata/1dset1/cellaccess.ql
@@ -0,0 +1,3 @@
+select a
+from StringCharA as a
+where a[1] = 1
diff --git a/systemtest/testdata/1dset1/cellaccess.ql.java.out b/systemtest/testdata/1dset1/cellaccess.ql.java.out
new file mode 100644
index 0000000..e755164
--- /dev/null
+++ b/systemtest/testdata/1dset1/cellaccess.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:99]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 100
+ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 \ No newline at end of file
diff --git a/systemtest/testdata/1dset1/cellaccess.ql.out b/systemtest/testdata/1dset1/cellaccess.ql.out
new file mode 100644
index 0000000..324d73b
--- /dev/null
+++ b/systemtest/testdata/1dset1/cellaccess.ql.out
@@ -0,0 +1,14 @@
+-- Testbed line: result_type=set <marray <char, [0:99]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:99]>
+ Type Schema...........: marray< char >
+ Domain................: [0:99]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 100
+ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
+-- Testbed end block:
diff --git a/systemtest/testdata/1dset1/trim.ql b/systemtest/testdata/1dset1/trim.ql
new file mode 100644
index 0000000..26a5145
--- /dev/null
+++ b/systemtest/testdata/1dset1/trim.ql
@@ -0,0 +1,2 @@
+select a[4:8]
+from StringCharA as a
diff --git a/systemtest/testdata/1dset1/trim.ql.java.out b/systemtest/testdata/1dset1/trim.ql.java.out
new file mode 100644
index 0000000..ce45b10
--- /dev/null
+++ b/systemtest/testdata/1dset1/trim.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [4:8]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 5
+ 4 5 6 7 8 \ No newline at end of file
diff --git a/systemtest/testdata/1dset1/trim.ql.out b/systemtest/testdata/1dset1/trim.ql.out
new file mode 100644
index 0000000..ee9bbf4
--- /dev/null
+++ b/systemtest/testdata/1dset1/trim.ql.out
@@ -0,0 +1,14 @@
+-- Testbed line: result_type=set <marray <char, [4:8]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [4:8]>
+ Type Schema...........: marray< char >
+ Domain................: [4:8]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 5
+ 4 5 6 7 8
+-- Testbed end block:
diff --git a/systemtest/testdata/3dset1/proj1.ql b/systemtest/testdata/3dset1/proj1.ql
new file mode 100644
index 0000000..fce0d2b
--- /dev/null
+++ b/systemtest/testdata/3dset1/proj1.ql
@@ -0,0 +1,2 @@
+SELECT a[*:*,7,8]
+FROM CubeCharA AS a
diff --git a/systemtest/testdata/3dset1/proj1.ql.java.out b/systemtest/testdata/3dset1/proj1.ql.java.out
new file mode 100644
index 0000000..7ae2801
--- /dev/null
+++ b/systemtest/testdata/3dset1/proj1.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 11
+ 0 0 0 0 0 0 0 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/3dset1/proj1.ql.out b/systemtest/testdata/3dset1/proj1.ql.out
new file mode 100644
index 0000000..7568bc9
--- /dev/null
+++ b/systemtest/testdata/3dset1/proj1.ql.out
@@ -0,0 +1,14 @@
+-- Testbed line: result_type=set <marray <char, [0:10]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 11
+ 0 0 0 0 0 0 0 0 0 0 0
+-- Testbed end block:
diff --git a/systemtest/testdata/3dset1/proj2.ql b/systemtest/testdata/3dset1/proj2.ql
new file mode 100644
index 0000000..601c712
--- /dev/null
+++ b/systemtest/testdata/3dset1/proj2.ql
@@ -0,0 +1,2 @@
+SELECT a[7,8,*:*]
+FROM CubeCharA AS a
diff --git a/systemtest/testdata/3dset1/proj2.ql.java.out b/systemtest/testdata/3dset1/proj2.ql.java.out
new file mode 100644
index 0000000..7ae2801
--- /dev/null
+++ b/systemtest/testdata/3dset1/proj2.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 11
+ 0 0 0 0 0 0 0 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/3dset1/proj2.ql.out b/systemtest/testdata/3dset1/proj2.ql.out
new file mode 100644
index 0000000..7568bc9
--- /dev/null
+++ b/systemtest/testdata/3dset1/proj2.ql.out
@@ -0,0 +1,14 @@
+-- Testbed line: result_type=set <marray <char, [0:10]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 11
+ 0 0 0 0 0 0 0 0 0 0 0
+-- Testbed end block:
diff --git a/systemtest/testdata/3dset1/proj3.ql b/systemtest/testdata/3dset1/proj3.ql
new file mode 100644
index 0000000..436a266
--- /dev/null
+++ b/systemtest/testdata/3dset1/proj3.ql
@@ -0,0 +1,2 @@
+SELECT marray x in [0:0] values a[2,7,8]
+FROM CubeCharA AS a
diff --git a/systemtest/testdata/3dset1/proj3.ql.java.out b/systemtest/testdata/3dset1/proj3.ql.java.out
new file mode 100644
index 0000000..354d1e8
--- /dev/null
+++ b/systemtest/testdata/3dset1/proj3.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 1
+ 0 \ No newline at end of file
diff --git a/systemtest/testdata/3dset1/proj3.ql.out b/systemtest/testdata/3dset1/proj3.ql.out
new file mode 100644
index 0000000..d5fbdd9
--- /dev/null
+++ b/systemtest/testdata/3dset1/proj3.ql.out
@@ -0,0 +1,14 @@
+-- Testbed line: result_type=set <marray <char, [0:0]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:0]>
+ Type Schema...........: marray< char >
+ Domain................: [0:0]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 1
+ 0
+-- Testbed end block:
diff --git a/systemtest/testdata/bit/bit_01.ql b/systemtest/testdata/bit/bit_01.ql
new file mode 100644
index 0000000..37debb3
--- /dev/null
+++ b/systemtest/testdata/bit/bit_01.ql
@@ -0,0 +1,2 @@
+
+ select bit(a, 0) from ImgCharA as a -- F, T
diff --git a/systemtest/testdata/bit/bit_01.ql.java.out b/systemtest/testdata/bit/bit_01.ql.java.out
new file mode 100644
index 0000000..f2deb7a
--- /dev/null
+++ b/systemtest/testdata/bit/bit_01.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/bit/bit_01.ql.out b/systemtest/testdata/bit/bit_01.ql.out
new file mode 100644
index 0000000..53e26a4
--- /dev/null
+++ b/systemtest/testdata/bit/bit_01.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <bool, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <bool, [0:10,0:10]>
+ Type Schema...........: marray< bool >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: bool
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+Image 2
+GMarray
+ Type Structure........: marray <bool, [0:10,0:10]>
+ Type Schema...........: marray< bool >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: bool
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+-- Testbed end block:
diff --git a/systemtest/testdata/bit/bit_02.ql b/systemtest/testdata/bit/bit_02.ql
new file mode 100644
index 0000000..7bd737f
--- /dev/null
+++ b/systemtest/testdata/bit/bit_02.ql
@@ -0,0 +1,2 @@
+
+ select bit(a, 9) from ImgCharA as a -- F, F
diff --git a/systemtest/testdata/bit/bit_02.ql.java.out b/systemtest/testdata/bit/bit_02.ql.java.out
new file mode 100644
index 0000000..8315bc2
--- /dev/null
+++ b/systemtest/testdata/bit/bit_02.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/bit/bit_02.ql.out b/systemtest/testdata/bit/bit_02.ql.out
new file mode 100644
index 0000000..83e6fdb
--- /dev/null
+++ b/systemtest/testdata/bit/bit_02.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <bool, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <bool, [0:10,0:10]>
+ Type Schema...........: marray< bool >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: bool
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+Image 2
+GMarray
+ Type Structure........: marray <bool, [0:10,0:10]>
+ Type Schema...........: marray< bool >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: bool
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+-- Testbed end block:
diff --git a/systemtest/testdata/bit/bit_03.ql b/systemtest/testdata/bit/bit_03.ql
new file mode 100644
index 0000000..f63957d
--- /dev/null
+++ b/systemtest/testdata/bit/bit_03.ql
@@ -0,0 +1,2 @@
+
+ select bit(3, 0) from ImgCharA -- T
diff --git a/systemtest/testdata/bit/bit_03.ql.java.out b/systemtest/testdata/bit/bit_03.ql.java.out
new file mode 100644
index 0000000..9d60796
--- /dev/null
+++ b/systemtest/testdata/bit/bit_03.ql.java.out
@@ -0,0 +1 @@
+11 \ No newline at end of file
diff --git a/systemtest/testdata/bit/bit_03.ql.out b/systemtest/testdata/bit/bit_03.ql.out
new file mode 100644
index 0000000..89db772
--- /dev/null
+++ b/systemtest/testdata/bit/bit_03.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<bool>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: T
+Element 2: T
+-- Testbed end block:
diff --git a/systemtest/testdata/bit/bit_04.ql b/systemtest/testdata/bit/bit_04.ql
new file mode 100644
index 0000000..703dabf
--- /dev/null
+++ b/systemtest/testdata/bit/bit_04.ql
@@ -0,0 +1,2 @@
+
+ select bit(3, 1) from ImgCharA -- T
diff --git a/systemtest/testdata/bit/bit_04.ql.java.out b/systemtest/testdata/bit/bit_04.ql.java.out
new file mode 100644
index 0000000..9d60796
--- /dev/null
+++ b/systemtest/testdata/bit/bit_04.ql.java.out
@@ -0,0 +1 @@
+11 \ No newline at end of file
diff --git a/systemtest/testdata/bit/bit_04.ql.out b/systemtest/testdata/bit/bit_04.ql.out
new file mode 100644
index 0000000..89db772
--- /dev/null
+++ b/systemtest/testdata/bit/bit_04.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<bool>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: T
+Element 2: T
+-- Testbed end block:
diff --git a/systemtest/testdata/bit/bit_05.ql b/systemtest/testdata/bit/bit_05.ql
new file mode 100644
index 0000000..90a8a47
--- /dev/null
+++ b/systemtest/testdata/bit/bit_05.ql
@@ -0,0 +1,2 @@
+
+ select bit(3, 2) from ImgCharA -- F
diff --git a/systemtest/testdata/bit/bit_05.ql.java.out b/systemtest/testdata/bit/bit_05.ql.java.out
new file mode 100644
index 0000000..857f065
--- /dev/null
+++ b/systemtest/testdata/bit/bit_05.ql.java.out
@@ -0,0 +1 @@
+00 \ No newline at end of file
diff --git a/systemtest/testdata/bit/bit_05.ql.out b/systemtest/testdata/bit/bit_05.ql.out
new file mode 100644
index 0000000..7fda105
--- /dev/null
+++ b/systemtest/testdata/bit/bit_05.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<bool>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: F
+Element 2: F
+-- Testbed end block:
diff --git a/systemtest/testdata/bit/bit_06.ql b/systemtest/testdata/bit/bit_06.ql
new file mode 100644
index 0000000..d413f3b
--- /dev/null
+++ b/systemtest/testdata/bit/bit_06.ql
@@ -0,0 +1,2 @@
+
+ select bit(3, 3) from ImgCharA -- F
diff --git a/systemtest/testdata/bit/bit_06.ql.java.out b/systemtest/testdata/bit/bit_06.ql.java.out
new file mode 100644
index 0000000..857f065
--- /dev/null
+++ b/systemtest/testdata/bit/bit_06.ql.java.out
@@ -0,0 +1 @@
+00 \ No newline at end of file
diff --git a/systemtest/testdata/bit/bit_06.ql.out b/systemtest/testdata/bit/bit_06.ql.out
new file mode 100644
index 0000000..7fda105
--- /dev/null
+++ b/systemtest/testdata/bit/bit_06.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<bool>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: F
+Element 2: F
+-- Testbed end block:
diff --git a/systemtest/testdata/bit/bit_07.ql b/systemtest/testdata/bit/bit_07.ql
new file mode 100644
index 0000000..657d539
--- /dev/null
+++ b/systemtest/testdata/bit/bit_07.ql
@@ -0,0 +1,2 @@
+
+ select bit(3, 4) from ImgCharA -- F
diff --git a/systemtest/testdata/bit/bit_07.ql.java.out b/systemtest/testdata/bit/bit_07.ql.java.out
new file mode 100644
index 0000000..857f065
--- /dev/null
+++ b/systemtest/testdata/bit/bit_07.ql.java.out
@@ -0,0 +1 @@
+00 \ No newline at end of file
diff --git a/systemtest/testdata/bit/bit_07.ql.out b/systemtest/testdata/bit/bit_07.ql.out
new file mode 100644
index 0000000..7fda105
--- /dev/null
+++ b/systemtest/testdata/bit/bit_07.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<bool>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: F
+Element 2: F
+-- Testbed end block:
diff --git a/systemtest/testdata/bit/bit_08.ql b/systemtest/testdata/bit/bit_08.ql
new file mode 100644
index 0000000..d904288
--- /dev/null
+++ b/systemtest/testdata/bit/bit_08.ql
@@ -0,0 +1,2 @@
+
+ select bit(3, 5) from ImgCharA -- F
diff --git a/systemtest/testdata/bit/bit_08.ql.java.out b/systemtest/testdata/bit/bit_08.ql.java.out
new file mode 100644
index 0000000..857f065
--- /dev/null
+++ b/systemtest/testdata/bit/bit_08.ql.java.out
@@ -0,0 +1 @@
+00 \ No newline at end of file
diff --git a/systemtest/testdata/bit/bit_08.ql.out b/systemtest/testdata/bit/bit_08.ql.out
new file mode 100644
index 0000000..7fda105
--- /dev/null
+++ b/systemtest/testdata/bit/bit_08.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<bool>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: F
+Element 2: F
+-- Testbed end block:
diff --git a/systemtest/testdata/bit/bit_09.ql b/systemtest/testdata/bit/bit_09.ql
new file mode 100644
index 0000000..9c4dff2
--- /dev/null
+++ b/systemtest/testdata/bit/bit_09.ql
@@ -0,0 +1,2 @@
+
+ select bit(3, 6) from ImgCharA -- F
diff --git a/systemtest/testdata/bit/bit_09.ql.java.out b/systemtest/testdata/bit/bit_09.ql.java.out
new file mode 100644
index 0000000..857f065
--- /dev/null
+++ b/systemtest/testdata/bit/bit_09.ql.java.out
@@ -0,0 +1 @@
+00 \ No newline at end of file
diff --git a/systemtest/testdata/bit/bit_09.ql.out b/systemtest/testdata/bit/bit_09.ql.out
new file mode 100644
index 0000000..7fda105
--- /dev/null
+++ b/systemtest/testdata/bit/bit_09.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<bool>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: F
+Element 2: F
+-- Testbed end block:
diff --git a/systemtest/testdata/bit/bit_10.ql b/systemtest/testdata/bit/bit_10.ql
new file mode 100644
index 0000000..9fbcb5d
--- /dev/null
+++ b/systemtest/testdata/bit/bit_10.ql
@@ -0,0 +1,2 @@
+
+ select bit(3, 7) from ImgCharA -- F
diff --git a/systemtest/testdata/bit/bit_10.ql.java.out b/systemtest/testdata/bit/bit_10.ql.java.out
new file mode 100644
index 0000000..857f065
--- /dev/null
+++ b/systemtest/testdata/bit/bit_10.ql.java.out
@@ -0,0 +1 @@
+00 \ No newline at end of file
diff --git a/systemtest/testdata/bit/bit_10.ql.out b/systemtest/testdata/bit/bit_10.ql.out
new file mode 100644
index 0000000..7fda105
--- /dev/null
+++ b/systemtest/testdata/bit/bit_10.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<bool>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: F
+Element 2: F
+-- Testbed end block:
diff --git a/systemtest/testdata/bit/bit_11.ql b/systemtest/testdata/bit/bit_11.ql
new file mode 100644
index 0000000..230413f
--- /dev/null
+++ b/systemtest/testdata/bit/bit_11.ql
@@ -0,0 +1,2 @@
+
+ select bit(3, 8) from ImgCharA -- F
diff --git a/systemtest/testdata/bit/bit_11.ql.java.out b/systemtest/testdata/bit/bit_11.ql.java.out
new file mode 100644
index 0000000..857f065
--- /dev/null
+++ b/systemtest/testdata/bit/bit_11.ql.java.out
@@ -0,0 +1 @@
+00 \ No newline at end of file
diff --git a/systemtest/testdata/bit/bit_11.ql.out b/systemtest/testdata/bit/bit_11.ql.out
new file mode 100644
index 0000000..7fda105
--- /dev/null
+++ b/systemtest/testdata/bit/bit_11.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<bool>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: F
+Element 2: F
+-- Testbed end block:
diff --git a/systemtest/testdata/bit/bit_12.ql b/systemtest/testdata/bit/bit_12.ql
new file mode 100644
index 0000000..59c6043
--- /dev/null
+++ b/systemtest/testdata/bit/bit_12.ql
@@ -0,0 +1,2 @@
+
+ select bit(3, 10000) from ImgCharA -- F
diff --git a/systemtest/testdata/bit/bit_12.ql.java.out b/systemtest/testdata/bit/bit_12.ql.java.out
new file mode 100644
index 0000000..857f065
--- /dev/null
+++ b/systemtest/testdata/bit/bit_12.ql.java.out
@@ -0,0 +1 @@
+00 \ No newline at end of file
diff --git a/systemtest/testdata/bit/bit_12.ql.out b/systemtest/testdata/bit/bit_12.ql.out
new file mode 100644
index 0000000..7fda105
--- /dev/null
+++ b/systemtest/testdata/bit/bit_12.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<bool>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: F
+Element 2: F
+-- Testbed end block:
diff --git a/systemtest/testdata/bit/bit_13.ql b/systemtest/testdata/bit/bit_13.ql
new file mode 100644
index 0000000..cd6d7a1
--- /dev/null
+++ b/systemtest/testdata/bit/bit_13.ql
@@ -0,0 +1,2 @@
+
+ select bit(3.14, 2) from ImgCharA -- Err 365
diff --git a/systemtest/testdata/bit/bit_13.ql.java.out b/systemtest/testdata/bit/bit_13.ql.java.out
new file mode 100644
index 0000000..288cdab
--- /dev/null
+++ b/systemtest/testdata/bit/bit_13.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 365 in line 4, column 9, near token bit: Scalar types of binary operation are incompatible. \ No newline at end of file
diff --git a/systemtest/testdata/bit/bit_13.ql.out b/systemtest/testdata/bit/bit_13.ql.out
new file mode 100644
index 0000000..261350d
--- /dev/null
+++ b/systemtest/testdata/bit/bit_13.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=365
diff --git a/systemtest/testdata/bit/bit_14.ql b/systemtest/testdata/bit/bit_14.ql
new file mode 100644
index 0000000..29db6fb
--- /dev/null
+++ b/systemtest/testdata/bit/bit_14.ql
@@ -0,0 +1,2 @@
+
+ select bit(2, 3.14) from ImgCharA -- Err 418
diff --git a/systemtest/testdata/bit/bit_14.ql.java.out b/systemtest/testdata/bit/bit_14.ql.java.out
new file mode 100644
index 0000000..339ae35
--- /dev/null
+++ b/systemtest/testdata/bit/bit_14.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 418 in line 4, column 9, near token bit: Second operand of bit function must be of integral type. \ No newline at end of file
diff --git a/systemtest/testdata/bit/bit_14.ql.out b/systemtest/testdata/bit/bit_14.ql.out
new file mode 100644
index 0000000..3ee1d3a
--- /dev/null
+++ b/systemtest/testdata/bit/bit_14.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=418
diff --git a/systemtest/testdata/bit/bit_15.ql b/systemtest/testdata/bit/bit_15.ql
new file mode 100644
index 0000000..a03914e
--- /dev/null
+++ b/systemtest/testdata/bit/bit_15.ql
@@ -0,0 +1,2 @@
+
+ select bit({2, 3, 4}, 1) from ImgCharA -- {T, T, F}
diff --git a/systemtest/testdata/bit/bit_15.ql.java.out b/systemtest/testdata/bit/bit_15.ql.java.out
new file mode 100644
index 0000000..f8b474d
--- /dev/null
+++ b/systemtest/testdata/bit/bit_15.ql.java.out
@@ -0,0 +1,16 @@
+
+ RasRuntimeException: Exception: Base type typeName:
+ typeID: 7
+ typeSize: 2
+struct
+{
+ typeName: RAS_BOOLEAN
+ typeID: 16
+ typeSize: 1
+ 0,
+typeName: RAS_BOOLEAN
+ typeID: 16
+ typeSize: 1
+ 1
+}
+ as ElementType is not supported yet. \ No newline at end of file
diff --git a/systemtest/testdata/bit/bit_15.ql.out b/systemtest/testdata/bit/bit_15.ql.out
new file mode 100644
index 0000000..fb11d74
--- /dev/null
+++ b/systemtest/testdata/bit/bit_15.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<struct { bool 0, bool 1, bool 2 }>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: { T, T, F }
+Element 2: { T, T, F }
+-- Testbed end block:
diff --git a/systemtest/testdata/bit/bit_16.ql b/systemtest/testdata/bit/bit_16.ql
new file mode 100644
index 0000000..6516304
--- /dev/null
+++ b/systemtest/testdata/bit/bit_16.ql
@@ -0,0 +1,2 @@
+
+ select bit(3.14 * a, 2) from ImgRGBA as a -- Err 364
diff --git a/systemtest/testdata/bit/bit_16.ql.java.out b/systemtest/testdata/bit/bit_16.ql.java.out
new file mode 100644
index 0000000..6301cf7
--- /dev/null
+++ b/systemtest/testdata/bit/bit_16.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 364 in line 4, column 9, near token bit: Cell base type and scalar type of binary induce operation are incompatible. \ No newline at end of file
diff --git a/systemtest/testdata/bit/bit_16.ql.out b/systemtest/testdata/bit/bit_16.ql.out
new file mode 100644
index 0000000..c517ceb
--- /dev/null
+++ b/systemtest/testdata/bit/bit_16.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=364
diff --git a/systemtest/testdata/bugfixes/all_collections.ql b/systemtest/testdata/bugfixes/all_collections.ql
new file mode 100644
index 0000000..bdbc119
--- /dev/null
+++ b/systemtest/testdata/bugfixes/all_collections.ql
@@ -0,0 +1,4 @@
+/*+opt 0*/
+select a
+from RAS_COLLECTIONNAMES as a
+
diff --git a/systemtest/testdata/bugfixes/all_collections.ql.java.out b/systemtest/testdata/bugfixes/all_collections.ql.java.out
new file mode 100644
index 0000000..d5e7d87
--- /dev/null
+++ b/systemtest/testdata/bugfixes/all_collections.ql.java.out
@@ -0,0 +1,841 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:7]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 111 114 116 104 111 95 51 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:8]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 9
+ 111 114 116 104 111 114 103 98 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 11
+ 111 114 116 104 111 114 103 98 95 56 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:5]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 6
+ 116 107 49 48 48 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:7]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 111 114 116 104 111 95 49 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:6]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 7
+ 97 102 114 105 107 97 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:4]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 5
+ 99 110 105 103 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:7]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 114 111 99 107 105 101 115 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:8]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 9
+ 79 118 108 67 104 97 114 67 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 11
+ 111 114 116 104 111 114 103 98 95 52 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:5]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 6
+ 111 114 116 104 111 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:4]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 5
+ 116 107 50 53 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:7]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 111 114 116 104 111 95 50 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:9]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 10
+ 79 108 97 112 67 104 97 114 65 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:11]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 12
+ 83 116 114 105 110 103 67 104 97 114 65 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:9]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 10
+ 67 117 98 101 67 104 97 114 65 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:7]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 79 118 108 82 71 66 65 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:4]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 5
+ 116 107 49 48 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:7]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 111 114 116 104 111 95 52 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:7]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 111 114 116 104 111 95 56 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:2]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 3
+ 109 114 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:3]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 4
+ 109 114 50 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:6]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 7
+ 101 97 114 116 104 49 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:5]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 6
+ 101 97 114 116 104 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 11
+ 111 114 116 104 111 114 103 98 95 51 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:7]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 111 114 116 104 111 95 55 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:7]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 111 114 116 104 111 95 53 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:4]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 5
+ 116 107 53 48 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:8]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 9
+ 73 109 103 67 104 97 114 68 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:11]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 12
+ 73 109 103 67 104 97 114 77 97 115 107 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:9]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 10
+ 73 109 103 85 76 111 110 103 67 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:7]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 73 109 103 82 71 66 65 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:7]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 116 107 49 48 48 95 52 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:7]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 116 107 49 48 48 95 53 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:11]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 12
+ 116 101 115 116 115 101 112 122 108 105 98 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 11
+ 111 114 116 104 111 114 103 98 95 50 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:7]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 116 107 49 48 48 95 49 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:7]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 116 107 49 48 48 95 50 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 11
+ 116 111 109 111 95 99 117 98 101 100 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:8]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 9
+ 73 109 103 67 104 97 114 65 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:8]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 9
+ 73 109 103 67 104 97 114 66 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:8]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 9
+ 73 109 103 67 104 97 114 67 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 11
+ 111 114 116 104 111 114 103 98 95 49 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:7]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 116 107 49 48 48 95 54 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:7]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 116 107 49 48 48 95 55 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:7]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 111 114 116 104 111 95 54 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:7]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 79 118 108 82 71 66 66 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:7]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 79 118 108 82 71 66 67 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:8]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 9
+ 79 118 108 67 104 97 114 65 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:8]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 9
+ 79 118 108 67 104 97 114 66 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:5]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 6
+ 109 111 118 105 101 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:5]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 6
+ 97 114 114 111 119 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:11]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 12
+ 116 111 109 111 95 115 108 105 99 101 100 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 11
+ 111 114 116 104 111 114 103 98 95 53 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:4]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 5
+ 116 101 115 116 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:3]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 4
+ 114 103 98 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:4]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 5
+ 100 101 109 99 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 11
+ 111 114 116 104 111 114 103 98 95 54 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 11
+ 111 114 116 104 111 114 103 98 95 55 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:7]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 116 107 49 48 48 95 51 0 \ No newline at end of file
diff --git a/systemtest/testdata/bugfixes/all_collections.ql.out b/systemtest/testdata/bugfixes/all_collections.ql.out
new file mode 100644
index 0000000..3f4b87b
--- /dev/null
+++ b/systemtest/testdata/bugfixes/all_collections.ql.out
@@ -0,0 +1,164 @@
+-- Testbed line: result_type=set <marray <char, [0:8]>>
+-- Testbed line: result_elements=16
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:8]>
+ Type Schema...........: marray< char >
+ Domain................: [0:8]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 9
+ 73 109 103 67 104 97 114 67 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:8]>
+ Type Schema...........: marray< char >
+ Domain................: [0:8]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 9
+ 79 118 108 67 104 97 114 67 0
+Image 3
+GMarray
+ Type Structure........: marray <char, [0:7]>
+ Type Schema...........: marray< char >
+ Domain................: [0:7]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 8
+ 79 118 108 82 71 66 67 0
+Image 4
+GMarray
+ Type Structure........: marray <char, [0:8]>
+ Type Schema...........: marray< char >
+ Domain................: [0:8]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 9
+ 79 118 108 67 104 97 114 65 0
+Image 5
+GMarray
+ Type Structure........: marray <char, [0:8]>
+ Type Schema...........: marray< char >
+ Domain................: [0:8]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 9
+ 73 109 103 67 104 97 114 66 0
+Image 6
+GMarray
+ Type Structure........: marray <char, [0:7]>
+ Type Schema...........: marray< char >
+ Domain................: [0:7]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 8
+ 79 118 108 82 71 66 65 0
+Image 7
+GMarray
+ Type Structure........: marray <char, [0:7]>
+ Type Schema...........: marray< char >
+ Domain................: [0:7]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 8
+ 79 118 108 82 71 66 66 0
+Image 8
+GMarray
+ Type Structure........: marray <char, [0:7]>
+ Type Schema...........: marray< char >
+ Domain................: [0:7]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 8
+ 73 109 103 82 71 66 65 0
+Image 9
+GMarray
+ Type Structure........: marray <char, [0:8]>
+ Type Schema...........: marray< char >
+ Domain................: [0:8]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 9
+ 73 109 103 67 104 97 114 68 0
+Image 10
+GMarray
+ Type Structure........: marray <char, [0:11]>
+ Type Schema...........: marray< char >
+ Domain................: [0:11]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 12
+ 73 109 103 67 104 97 114 77 97 115 107 0
+Image 11
+GMarray
+ Type Structure........: marray <char, [0:9]>
+ Type Schema...........: marray< char >
+ Domain................: [0:9]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 10
+ 67 117 98 101 67 104 97 114 65 0
+Image 12
+GMarray
+ Type Structure........: marray <char, [0:9]>
+ Type Schema...........: marray< char >
+ Domain................: [0:9]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 10
+ 79 108 97 112 67 104 97 114 65 0
+Image 13
+GMarray
+ Type Structure........: marray <char, [0:8]>
+ Type Schema...........: marray< char >
+ Domain................: [0:8]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 9
+ 73 109 103 67 104 97 114 65 0
+Image 14
+GMarray
+ Type Structure........: marray <char, [0:11]>
+ Type Schema...........: marray< char >
+ Domain................: [0:11]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 12
+ 83 116 114 105 110 103 67 104 97 114 65 0
+Image 15
+GMarray
+ Type Structure........: marray <char, [0:9]>
+ Type Schema...........: marray< char >
+ Domain................: [0:9]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 10
+ 73 109 103 85 76 111 110 103 67 0
+Image 16
+GMarray
+ Type Structure........: marray <char, [0:8]>
+ Type Schema...........: marray< char >
+ Domain................: [0:8]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 9
+ 79 118 108 67 104 97 114 66 0
+-- Testbed end block:
diff --git a/systemtest/testdata/bugfixes/all_collections.ql.tmp b/systemtest/testdata/bugfixes/all_collections.ql.tmp
new file mode 100644
index 0000000..498e1f2
--- /dev/null
+++ b/systemtest/testdata/bugfixes/all_collections.ql.tmp
@@ -0,0 +1,164 @@
+-- Testbed line: result_type=set <marray <char, [0:8]>>
+-- Testbed line: result_elements=16
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:8]>
+ Type Schema...........: marray< char >
+ Domain................: [0:8]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 9
+ 73 109 103 67 104 97 114 65 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:8]>
+ Type Schema...........: marray< char >
+ Domain................: [0:8]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 9
+ 73 109 103 67 104 97 114 66 0
+Image 3
+GMarray
+ Type Structure........: marray <char, [0:8]>
+ Type Schema...........: marray< char >
+ Domain................: [0:8]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 9
+ 73 109 103 67 104 97 114 67 0
+Image 4
+GMarray
+ Type Structure........: marray <char, [0:8]>
+ Type Schema...........: marray< char >
+ Domain................: [0:8]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 9
+ 73 109 103 67 104 97 114 68 0
+Image 5
+GMarray
+ Type Structure........: marray <char, [0:11]>
+ Type Schema...........: marray< char >
+ Domain................: [0:11]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 12
+ 73 109 103 67 104 97 114 77 97 115 107 0
+Image 6
+GMarray
+ Type Structure........: marray <char, [0:9]>
+ Type Schema...........: marray< char >
+ Domain................: [0:9]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 10
+ 73 109 103 85 76 111 110 103 67 0
+Image 7
+GMarray
+ Type Structure........: marray <char, [0:7]>
+ Type Schema...........: marray< char >
+ Domain................: [0:7]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 8
+ 73 109 103 82 71 66 65 0
+Image 8
+GMarray
+ Type Structure........: marray <char, [0:9]>
+ Type Schema...........: marray< char >
+ Domain................: [0:9]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 10
+ 79 108 97 112 67 104 97 114 65 0
+Image 9
+GMarray
+ Type Structure........: marray <char, [0:11]>
+ Type Schema...........: marray< char >
+ Domain................: [0:11]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 12
+ 83 116 114 105 110 103 67 104 97 114 65 0
+Image 10
+GMarray
+ Type Structure........: marray <char, [0:9]>
+ Type Schema...........: marray< char >
+ Domain................: [0:9]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 10
+ 67 117 98 101 67 104 97 114 65 0
+Image 11
+GMarray
+ Type Structure........: marray <char, [0:7]>
+ Type Schema...........: marray< char >
+ Domain................: [0:7]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 8
+ 79 118 108 82 71 66 65 0
+Image 12
+GMarray
+ Type Structure........: marray <char, [0:7]>
+ Type Schema...........: marray< char >
+ Domain................: [0:7]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 8
+ 79 118 108 82 71 66 66 0
+Image 13
+GMarray
+ Type Structure........: marray <char, [0:7]>
+ Type Schema...........: marray< char >
+ Domain................: [0:7]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 8
+ 79 118 108 82 71 66 67 0
+Image 14
+GMarray
+ Type Structure........: marray <char, [0:8]>
+ Type Schema...........: marray< char >
+ Domain................: [0:8]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 9
+ 79 118 108 67 104 97 114 65 0
+Image 15
+GMarray
+ Type Structure........: marray <char, [0:8]>
+ Type Schema...........: marray< char >
+ Domain................: [0:8]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 9
+ 79 118 108 67 104 97 114 66 0
+Image 16
+GMarray
+ Type Structure........: marray <char, [0:8]>
+ Type Schema...........: marray< char >
+ Domain................: [0:8]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 9
+ 79 118 108 67 104 97 114 67 0
+-- Testbed end block:
diff --git a/systemtest/testdata/bugfixes/charcast.ql b/systemtest/testdata/bugfixes/charcast.ql
new file mode 100644
index 0000000..2e6aa80
--- /dev/null
+++ b/systemtest/testdata/bugfixes/charcast.ql
@@ -0,0 +1,2 @@
+select a<132
+from ImgCharA as a
diff --git a/systemtest/testdata/bugfixes/charcast.ql.java.out b/systemtest/testdata/bugfixes/charcast.ql.java.out
new file mode 100644
index 0000000..3b345ff
--- /dev/null
+++ b/systemtest/testdata/bugfixes/charcast.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/bugfixes/charcast.ql.out b/systemtest/testdata/bugfixes/charcast.ql.out
new file mode 100644
index 0000000..8de3580
--- /dev/null
+++ b/systemtest/testdata/bugfixes/charcast.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <bool, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <bool, [0:10,0:10]>
+ Type Schema...........: marray< bool >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: bool
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+Image 2
+GMarray
+ Type Structure........: marray <bool, [0:10,0:10]>
+ Type Schema...........: marray< bool >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: bool
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+-- Testbed end block:
diff --git a/systemtest/testdata/bugfixes/error308.ql b/systemtest/testdata/bugfixes/error308.ql
new file mode 100644
index 0000000..d5870ce
--- /dev/null
+++ b/systemtest/testdata/bugfixes/error308.ql
@@ -0,0 +1 @@
+select sdom(ImgULongC) \ No newline at end of file
diff --git a/systemtest/testdata/bugfixes/error308.ql.java.out b/systemtest/testdata/bugfixes/error308.ql.java.out
new file mode 100644
index 0000000..26e1b5c
--- /dev/null
+++ b/systemtest/testdata/bugfixes/error308.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Parsing error: Unexpected end of query. \ No newline at end of file
diff --git a/systemtest/testdata/bugfixes/error308.ql.out b/systemtest/testdata/bugfixes/error308.ql.out
new file mode 100644
index 0000000..d1ec6cb
--- /dev/null
+++ b/systemtest/testdata/bugfixes/error308.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=308
diff --git a/systemtest/testdata/bugfixes/floatcondense.ql b/systemtest/testdata/bugfixes/floatcondense.ql
new file mode 100644
index 0000000..7f213f0
--- /dev/null
+++ b/systemtest/testdata/bugfixes/floatcondense.ql
@@ -0,0 +1,4 @@
+select marray x in [0:0] values
+ condense + over y in sdom(a) using 1f
+from ImgCharA as a
+
diff --git a/systemtest/testdata/bugfixes/floatcondense.ql.java.out b/systemtest/testdata/bugfixes/floatcondense.ql.java.out
new file mode 100644
index 0000000..4baff43
--- /dev/null
+++ b/systemtest/testdata/bugfixes/floatcondense.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayFloat
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:31999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 4
+ 66 -14 0 0
+rasj.RasMArrayFloat
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:31999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 4
+ 66 -14 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/bugfixes/floatcondense.ql.out b/systemtest/testdata/bugfixes/floatcondense.ql.out
new file mode 100644
index 0000000..cfafb59
--- /dev/null
+++ b/systemtest/testdata/bugfixes/floatcondense.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <float, [0:0]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <float, [0:0]>
+ Type Schema...........: marray< float >
+ Domain................: [0:0]
+ Base Type Schema......: float
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 4
+ 121
+Image 2
+GMarray
+ Type Structure........: marray <float, [0:0]>
+ Type Schema...........: marray< float >
+ Domain................: [0:0]
+ Base Type Schema......: float
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 4
+ 121
+-- Testbed end block:
diff --git a/systemtest/testdata/caset1/cond1.ql b/systemtest/testdata/caset1/cond1.ql
new file mode 100644
index 0000000..695dcee
--- /dev/null
+++ b/systemtest/testdata/caset1/cond1.ql
@@ -0,0 +1,4 @@
+-- count cells and add value by induction
+
+select a + condense + over x in sdom(a) using 1c
+from ImgCharA as a
diff --git a/systemtest/testdata/caset1/cond1.ql.java.out b/systemtest/testdata/caset1/cond1.ql.java.out
new file mode 100644
index 0000000..0e601ce
--- /dev/null
+++ b/systemtest/testdata/caset1/cond1.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121 121
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 \ No newline at end of file
diff --git a/systemtest/testdata/caset1/cond1.ql.out b/systemtest/testdata/caset1/cond1.ql.out
new file mode 100644
index 0000000..92ac81e
--- /dev/null
+++ b/systemtest/testdata/caset1/cond1.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <char, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 121 121 121 121 121 121 121 121 121 121 121
+ 121 121 121 121 121 121 121 121 121 121 121
+ 121 121 121 121 121 121 121 121 121 121 121
+ 121 121 121 121 121 121 121 121 121 121 121
+ 121 121 121 121 121 121 121 121 121 121 121
+ 121 121 121 121 121 121 121 121 121 121 121
+ 121 121 121 121 121 121 121 121 121 121 121
+ 121 121 121 121 121 121 121 121 121 121 121
+ 121 121 121 121 121 121 121 121 121 121 121
+ 121 121 121 121 121 121 121 121 121 121 121
+ 121 121 121 121 121 121 121 121 121 121 121
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 122 122 122 122 122 122 122 122 122 122 122
+ 122 122 122 122 122 122 122 122 122 122 122
+ 122 122 122 122 122 122 122 122 122 122 122
+ 122 122 122 122 122 122 122 122 122 122 122
+ 122 122 122 122 122 122 122 122 122 122 122
+ 122 122 122 122 122 122 122 122 122 122 122
+ 122 122 122 122 122 122 122 122 122 122 122
+ 122 122 122 122 122 122 122 122 122 122 122
+ 122 122 122 122 122 122 122 122 122 122 122
+ 122 122 122 122 122 122 122 122 122 122 122
+ 122 122 122 122 122 122 122 122 122 122 122
+-- Testbed end block:
diff --git a/systemtest/testdata/caset1/cond2.ql b/systemtest/testdata/caset1/cond2.ql
new file mode 100644
index 0000000..75ee59a
--- /dev/null
+++ b/systemtest/testdata/caset1/cond2.ql
@@ -0,0 +1,4 @@
+-- sum cell values and add result by induction
+
+select a + condense + over x in sdom(a) using a[x]
+from ImgCharA as a
diff --git a/systemtest/testdata/caset1/cond2.ql.java.out b/systemtest/testdata/caset1/cond2.ql.java.out
new file mode 100644
index 0000000..8504c07
--- /dev/null
+++ b/systemtest/testdata/caset1/cond2.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 122 \ No newline at end of file
diff --git a/systemtest/testdata/caset1/cond2.ql.out b/systemtest/testdata/caset1/cond2.ql.out
new file mode 100644
index 0000000..873c469
--- /dev/null
+++ b/systemtest/testdata/caset1/cond2.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <char, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 122 122 122 122 122 122 122 122 122 122 122
+ 122 122 122 122 122 122 122 122 122 122 122
+ 122 122 122 122 122 122 122 122 122 122 122
+ 122 122 122 122 122 122 122 122 122 122 122
+ 122 122 122 122 122 122 122 122 122 122 122
+ 122 122 122 122 122 122 122 122 122 122 122
+ 122 122 122 122 122 122 122 122 122 122 122
+ 122 122 122 122 122 122 122 122 122 122 122
+ 122 122 122 122 122 122 122 122 122 122 122
+ 122 122 122 122 122 122 122 122 122 122 122
+ 122 122 122 122 122 122 122 122 122 122 122
+-- Testbed end block:
diff --git a/systemtest/testdata/caset1/count1.ql b/systemtest/testdata/caset1/count1.ql
new file mode 100644
index 0000000..a6bf41b
--- /dev/null
+++ b/systemtest/testdata/caset1/count1.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values count_cells( a >= 0 )
+from ImgCharA as a
+
diff --git a/systemtest/testdata/caset1/count1.ql.java.out b/systemtest/testdata/caset1/count1.ql.java.out
new file mode 100644
index 0000000..6e01fb6
--- /dev/null
+++ b/systemtest/testdata/caset1/count1.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:15999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 0 0 0 0 0 0 0 121
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:15999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 0 0 0 0 0 0 0 121 \ No newline at end of file
diff --git a/systemtest/testdata/caset1/count1.ql.out b/systemtest/testdata/caset1/count1.ql.out
new file mode 100644
index 0000000..5b55f5e
--- /dev/null
+++ b/systemtest/testdata/caset1/count1.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <ulong, [0:0]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:0]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:0]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 4
+ 121
+Image 2
+GMarray
+ Type Structure........: marray <ulong, [0:0]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:0]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 4
+ 121
+-- Testbed end block:
diff --git a/systemtest/testdata/caset1/count2.ql b/systemtest/testdata/caset1/count2.ql
new file mode 100644
index 0000000..da8e5eb
--- /dev/null
+++ b/systemtest/testdata/caset1/count2.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values count_cells( a > 100 )
+from ImgCharD as a
+
diff --git a/systemtest/testdata/caset1/count2.ql.java.out b/systemtest/testdata/caset1/count2.ql.java.out
new file mode 100644
index 0000000..ef66475
--- /dev/null
+++ b/systemtest/testdata/caset1/count2.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:15999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 0 0 0 0 0 0 0 20 \ No newline at end of file
diff --git a/systemtest/testdata/caset1/count2.ql.out b/systemtest/testdata/caset1/count2.ql.out
new file mode 100644
index 0000000..4470164
--- /dev/null
+++ b/systemtest/testdata/caset1/count2.ql.out
@@ -0,0 +1,14 @@
+-- Testbed line: result_type=set <marray <ulong, [0:0]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:0]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:0]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 4
+ 20
+-- Testbed end block:
diff --git a/systemtest/testdata/caset1/count3.ql b/systemtest/testdata/caset1/count3.ql
new file mode 100644
index 0000000..b5b874f
--- /dev/null
+++ b/systemtest/testdata/caset1/count3.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values count_cells( a >= 50 )
+from ImgULongC as a
+
diff --git a/systemtest/testdata/caset1/count3.ql.java.out b/systemtest/testdata/caset1/count3.ql.java.out
new file mode 100644
index 0000000..0c60742
--- /dev/null
+++ b/systemtest/testdata/caset1/count3.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:15999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 0 0 0 0 0 0 0 50 \ No newline at end of file
diff --git a/systemtest/testdata/caset1/count3.ql.out b/systemtest/testdata/caset1/count3.ql.out
new file mode 100644
index 0000000..6d8ec71
--- /dev/null
+++ b/systemtest/testdata/caset1/count3.ql.out
@@ -0,0 +1,14 @@
+-- Testbed line: result_type=set <marray <ulong, [0:0]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:0]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:0]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 4
+ 50
+-- Testbed end block:
diff --git a/systemtest/testdata/caset1/hist1.ql b/systemtest/testdata/caset1/hist1.ql
new file mode 100644
index 0000000..b601fa2
--- /dev/null
+++ b/systemtest/testdata/caset1/hist1.ql
@@ -0,0 +1,3 @@
+select marray n in [0:1] values
+ condense + over x in sdom(a) using (a[x] = n[0])*1c
+from ImgCharA as a
diff --git a/systemtest/testdata/caset1/hist1.ql.java.out b/systemtest/testdata/caset1/hist1.ql.java.out
new file mode 100644
index 0000000..6039b5e
--- /dev/null
+++ b/systemtest/testdata/caset1/hist1.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:1]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 2
+ 121 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:1]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 2
+ 0 121 \ No newline at end of file
diff --git a/systemtest/testdata/caset1/hist1.ql.out b/systemtest/testdata/caset1/hist1.ql.out
new file mode 100644
index 0000000..0f625b9
--- /dev/null
+++ b/systemtest/testdata/caset1/hist1.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <char, [0:1]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:1]>
+ Type Schema...........: marray< char >
+ Domain................: [0:1]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 2
+ 121 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:1]>
+ Type Schema...........: marray< char >
+ Domain................: [0:1]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 2
+ 0 121
+-- Testbed end block:
diff --git a/systemtest/testdata/caset1/hist2.ql b/systemtest/testdata/caset1/hist2.ql
new file mode 100644
index 0000000..8b0c746
--- /dev/null
+++ b/systemtest/testdata/caset1/hist2.ql
@@ -0,0 +1,4 @@
+select marray n in [0:1] values
+ condense + over x in sdom(a) where a[x] = n[0] using 1c
+from ImgCharA as a
+
diff --git a/systemtest/testdata/caset1/hist2.ql.java.out b/systemtest/testdata/caset1/hist2.ql.java.out
new file mode 100644
index 0000000..6039b5e
--- /dev/null
+++ b/systemtest/testdata/caset1/hist2.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:1]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 2
+ 121 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:1]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 2
+ 0 121 \ No newline at end of file
diff --git a/systemtest/testdata/caset1/hist2.ql.out b/systemtest/testdata/caset1/hist2.ql.out
new file mode 100644
index 0000000..0f625b9
--- /dev/null
+++ b/systemtest/testdata/caset1/hist2.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <char, [0:1]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:1]>
+ Type Schema...........: marray< char >
+ Domain................: [0:1]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 2
+ 121 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:1]>
+ Type Schema...........: marray< char >
+ Domain................: [0:1]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 2
+ 0 121
+-- Testbed end block:
diff --git a/systemtest/testdata/caset1/marray1.ql b/systemtest/testdata/caset1/marray1.ql
new file mode 100644
index 0000000..8ee87af
--- /dev/null
+++ b/systemtest/testdata/caset1/marray1.ql
@@ -0,0 +1,4 @@
+-- initialize marray with constant
+
+select marray x in sdom(a) values 1
+from ImgCharC as a
diff --git a/systemtest/testdata/caset1/marray1.ql.java.out b/systemtest/testdata/caset1/marray1.ql.java.out
new file mode 100644
index 0000000..f386b12
--- /dev/null
+++ b/systemtest/testdata/caset1/marray1.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 484
+ 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 484
+ 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 \ No newline at end of file
diff --git a/systemtest/testdata/caset1/marray1.ql.out b/systemtest/testdata/caset1/marray1.ql.out
new file mode 100644
index 0000000..3833bd7
--- /dev/null
+++ b/systemtest/testdata/caset1/marray1.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <long, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <long, [0:10,0:10]>
+ Type Schema...........: marray< long >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+Image 2
+GMarray
+ Type Structure........: marray <long, [0:10,0:10]>
+ Type Schema...........: marray< long >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/caset1/marray2.ql.out b/systemtest/testdata/caset1/marray2.ql.out
new file mode 100644
index 0000000..db49fb7
--- /dev/null
+++ b/systemtest/testdata/caset1/marray2.ql.out
@@ -0,0 +1,23 @@
+-- Testbed line: result_type=set <marray <ulong, [0:9,0:9]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:9,0:9]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:9,0:9]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 400
+ 0 1 2 3 4 5 6 7 8 9
+ 10 11 12 13 14 15 16 17 18 19
+ 20 21 22 23 24 25 26 27 28 29
+ 30 31 32 33 34 35 36 37 38 39
+ 40 41 42 43 44 45 46 47 48 49
+ 50 51 52 53 54 55 56 57 58 59
+ 60 61 62 63 64 65 66 67 68 69
+ 70 71 72 73 74 75 76 77 78 79
+ 80 81 82 83 84 85 86 87 88 89
+ 90 91 92 93 94 95 96 97 98 99
+-- Testbed end block:
diff --git a/systemtest/testdata/caset1/marray3.ql.out b/systemtest/testdata/caset1/marray3.ql.out
new file mode 100644
index 0000000..312dbd1
--- /dev/null
+++ b/systemtest/testdata/caset1/marray3.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <char, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2
+-- Testbed end block:
diff --git a/systemtest/testdata/caset1/marray4.ql b/systemtest/testdata/caset1/marray4.ql
new file mode 100644
index 0000000..4818975
--- /dev/null
+++ b/systemtest/testdata/caset1/marray4.ql
@@ -0,0 +1,4 @@
+-- mirror mdd objects with marray
+
+select marray x in sdom(a) values a[ sdom(a)[0].hi-x[0], x[1] ]
+from ImgULongC as a
diff --git a/systemtest/testdata/caset1/marray4.ql.java.out b/systemtest/testdata/caset1/marray4.ql.java.out
new file mode 100644
index 0000000..6045e9a
--- /dev/null
+++ b/systemtest/testdata/caset1/marray4.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:9,0:9]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 800
+ 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 19 0 0 0 0 0 0 0 29 0 0 0 0 0 0 0 39 0 0 0 0 0 0 0 49 0 0 0 0 0 0 0 59 0 0 0 0 0 0 0 69 0 0 0 0 0 0 0 79 0 0 0 0 0 0 0 89 0 0 0 0 0 0 0 99 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 18 0 0 0 0 0 0 0 28 0 0 0 0 0 0 0 38 0 0 0 0 0 0 0 48 0 0 0 0 0 0 0 58 0 0 0 0 0 0 0 68 0 0 0 0 0 0 0 78 0 0 0 0 0 0 0 88 0 0 0 0 0 0 0 98 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 17 0 0 0 0 0 0 0 27 0 0 0 0 0 0 0 37 0 0 0 0 0 0 0 47 0 0 0 0 0 0 0 57 0 0 0 0 0 0 0 67 0 0 0 0 0 0 0 77 0 0 0 0 0 0 0 87 0 0 0 0 0 0 0 97 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 16 0 0 0 0 0 0 0 26 0 0 0 0 0 0 0 36 0 0 0 0 0 0 0 46 0 0 0 0 0 0 0 56 0 0 0 0 0 0 0 66 0 0 0 0 0 0 0 76 0 0 0 0 0 0 0 86 0 0 0 0 0 0 0 96 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 15 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 35 0 0 0 0 0 0 0 45 0 0 0 0 0 0 0 55 0 0 0 0 0 0 0 65 0 0 0 0 0 0 0 75 0 0 0 0 0 0 0 85 0 0 0 0 0 0 0 95 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 14 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 34 0 0 0 0 0 0 0 44 0 0 0 0 0 0 0 54 0 0 0 0 0 0 0 64 0 0 0 0 0 0 0 74 0 0 0 0 0 0 0 84 0 0 0 0 0 0 0 94 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 13 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 33 0 0 0 0 0 0 0 43 0 0 0 0 0 0 0 53 0 0 0 0 0 0 0 63 0 0 0 0 0 0 0 73 0 0 0 0 0 0 0 83 0 0 0 0 0 0 0 93 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 12 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 32 0 0 0 0 0 0 0 42 0 0 0 0 0 0 0 52 0 0 0 0 0 0 0 62 0 0 0 0 0 0 0 72 0 0 0 0 0 0 0 82 0 0 0 0 0 0 0 92 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 31 0 0 0 0 0 0 0 41 0 0 0 0 0 0 0 51 0 0 0 0 0 0 0 61 0 0 0 0 0 0 0 71 0 0 0 0 0 0 0 81 0 0 0 0 0 0 0 91 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 20 0 0 0 0 0 0 0 30 0 0 0 0 0 0 0 40 0 0 0 0 0 0 0 50 0 0 0 0 0 0 0 60 0 0 0 0 0 0 0 70 0 0 0 0 0 0 0 80 0 0 0 0 0 0 0 90 \ No newline at end of file
diff --git a/systemtest/testdata/caset1/marray4.ql.out b/systemtest/testdata/caset1/marray4.ql.out
new file mode 100644
index 0000000..148c08f
--- /dev/null
+++ b/systemtest/testdata/caset1/marray4.ql.out
@@ -0,0 +1,23 @@
+-- Testbed line: result_type=set <marray <ulong, [0:9,0:9]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:9,0:9]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:9,0:9]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 400
+ 9 8 7 6 5 4 3 2 1 0
+ 19 18 17 16 15 14 13 12 11 10
+ 29 28 27 26 25 24 23 22 21 20
+ 39 38 37 36 35 34 33 32 31 30
+ 49 48 47 46 45 44 43 42 41 40
+ 59 58 57 56 55 54 53 52 51 50
+ 69 68 67 66 65 64 63 62 61 60
+ 79 78 77 76 75 74 73 72 71 70
+ 89 88 87 86 85 84 83 82 81 80
+ 99 98 97 96 95 94 93 92 91 90
+-- Testbed end block:
diff --git a/systemtest/testdata/caset1/olap1.ql b/systemtest/testdata/caset1/olap1.ql
new file mode 100644
index 0000000..0594e11
--- /dev/null
+++ b/systemtest/testdata/caset1/olap1.ql
@@ -0,0 +1,4 @@
+select marray x in [0:1,0:1] values
+ condense + over y in [0:6] using a[x[0]*7+y[0],x[1]]*1l
+from OlapCharA as a
+
diff --git a/systemtest/testdata/caset1/olap1.ql.java.out b/systemtest/testdata/caset1/olap1.ql.java.out
new file mode 100644
index 0000000..a2fd1cc
--- /dev/null
+++ b/systemtest/testdata/caset1/olap1.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:1,0:1]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 16
+ 0 0 0 21 0 0 0 119 0 0 0 70 0 0 0 -88 \ No newline at end of file
diff --git a/systemtest/testdata/caset1/olap1.ql.out b/systemtest/testdata/caset1/olap1.ql.out
new file mode 100644
index 0000000..91e70a1
--- /dev/null
+++ b/systemtest/testdata/caset1/olap1.ql.out
@@ -0,0 +1,15 @@
+-- Testbed line: result_type=set <marray <long, [0:1,0:1]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <long, [0:1,0:1]>
+ Type Schema...........: marray< long >
+ Domain................: [0:1,0:1]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 16
+ 21 70
+ 119 168
+-- Testbed end block:
diff --git a/systemtest/testdata/caset1/olap2.ql b/systemtest/testdata/caset1/olap2.ql
new file mode 100644
index 0000000..4c1b962
--- /dev/null
+++ b/systemtest/testdata/caset1/olap2.ql
@@ -0,0 +1,4 @@
+select marray x in [0:6,0:1] values
+ condense + over y in [0:1] using (a[x[0]+y[0]*7,x[1]])
+from OlapCharA as a
+
diff --git a/systemtest/testdata/caset1/olap2.ql.java.out b/systemtest/testdata/caset1/olap2.ql.java.out
new file mode 100644
index 0000000..1ddae78
--- /dev/null
+++ b/systemtest/testdata/caset1/olap2.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:6,0:1]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 14
+ 7 35 9 37 11 39 13 41 15 43 17 45 19 47 \ No newline at end of file
diff --git a/systemtest/testdata/caset1/olap2.ql.out b/systemtest/testdata/caset1/olap2.ql.out
new file mode 100644
index 0000000..fe211de
--- /dev/null
+++ b/systemtest/testdata/caset1/olap2.ql.out
@@ -0,0 +1,15 @@
+-- Testbed line: result_type=set <marray <char, [0:6,0:1]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:6,0:1]>
+ Type Schema...........: marray< char >
+ Domain................: [0:6,0:1]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 14
+ 7 9 11 13 15 17 19
+ 35 37 39 41 43 45 47
+-- Testbed end block:
diff --git a/systemtest/testdata/cast/cast_01.ql b/systemtest/testdata/cast/cast_01.ql
new file mode 100644
index 0000000..34bc3ec
--- /dev/null
+++ b/systemtest/testdata/cast/cast_01.ql
@@ -0,0 +1,2 @@
+
+ select (bool)3.14 from ImgCharA -- T
diff --git a/systemtest/testdata/cast/cast_01.ql.java.out b/systemtest/testdata/cast/cast_01.ql.java.out
new file mode 100644
index 0000000..dc7b54a
--- /dev/null
+++ b/systemtest/testdata/cast/cast_01.ql.java.out
@@ -0,0 +1 @@
+33 \ No newline at end of file
diff --git a/systemtest/testdata/cast/cast_01.ql.out b/systemtest/testdata/cast/cast_01.ql.out
new file mode 100644
index 0000000..89db772
--- /dev/null
+++ b/systemtest/testdata/cast/cast_01.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<bool>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: T
+Element 2: T
+-- Testbed end block:
diff --git a/systemtest/testdata/cast/cast_02.ql b/systemtest/testdata/cast/cast_02.ql
new file mode 100644
index 0000000..3e6bba0
--- /dev/null
+++ b/systemtest/testdata/cast/cast_02.ql
@@ -0,0 +1,2 @@
+
+ select (char)exp(1) from ImgCharA -- 2
diff --git a/systemtest/testdata/cast/cast_02.ql.java.out b/systemtest/testdata/cast/cast_02.ql.java.out
new file mode 100644
index 0000000..8fdd954
--- /dev/null
+++ b/systemtest/testdata/cast/cast_02.ql.java.out
@@ -0,0 +1 @@
+22 \ No newline at end of file
diff --git a/systemtest/testdata/cast/cast_02.ql.out b/systemtest/testdata/cast/cast_02.ql.out
new file mode 100644
index 0000000..19e8c1f
--- /dev/null
+++ b/systemtest/testdata/cast/cast_02.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<char>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 2
+Element 2: 2
+-- Testbed end block:
diff --git a/systemtest/testdata/cast/cast_03.ql b/systemtest/testdata/cast/cast_03.ql
new file mode 100644
index 0000000..76b9211
--- /dev/null
+++ b/systemtest/testdata/cast/cast_03.ql
@@ -0,0 +1,2 @@
+
+ select (octet)sqrt((long)2.4) from ImgCharA -- 1
diff --git a/systemtest/testdata/cast/cast_03.ql.java.out b/systemtest/testdata/cast/cast_03.ql.java.out
new file mode 100644
index 0000000..9d60796
--- /dev/null
+++ b/systemtest/testdata/cast/cast_03.ql.java.out
@@ -0,0 +1 @@
+11 \ No newline at end of file
diff --git a/systemtest/testdata/cast/cast_03.ql.out b/systemtest/testdata/cast/cast_03.ql.out
new file mode 100644
index 0000000..4c7aef4
--- /dev/null
+++ b/systemtest/testdata/cast/cast_03.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<octet>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1
+Element 2: 1
+-- Testbed end block:
diff --git a/systemtest/testdata/cast/cast_04.ql b/systemtest/testdata/cast/cast_04.ql
new file mode 100644
index 0000000..7367f5b
--- /dev/null
+++ b/systemtest/testdata/cast/cast_04.ql
@@ -0,0 +1,2 @@
+
+ select (short)3.14 from ImgCharA -- 3
diff --git a/systemtest/testdata/cast/cast_04.ql.java.out b/systemtest/testdata/cast/cast_04.ql.java.out
new file mode 100644
index 0000000..dc7b54a
--- /dev/null
+++ b/systemtest/testdata/cast/cast_04.ql.java.out
@@ -0,0 +1 @@
+33 \ No newline at end of file
diff --git a/systemtest/testdata/cast/cast_04.ql.out b/systemtest/testdata/cast/cast_04.ql.out
new file mode 100644
index 0000000..2dbd161
--- /dev/null
+++ b/systemtest/testdata/cast/cast_04.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<short>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 3
+Element 2: 3
+-- Testbed end block:
diff --git a/systemtest/testdata/cast/cast_05.ql b/systemtest/testdata/cast/cast_05.ql
new file mode 100644
index 0000000..7423782
--- /dev/null
+++ b/systemtest/testdata/cast/cast_05.ql
@@ -0,0 +1,2 @@
+
+ select (unsigned short)3.14 from ImgCharA -- 3
diff --git a/systemtest/testdata/cast/cast_05.ql.java.out b/systemtest/testdata/cast/cast_05.ql.java.out
new file mode 100644
index 0000000..dc7b54a
--- /dev/null
+++ b/systemtest/testdata/cast/cast_05.ql.java.out
@@ -0,0 +1 @@
+33 \ No newline at end of file
diff --git a/systemtest/testdata/cast/cast_05.ql.out b/systemtest/testdata/cast/cast_05.ql.out
new file mode 100644
index 0000000..a253c3b
--- /dev/null
+++ b/systemtest/testdata/cast/cast_05.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<ushort>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 3
+Element 2: 3
+-- Testbed end block:
diff --git a/systemtest/testdata/cast/cast_06.ql b/systemtest/testdata/cast/cast_06.ql
new file mode 100644
index 0000000..2dd1568
--- /dev/null
+++ b/systemtest/testdata/cast/cast_06.ql
@@ -0,0 +1,2 @@
+
+ select (long)3.14 from ImgCharA -- 3
diff --git a/systemtest/testdata/cast/cast_06.ql.java.out b/systemtest/testdata/cast/cast_06.ql.java.out
new file mode 100644
index 0000000..dc7b54a
--- /dev/null
+++ b/systemtest/testdata/cast/cast_06.ql.java.out
@@ -0,0 +1 @@
+33 \ No newline at end of file
diff --git a/systemtest/testdata/cast/cast_06.ql.out b/systemtest/testdata/cast/cast_06.ql.out
new file mode 100644
index 0000000..58af424
--- /dev/null
+++ b/systemtest/testdata/cast/cast_06.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<long>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 3
+Element 2: 3
+-- Testbed end block:
diff --git a/systemtest/testdata/cast/cast_07.ql b/systemtest/testdata/cast/cast_07.ql
new file mode 100644
index 0000000..84b7604
--- /dev/null
+++ b/systemtest/testdata/cast/cast_07.ql
@@ -0,0 +1,2 @@
+
+ select (unsigned long)3.14 from ImgCharA -- 3
diff --git a/systemtest/testdata/cast/cast_07.ql.java.out b/systemtest/testdata/cast/cast_07.ql.java.out
new file mode 100644
index 0000000..dc7b54a
--- /dev/null
+++ b/systemtest/testdata/cast/cast_07.ql.java.out
@@ -0,0 +1 @@
+33 \ No newline at end of file
diff --git a/systemtest/testdata/cast/cast_07.ql.out b/systemtest/testdata/cast/cast_07.ql.out
new file mode 100644
index 0000000..908e61c
--- /dev/null
+++ b/systemtest/testdata/cast/cast_07.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<ulong>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 3
+Element 2: 3
+-- Testbed end block:
diff --git a/systemtest/testdata/cast/cast_08.ql b/systemtest/testdata/cast/cast_08.ql
new file mode 100644
index 0000000..84b7604
--- /dev/null
+++ b/systemtest/testdata/cast/cast_08.ql
@@ -0,0 +1,2 @@
+
+ select (unsigned long)3.14 from ImgCharA -- 3
diff --git a/systemtest/testdata/cast/cast_08.ql.java.out b/systemtest/testdata/cast/cast_08.ql.java.out
new file mode 100644
index 0000000..dc7b54a
--- /dev/null
+++ b/systemtest/testdata/cast/cast_08.ql.java.out
@@ -0,0 +1 @@
+33 \ No newline at end of file
diff --git a/systemtest/testdata/cast/cast_08.ql.out b/systemtest/testdata/cast/cast_08.ql.out
new file mode 100644
index 0000000..908e61c
--- /dev/null
+++ b/systemtest/testdata/cast/cast_08.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<ulong>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 3
+Element 2: 3
+-- Testbed end block:
diff --git a/systemtest/testdata/cast/cast_09.ql b/systemtest/testdata/cast/cast_09.ql
new file mode 100644
index 0000000..7bbba5f
--- /dev/null
+++ b/systemtest/testdata/cast/cast_09.ql
@@ -0,0 +1,2 @@
+
+ select (float)1 from ImgCharA -- 1
diff --git a/systemtest/testdata/cast/cast_09.ql.java.out b/systemtest/testdata/cast/cast_09.ql.java.out
new file mode 100644
index 0000000..85aae69
--- /dev/null
+++ b/systemtest/testdata/cast/cast_09.ql.java.out
@@ -0,0 +1 @@
+1.01.0 \ No newline at end of file
diff --git a/systemtest/testdata/cast/cast_09.ql.out b/systemtest/testdata/cast/cast_09.ql.out
new file mode 100644
index 0000000..5fa7d5a
--- /dev/null
+++ b/systemtest/testdata/cast/cast_09.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<float>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1
+Element 2: 1
+-- Testbed end block:
diff --git a/systemtest/testdata/cast/cast_10.ql b/systemtest/testdata/cast/cast_10.ql
new file mode 100644
index 0000000..2bf7254
--- /dev/null
+++ b/systemtest/testdata/cast/cast_10.ql
@@ -0,0 +1,2 @@
+
+ select (double)1 from ImgCharA -- 1
diff --git a/systemtest/testdata/cast/cast_10.ql.java.out b/systemtest/testdata/cast/cast_10.ql.java.out
new file mode 100644
index 0000000..85aae69
--- /dev/null
+++ b/systemtest/testdata/cast/cast_10.ql.java.out
@@ -0,0 +1 @@
+1.01.0 \ No newline at end of file
diff --git a/systemtest/testdata/cast/cast_10.ql.out b/systemtest/testdata/cast/cast_10.ql.out
new file mode 100644
index 0000000..5b5eff0
--- /dev/null
+++ b/systemtest/testdata/cast/cast_10.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1
+Element 2: 1
+-- Testbed end block:
diff --git a/systemtest/testdata/cast/cast_11.ql b/systemtest/testdata/cast/cast_11.ql
new file mode 100644
index 0000000..817164f
--- /dev/null
+++ b/systemtest/testdata/cast/cast_11.ql
@@ -0,0 +1,2 @@
+
+ select (long)true from ImgCharA -- 1
diff --git a/systemtest/testdata/cast/cast_11.ql.java.out b/systemtest/testdata/cast/cast_11.ql.java.out
new file mode 100644
index 0000000..9d60796
--- /dev/null
+++ b/systemtest/testdata/cast/cast_11.ql.java.out
@@ -0,0 +1 @@
+11 \ No newline at end of file
diff --git a/systemtest/testdata/cast/cast_11.ql.out b/systemtest/testdata/cast/cast_11.ql.out
new file mode 100644
index 0000000..5f11d14
--- /dev/null
+++ b/systemtest/testdata/cast/cast_11.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<long>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1
+Element 2: 1
+-- Testbed end block:
diff --git a/systemtest/testdata/cast/cast_12.ql b/systemtest/testdata/cast/cast_12.ql
new file mode 100644
index 0000000..d4b8870
--- /dev/null
+++ b/systemtest/testdata/cast/cast_12.ql
@@ -0,0 +1,2 @@
+
+ select (float)true from ImgCharA -- 1
diff --git a/systemtest/testdata/cast/cast_12.ql.java.out b/systemtest/testdata/cast/cast_12.ql.java.out
new file mode 100644
index 0000000..85aae69
--- /dev/null
+++ b/systemtest/testdata/cast/cast_12.ql.java.out
@@ -0,0 +1 @@
+1.01.0 \ No newline at end of file
diff --git a/systemtest/testdata/cast/cast_12.ql.out b/systemtest/testdata/cast/cast_12.ql.out
new file mode 100644
index 0000000..5fa7d5a
--- /dev/null
+++ b/systemtest/testdata/cast/cast_12.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<float>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1
+Element 2: 1
+-- Testbed end block:
diff --git a/systemtest/testdata/cast/cast_13.ql b/systemtest/testdata/cast/cast_13.ql
new file mode 100644
index 0000000..135bd52
--- /dev/null
+++ b/systemtest/testdata/cast/cast_13.ql
@@ -0,0 +1,2 @@
+
+ select (float)count_cells((bool)a) from ImgCharA as a --
diff --git a/systemtest/testdata/cast/cast_13.ql.java.out b/systemtest/testdata/cast/cast_13.ql.java.out
new file mode 100644
index 0000000..19f508f
--- /dev/null
+++ b/systemtest/testdata/cast/cast_13.ql.java.out
@@ -0,0 +1 @@
+0.0121.0 \ No newline at end of file
diff --git a/systemtest/testdata/cast/cast_13.ql.out b/systemtest/testdata/cast/cast_13.ql.out
new file mode 100644
index 0000000..a20d8ee
--- /dev/null
+++ b/systemtest/testdata/cast/cast_13.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<float>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0
+Element 2: 121
+-- Testbed end block:
diff --git a/systemtest/testdata/cast/cast_14.ql b/systemtest/testdata/cast/cast_14.ql
new file mode 100644
index 0000000..cab030c
--- /dev/null
+++ b/systemtest/testdata/cast/cast_14.ql
@@ -0,0 +1 @@
+select count_cells(((bool)a).red) from ImgRGBA as a -- 121
diff --git a/systemtest/testdata/cast/cast_14.ql.java.out b/systemtest/testdata/cast/cast_14.ql.java.out
new file mode 100644
index 0000000..e81ca37
--- /dev/null
+++ b/systemtest/testdata/cast/cast_14.ql.java.out
@@ -0,0 +1 @@
+121121 \ No newline at end of file
diff --git a/systemtest/testdata/cast/cast_14.ql.out b/systemtest/testdata/cast/cast_14.ql.out
new file mode 100644
index 0000000..0c2802d
--- /dev/null
+++ b/systemtest/testdata/cast/cast_14.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<ulong>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 121
+Element 2: 121
+-- Testbed end block:
diff --git a/systemtest/testdata/cast/cast_15.ql b/systemtest/testdata/cast/cast_15.ql
new file mode 100644
index 0000000..2f00802
--- /dev/null
+++ b/systemtest/testdata/cast/cast_15.ql
@@ -0,0 +1,5 @@
+select (
+ 2 * { 1, { 0, 0.3, 1.3 } } +
+ 4 * { 3, { -1, 0f, 1f } }
+ )
+from ImgCharA as a -- { 14, { -4, 0.6, 6.6 } }
diff --git a/systemtest/testdata/cast/cast_15.ql.java.out b/systemtest/testdata/cast/cast_15.ql.java.out
new file mode 100644
index 0000000..b4dc813
--- /dev/null
+++ b/systemtest/testdata/cast/cast_15.ql.java.out
@@ -0,0 +1,4 @@
+
+ RasRuntimeException: Exception: Base type typeName:
+ typeID: 0
+ as RasCollectionType is not supported yet. \ No newline at end of file
diff --git a/systemtest/testdata/cast/cast_15.ql.out b/systemtest/testdata/cast/cast_15.ql.out
new file mode 100644
index 0000000..bf9cea6
--- /dev/null
+++ b/systemtest/testdata/cast/cast_15.ql.out
@@ -0,0 +1,8 @@
+-- Testbed line: result_type=set<struct { long 0, struct { long 0, float 1, float 2 } 1 }>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: { 14, { -4, 0.6, 6.6 }
+ }
+Element 2: { 14, { -4, 0.6, 6.6 }
+ }
+-- Testbed end block:
diff --git a/systemtest/testdata/cast/cast_16.ql b/systemtest/testdata/cast/cast_16.ql
new file mode 100644
index 0000000..805beba
--- /dev/null
+++ b/systemtest/testdata/cast/cast_16.ql
@@ -0,0 +1,5 @@
+select (octet)(
+ 2 * { 1, { 0, 0.3, 1.3 } } +
+ 4 * { 3, { -1, 0f, 1f } }
+ )
+from ImgCharA as a -- {14, {-4, 0, 6} } }
diff --git a/systemtest/testdata/cast/cast_16.ql.java.out b/systemtest/testdata/cast/cast_16.ql.java.out
new file mode 100644
index 0000000..b4dc813
--- /dev/null
+++ b/systemtest/testdata/cast/cast_16.ql.java.out
@@ -0,0 +1,4 @@
+
+ RasRuntimeException: Exception: Base type typeName:
+ typeID: 0
+ as RasCollectionType is not supported yet. \ No newline at end of file
diff --git a/systemtest/testdata/cast/cast_16.ql.out b/systemtest/testdata/cast/cast_16.ql.out
new file mode 100644
index 0000000..1750992
--- /dev/null
+++ b/systemtest/testdata/cast/cast_16.ql.out
@@ -0,0 +1,8 @@
+-- Testbed line: result_type=set<struct { octet 0, struct { octet 0, octet 1, octet 2 } 1 }>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: { 14, { -4, 0, 6 }
+ }
+Element 2: { 14, { -4, 0, 6 }
+ }
+-- Testbed end block:
diff --git a/systemtest/testdata/cast/cast_17.ql b/systemtest/testdata/cast/cast_17.ql
new file mode 100644
index 0000000..752b10a
--- /dev/null
+++ b/systemtest/testdata/cast/cast_17.ql
@@ -0,0 +1,5 @@
+select (char)(
+ 2 * { 1, { 0, 0.3, 1.3 } } +
+ 4 * { 3, { -1, 0f, 1f } }
+ )
+from ImgCharA as a -- { 14, { 255, 0, 6 } }
diff --git a/systemtest/testdata/cast/cast_17.ql.java.out b/systemtest/testdata/cast/cast_17.ql.java.out
new file mode 100644
index 0000000..b4dc813
--- /dev/null
+++ b/systemtest/testdata/cast/cast_17.ql.java.out
@@ -0,0 +1,4 @@
+
+ RasRuntimeException: Exception: Base type typeName:
+ typeID: 0
+ as RasCollectionType is not supported yet. \ No newline at end of file
diff --git a/systemtest/testdata/cast/cast_17.ql.out b/systemtest/testdata/cast/cast_17.ql.out
new file mode 100644
index 0000000..1996a23
--- /dev/null
+++ b/systemtest/testdata/cast/cast_17.ql.out
@@ -0,0 +1,8 @@
+-- Testbed line: result_type=set<struct { char 0, struct { char 0, char 1, char 2 } 1 }>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: { 14, { 255, 0, 6 }
+ }
+Element 2: { 14, { 255, 0, 6 }
+ }
+-- Testbed end block:
diff --git a/systemtest/testdata/cast/cast_18.ql b/systemtest/testdata/cast/cast_18.ql
new file mode 100644
index 0000000..a26f7a9
--- /dev/null
+++ b/systemtest/testdata/cast/cast_18.ql
@@ -0,0 +1,5 @@
+select (bool)(
+ 2 * { 1, { 0, 0.3, 1.3 } } +
+ 4 * { 3, { -1, 0f, 1f } }
+ )
+from ImgCharA as a -- { T, { T, F, T } }
diff --git a/systemtest/testdata/cast/cast_18.ql.java.out b/systemtest/testdata/cast/cast_18.ql.java.out
new file mode 100644
index 0000000..b4dc813
--- /dev/null
+++ b/systemtest/testdata/cast/cast_18.ql.java.out
@@ -0,0 +1,4 @@
+
+ RasRuntimeException: Exception: Base type typeName:
+ typeID: 0
+ as RasCollectionType is not supported yet. \ No newline at end of file
diff --git a/systemtest/testdata/cast/cast_18.ql.out b/systemtest/testdata/cast/cast_18.ql.out
new file mode 100644
index 0000000..e459e73
--- /dev/null
+++ b/systemtest/testdata/cast/cast_18.ql.out
@@ -0,0 +1,8 @@
+-- Testbed line: result_type=set<struct { bool 0, struct { bool 0, bool 1, bool 2 } 1 }>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: { T, { T, F, T }
+ }
+Element 2: { T, { T, F, T }
+ }
+-- Testbed end block:
diff --git a/systemtest/testdata/complex/complex01.ql b/systemtest/testdata/complex/complex01.ql
new file mode 100644
index 0000000..25c08c5
--- /dev/null
+++ b/systemtest/testdata/complex/complex01.ql
@@ -0,0 +1 @@
+select complex(3.14, 10f) from ImgCharD -- complex1(3.14, 10) \ No newline at end of file
diff --git a/systemtest/testdata/complex/complex01.ql.java.out b/systemtest/testdata/complex/complex01.ql.java.out
new file mode 100644
index 0000000..b4dc813
--- /dev/null
+++ b/systemtest/testdata/complex/complex01.ql.java.out
@@ -0,0 +1,4 @@
+
+ RasRuntimeException: Exception: Base type typeName:
+ typeID: 0
+ as RasCollectionType is not supported yet. \ No newline at end of file
diff --git a/systemtest/testdata/complex/complex01.ql.out b/systemtest/testdata/complex/complex01.ql.out
new file mode 100644
index 0000000..37568f5
--- /dev/null
+++ b/systemtest/testdata/complex/complex01.ql.out
@@ -0,0 +1,5 @@
+-- Testbed line: result_type=set<complex>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Element 1: (3.14, 10)
+-- Testbed end block:
diff --git a/systemtest/testdata/complex/complex02.ql b/systemtest/testdata/complex/complex02.ql
new file mode 100644
index 0000000..5c62493
--- /dev/null
+++ b/systemtest/testdata/complex/complex02.ql
@@ -0,0 +1 @@
+select complex(3.14, 6.28f) + complex(100f, 200f) from ImgCharD -- complex1(103.14, 206.28) \ No newline at end of file
diff --git a/systemtest/testdata/complex/complex02.ql.java.out b/systemtest/testdata/complex/complex02.ql.java.out
new file mode 100644
index 0000000..b4dc813
--- /dev/null
+++ b/systemtest/testdata/complex/complex02.ql.java.out
@@ -0,0 +1,4 @@
+
+ RasRuntimeException: Exception: Base type typeName:
+ typeID: 0
+ as RasCollectionType is not supported yet. \ No newline at end of file
diff --git a/systemtest/testdata/complex/complex02.ql.out b/systemtest/testdata/complex/complex02.ql.out
new file mode 100644
index 0000000..a0487fd
--- /dev/null
+++ b/systemtest/testdata/complex/complex02.ql.out
@@ -0,0 +1,5 @@
+-- Testbed line: result_type=set<complex>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Element 1: (103.14, 206.28)
+-- Testbed end block:
diff --git a/systemtest/testdata/complex/complex03.ql b/systemtest/testdata/complex/complex03.ql
new file mode 100644
index 0000000..1f6c2d1
--- /dev/null
+++ b/systemtest/testdata/complex/complex03.ql
@@ -0,0 +1 @@
+select complex(3.14, 6.28f) - complex(100f, 200f) from ImgCharD -- complex1(-96.86, 193.72) \ No newline at end of file
diff --git a/systemtest/testdata/complex/complex03.ql.java.out b/systemtest/testdata/complex/complex03.ql.java.out
new file mode 100644
index 0000000..b4dc813
--- /dev/null
+++ b/systemtest/testdata/complex/complex03.ql.java.out
@@ -0,0 +1,4 @@
+
+ RasRuntimeException: Exception: Base type typeName:
+ typeID: 0
+ as RasCollectionType is not supported yet. \ No newline at end of file
diff --git a/systemtest/testdata/complex/complex03.ql.out b/systemtest/testdata/complex/complex03.ql.out
new file mode 100644
index 0000000..b477fe1
--- /dev/null
+++ b/systemtest/testdata/complex/complex03.ql.out
@@ -0,0 +1,5 @@
+-- Testbed line: result_type=set<complex>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Element 1: (-96.86, -193.72)
+-- Testbed end block:
diff --git a/systemtest/testdata/complex/complex04.ql b/systemtest/testdata/complex/complex04.ql
new file mode 100644
index 0000000..fa94e91
--- /dev/null
+++ b/systemtest/testdata/complex/complex04.ql
@@ -0,0 +1 @@
+select complex(10f, 20f) * complex(3.0, 4.0) from ImgCharD -- complex1(-50, 100) \ No newline at end of file
diff --git a/systemtest/testdata/complex/complex04.ql.java.out b/systemtest/testdata/complex/complex04.ql.java.out
new file mode 100644
index 0000000..b4dc813
--- /dev/null
+++ b/systemtest/testdata/complex/complex04.ql.java.out
@@ -0,0 +1,4 @@
+
+ RasRuntimeException: Exception: Base type typeName:
+ typeID: 0
+ as RasCollectionType is not supported yet. \ No newline at end of file
diff --git a/systemtest/testdata/complex/complex04.ql.out b/systemtest/testdata/complex/complex04.ql.out
new file mode 100644
index 0000000..d0407b2
--- /dev/null
+++ b/systemtest/testdata/complex/complex04.ql.out
@@ -0,0 +1,5 @@
+-- Testbed line: result_type=set<complex>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Element 1: (-50, 100)
+-- Testbed end block:
diff --git a/systemtest/testdata/complex/complex05.ql b/systemtest/testdata/complex/complex05.ql
new file mode 100644
index 0000000..9c6cab9
--- /dev/null
+++ b/systemtest/testdata/complex/complex05.ql
@@ -0,0 +1 @@
+select complex(10f, 20f) / complex(1.0, 2.0) from ImgCharD -- complex1(10, 0) \ No newline at end of file
diff --git a/systemtest/testdata/complex/complex05.ql.java.out b/systemtest/testdata/complex/complex05.ql.java.out
new file mode 100644
index 0000000..b4dc813
--- /dev/null
+++ b/systemtest/testdata/complex/complex05.ql.java.out
@@ -0,0 +1,4 @@
+
+ RasRuntimeException: Exception: Base type typeName:
+ typeID: 0
+ as RasCollectionType is not supported yet. \ No newline at end of file
diff --git a/systemtest/testdata/complex/complex05.ql.out b/systemtest/testdata/complex/complex05.ql.out
new file mode 100644
index 0000000..ddd98e6
--- /dev/null
+++ b/systemtest/testdata/complex/complex05.ql.out
@@ -0,0 +1,5 @@
+-- Testbed line: result_type=set<complex>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Element 1: (10, 0)
+-- Testbed end block:
diff --git a/systemtest/testdata/complex/complex06.ql b/systemtest/testdata/complex/complex06.ql
new file mode 100644
index 0000000..9f510c6
--- /dev/null
+++ b/systemtest/testdata/complex/complex06.ql
@@ -0,0 +1 @@
+select complex(3.14d, 6.28d) + complex(100d, 200d) from ImgCharD -- complex2(103.14, 206.28) \ No newline at end of file
diff --git a/systemtest/testdata/complex/complex06.ql.java.out b/systemtest/testdata/complex/complex06.ql.java.out
new file mode 100644
index 0000000..b4dc813
--- /dev/null
+++ b/systemtest/testdata/complex/complex06.ql.java.out
@@ -0,0 +1,4 @@
+
+ RasRuntimeException: Exception: Base type typeName:
+ typeID: 0
+ as RasCollectionType is not supported yet. \ No newline at end of file
diff --git a/systemtest/testdata/complex/complex06.ql.out b/systemtest/testdata/complex/complex06.ql.out
new file mode 100644
index 0000000..c9357dc
--- /dev/null
+++ b/systemtest/testdata/complex/complex06.ql.out
@@ -0,0 +1,5 @@
+-- Testbed line: result_type=set<complexd>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Element 1: (103.14, 206.28)
+-- Testbed end block:
diff --git a/systemtest/testdata/complex/complex07.ql b/systemtest/testdata/complex/complex07.ql
new file mode 100644
index 0000000..27e9b54
--- /dev/null
+++ b/systemtest/testdata/complex/complex07.ql
@@ -0,0 +1 @@
+select complex(3.14d, 6.28d) - complex(100d, 200d) from ImgCharD -- complex2(-96.86, 193.72) \ No newline at end of file
diff --git a/systemtest/testdata/complex/complex07.ql.java.out b/systemtest/testdata/complex/complex07.ql.java.out
new file mode 100644
index 0000000..b4dc813
--- /dev/null
+++ b/systemtest/testdata/complex/complex07.ql.java.out
@@ -0,0 +1,4 @@
+
+ RasRuntimeException: Exception: Base type typeName:
+ typeID: 0
+ as RasCollectionType is not supported yet. \ No newline at end of file
diff --git a/systemtest/testdata/complex/complex07.ql.out b/systemtest/testdata/complex/complex07.ql.out
new file mode 100644
index 0000000..e5b41ab
--- /dev/null
+++ b/systemtest/testdata/complex/complex07.ql.out
@@ -0,0 +1,5 @@
+-- Testbed line: result_type=set<complexd>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Element 1: (-96.86, -193.72)
+-- Testbed end block:
diff --git a/systemtest/testdata/complex/complex08.ql b/systemtest/testdata/complex/complex08.ql
new file mode 100644
index 0000000..3b89fae
--- /dev/null
+++ b/systemtest/testdata/complex/complex08.ql
@@ -0,0 +1 @@
+select complex(10d, 20d) * complex(3.0d, 4.0d) from ImgCharD -- complex2(-50, 100) \ No newline at end of file
diff --git a/systemtest/testdata/complex/complex08.ql.java.out b/systemtest/testdata/complex/complex08.ql.java.out
new file mode 100644
index 0000000..b4dc813
--- /dev/null
+++ b/systemtest/testdata/complex/complex08.ql.java.out
@@ -0,0 +1,4 @@
+
+ RasRuntimeException: Exception: Base type typeName:
+ typeID: 0
+ as RasCollectionType is not supported yet. \ No newline at end of file
diff --git a/systemtest/testdata/complex/complex08.ql.out b/systemtest/testdata/complex/complex08.ql.out
new file mode 100644
index 0000000..2575c9f
--- /dev/null
+++ b/systemtest/testdata/complex/complex08.ql.out
@@ -0,0 +1,5 @@
+-- Testbed line: result_type=set<complexd>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Element 1: (-50, 100)
+-- Testbed end block:
diff --git a/systemtest/testdata/complex/complex09.ql b/systemtest/testdata/complex/complex09.ql
new file mode 100644
index 0000000..847815a
--- /dev/null
+++ b/systemtest/testdata/complex/complex09.ql
@@ -0,0 +1 @@
+select complex(10d, 20d) / complex(1.0d, 2.0d) from ImgCharD -- complex2(10, 0) \ No newline at end of file
diff --git a/systemtest/testdata/complex/complex09.ql.java.out b/systemtest/testdata/complex/complex09.ql.java.out
new file mode 100644
index 0000000..b4dc813
--- /dev/null
+++ b/systemtest/testdata/complex/complex09.ql.java.out
@@ -0,0 +1,4 @@
+
+ RasRuntimeException: Exception: Base type typeName:
+ typeID: 0
+ as RasCollectionType is not supported yet. \ No newline at end of file
diff --git a/systemtest/testdata/complex/complex09.ql.out b/systemtest/testdata/complex/complex09.ql.out
new file mode 100644
index 0000000..a277bd1
--- /dev/null
+++ b/systemtest/testdata/complex/complex09.ql.out
@@ -0,0 +1,5 @@
+-- Testbed line: result_type=set<complexd>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Element 1: (10, 0)
+-- Testbed end block:
diff --git a/systemtest/testdata/complex/complex10.ql b/systemtest/testdata/complex/complex10.ql
new file mode 100644
index 0000000..811e04e
--- /dev/null
+++ b/systemtest/testdata/complex/complex10.ql
@@ -0,0 +1 @@
+select complex(10f, 20f) / complex(1.0d, 2.0d) from ImgCharD -- complex2(10, 0) \ No newline at end of file
diff --git a/systemtest/testdata/complex/complex10.ql.java.out b/systemtest/testdata/complex/complex10.ql.java.out
new file mode 100644
index 0000000..b4dc813
--- /dev/null
+++ b/systemtest/testdata/complex/complex10.ql.java.out
@@ -0,0 +1,4 @@
+
+ RasRuntimeException: Exception: Base type typeName:
+ typeID: 0
+ as RasCollectionType is not supported yet. \ No newline at end of file
diff --git a/systemtest/testdata/complex/complex10.ql.out b/systemtest/testdata/complex/complex10.ql.out
new file mode 100644
index 0000000..a277bd1
--- /dev/null
+++ b/systemtest/testdata/complex/complex10.ql.out
@@ -0,0 +1,5 @@
+-- Testbed line: result_type=set<complexd>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Element 1: (10, 0)
+-- Testbed end block:
diff --git a/systemtest/testdata/complex/complex11.ql b/systemtest/testdata/complex/complex11.ql
new file mode 100644
index 0000000..a9557b2
--- /dev/null
+++ b/systemtest/testdata/complex/complex11.ql
@@ -0,0 +1 @@
+select 10.0 / complex(1.0d, 2.0d) from ImgCharD -- complex2(2, -4) \ No newline at end of file
diff --git a/systemtest/testdata/complex/complex11.ql.java.out b/systemtest/testdata/complex/complex11.ql.java.out
new file mode 100644
index 0000000..b4dc813
--- /dev/null
+++ b/systemtest/testdata/complex/complex11.ql.java.out
@@ -0,0 +1,4 @@
+
+ RasRuntimeException: Exception: Base type typeName:
+ typeID: 0
+ as RasCollectionType is not supported yet. \ No newline at end of file
diff --git a/systemtest/testdata/complex/complex11.ql.out b/systemtest/testdata/complex/complex11.ql.out
new file mode 100644
index 0000000..428b61b
--- /dev/null
+++ b/systemtest/testdata/complex/complex11.ql.out
@@ -0,0 +1,5 @@
+-- Testbed line: result_type=set<complexd>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Element 1: (2, -4)
+-- Testbed end block:
diff --git a/systemtest/testdata/complex/complex12.ql b/systemtest/testdata/complex/complex12.ql
new file mode 100644
index 0000000..8a2166f
--- /dev/null
+++ b/systemtest/testdata/complex/complex12.ql
@@ -0,0 +1 @@
+select complex(10.0d, 20.0d) / 5 from ImgCharD -- complex2(2.0, 4.0) \ No newline at end of file
diff --git a/systemtest/testdata/complex/complex12.ql.java.out b/systemtest/testdata/complex/complex12.ql.java.out
new file mode 100644
index 0000000..b4dc813
--- /dev/null
+++ b/systemtest/testdata/complex/complex12.ql.java.out
@@ -0,0 +1,4 @@
+
+ RasRuntimeException: Exception: Base type typeName:
+ typeID: 0
+ as RasCollectionType is not supported yet. \ No newline at end of file
diff --git a/systemtest/testdata/complex/complex12.ql.out b/systemtest/testdata/complex/complex12.ql.out
new file mode 100644
index 0000000..0fed385
--- /dev/null
+++ b/systemtest/testdata/complex/complex12.ql.out
@@ -0,0 +1,5 @@
+-- Testbed line: result_type=set<complexd>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Element 1: (2, 4)
+-- Testbed end block:
diff --git a/systemtest/testdata/complex/complex13.ql b/systemtest/testdata/complex/complex13.ql
new file mode 100644
index 0000000..44ea5f5
--- /dev/null
+++ b/systemtest/testdata/complex/complex13.ql
@@ -0,0 +1 @@
+select a * complex(3.14, 6.28) from ImgCharD as a -- marray<complex1> \ No newline at end of file
diff --git a/systemtest/testdata/complex/complex13.ql.java.out b/systemtest/testdata/complex/complex13.ql.java.out
new file mode 100644
index 0000000..b749f3e
--- /dev/null
+++ b/systemtest/testdata/complex/complex13.ql.java.out
@@ -0,0 +1,2 @@
+
+ RasRuntimeException: Exception: RasType complex is unknown. \ No newline at end of file
diff --git a/systemtest/testdata/complex/complex13.ql.out b/systemtest/testdata/complex/complex13.ql.out
new file mode 100644
index 0000000..a70bec9
--- /dev/null
+++ b/systemtest/testdata/complex/complex13.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <complex, [0:10,0:10]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <complex, [0:10,0:10]>
+ Type Schema...........: marray< complex(float, float) >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: complex(float, float)
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+(0, 0) (3.14, 6.28) (6.28, 12.56) (9.42, 18.84) (12.56, 25.12) (15.7, 31.4) (18.84, 37.68) (21.98, 43.96) (25.12, 50.24) (28.26, 56.52) (31.4, 62.8)
+(34.54, 69.08) (37.68, 75.36) (40.82, 81.64) (43.96, 87.92) (47.1, 94.2) (50.24, 100.48) (53.38, 106.76) (56.52, 113.04) (59.66, 119.32) (62.8, 125.6) (65.94, 131.88)
+(69.08, 138.16) (72.22, 144.44) (75.36, 150.72) (78.5, 157) (81.64, 163.28) (84.78, 169.56) (87.92, 175.84) (91.06, 182.12) (94.2, 188.4) (97.34, 194.68) (100.48, 200.96)
+(103.62, 207.24) (106.76, 213.52) (109.9, 219.8) (113.04, 226.08) (116.18, 232.36) (119.32, 238.64) (122.46, 244.92) (125.6, 251.2) (128.74, 257.48) (131.88, 263.76) (135.02, 270.04)
+(138.16, 276.32) (141.3, 282.6) (144.44, 288.88) (147.58, 295.16) (150.72, 301.44) (153.86, 307.72) (157, 314) (160.14, 320.28) (163.28, 326.56) (166.42, 332.84) (169.56, 339.12)
+(172.7, 345.4) (175.84, 351.68) (178.98, 357.96) (182.12, 364.24) (185.26, 370.52) (188.4, 376.8) (191.54, 383.08) (194.68, 389.36) (197.82, 395.64) (200.96, 401.92) (204.1, 408.2)
+(207.24, 414.48) (210.38, 420.76) (213.52, 427.04) (216.66, 433.32) (219.8, 439.6) (222.94, 445.88) (226.08, 452.16) (229.22, 458.44) (232.36, 464.72) (235.5, 471) (238.64, 477.28)
+(241.78, 483.56) (244.92, 489.84) (248.06, 496.12) (251.2, 502.4) (254.34, 508.68) (257.48, 514.96) (260.62, 521.24) (263.76, 527.52) (266.9, 533.8) (270.04, 540.08) (273.18, 546.36)
+(276.32, 552.64) (279.46, 558.92) (282.6, 565.2) (285.74, 571.48) (288.88, 577.76) (292.02, 584.04) (295.16, 590.32) (298.3, 596.6) (301.44, 602.88) (304.58, 609.16) (307.72, 615.44)
+(310.86, 621.72) (314, 628) (317.14, 634.28) (320.28, 640.56) (323.42, 646.84) (326.56, 653.12) (329.7, 659.4) (332.84, 665.68) (335.98, 671.96) (339.12, 678.24) (342.26, 684.52)
+(345.4, 690.8) (348.54, 697.08) (351.68, 703.36) (354.82, 709.64) (357.96, 715.92) (361.1, 722.2) (364.24, 728.48) (367.38, 734.76) (370.52, 741.04) (373.66, 747.32) (376.8, 753.6)
+-- Testbed end block:
diff --git a/systemtest/testdata/complex/complex14.ql b/systemtest/testdata/complex/complex14.ql
new file mode 100644
index 0000000..676b136
--- /dev/null
+++ b/systemtest/testdata/complex/complex14.ql
@@ -0,0 +1 @@
+select a * complex(3.14d, 6.28d) from ImgCharD as a -- marray<complex2> \ No newline at end of file
diff --git a/systemtest/testdata/complex/complex14.ql.java.out b/systemtest/testdata/complex/complex14.ql.java.out
new file mode 100644
index 0000000..5bd62a4
--- /dev/null
+++ b/systemtest/testdata/complex/complex14.ql.java.out
@@ -0,0 +1,2 @@
+
+ RasRuntimeException: Exception: RasType complexd is unknown. \ No newline at end of file
diff --git a/systemtest/testdata/complex/complex14.ql.out b/systemtest/testdata/complex/complex14.ql.out
new file mode 100644
index 0000000..af48217
--- /dev/null
+++ b/systemtest/testdata/complex/complex14.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <complexd, [0:10,0:10]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <complexd, [0:10,0:10]>
+ Type Schema...........: marray< complex(double, double) >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: complex(double, double)
+ Base Type Length......: 16
+ Data format.......... : Array
+ Data size (bytes).... : 1936
+(0, 0) (3.14, 6.28) (6.28, 12.56) (9.42, 18.84) (12.56, 25.12) (15.7, 31.4) (18.84, 37.68) (21.98, 43.96) (25.12, 50.24) (28.26, 56.52) (31.4, 62.8)
+(34.54, 69.08) (37.68, 75.36) (40.82, 81.64) (43.96, 87.92) (47.1, 94.2) (50.24, 100.48) (53.38, 106.76) (56.52, 113.04) (59.66, 119.32) (62.8, 125.6) (65.94, 131.88)
+(69.08, 138.16) (72.22, 144.44) (75.36, 150.72) (78.5, 157) (81.64, 163.28) (84.78, 169.56) (87.92, 175.84) (91.06, 182.12) (94.2, 188.4) (97.34, 194.68) (100.48, 200.96)
+(103.62, 207.24) (106.76, 213.52) (109.9, 219.8) (113.04, 226.08) (116.18, 232.36) (119.32, 238.64) (122.46, 244.92) (125.6, 251.2) (128.74, 257.48) (131.88, 263.76) (135.02, 270.04)
+(138.16, 276.32) (141.3, 282.6) (144.44, 288.88) (147.58, 295.16) (150.72, 301.44) (153.86, 307.72) (157, 314) (160.14, 320.28) (163.28, 326.56) (166.42, 332.84) (169.56, 339.12)
+(172.7, 345.4) (175.84, 351.68) (178.98, 357.96) (182.12, 364.24) (185.26, 370.52) (188.4, 376.8) (191.54, 383.08) (194.68, 389.36) (197.82, 395.64) (200.96, 401.92) (204.1, 408.2)
+(207.24, 414.48) (210.38, 420.76) (213.52, 427.04) (216.66, 433.32) (219.8, 439.6) (222.94, 445.88) (226.08, 452.16) (229.22, 458.44) (232.36, 464.72) (235.5, 471) (238.64, 477.28)
+(241.78, 483.56) (244.92, 489.84) (248.06, 496.12) (251.2, 502.4) (254.34, 508.68) (257.48, 514.96) (260.62, 521.24) (263.76, 527.52) (266.9, 533.8) (270.04, 540.08) (273.18, 546.36)
+(276.32, 552.64) (279.46, 558.92) (282.6, 565.2) (285.74, 571.48) (288.88, 577.76) (292.02, 584.04) (295.16, 590.32) (298.3, 596.6) (301.44, 602.88) (304.58, 609.16) (307.72, 615.44)
+(310.86, 621.72) (314, 628) (317.14, 634.28) (320.28, 640.56) (323.42, 646.84) (326.56, 653.12) (329.7, 659.4) (332.84, 665.68) (335.98, 671.96) (339.12, 678.24) (342.26, 684.52)
+(345.4, 690.8) (348.54, 697.08) (351.68, 703.36) (354.82, 709.64) (357.96, 715.92) (361.1, 722.2) (364.24, 728.48) (367.38, 734.76) (370.52, 741.04) (373.66, 747.32) (376.8, 753.6)
+-- Testbed end block:
diff --git a/systemtest/testdata/conversion/bmp1.ql b/systemtest/testdata/conversion/bmp1.ql
new file mode 100644
index 0000000..07350a8
--- /dev/null
+++ b/systemtest/testdata/conversion/bmp1.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [0:1881]>>
+-- Testbed: result_elements=2
+
+SELECT bmp(a)
+FROM ImgCharA AS a
diff --git a/systemtest/testdata/conversion/bmp1.ql.java.out b/systemtest/testdata/conversion/bmp1.ql.java.out
new file mode 100644
index 0000000..c816b20
--- /dev/null
+++ b/systemtest/testdata/conversion/bmp1.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:103]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 104
+ 66 77 104 0 0 0 0 0 0 0 58 0 0 0 40 0 0 0 11 0 0 0 11 0 0 0 1 0 8 0 1 0 0 0 46 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 11 0 0 0 11 0 0 0 11 0 0 0 11 0 0 0 11 0 0 0 11 0 0 0 11 0 0 0 11 0 0 0 11 0 0 0 11 0 0 0 0 1
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:103]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 104
+ 66 77 104 0 0 0 0 0 0 0 58 0 0 0 40 0 0 0 11 0 0 0 11 0 0 0 1 0 8 0 1 0 0 0 46 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 11 0 0 0 11 0 0 0 11 0 0 0 11 0 0 0 11 0 0 0 11 0 0 0 11 0 0 0 11 0 0 0 11 0 0 0 11 0 0 0 11 0 0 0 0 1 \ No newline at end of file
diff --git a/systemtest/testdata/conversion/bmp1.ql.out b/systemtest/testdata/conversion/bmp1.ql.out
new file mode 100644
index 0000000..b227131
--- /dev/null
+++ b/systemtest/testdata/conversion/bmp1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set <marray <char, [0:103]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1 written to image1.bmp
+Image 2 written to image2.bmp
+-- Testbed end block:
diff --git a/systemtest/testdata/conversion/bmp2.ql b/systemtest/testdata/conversion/bmp2.ql
new file mode 100644
index 0000000..6f1f911
--- /dev/null
+++ b/systemtest/testdata/conversion/bmp2.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [0:1919]>>
+-- Testbed: result_elements=2
+
+SELECT bmp(a)
+FROM ImgRGBA AS a
diff --git a/systemtest/testdata/conversion/bmp2.ql.java.out b/systemtest/testdata/conversion/bmp2.ql.java.out
new file mode 100644
index 0000000..218dbc1
--- /dev/null
+++ b/systemtest/testdata/conversion/bmp2.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:449]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 450
+ 66 77 -62 1 0 0 0 0 0 0 54 0 0 0 40 0 0 0 11 0 0 0 11 0 0 0 1 0 24 0 0 0 0 0 -116 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 0 0 0 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 0 0 0 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 0 0 0 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 0 0 0 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 0 0 0 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 0 0 0 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 0 0 0 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 0 0 0 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 0 0 0 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 0 0 0 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:449]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 450
+ 66 77 -62 1 0 0 0 0 0 0 54 0 0 0 40 0 0 0 11 0 0 0 11 0 0 0 1 0 24 0 0 0 0 0 -116 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 0 0 0 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 0 0 0 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 0 0 0 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 0 0 0 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 0 0 0 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 0 0 0 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 0 0 0 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 0 0 0 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 0 0 0 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 0 0 0 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/conversion/bmp2.ql.out b/systemtest/testdata/conversion/bmp2.ql.out
new file mode 100644
index 0000000..60a9f4f
--- /dev/null
+++ b/systemtest/testdata/conversion/bmp2.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set <marray <char, [0:449]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1 written to image1.bmp
+Image 2 written to image2.bmp
+-- Testbed end block:
diff --git a/systemtest/testdata/conversion/hdf1.ql b/systemtest/testdata/conversion/hdf1.ql
new file mode 100644
index 0000000..036fea5
--- /dev/null
+++ b/systemtest/testdata/conversion/hdf1.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [0:1881]>>
+-- Testbed: result_elements=2
+
+SELECT hdf(a)
+FROM ImgCharA AS a
diff --git a/systemtest/testdata/conversion/hdf1.ql.java.out b/systemtest/testdata/conversion/hdf1.ql.java.out
new file mode 100644
index 0000000..f44d2c4
--- /dev/null
+++ b/systemtest/testdata/conversion/hdf1.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:2967]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 2968
+ 14 3 19 1 0 -56 0 0 0 0 0 30 0 1 0 0 9 106 0 0 0 92 2 -66 0 3 0 0 9 -58 0 0 0 121 7 -85 0 4 0 0 10 63 0 0 0 4 7 -86 0 4 0 0 10 67 0 0 0 60 7 -83 0 5 0 0 10 127 0 0 0 33 7 -85 0 6 0 0 10 -96 0 0 0 4 7 -86 0 6 0 0 10 -92 0 0 0 60 7 -83 0 7 0 0 10 -32 0 0 0 33 0 106 0 8 0 0 11 1 0 0 0 4 2 -67 0 8 0 0 11 5 0 0 0 22 2 -48 0 2 0 0 11 27 0 0 0 16 7 -83 0 9 0 0 11 43 0 0 0 60 7 -83 0 10 0 0 11 103 0 0 0 48 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 4 0 0 0 1 0 0 0 5 78 67 83 65 32 72 68 70 32 86 101 114 115 105 111 110 32 52 46 49 32 82 101 108 101 97 115 101 32 53 44 32 78 111 118 101 109 98 101 114 32 53 44 32 50 48 48 49 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 1 0 4 0 1 0 24 0 4 0 0 0 1 0 6 86 97 108 117 101 115 0 8 102 97 107 101 68 105 109 48 0 9 68 105 109 86 97 108 48 46 49 0 0 0 0 0 3 0 0 0 3 0 0 0 0 1 7 -86 0 4 0 8 102 97 107 101 68 105 109 48 0 6 68 105 109 48 46 48 0 0 0 0 0 3 0 0 0 0 0 0 11 0 0 0 0 0 1 0 4 0 1 0 24 0 4 0 0 0 1 0 6 86 97 108 117 101 115 0 8 102 97 107 101 68 105 109 49 0 9 68 105 109 86 97 108 48 46 49 0 0 0 0 0 3 0 0 0 3 0 0 0 0 1 7 -86 0 6 0 8 102 97 107 101 68 105 109 49 0 6 68 105 109 48 46 48 0 0 0 0 0 3 0 0 0 1 3 8 1 0 2 0 0 0 11 0 0 0 11 0 106 0 8 0 106 0 8 0 106 0 8 2 -66 0 3 0 106 0 8 2 -67 0 8 2 -47 0 8 0 6 7 -83 7 -83 2 -66 0 106 2 -67 2 -48 0 5 0 7 0 3 0 8 0 8 0 2 0 15 82 97 115 68 97 77 97 110 32 111 98 106 101 99 116 0 6 86 97 114 48 46 48 0 0 0 0 0 3 0 0 0 0 3 7 -83 7 -83 7 -83 0 5 0 7 0 9 0 15 47 116 109 112 47 102 105 108 101 86 82 69 88 71 57 0 6 67 68 70 48 46 48 0 0 0 0 0 3 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:2967]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 2968
+ 14 3 19 1 0 -56 0 0 0 0 0 30 0 1 0 0 9 106 0 0 0 92 2 -66 0 3 0 0 9 -58 0 0 0 121 7 -85 0 4 0 0 10 63 0 0 0 4 7 -86 0 4 0 0 10 67 0 0 0 60 7 -83 0 5 0 0 10 127 0 0 0 33 7 -85 0 6 0 0 10 -96 0 0 0 4 7 -86 0 6 0 0 10 -92 0 0 0 60 7 -83 0 7 0 0 10 -32 0 0 0 33 0 106 0 8 0 0 11 1 0 0 0 4 2 -67 0 8 0 0 11 5 0 0 0 22 2 -48 0 2 0 0 11 27 0 0 0 16 7 -83 0 9 0 0 11 43 0 0 0 60 7 -83 0 10 0 0 11 103 0 0 0 48 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 1 0 0 -1 -1 -1 -1 -1 -1 -1 -1 0 0 0 4 0 0 0 1 0 0 0 5 78 67 83 65 32 72 68 70 32 86 101 114 115 105 111 110 32 52 46 49 32 82 101 108 101 97 115 101 32 53 44 32 78 111 118 101 109 98 101 114 32 53 44 32 50 48 48 49 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 11 0 0 0 0 0 1 0 4 0 1 0 24 0 4 0 0 0 1 0 6 86 97 108 117 101 115 0 8 102 97 107 101 68 105 109 48 0 9 68 105 109 86 97 108 48 46 49 0 0 0 0 0 3 0 0 0 3 0 0 0 0 1 7 -86 0 4 0 8 102 97 107 101 68 105 109 48 0 6 68 105 109 48 46 48 0 0 0 0 0 3 0 0 0 0 0 0 11 0 0 0 0 0 1 0 4 0 1 0 24 0 4 0 0 0 1 0 6 86 97 108 117 101 115 0 8 102 97 107 101 68 105 109 49 0 9 68 105 109 86 97 108 48 46 49 0 0 0 0 0 3 0 0 0 3 0 0 0 0 1 7 -86 0 6 0 8 102 97 107 101 68 105 109 49 0 6 68 105 109 48 46 48 0 0 0 0 0 3 0 0 0 1 3 8 1 0 2 0 0 0 11 0 0 0 11 0 106 0 8 0 106 0 8 0 106 0 8 2 -66 0 3 0 106 0 8 2 -67 0 8 2 -47 0 8 0 6 7 -83 7 -83 2 -66 0 106 2 -67 2 -48 0 5 0 7 0 3 0 8 0 8 0 2 0 15 82 97 115 68 97 77 97 110 32 111 98 106 101 99 116 0 6 86 97 114 48 46 48 0 0 0 0 0 3 0 0 0 0 3 7 -83 7 -83 7 -83 0 5 0 7 0 9 0 15 47 116 109 112 47 102 105 108 101 113 56 103 99 115 87 0 6 67 68 70 48 46 48 0 0 0 0 0 3 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/conversion/hdf1.ql.out b/systemtest/testdata/conversion/hdf1.ql.out
new file mode 100644
index 0000000..7bd6fdd
--- /dev/null
+++ b/systemtest/testdata/conversion/hdf1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set <marray <char, [0:2967]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1 written to image1.hdf
+Image 2 written to image2.hdf
+-- Testbed end block:
diff --git a/systemtest/testdata/conversion/hdf2.ql b/systemtest/testdata/conversion/hdf2.ql
new file mode 100644
index 0000000..cdbdc69
--- /dev/null
+++ b/systemtest/testdata/conversion/hdf2.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [0:1919]>>
+-- Testbed: result_elements=2
+
+SELECT hdf(a)
+FROM ImgRGBA AS a
diff --git a/systemtest/testdata/conversion/hdf2.ql.java.out b/systemtest/testdata/conversion/hdf2.ql.java.out
new file mode 100644
index 0000000..2b14e44
--- /dev/null
+++ b/systemtest/testdata/conversion/hdf2.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 381 in line 6, column 8, near token hdf: Error in convertor of the selected data exchange format. \ No newline at end of file
diff --git a/systemtest/testdata/conversion/hdf2.ql.out b/systemtest/testdata/conversion/hdf2.ql.out
new file mode 100644
index 0000000..3684eb8
--- /dev/null
+++ b/systemtest/testdata/conversion/hdf2.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=381
diff --git a/systemtest/testdata/conversion/inv_bmp1.ql b/systemtest/testdata/conversion/inv_bmp1.ql
new file mode 100644
index 0000000..f3053ba
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_bmp1.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [0:1881]>>
+-- Testbed: result_elements=2
+
+SELECT inv_bmp(bmp(a))
+FROM ImgCharA AS a
diff --git a/systemtest/testdata/conversion/inv_bmp1.ql.java.out b/systemtest/testdata/conversion/inv_bmp1.ql.java.out
new file mode 100644
index 0000000..f2deb7a
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_bmp1.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/conversion/inv_bmp1.ql.out b/systemtest/testdata/conversion/inv_bmp1.ql.out
new file mode 100644
index 0000000..8e3e87c
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_bmp1.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <char, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/conversion/inv_bmp2.ql b/systemtest/testdata/conversion/inv_bmp2.ql
new file mode 100644
index 0000000..997a917
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_bmp2.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [0:1919]>>
+-- Testbed: result_elements=2
+
+SELECT inv_bmp(bmp(a))
+FROM ImgRGBA AS a
diff --git a/systemtest/testdata/conversion/inv_bmp2.ql.java.out b/systemtest/testdata/conversion/inv_bmp2.ql.java.out
new file mode 100644
index 0000000..c039a78
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_bmp2.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasGMArray
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:205,0:205]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 3
+ Data format...........: 0
+ Data size (bytes).....: 363
+ 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 \ No newline at end of file
diff --git a/systemtest/testdata/conversion/inv_bmp2.ql.out b/systemtest/testdata/conversion/inv_bmp2.ql.out
new file mode 100644
index 0000000..79f970f
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_bmp2.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <struct { char red, char green, char blue }, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <struct { char red, char green, char blue }, [0:10,0:10]>
+ Type Schema...........: marray< struct{ char red, char green, char blue } >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: struct{ char red, char green, char blue }
+ Base Type Length......: 3
+ Data format.......... : Array
+ Data size (bytes).... : 363
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+Image 2
+GMarray
+ Type Structure........: marray <struct { char red, char green, char blue }, [0:10,0:10]>
+ Type Schema...........: marray< struct{ char red, char green, char blue } >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: struct{ char red, char green, char blue }
+ Base Type Length......: 3
+ Data format.......... : Array
+ Data size (bytes).... : 363
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+-- Testbed end block:
diff --git a/systemtest/testdata/conversion/inv_hdf1.ql b/systemtest/testdata/conversion/inv_hdf1.ql
new file mode 100644
index 0000000..523ad6a
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_hdf1.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [0:1881]>>
+-- Testbed: result_elements=2
+
+SELECT inv_hdf(hdf(a))
+FROM ImgCharA AS a
diff --git a/systemtest/testdata/conversion/inv_hdf1.ql.java.out b/systemtest/testdata/conversion/inv_hdf1.ql.java.out
new file mode 100644
index 0000000..f2deb7a
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_hdf1.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/conversion/inv_hdf1.ql.out b/systemtest/testdata/conversion/inv_hdf1.ql.out
new file mode 100644
index 0000000..8e3e87c
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_hdf1.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <char, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/conversion/inv_hdf2.ql b/systemtest/testdata/conversion/inv_hdf2.ql
new file mode 100644
index 0000000..30c86e1
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_hdf2.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [0:1919]>>
+-- Testbed: result_elements=2
+
+SELECT inv_hdf(hdf(a))
+FROM ImgRGBA AS a
diff --git a/systemtest/testdata/conversion/inv_hdf2.ql.java.out b/systemtest/testdata/conversion/inv_hdf2.ql.java.out
new file mode 100644
index 0000000..d45254c
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_hdf2.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 381 in line 6, column 16, near token hdf: Error in convertor of the selected data exchange format. \ No newline at end of file
diff --git a/systemtest/testdata/conversion/inv_hdf2.ql.out b/systemtest/testdata/conversion/inv_hdf2.ql.out
new file mode 100644
index 0000000..3684eb8
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_hdf2.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=381
diff --git a/systemtest/testdata/conversion/inv_hdf3.ql b/systemtest/testdata/conversion/inv_hdf3.ql
new file mode 100644
index 0000000..76f9954
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_hdf3.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [0:1919]>>
+-- Testbed: result_elements=2
+
+SELECT inv_hdf(a)
+FROM ImgCharA AS a
diff --git a/systemtest/testdata/conversion/inv_hdf3.ql.java.out b/systemtest/testdata/conversion/inv_hdf3.ql.java.out
new file mode 100644
index 0000000..1090cd0
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_hdf3.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 381 in line 6, column 8, near token inv_hdf: Error in convertor of the selected data exchange format. \ No newline at end of file
diff --git a/systemtest/testdata/conversion/inv_hdf3.ql.out b/systemtest/testdata/conversion/inv_hdf3.ql.out
new file mode 100644
index 0000000..3684eb8
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_hdf3.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=381
diff --git a/systemtest/testdata/conversion/inv_hdf4.ql b/systemtest/testdata/conversion/inv_hdf4.ql
new file mode 100644
index 0000000..c672a97
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_hdf4.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [0:1919]>>
+-- Testbed: result_elements=2
+
+SELECT inv_hdf(a)
+FROM ImgRGBA AS a
diff --git a/systemtest/testdata/conversion/inv_hdf4.ql.java.out b/systemtest/testdata/conversion/inv_hdf4.ql.java.out
new file mode 100644
index 0000000..1090cd0
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_hdf4.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 381 in line 6, column 8, near token inv_hdf: Error in convertor of the selected data exchange format. \ No newline at end of file
diff --git a/systemtest/testdata/conversion/inv_hdf4.ql.out b/systemtest/testdata/conversion/inv_hdf4.ql.out
new file mode 100644
index 0000000..3684eb8
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_hdf4.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=381
diff --git a/systemtest/testdata/conversion/inv_jpeg1.ql b/systemtest/testdata/conversion/inv_jpeg1.ql
new file mode 100644
index 0000000..81b6650
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_jpeg1.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [0:1881]>>
+-- Testbed: result_elements=2
+
+SELECT inv_jpeg(jpeg(a))
+FROM ImgCharA AS a
diff --git a/systemtest/testdata/conversion/inv_jpeg1.ql.java.out b/systemtest/testdata/conversion/inv_jpeg1.ql.java.out
new file mode 100644
index 0000000..f2deb7a
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_jpeg1.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/conversion/inv_jpeg1.ql.out b/systemtest/testdata/conversion/inv_jpeg1.ql.out
new file mode 100644
index 0000000..8e3e87c
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_jpeg1.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <char, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/conversion/inv_jpeg2.ql b/systemtest/testdata/conversion/inv_jpeg2.ql
new file mode 100644
index 0000000..94bf4ce
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_jpeg2.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [0:1919]>>
+-- Testbed: result_elements=2
+
+SELECT inv_jpeg(jpeg(a))
+FROM ImgRGBA AS a
diff --git a/systemtest/testdata/conversion/inv_jpeg2.ql.java.out b/systemtest/testdata/conversion/inv_jpeg2.ql.java.out
new file mode 100644
index 0000000..c2cb6bc
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_jpeg2.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasGMArray
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:205,0:205]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 3
+ Data format...........: 0
+ Data size (bytes).....: 363
+ 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 1 2 4 \ No newline at end of file
diff --git a/systemtest/testdata/conversion/inv_jpeg2.ql.out b/systemtest/testdata/conversion/inv_jpeg2.ql.out
new file mode 100644
index 0000000..85b8118
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_jpeg2.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <struct { char red, char green, char blue }, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <struct { char red, char green, char blue }, [0:10,0:10]>
+ Type Schema...........: marray< struct{ char red, char green, char blue } >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: struct{ char red, char green, char blue }
+ Base Type Length......: 3
+ Data format.......... : Array
+ Data size (bytes).... : 363
+{ 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4}
+{ 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4}
+{ 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4}
+{ 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4}
+{ 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4}
+{ 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4}
+{ 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4}
+{ 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4}
+{ 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4}
+{ 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4}
+{ 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4}
+Image 2
+GMarray
+ Type Structure........: marray <struct { char red, char green, char blue }, [0:10,0:10]>
+ Type Schema...........: marray< struct{ char red, char green, char blue } >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: struct{ char red, char green, char blue }
+ Base Type Length......: 3
+ Data format.......... : Array
+ Data size (bytes).... : 363
+{ 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4}
+{ 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4}
+{ 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4}
+{ 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4}
+{ 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4}
+{ 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4}
+{ 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4}
+{ 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4}
+{ 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4}
+{ 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4}
+{ 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4} { 1, 2, 4}
+-- Testbed end block:
diff --git a/systemtest/testdata/conversion/inv_png1.ql b/systemtest/testdata/conversion/inv_png1.ql
new file mode 100644
index 0000000..429e64e
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_png1.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [0:1881]>>
+-- Testbed: result_elements=2
+
+SELECT inv_png(png(a))
+FROM ImgCharA AS a
diff --git a/systemtest/testdata/conversion/inv_png1.ql.java.out b/systemtest/testdata/conversion/inv_png1.ql.java.out
new file mode 100644
index 0000000..f2deb7a
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_png1.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/conversion/inv_png1.ql.out b/systemtest/testdata/conversion/inv_png1.ql.out
new file mode 100644
index 0000000..8e3e87c
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_png1.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <char, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/conversion/inv_png2.ql b/systemtest/testdata/conversion/inv_png2.ql
new file mode 100644
index 0000000..514c612
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_png2.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [0:1919]>>
+-- Testbed: result_elements=2
+
+SELECT inv_png(png(a))
+FROM ImgRGBA AS a
diff --git a/systemtest/testdata/conversion/inv_png2.ql.java.out b/systemtest/testdata/conversion/inv_png2.ql.java.out
new file mode 100644
index 0000000..c039a78
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_png2.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasGMArray
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:205,0:205]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 3
+ Data format...........: 0
+ Data size (bytes).....: 363
+ 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 \ No newline at end of file
diff --git a/systemtest/testdata/conversion/inv_png2.ql.out b/systemtest/testdata/conversion/inv_png2.ql.out
new file mode 100644
index 0000000..79f970f
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_png2.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <struct { char red, char green, char blue }, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <struct { char red, char green, char blue }, [0:10,0:10]>
+ Type Schema...........: marray< struct{ char red, char green, char blue } >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: struct{ char red, char green, char blue }
+ Base Type Length......: 3
+ Data format.......... : Array
+ Data size (bytes).... : 363
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+Image 2
+GMarray
+ Type Structure........: marray <struct { char red, char green, char blue }, [0:10,0:10]>
+ Type Schema...........: marray< struct{ char red, char green, char blue } >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: struct{ char red, char green, char blue }
+ Base Type Length......: 3
+ Data format.......... : Array
+ Data size (bytes).... : 363
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+-- Testbed end block:
diff --git a/systemtest/testdata/conversion/inv_tiff1.ql b/systemtest/testdata/conversion/inv_tiff1.ql
new file mode 100644
index 0000000..48aa564
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_tiff1.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [0:1881]>>
+-- Testbed: result_elements=2
+
+SELECT inv_tiff(tiff(a))
+FROM ImgCharA AS a
diff --git a/systemtest/testdata/conversion/inv_tiff1.ql.java.out b/systemtest/testdata/conversion/inv_tiff1.ql.java.out
new file mode 100644
index 0000000..f2deb7a
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_tiff1.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/conversion/inv_tiff1.ql.out b/systemtest/testdata/conversion/inv_tiff1.ql.out
new file mode 100644
index 0000000..8e3e87c
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_tiff1.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <char, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/conversion/inv_tiff2.ql b/systemtest/testdata/conversion/inv_tiff2.ql
new file mode 100644
index 0000000..ec64d03
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_tiff2.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [0:1919]>>
+-- Testbed: result_elements=2
+
+SELECT inv_tiff(tiff(a))
+FROM ImgRGBA AS a
diff --git a/systemtest/testdata/conversion/inv_tiff2.ql.java.out b/systemtest/testdata/conversion/inv_tiff2.ql.java.out
new file mode 100644
index 0000000..c039a78
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_tiff2.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasGMArray
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:205,0:205]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 3
+ Data format...........: 0
+ Data size (bytes).....: 363
+ 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 \ No newline at end of file
diff --git a/systemtest/testdata/conversion/inv_tiff2.ql.out b/systemtest/testdata/conversion/inv_tiff2.ql.out
new file mode 100644
index 0000000..79f970f
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_tiff2.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <struct { char red, char green, char blue }, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <struct { char red, char green, char blue }, [0:10,0:10]>
+ Type Schema...........: marray< struct{ char red, char green, char blue } >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: struct{ char red, char green, char blue }
+ Base Type Length......: 3
+ Data format.......... : Array
+ Data size (bytes).... : 363
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+Image 2
+GMarray
+ Type Structure........: marray <struct { char red, char green, char blue }, [0:10,0:10]>
+ Type Schema...........: marray< struct{ char red, char green, char blue } >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: struct{ char red, char green, char blue }
+ Base Type Length......: 3
+ Data format.......... : Array
+ Data size (bytes).... : 363
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+-- Testbed end block:
diff --git a/systemtest/testdata/conversion/inv_vff1.ql b/systemtest/testdata/conversion/inv_vff1.ql
new file mode 100644
index 0000000..8c5d9df
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_vff1.ql
@@ -0,0 +1,6 @@
+-- Testbed: result_type=set <marray <char, [0:276]>>
+-- Testbed: result_elements=2
+
+SELECT inv_vff(vff(a))
+FROM ImgCharA AS a
+ \ No newline at end of file
diff --git a/systemtest/testdata/conversion/inv_vff1.ql.java.out b/systemtest/testdata/conversion/inv_vff1.ql.java.out
new file mode 100644
index 0000000..f2deb7a
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_vff1.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/conversion/inv_vff1.ql.out b/systemtest/testdata/conversion/inv_vff1.ql.out
new file mode 100644
index 0000000..8e3e87c
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_vff1.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <char, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/conversion/inv_vff2.ql b/systemtest/testdata/conversion/inv_vff2.ql
new file mode 100644
index 0000000..2fb3554
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_vff2.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [0:1919]>>
+-- Testbed: result_elements=2
+
+SELECT inv_vff(vff(a))
+FROM ImgRGBA AS a
diff --git a/systemtest/testdata/conversion/inv_vff2.ql.java.out b/systemtest/testdata/conversion/inv_vff2.ql.java.out
new file mode 100644
index 0000000..043ded0
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_vff2.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 381 in line 6, column 16, near token vff: Error in convertor of the selected data exchange format. \ No newline at end of file
diff --git a/systemtest/testdata/conversion/inv_vff2.ql.out b/systemtest/testdata/conversion/inv_vff2.ql.out
new file mode 100644
index 0000000..3684eb8
--- /dev/null
+++ b/systemtest/testdata/conversion/inv_vff2.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=381
diff --git a/systemtest/testdata/conversion/jpeg1.ql b/systemtest/testdata/conversion/jpeg1.ql
new file mode 100644
index 0000000..adf1afc
--- /dev/null
+++ b/systemtest/testdata/conversion/jpeg1.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [0:1881]>>
+-- Testbed: result_elements=2
+
+SELECT jpeg(a)
+FROM ImgCharA AS a
diff --git a/systemtest/testdata/conversion/jpeg1.ql.java.out b/systemtest/testdata/conversion/jpeg1.ql.java.out
new file mode 100644
index 0000000..04aa648
--- /dev/null
+++ b/systemtest/testdata/conversion/jpeg1.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:334]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 335
+ -1 -40 -1 -32 0 16 74 70 73 70 0 1 1 0 0 1 0 1 0 0 -1 -37 0 67 0 6 4 5 6 5 4 6 6 5 6 7 7 6 8 10 16 10 10 9 9 10 20 14 15 12 16 23 20 24 24 23 20 22 22 26 29 37 31 26 27 35 28 22 22 32 44 32 35 38 39 41 42 41 25 31 45 48 45 40 48 37 40 41 40 -1 -64 0 11 8 0 11 0 11 1 1 17 0 -1 -60 0 31 0 0 1 5 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 -1 -60 0 -75 16 0 2 1 3 3 2 4 3 5 5 4 4 0 0 1 125 1 2 3 0 4 17 5 18 33 49 65 6 19 81 97 7 34 113 20 50 -127 -111 -95 8 35 66 -79 -63 21 82 -47 -16 36 51 98 114 -126 9 10 22 23 24 25 26 37 38 39 40 41 42 52 53 54 55 56 57 58 67 68 69 70 71 72 73 74 83 84 85 86 87 88 89 90 99 100 101 102 103 104 105 106 115 116 117 118 119 120 121 122 -125 -124 -123 -122 -121 -120 -119 -118 -110 -109 -108 -107 -106 -105 -104 -103 -102 -94 -93 -92 -91 -90 -89 -88 -87 -86 -78 -77 -76 -75 -74 -73 -72 -71 -70 -62 -61 -60 -59 -58 -57 -56 -55 -54 -46 -45 -44 -43 -42 -41 -40 -39 -38 -31 -30 -29 -28 -27 -26 -25 -24 -23 -22 -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -1 -38 0 8 1 1 0 0 63 0 -7 82 -118 40 -81 -1 -39
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:334]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 335
+ -1 -40 -1 -32 0 16 74 70 73 70 0 1 1 0 0 1 0 1 0 0 -1 -37 0 67 0 6 4 5 6 5 4 6 6 5 6 7 7 6 8 10 16 10 10 9 9 10 20 14 15 12 16 23 20 24 24 23 20 22 22 26 29 37 31 26 27 35 28 22 22 32 44 32 35 38 39 41 42 41 25 31 45 48 45 40 48 37 40 41 40 -1 -64 0 11 8 0 11 0 11 1 1 17 0 -1 -60 0 31 0 0 1 5 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 -1 -60 0 -75 16 0 2 1 3 3 2 4 3 5 5 4 4 0 0 1 125 1 2 3 0 4 17 5 18 33 49 65 6 19 81 97 7 34 113 20 50 -127 -111 -95 8 35 66 -79 -63 21 82 -47 -16 36 51 98 114 -126 9 10 22 23 24 25 26 37 38 39 40 41 42 52 53 54 55 56 57 58 67 68 69 70 71 72 73 74 83 84 85 86 87 88 89 90 99 100 101 102 103 104 105 106 115 116 117 118 119 120 121 122 -125 -124 -123 -122 -121 -120 -119 -118 -110 -109 -108 -107 -106 -105 -104 -103 -102 -94 -93 -92 -91 -90 -89 -88 -87 -86 -78 -77 -76 -75 -74 -73 -72 -71 -70 -62 -61 -60 -59 -58 -57 -56 -55 -54 -46 -45 -44 -43 -42 -41 -40 -39 -38 -31 -30 -29 -28 -27 -26 -25 -24 -23 -22 -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -1 -38 0 8 1 1 0 0 63 0 -7 90 -118 40 -81 -1 -39 \ No newline at end of file
diff --git a/systemtest/testdata/conversion/jpeg1.ql.out b/systemtest/testdata/conversion/jpeg1.ql.out
new file mode 100644
index 0000000..1122006
--- /dev/null
+++ b/systemtest/testdata/conversion/jpeg1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set <marray <char, [0:334]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1 written to image1.jpg
+Image 2 written to image2.jpg
+-- Testbed end block:
diff --git a/systemtest/testdata/conversion/jpeg2.ql b/systemtest/testdata/conversion/jpeg2.ql
new file mode 100644
index 0000000..b539982
--- /dev/null
+++ b/systemtest/testdata/conversion/jpeg2.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [0:1919]>>
+-- Testbed: result_elements=2
+
+SELECT jpeg(a)
+FROM ImgRGBA AS a
diff --git a/systemtest/testdata/conversion/jpeg2.ql.java.out b/systemtest/testdata/conversion/jpeg2.ql.java.out
new file mode 100644
index 0000000..3c8db7b
--- /dev/null
+++ b/systemtest/testdata/conversion/jpeg2.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:630]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 631
+ -1 -40 -1 -32 0 16 74 70 73 70 0 1 1 0 0 1 0 1 0 0 -1 -37 0 67 0 6 4 5 6 5 4 6 6 5 6 7 7 6 8 10 16 10 10 9 9 10 20 14 15 12 16 23 20 24 24 23 20 22 22 26 29 37 31 26 27 35 28 22 22 32 44 32 35 38 39 41 42 41 25 31 45 48 45 40 48 37 40 41 40 -1 -37 0 67 1 7 7 7 10 8 10 19 10 10 19 40 26 22 26 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 -1 -64 0 17 8 0 11 0 11 3 1 34 0 2 17 1 3 17 1 -1 -60 0 31 0 0 1 5 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 -1 -60 0 -75 16 0 2 1 3 3 2 4 3 5 5 4 4 0 0 1 125 1 2 3 0 4 17 5 18 33 49 65 6 19 81 97 7 34 113 20 50 -127 -111 -95 8 35 66 -79 -63 21 82 -47 -16 36 51 98 114 -126 9 10 22 23 24 25 26 37 38 39 40 41 42 52 53 54 55 56 57 58 67 68 69 70 71 72 73 74 83 84 85 86 87 88 89 90 99 100 101 102 103 104 105 106 115 116 117 118 119 120 121 122 -125 -124 -123 -122 -121 -120 -119 -118 -110 -109 -108 -107 -106 -105 -104 -103 -102 -94 -93 -92 -91 -90 -89 -88 -87 -86 -78 -77 -76 -75 -74 -73 -72 -71 -70 -62 -61 -60 -59 -58 -57 -56 -55 -54 -46 -45 -44 -43 -42 -41 -40 -39 -38 -31 -30 -29 -28 -27 -26 -25 -24 -23 -22 -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -1 -60 0 31 1 0 3 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 -1 -60 0 -75 17 0 2 1 2 4 4 3 4 7 5 4 4 0 1 2 119 0 1 2 3 17 4 5 33 49 6 18 65 81 7 97 113 19 34 50 -127 8 20 66 -111 -95 -79 -63 9 35 51 82 -16 21 98 114 -47 10 22 36 52 -31 37 -15 23 24 25 26 38 39 40 41 42 53 54 55 56 57 58 67 68 69 70 71 72 73 74 83 84 85 86 87 88 89 90 99 100 101 102 103 104 105 106 115 116 117 118 119 120 121 122 -126 -125 -124 -123 -122 -121 -120 -119 -118 -110 -109 -108 -107 -106 -105 -104 -103 -102 -94 -93 -92 -91 -90 -89 -88 -87 -86 -78 -77 -76 -75 -74 -73 -72 -71 -70 -62 -61 -60 -59 -58 -57 -56 -55 -54 -46 -45 -44 -43 -42 -41 -40 -39 -38 -30 -29 -28 -27 -26 -25 -24 -23 -22 -14 -13 -12 -11 -10 -9 -8 -7 -6 -1 -38 0 12 3 1 0 2 17 3 17 0 63 0 -7 94 -118 40 -90 35 -1 -39
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:630]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 631
+ -1 -40 -1 -32 0 16 74 70 73 70 0 1 1 0 0 1 0 1 0 0 -1 -37 0 67 0 6 4 5 6 5 4 6 6 5 6 7 7 6 8 10 16 10 10 9 9 10 20 14 15 12 16 23 20 24 24 23 20 22 22 26 29 37 31 26 27 35 28 22 22 32 44 32 35 38 39 41 42 41 25 31 45 48 45 40 48 37 40 41 40 -1 -37 0 67 1 7 7 7 10 8 10 19 10 10 19 40 26 22 26 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 -1 -64 0 17 8 0 11 0 11 3 1 34 0 2 17 1 3 17 1 -1 -60 0 31 0 0 1 5 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 -1 -60 0 -75 16 0 2 1 3 3 2 4 3 5 5 4 4 0 0 1 125 1 2 3 0 4 17 5 18 33 49 65 6 19 81 97 7 34 113 20 50 -127 -111 -95 8 35 66 -79 -63 21 82 -47 -16 36 51 98 114 -126 9 10 22 23 24 25 26 37 38 39 40 41 42 52 53 54 55 56 57 58 67 68 69 70 71 72 73 74 83 84 85 86 87 88 89 90 99 100 101 102 103 104 105 106 115 116 117 118 119 120 121 122 -125 -124 -123 -122 -121 -120 -119 -118 -110 -109 -108 -107 -106 -105 -104 -103 -102 -94 -93 -92 -91 -90 -89 -88 -87 -86 -78 -77 -76 -75 -74 -73 -72 -71 -70 -62 -61 -60 -59 -58 -57 -56 -55 -54 -46 -45 -44 -43 -42 -41 -40 -39 -38 -31 -30 -29 -28 -27 -26 -25 -24 -23 -22 -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -1 -60 0 31 1 0 3 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 -1 -60 0 -75 17 0 2 1 2 4 4 3 4 7 5 4 4 0 1 2 119 0 1 2 3 17 4 5 33 49 6 18 65 81 7 97 113 19 34 50 -127 8 20 66 -111 -95 -79 -63 9 35 51 82 -16 21 98 114 -47 10 22 36 52 -31 37 -15 23 24 25 26 38 39 40 41 42 53 54 55 56 57 58 67 68 69 70 71 72 73 74 83 84 85 86 87 88 89 90 99 100 101 102 103 104 105 106 115 116 117 118 119 120 121 122 -126 -125 -124 -123 -122 -121 -120 -119 -118 -110 -109 -108 -107 -106 -105 -104 -103 -102 -94 -93 -92 -91 -90 -89 -88 -87 -86 -78 -77 -76 -75 -74 -73 -72 -71 -70 -62 -61 -60 -59 -58 -57 -56 -55 -54 -46 -45 -44 -43 -42 -41 -40 -39 -38 -30 -29 -28 -27 -26 -25 -24 -23 -22 -14 -13 -12 -11 -10 -9 -8 -7 -6 -1 -38 0 12 3 1 0 2 17 3 17 0 63 0 -7 94 -118 40 -90 35 -1 -39 \ No newline at end of file
diff --git a/systemtest/testdata/conversion/jpeg2.ql.out b/systemtest/testdata/conversion/jpeg2.ql.out
new file mode 100644
index 0000000..7113105
--- /dev/null
+++ b/systemtest/testdata/conversion/jpeg2.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set <marray <char, [0:630]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1 written to image1.jpg
+Image 2 written to image2.jpg
+-- Testbed end block:
diff --git a/systemtest/testdata/conversion/png1.ql b/systemtest/testdata/conversion/png1.ql
new file mode 100644
index 0000000..53bcb69
--- /dev/null
+++ b/systemtest/testdata/conversion/png1.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [0:1881]>>
+-- Testbed: result_elements=2
+
+SELECT png(a)
+FROM ImgCharA AS a
diff --git a/systemtest/testdata/conversion/png1.ql.java.out b/systemtest/testdata/conversion/png1.ql.java.out
new file mode 100644
index 0000000..50e7461
--- /dev/null
+++ b/systemtest/testdata/conversion/png1.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:132]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 133
+ -119 80 78 71 13 10 26 10 0 0 0 13 73 72 68 82 0 0 0 11 0 0 0 11 8 0 0 0 0 -116 -57 40 -6 0 0 0 1 115 66 73 84 8 -26 10 91 -103 0 0 0 39 116 69 88 116 68 101 115 99 114 105 112 116 105 111 110 0 82 97 115 68 97 77 97 110 32 77 68 68 32 101 110 99 111 100 101 100 32 97 115 32 80 78 71 40 12 -78 -46 0 0 0 12 73 68 65 84 120 -100 99 96 24 120 0 0 0 -124 0 1 60 -90 123 89 0 0 0 0 73 69 78 68 -82 66 96 -126
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:137]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 138
+ -119 80 78 71 13 10 26 10 0 0 0 13 73 72 68 82 0 0 0 11 0 0 0 11 8 0 0 0 0 -116 -57 40 -6 0 0 0 1 115 66 73 84 8 -26 10 91 -103 0 0 0 39 116 69 88 116 68 101 115 99 114 105 112 116 105 111 110 0 82 97 115 68 97 77 97 110 32 77 68 68 32 101 110 99 111 100 101 100 32 97 115 32 80 78 71 40 12 -78 -46 0 0 0 17 73 68 65 84 120 -100 99 100 100 -128 3 38 -122 -127 97 3 0 6 -77 0 23 29 -35 -23 -90 0 0 0 0 73 69 78 68 -82 66 96 -126 \ No newline at end of file
diff --git a/systemtest/testdata/conversion/png1.ql.out b/systemtest/testdata/conversion/png1.ql.out
new file mode 100644
index 0000000..5cced6c
--- /dev/null
+++ b/systemtest/testdata/conversion/png1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set <marray <char, [0:132]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1 written to image1.png
+Image 2 written to image2.png
+-- Testbed end block:
diff --git a/systemtest/testdata/conversion/png2.ql b/systemtest/testdata/conversion/png2.ql
new file mode 100644
index 0000000..c5fa915
--- /dev/null
+++ b/systemtest/testdata/conversion/png2.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [0:1919]>>
+-- Testbed: result_elements=2
+
+SELECT png(a)
+FROM ImgRGBA AS a
diff --git a/systemtest/testdata/conversion/png2.ql.java.out b/systemtest/testdata/conversion/png2.ql.java.out
new file mode 100644
index 0000000..b8c0183
--- /dev/null
+++ b/systemtest/testdata/conversion/png2.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:144]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 145
+ -119 80 78 71 13 10 26 10 0 0 0 13 73 72 68 82 0 0 0 11 0 0 0 11 8 2 0 0 0 38 -50 -32 113 0 0 0 3 115 66 73 84 8 8 8 -37 -31 79 -32 0 0 0 39 116 69 88 116 68 101 115 99 114 105 112 116 105 111 110 0 82 97 115 68 97 77 97 110 32 77 68 68 32 101 110 99 111 100 101 100 32 97 115 32 80 78 71 40 12 -78 -46 0 0 0 22 73 68 65 84 120 -100 99 100 100 98 102 -64 11 -104 -16 75 -113 -86 32 67 5 0 26 62 0 28 -114 -41 30 -110 0 0 0 0 73 69 78 68 -82 66 96 -126
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:144]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 145
+ -119 80 78 71 13 10 26 10 0 0 0 13 73 72 68 82 0 0 0 11 0 0 0 11 8 2 0 0 0 38 -50 -32 113 0 0 0 3 115 66 73 84 8 8 8 -37 -31 79 -32 0 0 0 39 116 69 88 116 68 101 115 99 114 105 112 116 105 111 110 0 82 97 115 68 97 77 97 110 32 77 68 68 32 101 110 99 111 100 101 100 32 97 115 32 80 78 71 40 12 -78 -46 0 0 0 22 73 68 65 84 120 -100 99 100 100 98 102 -64 11 -104 -16 75 -113 -86 32 67 5 0 26 62 0 28 -114 -41 30 -110 0 0 0 0 73 69 78 68 -82 66 96 -126 \ No newline at end of file
diff --git a/systemtest/testdata/conversion/png2.ql.out b/systemtest/testdata/conversion/png2.ql.out
new file mode 100644
index 0000000..53915b1
--- /dev/null
+++ b/systemtest/testdata/conversion/png2.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set <marray <char, [0:144]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1 written to image1.png
+Image 2 written to image2.png
+-- Testbed end block:
diff --git a/systemtest/testdata/conversion/tiff1.ql b/systemtest/testdata/conversion/tiff1.ql
new file mode 100644
index 0000000..02ff04e
--- /dev/null
+++ b/systemtest/testdata/conversion/tiff1.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [0:1881]>>
+-- Testbed: result_elements=2
+
+SELECT tiff(a)
+FROM ImgCharA AS a
diff --git a/systemtest/testdata/conversion/tiff1.ql.java.out b/systemtest/testdata/conversion/tiff1.ql.java.out
new file mode 100644
index 0000000..29a61c9
--- /dev/null
+++ b/systemtest/testdata/conversion/tiff1.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:1981]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 1982
+ 73 73 42 0 -126 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 115 21 0 0 1 3 0 1 0 0 0 11 0 0 0 1 1 3 0 1 0 0 0 11 0 0 0 2 1 3 0 1 0 0 0 8 0 0 0 3 1 3 0 1 0 0 0 1 0 0 0 6 1 3 0 1 0 0 0 3 0 0 0 10 1 3 0 1 0 0 0 1 0 0 0 13 1 2 0 6 0 0 0 -124 1 0 0 17 1 4 0 1 0 0 0 8 0 0 0 18 1 3 0 1 0 0 0 1 0 0 0 21 1 3 0 1 0 0 0 1 0 0 0 22 1 3 0 1 0 0 0 -24 2 0 0 23 1 4 0 1 0 0 0 121 0 0 0 26 1 5 0 1 0 0 0 -118 1 0 0 27 1 5 0 1 0 0 0 -110 1 0 0 28 1 3 0 1 0 0 0 1 0 0 0 30 1 5 0 1 0 0 0 -102 1 0 0 31 1 5 0 1 0 0 0 -94 1 0 0 40 1 3 0 1 0 0 0 2 0 0 0 49 1 2 0 9 0 0 0 -86 1 0 0 59 1 2 0 9 0 0 0 -76 1 0 0 64 1 3 0 0 3 0 0 -66 1 0 0 0 0 0 0 73 109 97 103 101 0 0 0 0 90 0 0 0 1 0 0 0 90 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 82 97 115 68 97 77 97 110 0 0 82 97 115 68 97 77 97 110 0 0 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39 40 40 41 41 42 42 43 43 44 44 45 45 46 46 47 47 48 48 49 49 50 50 51 51 52 52 53 53 54 54 55 55 56 56 57 57 58 58 59 59 60 60 61 61 62 62 63 63 64 64 65 65 66 66 67 67 68 68 69 69 70 70 71 71 72 72 73 73 74 74 75 75 76 76 77 77 78 78 79 79 80 80 81 81 82 82 83 83 84 84 85 85 86 86 87 87 88 88 89 89 90 90 91 91 92 92 93 93 94 94 95 95 96 96 97 97 98 98 99 99 100 100 101 101 102 102 103 103 104 104 105 105 106 106 107 107 108 108 109 109 110 110 111 111 112 112 113 113 114 114 115 115 116 116 117 117 118 118 119 119 120 120 121 121 122 122 123 123 124 124 125 125 126 126 127 127 -128 -128 -127 -127 -126 -126 -125 -125 -124 -124 -123 -123 -122 -122 -121 -121 -120 -120 -119 -119 -118 -118 -117 -117 -116 -116 -115 -115 -114 -114 -113 -113 -112 -112 -111 -111 -110 -110 -109 -109 -108 -108 -107 -107 -106 -106 -105 -105 -104 -104 -103 -103 -102 -102 -101 -101 -100 -100 -99 -99 -98 -98 -97 -97 -96 -96 -95 -95 -94 -94 -93 -93 -92 -92 -91 -91 -90 -90 -89 -89 -88 -88 -87 -87 -86 -86 -85 -85 -84 -84 -83 -83 -82 -82 -81 -81 -80 -80 -79 -79 -78 -78 -77 -77 -76 -76 -75 -75 -74 -74 -73 -73 -72 -72 -71 -71 -70 -70 -69 -69 -68 -68 -67 -67 -66 -66 -65 -65 -64 -64 -63 -63 -62 -62 -61 -61 -60 -60 -59 -59 -58 -58 -57 -57 -56 -56 -55 -55 -54 -54 -53 -53 -52 -52 -51 -51 -50 -50 -49 -49 -48 -48 -47 -47 -46 -46 -45 -45 -44 -44 -43 -43 -42 -42 -41 -41 -40 -40 -39 -39 -38 -38 -37 -37 -36 -36 -35 -35 -34 -34 -33 -33 -32 -32 -31 -31 -30 -30 -29 -29 -28 -28 -27 -27 -26 -26 -25 -25 -24 -24 -23 -23 -22 -22 -21 -21 -20 -20 -19 -19 -18 -18 -17 -17 -16 -16 -15 -15 -14 -14 -13 -13 -12 -12 -11 -11 -10 -10 -9 -9 -8 -8 -7 -7 -6 -6 -5 -5 -4 -4 -3 -3 -2 -2 -1 -1 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39 40 40 41 41 42 42 43 43 44 44 45 45 46 46 47 47 48 48 49 49 50 50 51 51 52 52 53 53 54 54 55 55 56 56 57 57 58 58 59 59 60 60 61 61 62 62 63 63 64 64 65 65 66 66 67 67 68 68 69 69 70 70 71 71 72 72 73 73 74 74 75 75 76 76 77 77 78 78 79 79 80 80 81 81 82 82 83 83 84 84 85 85 86 86 87 87 88 88 89 89 90 90 91 91 92 92 93 93 94 94 95 95 96 96 97 97 98 98 99 99 100 100 101 101 102 102 103 103 104 104 105 105 106 106 107 107 108 108 109 109 110 110 111 111 112 112 113 113 114 114 115 115 116 116 117 117 118 118 119 119 120 120 121 121 122 122 123 123 124 124 125 125 126 126 127 127 -128 -128 -127 -127 -126 -126 -125 -125 -124 -124 -123 -123 -122 -122 -121 -121 -120 -120 -119 -119 -118 -118 -117 -117 -116 -116 -115 -115 -114 -114 -113 -113 -112 -112 -111 -111 -110 -110 -109 -109 -108 -108 -107 -107 -106 -106 -105 -105 -104 -104 -103 -103 -102 -102 -101 -101 -100 -100 -99 -99 -98 -98 -97 -97 -96 -96 -95 -95 -94 -94 -93 -93 -92 -92 -91 -91 -90 -90 -89 -89 -88 -88 -87 -87 -86 -86 -85 -85 -84 -84 -83 -83 -82 -82 -81 -81 -80 -80 -79 -79 -78 -78 -77 -77 -76 -76 -75 -75 -74 -74 -73 -73 -72 -72 -71 -71 -70 -70 -69 -69 -68 -68 -67 -67 -66 -66 -65 -65 -64 -64 -63 -63 -62 -62 -61 -61 -60 -60 -59 -59 -58 -58 -57 -57 -56 -56 -55 -55 -54 -54 -53 -53 -52 -52 -51 -51 -50 -50 -49 -49 -48 -48 -47 -47 -46 -46 -45 -45 -44 -44 -43 -43 -42 -42 -41 -41 -40 -40 -39 -39 -38 -38 -37 -37 -36 -36 -35 -35 -34 -34 -33 -33 -32 -32 -31 -31 -30 -30 -29 -29 -28 -28 -27 -27 -26 -26 -25 -25 -24 -24 -23 -23 -22 -22 -21 -21 -20 -20 -19 -19 -18 -18 -17 -17 -16 -16 -15 -15 -14 -14 -13 -13 -12 -12 -11 -11 -10 -10 -9 -9 -8 -8 -7 -7 -6 -6 -5 -5 -4 -4 -3 -3 -2 -2 -1 -1 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39 40 40 41 41 42 42 43 43 44 44 45 45 46 46 47 47 48 48 49 49 50 50 51 51 52 52 53 53 54 54 55 55 56 56 57 57 58 58 59 59 60 60 61 61 62 62 63 63 64 64 65 65 66 66 67 67 68 68 69 69 70 70 71 71 72 72 73 73 74 74 75 75 76 76 77 77 78 78 79 79 80 80 81 81 82 82 83 83 84 84 85 85 86 86 87 87 88 88 89 89 90 90 91 91 92 92 93 93 94 94 95 95 96 96 97 97 98 98 99 99 100 100 101 101 102 102 103 103 104 104 105 105 106 106 107 107 108 108 109 109 110 110 111 111 112 112 113 113 114 114 115 115 116 116 117 117 118 118 119 119 120 120 121 121 122 122 123 123 124 124 125 125 126 126 127 127 -128 -128 -127 -127 -126 -126 -125 -125 -124 -124 -123 -123 -122 -122 -121 -121 -120 -120 -119 -119 -118 -118 -117 -117 -116 -116 -115 -115 -114 -114 -113 -113 -112 -112 -111 -111 -110 -110 -109 -109 -108 -108 -107 -107 -106 -106 -105 -105 -104 -104 -103 -103 -102 -102 -101 -101 -100 -100 -99 -99 -98 -98 -97 -97 -96 -96 -95 -95 -94 -94 -93 -93 -92 -92 -91 -91 -90 -90 -89 -89 -88 -88 -87 -87 -86 -86 -85 -85 -84 -84 -83 -83 -82 -82 -81 -81 -80 -80 -79 -79 -78 -78 -77 -77 -76 -76 -75 -75 -74 -74 -73 -73 -72 -72 -71 -71 -70 -70 -69 -69 -68 -68 -67 -67 -66 -66 -65 -65 -64 -64 -63 -63 -62 -62 -61 -61 -60 -60 -59 -59 -58 -58 -57 -57 -56 -56 -55 -55 -54 -54 -53 -53 -52 -52 -51 -51 -50 -50 -49 -49 -48 -48 -47 -47 -46 -46 -45 -45 -44 -44 -43 -43 -42 -42 -41 -41 -40 -40 -39 -39 -38 -38 -37 -37 -36 -36 -35 -35 -34 -34 -33 -33 -32 -32 -31 -31 -30 -30 -29 -29 -28 -28 -27 -27 -26 -26 -25 -25 -24 -24 -23 -23 -22 -22 -21 -21 -20 -20 -19 -19 -18 -18 -17 -17 -16 -16 -15 -15 -14 -14 -13 -13 -12 -12 -11 -11 -10 -10 -9 -9 -8 -8 -7 -7 -6 -6 -5 -5 -4 -4 -3 -3 -2 -2 -1 -1
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:1981]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 1982
+ 73 73 42 0 -126 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 21 0 0 1 3 0 1 0 0 0 11 0 0 0 1 1 3 0 1 0 0 0 11 0 0 0 2 1 3 0 1 0 0 0 8 0 0 0 3 1 3 0 1 0 0 0 1 0 0 0 6 1 3 0 1 0 0 0 3 0 0 0 10 1 3 0 1 0 0 0 1 0 0 0 13 1 2 0 6 0 0 0 -124 1 0 0 17 1 4 0 1 0 0 0 8 0 0 0 18 1 3 0 1 0 0 0 1 0 0 0 21 1 3 0 1 0 0 0 1 0 0 0 22 1 3 0 1 0 0 0 -24 2 0 0 23 1 4 0 1 0 0 0 121 0 0 0 26 1 5 0 1 0 0 0 -118 1 0 0 27 1 5 0 1 0 0 0 -110 1 0 0 28 1 3 0 1 0 0 0 1 0 0 0 30 1 5 0 1 0 0 0 -102 1 0 0 31 1 5 0 1 0 0 0 -94 1 0 0 40 1 3 0 1 0 0 0 2 0 0 0 49 1 2 0 9 0 0 0 -86 1 0 0 59 1 2 0 9 0 0 0 -76 1 0 0 64 1 3 0 0 3 0 0 -66 1 0 0 0 0 0 0 73 109 97 103 101 0 0 0 0 90 0 0 0 1 0 0 0 90 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 82 97 115 68 97 77 97 110 0 0 82 97 115 68 97 77 97 110 0 0 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39 40 40 41 41 42 42 43 43 44 44 45 45 46 46 47 47 48 48 49 49 50 50 51 51 52 52 53 53 54 54 55 55 56 56 57 57 58 58 59 59 60 60 61 61 62 62 63 63 64 64 65 65 66 66 67 67 68 68 69 69 70 70 71 71 72 72 73 73 74 74 75 75 76 76 77 77 78 78 79 79 80 80 81 81 82 82 83 83 84 84 85 85 86 86 87 87 88 88 89 89 90 90 91 91 92 92 93 93 94 94 95 95 96 96 97 97 98 98 99 99 100 100 101 101 102 102 103 103 104 104 105 105 106 106 107 107 108 108 109 109 110 110 111 111 112 112 113 113 114 114 115 115 116 116 117 117 118 118 119 119 120 120 121 121 122 122 123 123 124 124 125 125 126 126 127 127 -128 -128 -127 -127 -126 -126 -125 -125 -124 -124 -123 -123 -122 -122 -121 -121 -120 -120 -119 -119 -118 -118 -117 -117 -116 -116 -115 -115 -114 -114 -113 -113 -112 -112 -111 -111 -110 -110 -109 -109 -108 -108 -107 -107 -106 -106 -105 -105 -104 -104 -103 -103 -102 -102 -101 -101 -100 -100 -99 -99 -98 -98 -97 -97 -96 -96 -95 -95 -94 -94 -93 -93 -92 -92 -91 -91 -90 -90 -89 -89 -88 -88 -87 -87 -86 -86 -85 -85 -84 -84 -83 -83 -82 -82 -81 -81 -80 -80 -79 -79 -78 -78 -77 -77 -76 -76 -75 -75 -74 -74 -73 -73 -72 -72 -71 -71 -70 -70 -69 -69 -68 -68 -67 -67 -66 -66 -65 -65 -64 -64 -63 -63 -62 -62 -61 -61 -60 -60 -59 -59 -58 -58 -57 -57 -56 -56 -55 -55 -54 -54 -53 -53 -52 -52 -51 -51 -50 -50 -49 -49 -48 -48 -47 -47 -46 -46 -45 -45 -44 -44 -43 -43 -42 -42 -41 -41 -40 -40 -39 -39 -38 -38 -37 -37 -36 -36 -35 -35 -34 -34 -33 -33 -32 -32 -31 -31 -30 -30 -29 -29 -28 -28 -27 -27 -26 -26 -25 -25 -24 -24 -23 -23 -22 -22 -21 -21 -20 -20 -19 -19 -18 -18 -17 -17 -16 -16 -15 -15 -14 -14 -13 -13 -12 -12 -11 -11 -10 -10 -9 -9 -8 -8 -7 -7 -6 -6 -5 -5 -4 -4 -3 -3 -2 -2 -1 -1 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39 40 40 41 41 42 42 43 43 44 44 45 45 46 46 47 47 48 48 49 49 50 50 51 51 52 52 53 53 54 54 55 55 56 56 57 57 58 58 59 59 60 60 61 61 62 62 63 63 64 64 65 65 66 66 67 67 68 68 69 69 70 70 71 71 72 72 73 73 74 74 75 75 76 76 77 77 78 78 79 79 80 80 81 81 82 82 83 83 84 84 85 85 86 86 87 87 88 88 89 89 90 90 91 91 92 92 93 93 94 94 95 95 96 96 97 97 98 98 99 99 100 100 101 101 102 102 103 103 104 104 105 105 106 106 107 107 108 108 109 109 110 110 111 111 112 112 113 113 114 114 115 115 116 116 117 117 118 118 119 119 120 120 121 121 122 122 123 123 124 124 125 125 126 126 127 127 -128 -128 -127 -127 -126 -126 -125 -125 -124 -124 -123 -123 -122 -122 -121 -121 -120 -120 -119 -119 -118 -118 -117 -117 -116 -116 -115 -115 -114 -114 -113 -113 -112 -112 -111 -111 -110 -110 -109 -109 -108 -108 -107 -107 -106 -106 -105 -105 -104 -104 -103 -103 -102 -102 -101 -101 -100 -100 -99 -99 -98 -98 -97 -97 -96 -96 -95 -95 -94 -94 -93 -93 -92 -92 -91 -91 -90 -90 -89 -89 -88 -88 -87 -87 -86 -86 -85 -85 -84 -84 -83 -83 -82 -82 -81 -81 -80 -80 -79 -79 -78 -78 -77 -77 -76 -76 -75 -75 -74 -74 -73 -73 -72 -72 -71 -71 -70 -70 -69 -69 -68 -68 -67 -67 -66 -66 -65 -65 -64 -64 -63 -63 -62 -62 -61 -61 -60 -60 -59 -59 -58 -58 -57 -57 -56 -56 -55 -55 -54 -54 -53 -53 -52 -52 -51 -51 -50 -50 -49 -49 -48 -48 -47 -47 -46 -46 -45 -45 -44 -44 -43 -43 -42 -42 -41 -41 -40 -40 -39 -39 -38 -38 -37 -37 -36 -36 -35 -35 -34 -34 -33 -33 -32 -32 -31 -31 -30 -30 -29 -29 -28 -28 -27 -27 -26 -26 -25 -25 -24 -24 -23 -23 -22 -22 -21 -21 -20 -20 -19 -19 -18 -18 -17 -17 -16 -16 -15 -15 -14 -14 -13 -13 -12 -12 -11 -11 -10 -10 -9 -9 -8 -8 -7 -7 -6 -6 -5 -5 -4 -4 -3 -3 -2 -2 -1 -1 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39 40 40 41 41 42 42 43 43 44 44 45 45 46 46 47 47 48 48 49 49 50 50 51 51 52 52 53 53 54 54 55 55 56 56 57 57 58 58 59 59 60 60 61 61 62 62 63 63 64 64 65 65 66 66 67 67 68 68 69 69 70 70 71 71 72 72 73 73 74 74 75 75 76 76 77 77 78 78 79 79 80 80 81 81 82 82 83 83 84 84 85 85 86 86 87 87 88 88 89 89 90 90 91 91 92 92 93 93 94 94 95 95 96 96 97 97 98 98 99 99 100 100 101 101 102 102 103 103 104 104 105 105 106 106 107 107 108 108 109 109 110 110 111 111 112 112 113 113 114 114 115 115 116 116 117 117 118 118 119 119 120 120 121 121 122 122 123 123 124 124 125 125 126 126 127 127 -128 -128 -127 -127 -126 -126 -125 -125 -124 -124 -123 -123 -122 -122 -121 -121 -120 -120 -119 -119 -118 -118 -117 -117 -116 -116 -115 -115 -114 -114 -113 -113 -112 -112 -111 -111 -110 -110 -109 -109 -108 -108 -107 -107 -106 -106 -105 -105 -104 -104 -103 -103 -102 -102 -101 -101 -100 -100 -99 -99 -98 -98 -97 -97 -96 -96 -95 -95 -94 -94 -93 -93 -92 -92 -91 -91 -90 -90 -89 -89 -88 -88 -87 -87 -86 -86 -85 -85 -84 -84 -83 -83 -82 -82 -81 -81 -80 -80 -79 -79 -78 -78 -77 -77 -76 -76 -75 -75 -74 -74 -73 -73 -72 -72 -71 -71 -70 -70 -69 -69 -68 -68 -67 -67 -66 -66 -65 -65 -64 -64 -63 -63 -62 -62 -61 -61 -60 -60 -59 -59 -58 -58 -57 -57 -56 -56 -55 -55 -54 -54 -53 -53 -52 -52 -51 -51 -50 -50 -49 -49 -48 -48 -47 -47 -46 -46 -45 -45 -44 -44 -43 -43 -42 -42 -41 -41 -40 -40 -39 -39 -38 -38 -37 -37 -36 -36 -35 -35 -34 -34 -33 -33 -32 -32 -31 -31 -30 -30 -29 -29 -28 -28 -27 -27 -26 -26 -25 -25 -24 -24 -23 -23 -22 -22 -21 -21 -20 -20 -19 -19 -18 -18 -17 -17 -16 -16 -15 -15 -14 -14 -13 -13 -12 -12 -11 -11 -10 -10 -9 -9 -8 -8 -7 -7 -6 -6 -5 -5 -4 -4 -3 -3 -2 -2 -1 -1 \ No newline at end of file
diff --git a/systemtest/testdata/conversion/tiff1.ql.out b/systemtest/testdata/conversion/tiff1.ql.out
new file mode 100644
index 0000000..52d3548
--- /dev/null
+++ b/systemtest/testdata/conversion/tiff1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set <marray <char, [0:1981]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1 written to image1.tif
+Image 2 written to image2.tif
+-- Testbed end block:
diff --git a/systemtest/testdata/conversion/tiff2.ql b/systemtest/testdata/conversion/tiff2.ql
new file mode 100644
index 0000000..2f2f3aa
--- /dev/null
+++ b/systemtest/testdata/conversion/tiff2.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [0:1919]>>
+-- Testbed: result_elements=2
+
+SELECT tiff(a)
+FROM ImgRGBA AS a
diff --git a/systemtest/testdata/conversion/tiff2.ql.java.out b/systemtest/testdata/conversion/tiff2.ql.java.out
new file mode 100644
index 0000000..2c61647
--- /dev/null
+++ b/systemtest/testdata/conversion/tiff2.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:2229]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 2230
+ 73 73 42 0 116 1 0 0 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 0 21 0 0 1 3 0 1 0 0 0 11 0 0 0 1 1 3 0 1 0 0 0 11 0 0 0 2 1 3 0 3 0 0 0 118 2 0 0 3 1 3 0 1 0 0 0 1 0 0 0 6 1 3 0 1 0 0 0 2 0 0 0 10 1 3 0 1 0 0 0 1 0 0 0 13 1 2 0 6 0 0 0 124 2 0 0 17 1 4 0 1 0 0 0 8 0 0 0 18 1 3 0 1 0 0 0 1 0 0 0 21 1 3 0 1 0 0 0 3 0 0 0 22 1 3 0 1 0 0 0 -8 0 0 0 23 1 4 0 1 0 0 0 107 1 0 0 26 1 5 0 1 0 0 0 -126 2 0 0 27 1 5 0 1 0 0 0 -118 2 0 0 28 1 3 0 1 0 0 0 1 0 0 0 30 1 5 0 1 0 0 0 -110 2 0 0 31 1 5 0 1 0 0 0 -102 2 0 0 40 1 3 0 1 0 0 0 2 0 0 0 49 1 2 0 9 0 0 0 -94 2 0 0 59 1 2 0 9 0 0 0 -84 2 0 0 64 1 3 0 0 3 0 0 -74 2 0 0 0 0 0 0 8 0 8 0 8 0 73 109 97 103 101 0 0 0 0 90 0 0 0 1 0 0 0 90 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 82 97 115 68 97 77 97 110 0 0 82 97 115 68 97 77 97 110 0 0 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39 40 40 41 41 42 42 43 43 44 44 45 45 46 46 47 47 48 48 49 49 50 50 51 51 52 52 53 53 54 54 55 55 56 56 57 57 58 58 59 59 60 60 61 61 62 62 63 63 64 64 65 65 66 66 67 67 68 68 69 69 70 70 71 71 72 72 73 73 74 74 75 75 76 76 77 77 78 78 79 79 80 80 81 81 82 82 83 83 84 84 85 85 86 86 87 87 88 88 89 89 90 90 91 91 92 92 93 93 94 94 95 95 96 96 97 97 98 98 99 99 100 100 101 101 102 102 103 103 104 104 105 105 106 106 107 107 108 108 109 109 110 110 111 111 112 112 113 113 114 114 115 115 116 116 117 117 118 118 119 119 120 120 121 121 122 122 123 123 124 124 125 125 126 126 127 127 -128 -128 -127 -127 -126 -126 -125 -125 -124 -124 -123 -123 -122 -122 -121 -121 -120 -120 -119 -119 -118 -118 -117 -117 -116 -116 -115 -115 -114 -114 -113 -113 -112 -112 -111 -111 -110 -110 -109 -109 -108 -108 -107 -107 -106 -106 -105 -105 -104 -104 -103 -103 -102 -102 -101 -101 -100 -100 -99 -99 -98 -98 -97 -97 -96 -96 -95 -95 -94 -94 -93 -93 -92 -92 -91 -91 -90 -90 -89 -89 -88 -88 -87 -87 -86 -86 -85 -85 -84 -84 -83 -83 -82 -82 -81 -81 -80 -80 -79 -79 -78 -78 -77 -77 -76 -76 -75 -75 -74 -74 -73 -73 -72 -72 -71 -71 -70 -70 -69 -69 -68 -68 -67 -67 -66 -66 -65 -65 -64 -64 -63 -63 -62 -62 -61 -61 -60 -60 -59 -59 -58 -58 -57 -57 -56 -56 -55 -55 -54 -54 -53 -53 -52 -52 -51 -51 -50 -50 -49 -49 -48 -48 -47 -47 -46 -46 -45 -45 -44 -44 -43 -43 -42 -42 -41 -41 -40 -40 -39 -39 -38 -38 -37 -37 -36 -36 -35 -35 -34 -34 -33 -33 -32 -32 -31 -31 -30 -30 -29 -29 -28 -28 -27 -27 -26 -26 -25 -25 -24 -24 -23 -23 -22 -22 -21 -21 -20 -20 -19 -19 -18 -18 -17 -17 -16 -16 -15 -15 -14 -14 -13 -13 -12 -12 -11 -11 -10 -10 -9 -9 -8 -8 -7 -7 -6 -6 -5 -5 -4 -4 -3 -3 -2 -2 -1 -1 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39 40 40 41 41 42 42 43 43 44 44 45 45 46 46 47 47 48 48 49 49 50 50 51 51 52 52 53 53 54 54 55 55 56 56 57 57 58 58 59 59 60 60 61 61 62 62 63 63 64 64 65 65 66 66 67 67 68 68 69 69 70 70 71 71 72 72 73 73 74 74 75 75 76 76 77 77 78 78 79 79 80 80 81 81 82 82 83 83 84 84 85 85 86 86 87 87 88 88 89 89 90 90 91 91 92 92 93 93 94 94 95 95 96 96 97 97 98 98 99 99 100 100 101 101 102 102 103 103 104 104 105 105 106 106 107 107 108 108 109 109 110 110 111 111 112 112 113 113 114 114 115 115 116 116 117 117 118 118 119 119 120 120 121 121 122 122 123 123 124 124 125 125 126 126 127 127 -128 -128 -127 -127 -126 -126 -125 -125 -124 -124 -123 -123 -122 -122 -121 -121 -120 -120 -119 -119 -118 -118 -117 -117 -116 -116 -115 -115 -114 -114 -113 -113 -112 -112 -111 -111 -110 -110 -109 -109 -108 -108 -107 -107 -106 -106 -105 -105 -104 -104 -103 -103 -102 -102 -101 -101 -100 -100 -99 -99 -98 -98 -97 -97 -96 -96 -95 -95 -94 -94 -93 -93 -92 -92 -91 -91 -90 -90 -89 -89 -88 -88 -87 -87 -86 -86 -85 -85 -84 -84 -83 -83 -82 -82 -81 -81 -80 -80 -79 -79 -78 -78 -77 -77 -76 -76 -75 -75 -74 -74 -73 -73 -72 -72 -71 -71 -70 -70 -69 -69 -68 -68 -67 -67 -66 -66 -65 -65 -64 -64 -63 -63 -62 -62 -61 -61 -60 -60 -59 -59 -58 -58 -57 -57 -56 -56 -55 -55 -54 -54 -53 -53 -52 -52 -51 -51 -50 -50 -49 -49 -48 -48 -47 -47 -46 -46 -45 -45 -44 -44 -43 -43 -42 -42 -41 -41 -40 -40 -39 -39 -38 -38 -37 -37 -36 -36 -35 -35 -34 -34 -33 -33 -32 -32 -31 -31 -30 -30 -29 -29 -28 -28 -27 -27 -26 -26 -25 -25 -24 -24 -23 -23 -22 -22 -21 -21 -20 -20 -19 -19 -18 -18 -17 -17 -16 -16 -15 -15 -14 -14 -13 -13 -12 -12 -11 -11 -10 -10 -9 -9 -8 -8 -7 -7 -6 -6 -5 -5 -4 -4 -3 -3 -2 -2 -1 -1 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39 40 40 41 41 42 42 43 43 44 44 45 45 46 46 47 47 48 48 49 49 50 50 51 51 52 52 53 53 54 54 55 55 56 56 57 57 58 58 59 59 60 60 61 61 62 62 63 63 64 64 65 65 66 66 67 67 68 68 69 69 70 70 71 71 72 72 73 73 74 74 75 75 76 76 77 77 78 78 79 79 80 80 81 81 82 82 83 83 84 84 85 85 86 86 87 87 88 88 89 89 90 90 91 91 92 92 93 93 94 94 95 95 96 96 97 97 98 98 99 99 100 100 101 101 102 102 103 103 104 104 105 105 106 106 107 107 108 108 109 109 110 110 111 111 112 112 113 113 114 114 115 115 116 116 117 117 118 118 119 119 120 120 121 121 122 122 123 123 124 124 125 125 126 126 127 127 -128 -128 -127 -127 -126 -126 -125 -125 -124 -124 -123 -123 -122 -122 -121 -121 -120 -120 -119 -119 -118 -118 -117 -117 -116 -116 -115 -115 -114 -114 -113 -113 -112 -112 -111 -111 -110 -110 -109 -109 -108 -108 -107 -107 -106 -106 -105 -105 -104 -104 -103 -103 -102 -102 -101 -101 -100 -100 -99 -99 -98 -98 -97 -97 -96 -96 -95 -95 -94 -94 -93 -93 -92 -92 -91 -91 -90 -90 -89 -89 -88 -88 -87 -87 -86 -86 -85 -85 -84 -84 -83 -83 -82 -82 -81 -81 -80 -80 -79 -79 -78 -78 -77 -77 -76 -76 -75 -75 -74 -74 -73 -73 -72 -72 -71 -71 -70 -70 -69 -69 -68 -68 -67 -67 -66 -66 -65 -65 -64 -64 -63 -63 -62 -62 -61 -61 -60 -60 -59 -59 -58 -58 -57 -57 -56 -56 -55 -55 -54 -54 -53 -53 -52 -52 -51 -51 -50 -50 -49 -49 -48 -48 -47 -47 -46 -46 -45 -45 -44 -44 -43 -43 -42 -42 -41 -41 -40 -40 -39 -39 -38 -38 -37 -37 -36 -36 -35 -35 -34 -34 -33 -33 -32 -32 -31 -31 -30 -30 -29 -29 -28 -28 -27 -27 -26 -26 -25 -25 -24 -24 -23 -23 -22 -22 -21 -21 -20 -20 -19 -19 -18 -18 -17 -17 -16 -16 -15 -15 -14 -14 -13 -13 -12 -12 -11 -11 -10 -10 -9 -9 -8 -8 -7 -7 -6 -6 -5 -5 -4 -4 -3 -3 -2 -2 -1 -1
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:2229]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 2230
+ 73 73 42 0 116 1 0 0 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 0 21 0 0 1 3 0 1 0 0 0 11 0 0 0 1 1 3 0 1 0 0 0 11 0 0 0 2 1 3 0 3 0 0 0 118 2 0 0 3 1 3 0 1 0 0 0 1 0 0 0 6 1 3 0 1 0 0 0 2 0 0 0 10 1 3 0 1 0 0 0 1 0 0 0 13 1 2 0 6 0 0 0 124 2 0 0 17 1 4 0 1 0 0 0 8 0 0 0 18 1 3 0 1 0 0 0 1 0 0 0 21 1 3 0 1 0 0 0 3 0 0 0 22 1 3 0 1 0 0 0 -8 0 0 0 23 1 4 0 1 0 0 0 107 1 0 0 26 1 5 0 1 0 0 0 -126 2 0 0 27 1 5 0 1 0 0 0 -118 2 0 0 28 1 3 0 1 0 0 0 1 0 0 0 30 1 5 0 1 0 0 0 -110 2 0 0 31 1 5 0 1 0 0 0 -102 2 0 0 40 1 3 0 1 0 0 0 2 0 0 0 49 1 2 0 9 0 0 0 -94 2 0 0 59 1 2 0 9 0 0 0 -84 2 0 0 64 1 3 0 0 3 0 0 -74 2 0 0 0 0 0 0 8 0 8 0 8 0 73 109 97 103 101 0 0 0 0 90 0 0 0 1 0 0 0 90 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 82 97 115 68 97 77 97 110 0 0 82 97 115 68 97 77 97 110 0 0 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39 40 40 41 41 42 42 43 43 44 44 45 45 46 46 47 47 48 48 49 49 50 50 51 51 52 52 53 53 54 54 55 55 56 56 57 57 58 58 59 59 60 60 61 61 62 62 63 63 64 64 65 65 66 66 67 67 68 68 69 69 70 70 71 71 72 72 73 73 74 74 75 75 76 76 77 77 78 78 79 79 80 80 81 81 82 82 83 83 84 84 85 85 86 86 87 87 88 88 89 89 90 90 91 91 92 92 93 93 94 94 95 95 96 96 97 97 98 98 99 99 100 100 101 101 102 102 103 103 104 104 105 105 106 106 107 107 108 108 109 109 110 110 111 111 112 112 113 113 114 114 115 115 116 116 117 117 118 118 119 119 120 120 121 121 122 122 123 123 124 124 125 125 126 126 127 127 -128 -128 -127 -127 -126 -126 -125 -125 -124 -124 -123 -123 -122 -122 -121 -121 -120 -120 -119 -119 -118 -118 -117 -117 -116 -116 -115 -115 -114 -114 -113 -113 -112 -112 -111 -111 -110 -110 -109 -109 -108 -108 -107 -107 -106 -106 -105 -105 -104 -104 -103 -103 -102 -102 -101 -101 -100 -100 -99 -99 -98 -98 -97 -97 -96 -96 -95 -95 -94 -94 -93 -93 -92 -92 -91 -91 -90 -90 -89 -89 -88 -88 -87 -87 -86 -86 -85 -85 -84 -84 -83 -83 -82 -82 -81 -81 -80 -80 -79 -79 -78 -78 -77 -77 -76 -76 -75 -75 -74 -74 -73 -73 -72 -72 -71 -71 -70 -70 -69 -69 -68 -68 -67 -67 -66 -66 -65 -65 -64 -64 -63 -63 -62 -62 -61 -61 -60 -60 -59 -59 -58 -58 -57 -57 -56 -56 -55 -55 -54 -54 -53 -53 -52 -52 -51 -51 -50 -50 -49 -49 -48 -48 -47 -47 -46 -46 -45 -45 -44 -44 -43 -43 -42 -42 -41 -41 -40 -40 -39 -39 -38 -38 -37 -37 -36 -36 -35 -35 -34 -34 -33 -33 -32 -32 -31 -31 -30 -30 -29 -29 -28 -28 -27 -27 -26 -26 -25 -25 -24 -24 -23 -23 -22 -22 -21 -21 -20 -20 -19 -19 -18 -18 -17 -17 -16 -16 -15 -15 -14 -14 -13 -13 -12 -12 -11 -11 -10 -10 -9 -9 -8 -8 -7 -7 -6 -6 -5 -5 -4 -4 -3 -3 -2 -2 -1 -1 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39 40 40 41 41 42 42 43 43 44 44 45 45 46 46 47 47 48 48 49 49 50 50 51 51 52 52 53 53 54 54 55 55 56 56 57 57 58 58 59 59 60 60 61 61 62 62 63 63 64 64 65 65 66 66 67 67 68 68 69 69 70 70 71 71 72 72 73 73 74 74 75 75 76 76 77 77 78 78 79 79 80 80 81 81 82 82 83 83 84 84 85 85 86 86 87 87 88 88 89 89 90 90 91 91 92 92 93 93 94 94 95 95 96 96 97 97 98 98 99 99 100 100 101 101 102 102 103 103 104 104 105 105 106 106 107 107 108 108 109 109 110 110 111 111 112 112 113 113 114 114 115 115 116 116 117 117 118 118 119 119 120 120 121 121 122 122 123 123 124 124 125 125 126 126 127 127 -128 -128 -127 -127 -126 -126 -125 -125 -124 -124 -123 -123 -122 -122 -121 -121 -120 -120 -119 -119 -118 -118 -117 -117 -116 -116 -115 -115 -114 -114 -113 -113 -112 -112 -111 -111 -110 -110 -109 -109 -108 -108 -107 -107 -106 -106 -105 -105 -104 -104 -103 -103 -102 -102 -101 -101 -100 -100 -99 -99 -98 -98 -97 -97 -96 -96 -95 -95 -94 -94 -93 -93 -92 -92 -91 -91 -90 -90 -89 -89 -88 -88 -87 -87 -86 -86 -85 -85 -84 -84 -83 -83 -82 -82 -81 -81 -80 -80 -79 -79 -78 -78 -77 -77 -76 -76 -75 -75 -74 -74 -73 -73 -72 -72 -71 -71 -70 -70 -69 -69 -68 -68 -67 -67 -66 -66 -65 -65 -64 -64 -63 -63 -62 -62 -61 -61 -60 -60 -59 -59 -58 -58 -57 -57 -56 -56 -55 -55 -54 -54 -53 -53 -52 -52 -51 -51 -50 -50 -49 -49 -48 -48 -47 -47 -46 -46 -45 -45 -44 -44 -43 -43 -42 -42 -41 -41 -40 -40 -39 -39 -38 -38 -37 -37 -36 -36 -35 -35 -34 -34 -33 -33 -32 -32 -31 -31 -30 -30 -29 -29 -28 -28 -27 -27 -26 -26 -25 -25 -24 -24 -23 -23 -22 -22 -21 -21 -20 -20 -19 -19 -18 -18 -17 -17 -16 -16 -15 -15 -14 -14 -13 -13 -12 -12 -11 -11 -10 -10 -9 -9 -8 -8 -7 -7 -6 -6 -5 -5 -4 -4 -3 -3 -2 -2 -1 -1 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39 40 40 41 41 42 42 43 43 44 44 45 45 46 46 47 47 48 48 49 49 50 50 51 51 52 52 53 53 54 54 55 55 56 56 57 57 58 58 59 59 60 60 61 61 62 62 63 63 64 64 65 65 66 66 67 67 68 68 69 69 70 70 71 71 72 72 73 73 74 74 75 75 76 76 77 77 78 78 79 79 80 80 81 81 82 82 83 83 84 84 85 85 86 86 87 87 88 88 89 89 90 90 91 91 92 92 93 93 94 94 95 95 96 96 97 97 98 98 99 99 100 100 101 101 102 102 103 103 104 104 105 105 106 106 107 107 108 108 109 109 110 110 111 111 112 112 113 113 114 114 115 115 116 116 117 117 118 118 119 119 120 120 121 121 122 122 123 123 124 124 125 125 126 126 127 127 -128 -128 -127 -127 -126 -126 -125 -125 -124 -124 -123 -123 -122 -122 -121 -121 -120 -120 -119 -119 -118 -118 -117 -117 -116 -116 -115 -115 -114 -114 -113 -113 -112 -112 -111 -111 -110 -110 -109 -109 -108 -108 -107 -107 -106 -106 -105 -105 -104 -104 -103 -103 -102 -102 -101 -101 -100 -100 -99 -99 -98 -98 -97 -97 -96 -96 -95 -95 -94 -94 -93 -93 -92 -92 -91 -91 -90 -90 -89 -89 -88 -88 -87 -87 -86 -86 -85 -85 -84 -84 -83 -83 -82 -82 -81 -81 -80 -80 -79 -79 -78 -78 -77 -77 -76 -76 -75 -75 -74 -74 -73 -73 -72 -72 -71 -71 -70 -70 -69 -69 -68 -68 -67 -67 -66 -66 -65 -65 -64 -64 -63 -63 -62 -62 -61 -61 -60 -60 -59 -59 -58 -58 -57 -57 -56 -56 -55 -55 -54 -54 -53 -53 -52 -52 -51 -51 -50 -50 -49 -49 -48 -48 -47 -47 -46 -46 -45 -45 -44 -44 -43 -43 -42 -42 -41 -41 -40 -40 -39 -39 -38 -38 -37 -37 -36 -36 -35 -35 -34 -34 -33 -33 -32 -32 -31 -31 -30 -30 -29 -29 -28 -28 -27 -27 -26 -26 -25 -25 -24 -24 -23 -23 -22 -22 -21 -21 -20 -20 -19 -19 -18 -18 -17 -17 -16 -16 -15 -15 -14 -14 -13 -13 -12 -12 -11 -11 -10 -10 -9 -9 -8 -8 -7 -7 -6 -6 -5 -5 -4 -4 -3 -3 -2 -2 -1 -1 \ No newline at end of file
diff --git a/systemtest/testdata/conversion/tiff2.ql.out b/systemtest/testdata/conversion/tiff2.ql.out
new file mode 100644
index 0000000..5b8c057
--- /dev/null
+++ b/systemtest/testdata/conversion/tiff2.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set <marray <char, [0:2229]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1 written to image1.tif
+Image 2 written to image2.tif
+-- Testbed end block:
diff --git a/systemtest/testdata/conversion/vff1.ql b/systemtest/testdata/conversion/vff1.ql
new file mode 100644
index 0000000..e6df59e
--- /dev/null
+++ b/systemtest/testdata/conversion/vff1.ql
@@ -0,0 +1,6 @@
+-- Testbed: result_type=set <marray <char, [0:276]>>
+-- Testbed: result_elements=2
+
+SELECT vff(a)
+FROM ImgCharA AS a
+ \ No newline at end of file
diff --git a/systemtest/testdata/conversion/vff1.ql.java.out b/systemtest/testdata/conversion/vff1.ql.java.out
new file mode 100644
index 0000000..65dcbb3
--- /dev/null
+++ b/systemtest/testdata/conversion/vff1.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:275]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 276
+ 110 99 97 97 10 114 97 110 107 61 50 59 10 116 121 112 101 61 114 97 115 116 101 114 59 10 102 111 114 109 97 116 61 115 108 105 99 101 59 10 115 105 122 101 61 49 49 32 49 49 59 10 111 114 105 103 105 110 61 48 32 48 59 10 101 120 116 101 110 116 61 49 48 32 49 48 59 10 97 115 112 101 99 116 61 49 46 48 32 49 46 48 59 10 98 97 110 100 115 61 49 59 10 98 105 116 115 61 56 59 10 101 110 100 105 97 110 110 101 115 115 61 108 105 116 116 108 101 95 101 110 100 105 97 110 59 10 100 97 116 97 95 111 114 100 101 114 61 120 121 59 10 10 12 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:275]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 276
+ 110 99 97 97 10 114 97 110 107 61 50 59 10 116 121 112 101 61 114 97 115 116 101 114 59 10 102 111 114 109 97 116 61 115 108 105 99 101 59 10 115 105 122 101 61 49 49 32 49 49 59 10 111 114 105 103 105 110 61 48 32 48 59 10 101 120 116 101 110 116 61 49 48 32 49 48 59 10 97 115 112 101 99 116 61 49 46 48 32 49 46 48 59 10 98 97 110 100 115 61 49 59 10 98 105 116 115 61 56 59 10 101 110 100 105 97 110 110 101 115 115 61 108 105 116 116 108 101 95 101 110 100 105 97 110 59 10 100 97 116 97 95 111 114 100 101 114 61 120 121 59 10 10 12 10 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/conversion/vff1.ql.out b/systemtest/testdata/conversion/vff1.ql.out
new file mode 100644
index 0000000..d6af2ca
--- /dev/null
+++ b/systemtest/testdata/conversion/vff1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set <marray <char, [0:275]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1 written to image1.vff
+Image 2 written to image2.vff
+-- Testbed end block:
diff --git a/systemtest/testdata/conversion/vff2.ql b/systemtest/testdata/conversion/vff2.ql
new file mode 100644
index 0000000..6047ac1
--- /dev/null
+++ b/systemtest/testdata/conversion/vff2.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [0:1919]>>
+-- Testbed: result_elements=2
+
+SELECT vff(a)
+FROM ImgRGBA AS a
diff --git a/systemtest/testdata/conversion/vff2.ql.java.out b/systemtest/testdata/conversion/vff2.ql.java.out
new file mode 100644
index 0000000..a407a85
--- /dev/null
+++ b/systemtest/testdata/conversion/vff2.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 381 in line 6, column 8, near token vff: Error in convertor of the selected data exchange format. \ No newline at end of file
diff --git a/systemtest/testdata/conversion/vff2.ql.out b/systemtest/testdata/conversion/vff2.ql.out
new file mode 100644
index 0000000..3684eb8
--- /dev/null
+++ b/systemtest/testdata/conversion/vff2.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=381
diff --git a/systemtest/testdata/empty/empty.ql b/systemtest/testdata/empty/empty.ql
new file mode 100644
index 0000000..3104df5
--- /dev/null
+++ b/systemtest/testdata/empty/empty.ql
@@ -0,0 +1 @@
+-- select a<132 from ImgCharA as a
diff --git a/systemtest/testdata/empty/empty.ql.java.out b/systemtest/testdata/empty/empty.ql.java.out
new file mode 100644
index 0000000..26e1b5c
--- /dev/null
+++ b/systemtest/testdata/empty/empty.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Parsing error: Unexpected end of query. \ No newline at end of file
diff --git a/systemtest/testdata/empty/empty.ql.out b/systemtest/testdata/empty/empty.ql.out
new file mode 100644
index 0000000..d1ec6cb
--- /dev/null
+++ b/systemtest/testdata/empty/empty.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=308
diff --git a/systemtest/testdata/empty/empty2.ql b/systemtest/testdata/empty/empty2.ql
new file mode 100644
index 0000000..76743dc
--- /dev/null
+++ b/systemtest/testdata/empty/empty2.ql
@@ -0,0 +1 @@
+// select a<132 from ImgCharA as a
diff --git a/systemtest/testdata/empty/empty2.ql.java.out b/systemtest/testdata/empty/empty2.ql.java.out
new file mode 100644
index 0000000..26e1b5c
--- /dev/null
+++ b/systemtest/testdata/empty/empty2.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Parsing error: Unexpected end of query. \ No newline at end of file
diff --git a/systemtest/testdata/empty/empty2.ql.out b/systemtest/testdata/empty/empty2.ql.out
new file mode 100644
index 0000000..d1ec6cb
--- /dev/null
+++ b/systemtest/testdata/empty/empty2.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=308
diff --git a/systemtest/testdata/empty/empty3.ql b/systemtest/testdata/empty/empty3.ql
new file mode 100644
index 0000000..6752782
--- /dev/null
+++ b/systemtest/testdata/empty/empty3.ql
@@ -0,0 +1,3 @@
+/*
+ select a<132 from ImgCharA as a
+*/
diff --git a/systemtest/testdata/empty/empty3.ql.java.out b/systemtest/testdata/empty/empty3.ql.java.out
new file mode 100644
index 0000000..26e1b5c
--- /dev/null
+++ b/systemtest/testdata/empty/empty3.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Parsing error: Unexpected end of query. \ No newline at end of file
diff --git a/systemtest/testdata/empty/empty3.ql.out b/systemtest/testdata/empty/empty3.ql.out
new file mode 100644
index 0000000..d1ec6cb
--- /dev/null
+++ b/systemtest/testdata/empty/empty3.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=308
diff --git a/systemtest/testdata/empty/empty4.ql b/systemtest/testdata/empty/empty4.ql
new file mode 100644
index 0000000..0ca7574
--- /dev/null
+++ b/systemtest/testdata/empty/empty4.ql
@@ -0,0 +1,3 @@
+/*
+ select a<132 from ImgCharA as a
+
diff --git a/systemtest/testdata/empty/empty4.ql.java.out b/systemtest/testdata/empty/empty4.ql.java.out
new file mode 100644
index 0000000..65b2739
--- /dev/null
+++ b/systemtest/testdata/empty/empty4.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Parsing error 300 in line 3, column 1: Unexpected name /. \ No newline at end of file
diff --git a/systemtest/testdata/empty/empty4.ql.out b/systemtest/testdata/empty/empty4.ql.out
new file mode 100644
index 0000000..addb1c0
--- /dev/null
+++ b/systemtest/testdata/empty/empty4.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=300
diff --git a/systemtest/testdata/empty/empty5.ql b/systemtest/testdata/empty/empty5.ql
new file mode 100644
index 0000000..7c804a4
--- /dev/null
+++ b/systemtest/testdata/empty/empty5.ql
@@ -0,0 +1,2 @@
+- select a<132 from ImgCharA as a
+
diff --git a/systemtest/testdata/empty/empty5.ql.java.out b/systemtest/testdata/empty/empty5.ql.java.out
new file mode 100644
index 0000000..1c3e17f
--- /dev/null
+++ b/systemtest/testdata/empty/empty5.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Parsing error 300 in line 3, column 1: Unexpected name -. \ No newline at end of file
diff --git a/systemtest/testdata/empty/empty5.ql.out b/systemtest/testdata/empty/empty5.ql.out
new file mode 100644
index 0000000..addb1c0
--- /dev/null
+++ b/systemtest/testdata/empty/empty5.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=300
diff --git a/systemtest/testdata/empty/empty6.ql b/systemtest/testdata/empty/empty6.ql
new file mode 100644
index 0000000..11108c9
--- /dev/null
+++ b/systemtest/testdata/empty/empty6.ql
@@ -0,0 +1,2 @@
+/ select a<132 from ImgCharA as a
+
diff --git a/systemtest/testdata/empty/empty6.ql.java.out b/systemtest/testdata/empty/empty6.ql.java.out
new file mode 100644
index 0000000..65b2739
--- /dev/null
+++ b/systemtest/testdata/empty/empty6.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Parsing error 300 in line 3, column 1: Unexpected name /. \ No newline at end of file
diff --git a/systemtest/testdata/empty/empty6.ql.out b/systemtest/testdata/empty/empty6.ql.out
new file mode 100644
index 0000000..addb1c0
--- /dev/null
+++ b/systemtest/testdata/empty/empty6.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=300
diff --git a/systemtest/testdata/empty/opt.ql b/systemtest/testdata/empty/opt.ql
new file mode 100644
index 0000000..475edc1
--- /dev/null
+++ b/systemtest/testdata/empty/opt.ql
@@ -0,0 +1,3 @@
+/*+opt 0
+ select a<132 from ImgCharA as a
+*/
diff --git a/systemtest/testdata/empty/opt.ql.java.out b/systemtest/testdata/empty/opt.ql.java.out
new file mode 100644
index 0000000..26e1b5c
--- /dev/null
+++ b/systemtest/testdata/empty/opt.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Parsing error: Unexpected end of query. \ No newline at end of file
diff --git a/systemtest/testdata/empty/opt.ql.out b/systemtest/testdata/empty/opt.ql.out
new file mode 100644
index 0000000..d1ec6cb
--- /dev/null
+++ b/systemtest/testdata/empty/opt.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=308
diff --git a/systemtest/testdata/empty/opt1.ql b/systemtest/testdata/empty/opt1.ql
new file mode 100644
index 0000000..b2389e1
--- /dev/null
+++ b/systemtest/testdata/empty/opt1.ql
@@ -0,0 +1,3 @@
+/*+opt 1
+ select a<132 from ImgCharA as a
+*/
diff --git a/systemtest/testdata/empty/opt1.ql.java.out b/systemtest/testdata/empty/opt1.ql.java.out
new file mode 100644
index 0000000..26e1b5c
--- /dev/null
+++ b/systemtest/testdata/empty/opt1.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Parsing error: Unexpected end of query. \ No newline at end of file
diff --git a/systemtest/testdata/empty/opt1.ql.out b/systemtest/testdata/empty/opt1.ql.out
new file mode 100644
index 0000000..d1ec6cb
--- /dev/null
+++ b/systemtest/testdata/empty/opt1.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=308
diff --git a/systemtest/testdata/empty/opt2.ql b/systemtest/testdata/empty/opt2.ql
new file mode 100644
index 0000000..758ff22
--- /dev/null
+++ b/systemtest/testdata/empty/opt2.ql
@@ -0,0 +1,3 @@
+/*+opt 2
+ select a<132 from ImgCharA as a
+*/
diff --git a/systemtest/testdata/empty/opt2.ql.java.out b/systemtest/testdata/empty/opt2.ql.java.out
new file mode 100644
index 0000000..26e1b5c
--- /dev/null
+++ b/systemtest/testdata/empty/opt2.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Parsing error: Unexpected end of query. \ No newline at end of file
diff --git a/systemtest/testdata/empty/opt2.ql.out b/systemtest/testdata/empty/opt2.ql.out
new file mode 100644
index 0000000..d1ec6cb
--- /dev/null
+++ b/systemtest/testdata/empty/opt2.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=308
diff --git a/systemtest/testdata/empty/opt3.ql b/systemtest/testdata/empty/opt3.ql
new file mode 100644
index 0000000..65eb556
--- /dev/null
+++ b/systemtest/testdata/empty/opt3.ql
@@ -0,0 +1,3 @@
+/*+opt 3
+ select a<132 from ImgCharA as a
+*/
diff --git a/systemtest/testdata/empty/opt3.ql.java.out b/systemtest/testdata/empty/opt3.ql.java.out
new file mode 100644
index 0000000..26e1b5c
--- /dev/null
+++ b/systemtest/testdata/empty/opt3.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Parsing error: Unexpected end of query. \ No newline at end of file
diff --git a/systemtest/testdata/empty/opt3.ql.out b/systemtest/testdata/empty/opt3.ql.out
new file mode 100644
index 0000000..d1ec6cb
--- /dev/null
+++ b/systemtest/testdata/empty/opt3.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=308
diff --git a/systemtest/testdata/empty/opt4.ql b/systemtest/testdata/empty/opt4.ql
new file mode 100644
index 0000000..1c6dee8
--- /dev/null
+++ b/systemtest/testdata/empty/opt4.ql
@@ -0,0 +1,3 @@
+/*+opt 4
+ select a<132 from ImgCharA as a
+*/
diff --git a/systemtest/testdata/empty/opt4.ql.java.out b/systemtest/testdata/empty/opt4.ql.java.out
new file mode 100644
index 0000000..26e1b5c
--- /dev/null
+++ b/systemtest/testdata/empty/opt4.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Parsing error: Unexpected end of query. \ No newline at end of file
diff --git a/systemtest/testdata/empty/opt4.ql.out b/systemtest/testdata/empty/opt4.ql.out
new file mode 100644
index 0000000..d1ec6cb
--- /dev/null
+++ b/systemtest/testdata/empty/opt4.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=308
diff --git a/systemtest/testdata/empty/opt41.ql b/systemtest/testdata/empty/opt41.ql
new file mode 100644
index 0000000..e064d9f
--- /dev/null
+++ b/systemtest/testdata/empty/opt41.ql
@@ -0,0 +1,3 @@
+/*+opt 4*/
+ select a<132 from ImgCharA as a
+*/
diff --git a/systemtest/testdata/empty/opt41.ql.java.out b/systemtest/testdata/empty/opt41.ql.java.out
new file mode 100644
index 0000000..da83965
--- /dev/null
+++ b/systemtest/testdata/empty/opt41.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Parsing error 300 in line 5, column 1: Unexpected name *. \ No newline at end of file
diff --git a/systemtest/testdata/empty/opt41.ql.out b/systemtest/testdata/empty/opt41.ql.out
new file mode 100644
index 0000000..addb1c0
--- /dev/null
+++ b/systemtest/testdata/empty/opt41.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=300
diff --git a/systemtest/testdata/empty/opt5.ql b/systemtest/testdata/empty/opt5.ql
new file mode 100644
index 0000000..6136e69
--- /dev/null
+++ b/systemtest/testdata/empty/opt5.ql
@@ -0,0 +1,2 @@
+[opt 0]
+-- select a>123 from ImgChar as a \ No newline at end of file
diff --git a/systemtest/testdata/empty/opt5.ql.java.out b/systemtest/testdata/empty/opt5.ql.java.out
new file mode 100644
index 0000000..26e1b5c
--- /dev/null
+++ b/systemtest/testdata/empty/opt5.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Parsing error: Unexpected end of query. \ No newline at end of file
diff --git a/systemtest/testdata/empty/opt5.ql.out b/systemtest/testdata/empty/opt5.ql.out
new file mode 100644
index 0000000..d1ec6cb
--- /dev/null
+++ b/systemtest/testdata/empty/opt5.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=308
diff --git a/systemtest/testdata/empty/opt6.ql b/systemtest/testdata/empty/opt6.ql
new file mode 100644
index 0000000..ad397b6
--- /dev/null
+++ b/systemtest/testdata/empty/opt6.ql
@@ -0,0 +1,2 @@
+[opt 1]
+-- select a>123 from ImgChar as a \ No newline at end of file
diff --git a/systemtest/testdata/empty/opt6.ql.java.out b/systemtest/testdata/empty/opt6.ql.java.out
new file mode 100644
index 0000000..26e1b5c
--- /dev/null
+++ b/systemtest/testdata/empty/opt6.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Parsing error: Unexpected end of query. \ No newline at end of file
diff --git a/systemtest/testdata/empty/opt6.ql.out b/systemtest/testdata/empty/opt6.ql.out
new file mode 100644
index 0000000..d1ec6cb
--- /dev/null
+++ b/systemtest/testdata/empty/opt6.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=308
diff --git a/systemtest/testdata/empty/opt7.ql b/systemtest/testdata/empty/opt7.ql
new file mode 100644
index 0000000..7607aea
--- /dev/null
+++ b/systemtest/testdata/empty/opt7.ql
@@ -0,0 +1,2 @@
+[opt 2]
+-- select a>123 from ImgChar as a \ No newline at end of file
diff --git a/systemtest/testdata/empty/opt7.ql.java.out b/systemtest/testdata/empty/opt7.ql.java.out
new file mode 100644
index 0000000..26e1b5c
--- /dev/null
+++ b/systemtest/testdata/empty/opt7.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Parsing error: Unexpected end of query. \ No newline at end of file
diff --git a/systemtest/testdata/empty/opt7.ql.out b/systemtest/testdata/empty/opt7.ql.out
new file mode 100644
index 0000000..d1ec6cb
--- /dev/null
+++ b/systemtest/testdata/empty/opt7.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=308
diff --git a/systemtest/testdata/empty/opt8.ql b/systemtest/testdata/empty/opt8.ql
new file mode 100644
index 0000000..0060b74
--- /dev/null
+++ b/systemtest/testdata/empty/opt8.ql
@@ -0,0 +1,2 @@
+[opt 3]
+-- select a>123 from ImgChar as a \ No newline at end of file
diff --git a/systemtest/testdata/empty/opt8.ql.java.out b/systemtest/testdata/empty/opt8.ql.java.out
new file mode 100644
index 0000000..26e1b5c
--- /dev/null
+++ b/systemtest/testdata/empty/opt8.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Parsing error: Unexpected end of query. \ No newline at end of file
diff --git a/systemtest/testdata/empty/opt8.ql.out b/systemtest/testdata/empty/opt8.ql.out
new file mode 100644
index 0000000..d1ec6cb
--- /dev/null
+++ b/systemtest/testdata/empty/opt8.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=308
diff --git a/systemtest/testdata/empty/opt9.ql b/systemtest/testdata/empty/opt9.ql
new file mode 100644
index 0000000..76ae25a
--- /dev/null
+++ b/systemtest/testdata/empty/opt9.ql
@@ -0,0 +1,2 @@
+[opt 4]
+-- select a>123 from ImgChar as a \ No newline at end of file
diff --git a/systemtest/testdata/empty/opt9.ql.java.out b/systemtest/testdata/empty/opt9.ql.java.out
new file mode 100644
index 0000000..26e1b5c
--- /dev/null
+++ b/systemtest/testdata/empty/opt9.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Parsing error: Unexpected end of query. \ No newline at end of file
diff --git a/systemtest/testdata/empty/opt9.ql.out b/systemtest/testdata/empty/opt9.ql.out
new file mode 100644
index 0000000..d1ec6cb
--- /dev/null
+++ b/systemtest/testdata/empty/opt9.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=308
diff --git a/systemtest/testdata/errorset1/err300.ql b/systemtest/testdata/errorset1/err300.ql
new file mode 100644
index 0000000..025a546
--- /dev/null
+++ b/systemtest/testdata/errorset1/err300.ql
@@ -0,0 +1,4 @@
+-- Testbed: error_no=300
+
+select a * -2ul
+from ImgCharMask
diff --git a/systemtest/testdata/errorset1/err300.ql.java.out b/systemtest/testdata/errorset1/err300.ql.java.out
new file mode 100644
index 0000000..1760d17
--- /dev/null
+++ b/systemtest/testdata/errorset1/err300.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Parsing error 300 in line 5, column 14: Unexpected name ul. \ No newline at end of file
diff --git a/systemtest/testdata/errorset1/err300.ql.out b/systemtest/testdata/errorset1/err300.ql.out
new file mode 100644
index 0000000..addb1c0
--- /dev/null
+++ b/systemtest/testdata/errorset1/err300.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=300
diff --git a/systemtest/testdata/errorset1/err301.ql b/systemtest/testdata/errorset1/err301.ql
new file mode 100644
index 0000000..2a11319
--- /dev/null
+++ b/systemtest/testdata/errorset1/err301.ql
@@ -0,0 +1,3 @@
+select < [-2:2,-1:1] 1l, 2c, 3c; 1c, 2c, 3c; 1c, 2c, 3c; 1c, 2c, 3c; 1c, 2c, 3c >
+from ImgCharMask as a
+
diff --git a/systemtest/testdata/errorset1/err301.ql.java.out b/systemtest/testdata/errorset1/err301.ql.java.out
new file mode 100644
index 0000000..e4ab0a1
--- /dev/null
+++ b/systemtest/testdata/errorset1/err301.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Parsing error 301 in line 3, column 8, token <: All cell values of an MDD must be of the same type. \ No newline at end of file
diff --git a/systemtest/testdata/errorset1/err301.ql.out b/systemtest/testdata/errorset1/err301.ql.out
new file mode 100644
index 0000000..78b7215
--- /dev/null
+++ b/systemtest/testdata/errorset1/err301.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=301
diff --git a/systemtest/testdata/errorset1/err302.ql b/systemtest/testdata/errorset1/err302.ql
new file mode 100644
index 0000000..9b7c3d5
--- /dev/null
+++ b/systemtest/testdata/errorset1/err302.ql
@@ -0,0 +1,3 @@
+select < [-2:2,-1:1] 2c, 3c; 1c, 2c, 3c; 1c, 2c, 3c; 1c, 2c, 3c; 1c, 2c, 3c >
+from ImgCharMask as a
+
diff --git a/systemtest/testdata/errorset1/err302.ql.java.out b/systemtest/testdata/errorset1/err302.ql.java.out
new file mode 100644
index 0000000..0784bd9
--- /dev/null
+++ b/systemtest/testdata/errorset1/err302.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Parsing error 302 in line 3, column 8, token <: Number of cells specified does not match the number of cells of the given spatial domain. \ No newline at end of file
diff --git a/systemtest/testdata/errorset1/err302.ql.out b/systemtest/testdata/errorset1/err302.ql.out
new file mode 100644
index 0000000..963950e
--- /dev/null
+++ b/systemtest/testdata/errorset1/err302.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=302
diff --git a/systemtest/testdata/errorset1/err349.ql.out b/systemtest/testdata/errorset1/err349.ql.out
new file mode 100644
index 0000000..b35f983
--- /dev/null
+++ b/systemtest/testdata/errorset1/err349.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: nan
+Element 2: nan
+-- Testbed end block:
diff --git a/systemtest/testdata/errorset1/err355.ql b/systemtest/testdata/errorset1/err355.ql
new file mode 100644
index 0000000..b19504a
--- /dev/null
+++ b/systemtest/testdata/errorset1/err355.ql
@@ -0,0 +1,4 @@
+-- Testbed: error_no=355
+
+select a
+from xxx as a
diff --git a/systemtest/testdata/errorset1/err355.ql.java.out b/systemtest/testdata/errorset1/err355.ql.java.out
new file mode 100644
index 0000000..9e6e07b
--- /dev/null
+++ b/systemtest/testdata/errorset1/err355.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 355 in line 6, column 8, near token xxx: Collection name is unknown. \ No newline at end of file
diff --git a/systemtest/testdata/errorset1/err355.ql.out b/systemtest/testdata/errorset1/err355.ql.out
new file mode 100644
index 0000000..4ff4c0a
--- /dev/null
+++ b/systemtest/testdata/errorset1/err355.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=355
diff --git a/systemtest/testdata/errorset1/err356.ql b/systemtest/testdata/errorset1/err356.ql
new file mode 100644
index 0000000..1390590
--- /dev/null
+++ b/systemtest/testdata/errorset1/err356.ql
@@ -0,0 +1,4 @@
+-- Testbed: error_no=356
+
+select marray x in [ 0:sdom(a)[0].hi+1, 0:sdom(a)[1].hi ] values a[x]
+from ImgCharA as a
diff --git a/systemtest/testdata/errorset1/err356.ql.java.out b/systemtest/testdata/errorset1/err356.ql.java.out
new file mode 100644
index 0000000..4ef0833
--- /dev/null
+++ b/systemtest/testdata/errorset1/err356.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 356 in line 0, column 0, near token : Specified domain does not intersect with spatial domain of MDD. \ No newline at end of file
diff --git a/systemtest/testdata/errorset1/err356.ql.out b/systemtest/testdata/errorset1/err356.ql.out
new file mode 100644
index 0000000..9e3e653
--- /dev/null
+++ b/systemtest/testdata/errorset1/err356.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=356
diff --git a/systemtest/testdata/errorset1/err357.ql b/systemtest/testdata/errorset1/err357.ql
new file mode 100644
index 0000000..8ee1d75
--- /dev/null
+++ b/systemtest/testdata/errorset1/err357.ql
@@ -0,0 +1,4 @@
+-- Testbed: error_no=357
+
+select b
+from ImgCharA as a
diff --git a/systemtest/testdata/errorset1/err357.ql.java.out b/systemtest/testdata/errorset1/err357.ql.java.out
new file mode 100644
index 0000000..6549bfe
--- /dev/null
+++ b/systemtest/testdata/errorset1/err357.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 357 in line 5, column 8, near token b: Variable is unknown. \ No newline at end of file
diff --git a/systemtest/testdata/errorset1/err357.ql.out b/systemtest/testdata/errorset1/err357.ql.out
new file mode 100644
index 0000000..c377248
--- /dev/null
+++ b/systemtest/testdata/errorset1/err357.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=357
diff --git a/systemtest/testdata/errorset1/err359.ql b/systemtest/testdata/errorset1/err359.ql
new file mode 100644
index 0000000..4105ffc
--- /dev/null
+++ b/systemtest/testdata/errorset1/err359.ql
@@ -0,0 +1,5 @@
+-- Testbed: error_no=359
+
+select a
+from ImgCharA as a
+where 1
diff --git a/systemtest/testdata/errorset1/err359.ql.java.out b/systemtest/testdata/errorset1/err359.ql.java.out
new file mode 100644
index 0000000..657ab1b
--- /dev/null
+++ b/systemtest/testdata/errorset1/err359.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 359 in line 7, column 1, near token where: Result of the where clause must be of type boolean. \ No newline at end of file
diff --git a/systemtest/testdata/errorset1/err359.ql.out b/systemtest/testdata/errorset1/err359.ql.out
new file mode 100644
index 0000000..24d1b9f
--- /dev/null
+++ b/systemtest/testdata/errorset1/err359.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=359
diff --git a/systemtest/testdata/errorset1/err364.ql b/systemtest/testdata/errorset1/err364.ql
new file mode 100644
index 0000000..15566c7
--- /dev/null
+++ b/systemtest/testdata/errorset1/err364.ql
@@ -0,0 +1,4 @@
+-- Testbed: error_no=364
+
+select a * { 1l, 0l, 0l }
+from ImgRGBA as a
diff --git a/systemtest/testdata/errorset1/err364.ql.java.out b/systemtest/testdata/errorset1/err364.ql.java.out
new file mode 100644
index 0000000..4e9345b
--- /dev/null
+++ b/systemtest/testdata/errorset1/err364.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 364 in line 5, column 10, near token *: Cell base type and scalar type of binary induce operation are incompatible. \ No newline at end of file
diff --git a/systemtest/testdata/errorset1/err364.ql.out b/systemtest/testdata/errorset1/err364.ql.out
new file mode 100644
index 0000000..c517ceb
--- /dev/null
+++ b/systemtest/testdata/errorset1/err364.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=364
diff --git a/systemtest/testdata/errorset1/err385.ql b/systemtest/testdata/errorset1/err385.ql
new file mode 100644
index 0000000..237e09a
--- /dev/null
+++ b/systemtest/testdata/errorset1/err385.ql
@@ -0,0 +1,5 @@
+-- Testbed: error_no=385
+
+select a
+from ImgRGBA as a
+where "abc" * "ab"
diff --git a/systemtest/testdata/errorset1/err385.ql.java.out b/systemtest/testdata/errorset1/err385.ql.java.out
new file mode 100644
index 0000000..98c3afc
--- /dev/null
+++ b/systemtest/testdata/errorset1/err385.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 385 in line 7, column 14, near token *: Operation is not supported on strings. \ No newline at end of file
diff --git a/systemtest/testdata/errorset1/err385.ql.out b/systemtest/testdata/errorset1/err385.ql.out
new file mode 100644
index 0000000..0bf7214
--- /dev/null
+++ b/systemtest/testdata/errorset1/err385.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=385
diff --git a/systemtest/testdata/errorset1/err386.ql b/systemtest/testdata/errorset1/err386.ql
new file mode 100644
index 0000000..3f9584c
--- /dev/null
+++ b/systemtest/testdata/errorset1/err386.ql
@@ -0,0 +1,5 @@
+-- Testbed: error_no=386
+
+select a
+from ImgCharA as a
+where oid(a) = <"test50|this should no be a valid base|1">
diff --git a/systemtest/testdata/errorset1/err386.ql.java.out b/systemtest/testdata/errorset1/err386.ql.java.out
new file mode 100644
index 0000000..b23b69c
--- /dev/null
+++ b/systemtest/testdata/errorset1/err386.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 386 in line 7, column 18, near token "test50|this should no be a valid base|1: Base name of oid is not matching the currently opened one. \ No newline at end of file
diff --git a/systemtest/testdata/errorset1/err386.ql.out b/systemtest/testdata/errorset1/err386.ql.out
new file mode 100644
index 0000000..ad4ef93
--- /dev/null
+++ b/systemtest/testdata/errorset1/err386.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=386
diff --git a/systemtest/testdata/errorset1/err390.ql b/systemtest/testdata/errorset1/err390.ql
new file mode 100644
index 0000000..59ac73c
--- /dev/null
+++ b/systemtest/testdata/errorset1/err390.ql
@@ -0,0 +1,4 @@
+-- Testbed: error_no=390
+
+select a[2:0, 1.0]
+from ImgCharA as a
diff --git a/systemtest/testdata/errorset1/err390.ql.java.out b/systemtest/testdata/errorset1/err390.ql.java.out
new file mode 100644
index 0000000..c3fa8d9
--- /dev/null
+++ b/systemtest/testdata/errorset1/err390.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 390 in line 5, column 9, near token [: Minterval dimension specifications must be either of type interval or integer. \ No newline at end of file
diff --git a/systemtest/testdata/errorset1/err390.ql.out b/systemtest/testdata/errorset1/err390.ql.out
new file mode 100644
index 0000000..5794547
--- /dev/null
+++ b/systemtest/testdata/errorset1/err390.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=390
diff --git a/systemtest/testdata/errorset1/err393.ql b/systemtest/testdata/errorset1/err393.ql
new file mode 100644
index 0000000..daefa72
--- /dev/null
+++ b/systemtest/testdata/errorset1/err393.ql
@@ -0,0 +1,4 @@
+-- Testbed: error_no=393
+
+select a * [2:4].lo
+from ImgCharA as a
diff --git a/systemtest/testdata/errorset1/err393.ql.java.out b/systemtest/testdata/errorset1/err393.ql.java.out
new file mode 100644
index 0000000..208940f
--- /dev/null
+++ b/systemtest/testdata/errorset1/err393.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 393 in line 5, column 18, near token lo: Operand of operation lo/hi must be of type interval. \ No newline at end of file
diff --git a/systemtest/testdata/errorset1/err393.ql.out b/systemtest/testdata/errorset1/err393.ql.out
new file mode 100644
index 0000000..e201d02
--- /dev/null
+++ b/systemtest/testdata/errorset1/err393.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=393
diff --git a/systemtest/testdata/errorset1/err394.ql b/systemtest/testdata/errorset1/err394.ql
new file mode 100644
index 0000000..27098a1
--- /dev/null
+++ b/systemtest/testdata/errorset1/err394.ql
@@ -0,0 +1,4 @@
+-- Testbed: error_no=394
+
+select a * (*:*).lo
+from ImgCharA as a
diff --git a/systemtest/testdata/errorset1/err394.ql.java.out b/systemtest/testdata/errorset1/err394.ql.java.out
new file mode 100644
index 0000000..0e451ef
--- /dev/null
+++ b/systemtest/testdata/errorset1/err394.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 394 in line 5, column 18, near token lo: Operation lo/hi can not be used for an open bound. \ No newline at end of file
diff --git a/systemtest/testdata/errorset1/err394.ql.out b/systemtest/testdata/errorset1/err394.ql.out
new file mode 100644
index 0000000..1071377
--- /dev/null
+++ b/systemtest/testdata/errorset1/err394.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=394
diff --git a/systemtest/testdata/errorset1/err396.ql b/systemtest/testdata/errorset1/err396.ql
new file mode 100644
index 0000000..4cb77b9
--- /dev/null
+++ b/systemtest/testdata/errorset1/err396.ql
@@ -0,0 +1,4 @@
+-- Testbed: error_no=396
+
+select 2[4]
+from ImgCharA as a
diff --git a/systemtest/testdata/errorset1/err396.ql.java.out b/systemtest/testdata/errorset1/err396.ql.java.out
new file mode 100644
index 0000000..1a7be77
--- /dev/null
+++ b/systemtest/testdata/errorset1/err396.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 396 in line 0, column 0, near token : Selection operation is not supported on this data type. \ No newline at end of file
diff --git a/systemtest/testdata/errorset1/err396.ql.out b/systemtest/testdata/errorset1/err396.ql.out
new file mode 100644
index 0000000..82270cb
--- /dev/null
+++ b/systemtest/testdata/errorset1/err396.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=396
diff --git a/systemtest/testdata/errorset1/err397.ql b/systemtest/testdata/errorset1/err397.ql
new file mode 100644
index 0000000..0a9c1b4
--- /dev/null
+++ b/systemtest/testdata/errorset1/err397.ql
@@ -0,0 +1,4 @@
+-- Testbed: error_no=397
+
+select a * [0:5][1.0].lo
+from ImgCharA as a
diff --git a/systemtest/testdata/errorset1/err397.ql.java.out b/systemtest/testdata/errorset1/err397.ql.java.out
new file mode 100644
index 0000000..fd429ce
--- /dev/null
+++ b/systemtest/testdata/errorset1/err397.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 397 in line 0, column 0, near token : Operand of minterval selection must be of type integer. \ No newline at end of file
diff --git a/systemtest/testdata/errorset1/err397.ql.out b/systemtest/testdata/errorset1/err397.ql.out
new file mode 100644
index 0000000..4146cc5
--- /dev/null
+++ b/systemtest/testdata/errorset1/err397.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=397
diff --git a/systemtest/testdata/errorset1/err398.ql b/systemtest/testdata/errorset1/err398.ql
new file mode 100644
index 0000000..9b5b510
--- /dev/null
+++ b/systemtest/testdata/errorset1/err398.ql
@@ -0,0 +1,4 @@
+-- Testbed: error_no=398
+
+select a * [0:5][1].lo
+from ImgCharA as a
diff --git a/systemtest/testdata/errorset1/err398.ql.java.out b/systemtest/testdata/errorset1/err398.ql.java.out
new file mode 100644
index 0000000..e8a168a
--- /dev/null
+++ b/systemtest/testdata/errorset1/err398.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 398 in line 0, column 0, near token : Index for minterval selection is out of range. \ No newline at end of file
diff --git a/systemtest/testdata/errorset1/err398.ql.out b/systemtest/testdata/errorset1/err398.ql.out
new file mode 100644
index 0000000..36ee5b0
--- /dev/null
+++ b/systemtest/testdata/errorset1/err398.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=398
diff --git a/systemtest/testdata/errorset1/err403.ql b/systemtest/testdata/errorset1/err403.ql
new file mode 100644
index 0000000..1352c71
--- /dev/null
+++ b/systemtest/testdata/errorset1/err403.ql
@@ -0,0 +1,5 @@
+-- Testbed: error_no=403
+
+select a
+from ImgRGBA as a
+where "abc" * 2
diff --git a/systemtest/testdata/errorset1/err403.ql.java.out b/systemtest/testdata/errorset1/err403.ql.java.out
new file mode 100644
index 0000000..4561b05
--- /dev/null
+++ b/systemtest/testdata/errorset1/err403.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 403 in line 7, column 14, near token *: Binary operation is not supported on these data types. \ No newline at end of file
diff --git a/systemtest/testdata/errorset1/err403.ql.out b/systemtest/testdata/errorset1/err403.ql.out
new file mode 100644
index 0000000..8211603
--- /dev/null
+++ b/systemtest/testdata/errorset1/err403.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=403
diff --git a/systemtest/testdata/errorset1/err405.ql b/systemtest/testdata/errorset1/err405.ql
new file mode 100644
index 0000000..feef611
--- /dev/null
+++ b/systemtest/testdata/errorset1/err405.ql
@@ -0,0 +1,4 @@
+-- Testbed: error_no=405
+
+select shift( 1, [0,0] )
+from ImgCharA as a
diff --git a/systemtest/testdata/errorset1/err405.ql.java.out b/systemtest/testdata/errorset1/err405.ql.java.out
new file mode 100644
index 0000000..36d8206
--- /dev/null
+++ b/systemtest/testdata/errorset1/err405.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 405 in line 5, column 8, near token shift: First operand of shift function must be of type MDD. \ No newline at end of file
diff --git a/systemtest/testdata/errorset1/err405.ql.out b/systemtest/testdata/errorset1/err405.ql.out
new file mode 100644
index 0000000..c9b4e9b
--- /dev/null
+++ b/systemtest/testdata/errorset1/err405.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=405
diff --git a/systemtest/testdata/errorset1/err406.ql b/systemtest/testdata/errorset1/err406.ql
new file mode 100644
index 0000000..46b5571
--- /dev/null
+++ b/systemtest/testdata/errorset1/err406.ql
@@ -0,0 +1,4 @@
+-- Testbed: error_no=406
+
+select shift( a, 1 )
+from ImgCharA as a
diff --git a/systemtest/testdata/errorset1/err406.ql.java.out b/systemtest/testdata/errorset1/err406.ql.java.out
new file mode 100644
index 0000000..2e51163
--- /dev/null
+++ b/systemtest/testdata/errorset1/err406.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 406 in line 5, column 8, near token shift: Second operand of shift function must be of type Point. \ No newline at end of file
diff --git a/systemtest/testdata/errorset1/err406.ql.out b/systemtest/testdata/errorset1/err406.ql.out
new file mode 100644
index 0000000..8ff8936
--- /dev/null
+++ b/systemtest/testdata/errorset1/err406.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=406
diff --git a/systemtest/testdata/errorset1/err407.ql b/systemtest/testdata/errorset1/err407.ql
new file mode 100644
index 0000000..4c6d408
--- /dev/null
+++ b/systemtest/testdata/errorset1/err407.ql
@@ -0,0 +1,4 @@
+-- Testbed: error_no=407
+
+select shift( a, [0,1,2] )
+from ImgCharA as a
diff --git a/systemtest/testdata/errorset1/err407.ql.java.out b/systemtest/testdata/errorset1/err407.ql.java.out
new file mode 100644
index 0000000..7a19e95
--- /dev/null
+++ b/systemtest/testdata/errorset1/err407.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 407 in line 5, column 8, near token shift: Dimensionality of MDD and point expression are not matching. \ No newline at end of file
diff --git a/systemtest/testdata/errorset1/err407.ql.out b/systemtest/testdata/errorset1/err407.ql.out
new file mode 100644
index 0000000..303168e
--- /dev/null
+++ b/systemtest/testdata/errorset1/err407.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=407
diff --git a/systemtest/testdata/errorset1/err408.ql b/systemtest/testdata/errorset1/err408.ql
new file mode 100644
index 0000000..887af1e
--- /dev/null
+++ b/systemtest/testdata/errorset1/err408.ql
@@ -0,0 +1,4 @@
+-- Testbed: error_no=408
+
+select shift( a, [0,sdom(a)[0].hi] )
+from ImgCharA as a
diff --git a/systemtest/testdata/errorset1/err408.ql.java.out b/systemtest/testdata/errorset1/err408.ql.java.out
new file mode 100644
index 0000000..5d1ab70
--- /dev/null
+++ b/systemtest/testdata/errorset1/err408.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 408 in line 5, column 8, near token shift: Second operand of shift function must be a constant expression. \ No newline at end of file
diff --git a/systemtest/testdata/errorset1/err408.ql.out b/systemtest/testdata/errorset1/err408.ql.out
new file mode 100644
index 0000000..b43027d
--- /dev/null
+++ b/systemtest/testdata/errorset1/err408.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=408
diff --git a/systemtest/testdata/errorset1/err409.ql b/systemtest/testdata/errorset1/err409.ql
new file mode 100644
index 0000000..09f56f4
--- /dev/null
+++ b/systemtest/testdata/errorset1/err409.ql
@@ -0,0 +1,4 @@
+-- Testbed: error_no=409
+
+select shift( a, [5,5] )[5:10,*:*]
+from ImgCharD as a
diff --git a/systemtest/testdata/errorset1/err409.ql.java.out b/systemtest/testdata/errorset1/err409.ql.java.out
new file mode 100644
index 0000000..4bbedb1
--- /dev/null
+++ b/systemtest/testdata/errorset1/err409.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 409 in line 5, column 8, near token shift: Spatial domain shift of open bounds is not supported. \ No newline at end of file
diff --git a/systemtest/testdata/errorset1/err409.ql.out b/systemtest/testdata/errorset1/err409.ql.out
new file mode 100644
index 0000000..0c16eab
--- /dev/null
+++ b/systemtest/testdata/errorset1/err409.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=409
diff --git a/systemtest/testdata/errorset1/err413.ql b/systemtest/testdata/errorset1/err413.ql
new file mode 100644
index 0000000..3e6eb2b
--- /dev/null
+++ b/systemtest/testdata/errorset1/err413.ql
@@ -0,0 +1,6 @@
+-- Testbed: error_no=413
+
+select marray n in [0:1] values
+ condense + over x in sdom(a) where 1c using 1c
+from ImgCharA as a
+
diff --git a/systemtest/testdata/errorset1/err413.ql.java.out b/systemtest/testdata/errorset1/err413.ql.java.out
new file mode 100644
index 0000000..b0769d6
--- /dev/null
+++ b/systemtest/testdata/errorset1/err413.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 413 in line 6, column 10, near token condense: Condition expression must be of type boolean. \ No newline at end of file
diff --git a/systemtest/testdata/errorset1/err413.ql.out b/systemtest/testdata/errorset1/err413.ql.out
new file mode 100644
index 0000000..a572180
--- /dev/null
+++ b/systemtest/testdata/errorset1/err413.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=413
diff --git a/systemtest/testdata/errorset1/err415.ql b/systemtest/testdata/errorset1/err415.ql
new file mode 100644
index 0000000..ec24ad4
--- /dev/null
+++ b/systemtest/testdata/errorset1/err415.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values count_cells( a )
+from ImgCharA as a
+
diff --git a/systemtest/testdata/errorset1/err415.ql.java.out b/systemtest/testdata/errorset1/err415.ql.java.out
new file mode 100644
index 0000000..da2d08b
--- /dev/null
+++ b/systemtest/testdata/errorset1/err415.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 415 in line 3, column 33, near token count_cells: Operand of count_cells must be of type r_Marray<d_Boolean>. \ No newline at end of file
diff --git a/systemtest/testdata/errorset1/err415.ql.out b/systemtest/testdata/errorset1/err415.ql.out
new file mode 100644
index 0000000..ec49f32
--- /dev/null
+++ b/systemtest/testdata/errorset1/err415.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=415
diff --git a/systemtest/testdata/errorset1/err950_300.ql b/systemtest/testdata/errorset1/err950_300.ql
new file mode 100644
index 0000000..97a244f
--- /dev/null
+++ b/systemtest/testdata/errorset1/err950_300.ql
@@ -0,0 +1,5 @@
+-- Testbed: error_no=300
+
+UPDATE ImgCharD AS image
+SET 1c ASSIGN $1
+
diff --git a/systemtest/testdata/errorset1/err950_300.ql.java.out b/systemtest/testdata/errorset1/err950_300.ql.java.out
new file mode 100644
index 0000000..c19a4a3
--- /dev/null
+++ b/systemtest/testdata/errorset1/err950_300.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Parsing error 300 in line 6, column 8: Unexpected name 1c. \ No newline at end of file
diff --git a/systemtest/testdata/errorset1/err950_300.ql.out b/systemtest/testdata/errorset1/err950_300.ql.out
new file mode 100644
index 0000000..addb1c0
--- /dev/null
+++ b/systemtest/testdata/errorset1/err950_300.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=300
diff --git a/systemtest/testdata/errorset1/err951.ql b/systemtest/testdata/errorset1/err951.ql
new file mode 100644
index 0000000..6bcac87
--- /dev/null
+++ b/systemtest/testdata/errorset1/err951.ql
@@ -0,0 +1,5 @@
+-- Testbed: error_no=951
+
+UPDATE ImgCharD AS image
+SET image ASSIGN 1c
+
diff --git a/systemtest/testdata/errorset1/err951.ql.java.out b/systemtest/testdata/errorset1/err951.ql.java.out
new file mode 100644
index 0000000..9a53de7
--- /dev/null
+++ b/systemtest/testdata/errorset1/err951.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Update error 951 in line 5, column 1, near token UPDATE: Update source must be an expression resulting in an r_Marray<>. \ No newline at end of file
diff --git a/systemtest/testdata/errorset1/err951.ql.out b/systemtest/testdata/errorset1/err951.ql.out
new file mode 100644
index 0000000..cfd56b3
--- /dev/null
+++ b/systemtest/testdata/errorset1/err951.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=951
diff --git a/systemtest/testdata/errorset1/err952.ql b/systemtest/testdata/errorset1/err952.ql
new file mode 100644
index 0000000..e9ebd64
--- /dev/null
+++ b/systemtest/testdata/errorset1/err952.ql
@@ -0,0 +1,5 @@
+-- Testbed: error_no=952
+
+UPDATE ImgCharD AS image
+SET image ASSIGN < [-2:2,-1:1] 1l, 2l, 3l; 1l, 2l, 3l; 1l, 2l, 3l; 1l, 2l, 3l; 1l, 2l, 3l >
+
diff --git a/systemtest/testdata/errorset1/err952.ql.java.out b/systemtest/testdata/errorset1/err952.ql.java.out
new file mode 100644
index 0000000..7687493
--- /dev/null
+++ b/systemtest/testdata/errorset1/err952.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Update error 952 in line 5, column 1, near token UPDATE: Update base type does not match MDD base type. \ No newline at end of file
diff --git a/systemtest/testdata/errorset1/err952.ql.out b/systemtest/testdata/errorset1/err952.ql.out
new file mode 100644
index 0000000..46470cd
--- /dev/null
+++ b/systemtest/testdata/errorset1/err952.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=952
diff --git a/systemtest/testdata/errorset1/err954_300.ql b/systemtest/testdata/errorset1/err954_300.ql
new file mode 100644
index 0000000..1ab9be6
--- /dev/null
+++ b/systemtest/testdata/errorset1/err954_300.ql
@@ -0,0 +1,3 @@
+UPDATE ImgULongC AS image
+SET image/2ul ASSIGN $1
+
diff --git a/systemtest/testdata/errorset1/err954_300.ql.java.out b/systemtest/testdata/errorset1/err954_300.ql.java.out
new file mode 100644
index 0000000..07e8dbe
--- /dev/null
+++ b/systemtest/testdata/errorset1/err954_300.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Parsing error 300 in line 4, column 13: Unexpected name /. \ No newline at end of file
diff --git a/systemtest/testdata/errorset1/err954_300.ql.out b/systemtest/testdata/errorset1/err954_300.ql.out
new file mode 100644
index 0000000..addb1c0
--- /dev/null
+++ b/systemtest/testdata/errorset1/err954_300.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=300
diff --git a/systemtest/testdata/errorset1/err961.ql b/systemtest/testdata/errorset1/err961.ql
new file mode 100644
index 0000000..ec60003
--- /dev/null
+++ b/systemtest/testdata/errorset1/err961.ql
@@ -0,0 +1,3 @@
+UPDATE ImgULongC AS image
+SET image[8,8] ASSIGN $1[0:4,0:4]/2ul
+
diff --git a/systemtest/testdata/errorset1/err961.ql.java.out b/systemtest/testdata/errorset1/err961.ql.java.out
new file mode 100644
index 0000000..5c0d1b0
--- /dev/null
+++ b/systemtest/testdata/errorset1/err961.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Update error 961 in line 3, column 1, near token UPDATE: Update domain must be of type Minterval. \ No newline at end of file
diff --git a/systemtest/testdata/errorset1/err961.ql.out b/systemtest/testdata/errorset1/err961.ql.out
new file mode 100644
index 0000000..daefe00
--- /dev/null
+++ b/systemtest/testdata/errorset1/err961.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=961
diff --git a/systemtest/testdata/errorset1/err962.ql b/systemtest/testdata/errorset1/err962.ql
new file mode 100644
index 0000000..0a5e925
--- /dev/null
+++ b/systemtest/testdata/errorset1/err962.ql
@@ -0,0 +1,3 @@
+UPDATE ImgULongC AS image
+SET image[8,*:*] ASSIGN $1[0:4,0:4]/2ul
+
diff --git a/systemtest/testdata/errorset1/err962.ql.java.out b/systemtest/testdata/errorset1/err962.ql.java.out
new file mode 100644
index 0000000..79efbc5
--- /dev/null
+++ b/systemtest/testdata/errorset1/err962.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Update error 962 in line 3, column 1, near token UPDATE: Number of update intervals must match source dimensionaltiy. \ No newline at end of file
diff --git a/systemtest/testdata/errorset1/err962.ql.out b/systemtest/testdata/errorset1/err962.ql.out
new file mode 100644
index 0000000..3ea67fb
--- /dev/null
+++ b/systemtest/testdata/errorset1/err962.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=962
diff --git a/systemtest/testdata/errorset1/err963.ql b/systemtest/testdata/errorset1/err963.ql
new file mode 100644
index 0000000..e545888
--- /dev/null
+++ b/systemtest/testdata/errorset1/err963.ql
@@ -0,0 +1,3 @@
+UPDATE ImgULongC AS image
+SET image[6,8,*:*] ASSIGN $1[0:4,0:4]/2ul
+
diff --git a/systemtest/testdata/errorset1/err963.ql.java.out b/systemtest/testdata/errorset1/err963.ql.java.out
new file mode 100644
index 0000000..38928fe
--- /dev/null
+++ b/systemtest/testdata/errorset1/err963.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Update error 963 in line 3, column 1, near token UPDATE: Update domain dimensionality must match target MDD dimensionaltiy. \ No newline at end of file
diff --git a/systemtest/testdata/errorset1/err963.ql.out b/systemtest/testdata/errorset1/err963.ql.out
new file mode 100644
index 0000000..2303b8d
--- /dev/null
+++ b/systemtest/testdata/errorset1/err963.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=963
diff --git a/systemtest/testdata/optimization/opt.ql b/systemtest/testdata/optimization/opt.ql
new file mode 100644
index 0000000..e0f6943
--- /dev/null
+++ b/systemtest/testdata/optimization/opt.ql
@@ -0,0 +1,2 @@
+/*+opt 0*/
+select a<132 from ImgCharA as a
diff --git a/systemtest/testdata/optimization/opt.ql.java.out b/systemtest/testdata/optimization/opt.ql.java.out
new file mode 100644
index 0000000..3b345ff
--- /dev/null
+++ b/systemtest/testdata/optimization/opt.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/optimization/opt.ql.out b/systemtest/testdata/optimization/opt.ql.out
new file mode 100644
index 0000000..8de3580
--- /dev/null
+++ b/systemtest/testdata/optimization/opt.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <bool, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <bool, [0:10,0:10]>
+ Type Schema...........: marray< bool >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: bool
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+Image 2
+GMarray
+ Type Structure........: marray <bool, [0:10,0:10]>
+ Type Schema...........: marray< bool >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: bool
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+-- Testbed end block:
diff --git a/systemtest/testdata/optimization/opt1.ql b/systemtest/testdata/optimization/opt1.ql
new file mode 100644
index 0000000..86c765a
--- /dev/null
+++ b/systemtest/testdata/optimization/opt1.ql
@@ -0,0 +1,2 @@
+/*+opt 1*/
+select a<132 from ImgCharA as a
diff --git a/systemtest/testdata/optimization/opt1.ql.java.out b/systemtest/testdata/optimization/opt1.ql.java.out
new file mode 100644
index 0000000..3b345ff
--- /dev/null
+++ b/systemtest/testdata/optimization/opt1.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/optimization/opt1.ql.out b/systemtest/testdata/optimization/opt1.ql.out
new file mode 100644
index 0000000..8de3580
--- /dev/null
+++ b/systemtest/testdata/optimization/opt1.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <bool, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <bool, [0:10,0:10]>
+ Type Schema...........: marray< bool >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: bool
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+Image 2
+GMarray
+ Type Structure........: marray <bool, [0:10,0:10]>
+ Type Schema...........: marray< bool >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: bool
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+-- Testbed end block:
diff --git a/systemtest/testdata/optimization/opt2.ql b/systemtest/testdata/optimization/opt2.ql
new file mode 100644
index 0000000..3446c8e
--- /dev/null
+++ b/systemtest/testdata/optimization/opt2.ql
@@ -0,0 +1,2 @@
+/*+opt 2*/
+select a<132 from ImgCharA as a
diff --git a/systemtest/testdata/optimization/opt2.ql.java.out b/systemtest/testdata/optimization/opt2.ql.java.out
new file mode 100644
index 0000000..3b345ff
--- /dev/null
+++ b/systemtest/testdata/optimization/opt2.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/optimization/opt2.ql.out b/systemtest/testdata/optimization/opt2.ql.out
new file mode 100644
index 0000000..8de3580
--- /dev/null
+++ b/systemtest/testdata/optimization/opt2.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <bool, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <bool, [0:10,0:10]>
+ Type Schema...........: marray< bool >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: bool
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+Image 2
+GMarray
+ Type Structure........: marray <bool, [0:10,0:10]>
+ Type Schema...........: marray< bool >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: bool
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+-- Testbed end block:
diff --git a/systemtest/testdata/optimization/opt3.ql b/systemtest/testdata/optimization/opt3.ql
new file mode 100644
index 0000000..5095827
--- /dev/null
+++ b/systemtest/testdata/optimization/opt3.ql
@@ -0,0 +1,2 @@
+/*+opt 3*/
+select a<132 from ImgCharA as a
diff --git a/systemtest/testdata/optimization/opt3.ql.java.out b/systemtest/testdata/optimization/opt3.ql.java.out
new file mode 100644
index 0000000..3b345ff
--- /dev/null
+++ b/systemtest/testdata/optimization/opt3.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/optimization/opt3.ql.out b/systemtest/testdata/optimization/opt3.ql.out
new file mode 100644
index 0000000..8de3580
--- /dev/null
+++ b/systemtest/testdata/optimization/opt3.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <bool, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <bool, [0:10,0:10]>
+ Type Schema...........: marray< bool >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: bool
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+Image 2
+GMarray
+ Type Structure........: marray <bool, [0:10,0:10]>
+ Type Schema...........: marray< bool >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: bool
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+-- Testbed end block:
diff --git a/systemtest/testdata/optimization/opt4.ql b/systemtest/testdata/optimization/opt4.ql
new file mode 100644
index 0000000..0599052
--- /dev/null
+++ b/systemtest/testdata/optimization/opt4.ql
@@ -0,0 +1,2 @@
+/*+opt 4*/
+select a<132 from ImgCharA as a
diff --git a/systemtest/testdata/optimization/opt4.ql.java.out b/systemtest/testdata/optimization/opt4.ql.java.out
new file mode 100644
index 0000000..3b345ff
--- /dev/null
+++ b/systemtest/testdata/optimization/opt4.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/optimization/opt4.ql.out b/systemtest/testdata/optimization/opt4.ql.out
new file mode 100644
index 0000000..8de3580
--- /dev/null
+++ b/systemtest/testdata/optimization/opt4.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <bool, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <bool, [0:10,0:10]>
+ Type Schema...........: marray< bool >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: bool
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+Image 2
+GMarray
+ Type Structure........: marray <bool, [0:10,0:10]>
+ Type Schema...........: marray< bool >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: bool
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+-- Testbed end block:
diff --git a/systemtest/testdata/optimization/opt5.ql b/systemtest/testdata/optimization/opt5.ql
new file mode 100644
index 0000000..9f5b38b
--- /dev/null
+++ b/systemtest/testdata/optimization/opt5.ql
@@ -0,0 +1,2 @@
+[opt 0]
+select a>123 from ImgCharA as a \ No newline at end of file
diff --git a/systemtest/testdata/optimization/opt5.ql.java.out b/systemtest/testdata/optimization/opt5.ql.java.out
new file mode 100644
index 0000000..8315bc2
--- /dev/null
+++ b/systemtest/testdata/optimization/opt5.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/optimization/opt5.ql.out b/systemtest/testdata/optimization/opt5.ql.out
new file mode 100644
index 0000000..83e6fdb
--- /dev/null
+++ b/systemtest/testdata/optimization/opt5.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <bool, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <bool, [0:10,0:10]>
+ Type Schema...........: marray< bool >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: bool
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+Image 2
+GMarray
+ Type Structure........: marray <bool, [0:10,0:10]>
+ Type Schema...........: marray< bool >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: bool
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+-- Testbed end block:
diff --git a/systemtest/testdata/optimization/opt6.ql b/systemtest/testdata/optimization/opt6.ql
new file mode 100644
index 0000000..f1d402b
--- /dev/null
+++ b/systemtest/testdata/optimization/opt6.ql
@@ -0,0 +1,2 @@
+[opt 1]
+select a>123 from ImgCharA as a \ No newline at end of file
diff --git a/systemtest/testdata/optimization/opt6.ql.java.out b/systemtest/testdata/optimization/opt6.ql.java.out
new file mode 100644
index 0000000..8315bc2
--- /dev/null
+++ b/systemtest/testdata/optimization/opt6.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/optimization/opt6.ql.out b/systemtest/testdata/optimization/opt6.ql.out
new file mode 100644
index 0000000..83e6fdb
--- /dev/null
+++ b/systemtest/testdata/optimization/opt6.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <bool, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <bool, [0:10,0:10]>
+ Type Schema...........: marray< bool >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: bool
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+Image 2
+GMarray
+ Type Structure........: marray <bool, [0:10,0:10]>
+ Type Schema...........: marray< bool >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: bool
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+-- Testbed end block:
diff --git a/systemtest/testdata/optimization/opt7.ql b/systemtest/testdata/optimization/opt7.ql
new file mode 100644
index 0000000..e80b4fb
--- /dev/null
+++ b/systemtest/testdata/optimization/opt7.ql
@@ -0,0 +1,2 @@
+[opt 2]
+select a>123 from ImgCharA as a \ No newline at end of file
diff --git a/systemtest/testdata/optimization/opt7.ql.java.out b/systemtest/testdata/optimization/opt7.ql.java.out
new file mode 100644
index 0000000..8315bc2
--- /dev/null
+++ b/systemtest/testdata/optimization/opt7.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/optimization/opt7.ql.out b/systemtest/testdata/optimization/opt7.ql.out
new file mode 100644
index 0000000..83e6fdb
--- /dev/null
+++ b/systemtest/testdata/optimization/opt7.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <bool, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <bool, [0:10,0:10]>
+ Type Schema...........: marray< bool >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: bool
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+Image 2
+GMarray
+ Type Structure........: marray <bool, [0:10,0:10]>
+ Type Schema...........: marray< bool >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: bool
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+-- Testbed end block:
diff --git a/systemtest/testdata/optimization/opt8.ql b/systemtest/testdata/optimization/opt8.ql
new file mode 100644
index 0000000..b1ac0f8
--- /dev/null
+++ b/systemtest/testdata/optimization/opt8.ql
@@ -0,0 +1,2 @@
+[opt 3]
+select a>123 from ImgCharA as a \ No newline at end of file
diff --git a/systemtest/testdata/optimization/opt8.ql.java.out b/systemtest/testdata/optimization/opt8.ql.java.out
new file mode 100644
index 0000000..8315bc2
--- /dev/null
+++ b/systemtest/testdata/optimization/opt8.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/optimization/opt8.ql.out b/systemtest/testdata/optimization/opt8.ql.out
new file mode 100644
index 0000000..83e6fdb
--- /dev/null
+++ b/systemtest/testdata/optimization/opt8.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <bool, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <bool, [0:10,0:10]>
+ Type Schema...........: marray< bool >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: bool
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+Image 2
+GMarray
+ Type Structure........: marray <bool, [0:10,0:10]>
+ Type Schema...........: marray< bool >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: bool
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+-- Testbed end block:
diff --git a/systemtest/testdata/optimization/opt9.ql b/systemtest/testdata/optimization/opt9.ql
new file mode 100644
index 0000000..88e7f74
--- /dev/null
+++ b/systemtest/testdata/optimization/opt9.ql
@@ -0,0 +1,2 @@
+[opt 4]
+select a>123 from ImgCharA as a \ No newline at end of file
diff --git a/systemtest/testdata/optimization/opt9.ql.java.out b/systemtest/testdata/optimization/opt9.ql.java.out
new file mode 100644
index 0000000..8315bc2
--- /dev/null
+++ b/systemtest/testdata/optimization/opt9.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/optimization/opt9.ql.out b/systemtest/testdata/optimization/opt9.ql.out
new file mode 100644
index 0000000..83e6fdb
--- /dev/null
+++ b/systemtest/testdata/optimization/opt9.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <bool, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <bool, [0:10,0:10]>
+ Type Schema...........: marray< bool >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: bool
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+Image 2
+GMarray
+ Type Structure........: marray <bool, [0:10,0:10]>
+ Type Schema...........: marray< bool >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: bool
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+-- Testbed end block:
diff --git a/systemtest/testdata/overlay/overlay1.ql b/systemtest/testdata/overlay/overlay1.ql
new file mode 100644
index 0000000..3fa404b
--- /dev/null
+++ b/systemtest/testdata/overlay/overlay1.ql
@@ -0,0 +1,2 @@
+-- rview-Query
+select b overlay a from OvlRGBA as a, OvlRGBB as b \ No newline at end of file
diff --git a/systemtest/testdata/overlay/overlay1.ql.java.out b/systemtest/testdata/overlay/overlay1.ql.java.out
new file mode 100644
index 0000000..aa9db3c
--- /dev/null
+++ b/systemtest/testdata/overlay/overlay1.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasGMArray
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:9,0:9]
+ TilingDomain..........: [0:205,0:205]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 3
+ Data format...........: 0
+ Data size (bytes).....: 300
+ -68 108 51 -76 114 52 -84 101 61 -108 88 54 -124 70 40 124 66 44 124 75 41 124 77 52 -107 70 27 -100 87 35 -84 99 36 -84 99 36 -100 88 44 -124 65 38 116 56 25 116 50 20 102 54 38 116 56 25 -100 76 27 -108 76 27 -76 107 43 -84 107 44 -92 94 43 -108 76 36 -124 64 25 124 58 26 -124 64 25 -124 64 25 -100 82 34 -108 76 27 -76 119 52 -76 119 52 -76 108 61 -84 100 49 -92 89 44 -100 82 46 -92 82 35 -92 88 35 -100 87 35 -92 82 35 -76 107 43 -76 107 43 -76 114 52 -76 108 52 -76 101 54 -76 100 44 -84 94 42 -76 94 47 -92 89 44 -76 108 52 -84 107 44 -92 107 51 -84 107 44 -76 108 52 -68 108 51 -76 108 52 -76 100 44 -76 94 33 -84 100 49 -67 114 62 -76 108 61 -84 107 52 -76 107 43 -76 108 52 -76 114 52 -76 107 43 -76 100 44 -76 107 43 -76 108 52 -76 108 52 -68 121 69 -76 114 61 -84 107 52 -76 108 52 -76 114 52 -76 107 43 -76 107 43 -76 100 34 -76 108 52 -84 94 42 -92 119 75 -76 -128 67 -76 -128 67 -67 114 62 -68 108 51 -68 108 51 -76 100 44 -68 108 51 -76 100 44 -76 100 44 -76 -122 67 -60 -112 84 -52 -112 82 -68 -128 68 -76 108 52 -84 94 42 -84 89 36 -76 100 44 -84 94 42 -84 89 36 \ No newline at end of file
diff --git a/systemtest/testdata/overlay/overlay1.ql.out b/systemtest/testdata/overlay/overlay1.ql.out
new file mode 100644
index 0000000..edc1b37
--- /dev/null
+++ b/systemtest/testdata/overlay/overlay1.ql.out
@@ -0,0 +1,23 @@
+-- Testbed line: result_type=set <marray <struct { char red, char green, char blue }, [0:9,0:9]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <struct { char red, char green, char blue }, [0:9,0:9]>
+ Type Schema...........: marray< struct{ char red, char green, char blue } >
+ Domain................: [0:9,0:9]
+ Base Type Schema......: struct{ char red, char green, char blue }
+ Base Type Length......: 3
+ Data format.......... : Array
+ Data size (bytes).... : 300
+{ 188, 108, 51} { 172, 99, 36} { 180, 107, 43} { 180, 119, 52} { 180, 107, 43} { 172, 107, 44} { 180, 108, 61} { 188, 121, 69} { 164, 119, 75} { 180, 134, 67}
+{ 180, 114, 52} { 172, 99, 36} { 172, 107, 44} { 180, 119, 52} { 180, 107, 43} { 164, 107, 51} { 172, 107, 52} { 180, 114, 61} { 180, 128, 67} { 196, 144, 84}
+{ 172, 101, 61} { 156, 88, 44} { 164, 94, 43} { 180, 108, 61} { 180, 114, 52} { 172, 107, 44} { 180, 107, 43} { 172, 107, 52} { 180, 128, 67} { 204, 144, 82}
+{ 148, 88, 54} { 132, 65, 38} { 148, 76, 36} { 172, 100, 49} { 180, 108, 52} { 180, 108, 52} { 180, 108, 52} { 180, 108, 52} { 189, 114, 62} { 188, 128, 68}
+{ 132, 70, 40} { 116, 56, 25} { 132, 64, 25} { 164, 89, 44} { 180, 101, 54} { 188, 108, 51} { 180, 114, 52} { 180, 114, 52} { 188, 108, 51} { 180, 108, 52}
+{ 124, 66, 44} { 116, 50, 20} { 124, 58, 26} { 156, 82, 46} { 180, 100, 44} { 180, 108, 52} { 180, 107, 43} { 180, 107, 43} { 188, 108, 51} { 172, 94, 42}
+{ 124, 75, 41} { 102, 54, 38} { 132, 64, 25} { 164, 82, 35} { 172, 94, 42} { 180, 100, 44} { 180, 100, 44} { 180, 107, 43} { 180, 100, 44} { 172, 89, 36}
+{ 124, 77, 52} { 116, 56, 25} { 132, 64, 25} { 164, 88, 35} { 180, 94, 47} { 180, 94, 33} { 180, 107, 43} { 180, 100, 34} { 188, 108, 51} { 180, 100, 44}
+{ 149, 70, 27} { 156, 76, 27} { 156, 82, 34} { 156, 87, 35} { 164, 89, 44} { 172, 100, 49} { 180, 108, 52} { 180, 108, 52} { 180, 100, 44} { 172, 94, 42}
+{ 156, 87, 35} { 148, 76, 27} { 148, 76, 27} { 164, 82, 35} { 180, 108, 52} { 189, 114, 62} { 180, 108, 52} { 172, 94, 42} { 180, 100, 44} { 172, 89, 36}
+-- Testbed end block:
diff --git a/systemtest/testdata/overlay/overlay2.ql b/systemtest/testdata/overlay/overlay2.ql
new file mode 100644
index 0000000..f120500
--- /dev/null
+++ b/systemtest/testdata/overlay/overlay2.ql
@@ -0,0 +1,2 @@
+-- rview-Query
+select a[2:7,2:7] overlay b[2:7,2:7] from OvlRGBA as a, OvlRGBB as b \ No newline at end of file
diff --git a/systemtest/testdata/overlay/overlay2.ql.java.out b/systemtest/testdata/overlay/overlay2.ql.java.out
new file mode 100644
index 0000000..688293f
--- /dev/null
+++ b/systemtest/testdata/overlay/overlay2.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Parsing error 300 in line 4, column 8: Unexpected name . \ No newline at end of file
diff --git a/systemtest/testdata/overlay/overlay2.ql.out b/systemtest/testdata/overlay/overlay2.ql.out
new file mode 100644
index 0000000..addb1c0
--- /dev/null
+++ b/systemtest/testdata/overlay/overlay2.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=300
diff --git a/systemtest/testdata/overlay/overlay3.ql b/systemtest/testdata/overlay/overlay3.ql
new file mode 100644
index 0000000..72b0172
--- /dev/null
+++ b/systemtest/testdata/overlay/overlay3.ql
@@ -0,0 +1,2 @@
+-- rview-Query
+select a[0:7,2:7] overlay b[2:7,2:7] from OvlRGBA as a, OvlRGBB as b \ No newline at end of file
diff --git a/systemtest/testdata/overlay/overlay3.ql.java.out b/systemtest/testdata/overlay/overlay3.ql.java.out
new file mode 100644
index 0000000..688293f
--- /dev/null
+++ b/systemtest/testdata/overlay/overlay3.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Parsing error 300 in line 4, column 8: Unexpected name . \ No newline at end of file
diff --git a/systemtest/testdata/overlay/overlay3.ql.out b/systemtest/testdata/overlay/overlay3.ql.out
new file mode 100644
index 0000000..addb1c0
--- /dev/null
+++ b/systemtest/testdata/overlay/overlay3.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=300
diff --git a/systemtest/testdata/overlay/overlay4.ql b/systemtest/testdata/overlay/overlay4.ql
new file mode 100644
index 0000000..6359523
--- /dev/null
+++ b/systemtest/testdata/overlay/overlay4.ql
@@ -0,0 +1,2 @@
+-- rview-Query
+select b overlay a from OvlCharA as a, OvlRGBA as b \ No newline at end of file
diff --git a/systemtest/testdata/overlay/overlay4.ql.java.out b/systemtest/testdata/overlay/overlay4.ql.java.out
new file mode 100644
index 0000000..3be9e97
--- /dev/null
+++ b/systemtest/testdata/overlay/overlay4.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 363 in line 4, column 10, near token overlay: Cell base types of binary induce operation are incompatible. \ No newline at end of file
diff --git a/systemtest/testdata/overlay/overlay4.ql.out b/systemtest/testdata/overlay/overlay4.ql.out
new file mode 100644
index 0000000..a3281cd
--- /dev/null
+++ b/systemtest/testdata/overlay/overlay4.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=363
diff --git a/systemtest/testdata/overlay/overlay5.ql b/systemtest/testdata/overlay/overlay5.ql
new file mode 100644
index 0000000..a3c1e0a
--- /dev/null
+++ b/systemtest/testdata/overlay/overlay5.ql
@@ -0,0 +1,2 @@
+-- rview-Query
+select c overlay b overlay a from OvlRGBA as a, OvlRGBB as b, OvlRGBC as c \ No newline at end of file
diff --git a/systemtest/testdata/overlay/overlay5.ql.java.out b/systemtest/testdata/overlay/overlay5.ql.java.out
new file mode 100644
index 0000000..aa9db3c
--- /dev/null
+++ b/systemtest/testdata/overlay/overlay5.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasGMArray
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:9,0:9]
+ TilingDomain..........: [0:205,0:205]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 3
+ Data format...........: 0
+ Data size (bytes).....: 300
+ -68 108 51 -76 114 52 -84 101 61 -108 88 54 -124 70 40 124 66 44 124 75 41 124 77 52 -107 70 27 -100 87 35 -84 99 36 -84 99 36 -100 88 44 -124 65 38 116 56 25 116 50 20 102 54 38 116 56 25 -100 76 27 -108 76 27 -76 107 43 -84 107 44 -92 94 43 -108 76 36 -124 64 25 124 58 26 -124 64 25 -124 64 25 -100 82 34 -108 76 27 -76 119 52 -76 119 52 -76 108 61 -84 100 49 -92 89 44 -100 82 46 -92 82 35 -92 88 35 -100 87 35 -92 82 35 -76 107 43 -76 107 43 -76 114 52 -76 108 52 -76 101 54 -76 100 44 -84 94 42 -76 94 47 -92 89 44 -76 108 52 -84 107 44 -92 107 51 -84 107 44 -76 108 52 -68 108 51 -76 108 52 -76 100 44 -76 94 33 -84 100 49 -67 114 62 -76 108 61 -84 107 52 -76 107 43 -76 108 52 -76 114 52 -76 107 43 -76 100 44 -76 107 43 -76 108 52 -76 108 52 -68 121 69 -76 114 61 -84 107 52 -76 108 52 -76 114 52 -76 107 43 -76 107 43 -76 100 34 -76 108 52 -84 94 42 -92 119 75 -76 -128 67 -76 -128 67 -67 114 62 -68 108 51 -68 108 51 -76 100 44 -68 108 51 -76 100 44 -76 100 44 -76 -122 67 -60 -112 84 -52 -112 82 -68 -128 68 -76 108 52 -84 94 42 -84 89 36 -76 100 44 -84 94 42 -84 89 36 \ No newline at end of file
diff --git a/systemtest/testdata/overlay/overlay5.ql.out b/systemtest/testdata/overlay/overlay5.ql.out
new file mode 100644
index 0000000..edc1b37
--- /dev/null
+++ b/systemtest/testdata/overlay/overlay5.ql.out
@@ -0,0 +1,23 @@
+-- Testbed line: result_type=set <marray <struct { char red, char green, char blue }, [0:9,0:9]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <struct { char red, char green, char blue }, [0:9,0:9]>
+ Type Schema...........: marray< struct{ char red, char green, char blue } >
+ Domain................: [0:9,0:9]
+ Base Type Schema......: struct{ char red, char green, char blue }
+ Base Type Length......: 3
+ Data format.......... : Array
+ Data size (bytes).... : 300
+{ 188, 108, 51} { 172, 99, 36} { 180, 107, 43} { 180, 119, 52} { 180, 107, 43} { 172, 107, 44} { 180, 108, 61} { 188, 121, 69} { 164, 119, 75} { 180, 134, 67}
+{ 180, 114, 52} { 172, 99, 36} { 172, 107, 44} { 180, 119, 52} { 180, 107, 43} { 164, 107, 51} { 172, 107, 52} { 180, 114, 61} { 180, 128, 67} { 196, 144, 84}
+{ 172, 101, 61} { 156, 88, 44} { 164, 94, 43} { 180, 108, 61} { 180, 114, 52} { 172, 107, 44} { 180, 107, 43} { 172, 107, 52} { 180, 128, 67} { 204, 144, 82}
+{ 148, 88, 54} { 132, 65, 38} { 148, 76, 36} { 172, 100, 49} { 180, 108, 52} { 180, 108, 52} { 180, 108, 52} { 180, 108, 52} { 189, 114, 62} { 188, 128, 68}
+{ 132, 70, 40} { 116, 56, 25} { 132, 64, 25} { 164, 89, 44} { 180, 101, 54} { 188, 108, 51} { 180, 114, 52} { 180, 114, 52} { 188, 108, 51} { 180, 108, 52}
+{ 124, 66, 44} { 116, 50, 20} { 124, 58, 26} { 156, 82, 46} { 180, 100, 44} { 180, 108, 52} { 180, 107, 43} { 180, 107, 43} { 188, 108, 51} { 172, 94, 42}
+{ 124, 75, 41} { 102, 54, 38} { 132, 64, 25} { 164, 82, 35} { 172, 94, 42} { 180, 100, 44} { 180, 100, 44} { 180, 107, 43} { 180, 100, 44} { 172, 89, 36}
+{ 124, 77, 52} { 116, 56, 25} { 132, 64, 25} { 164, 88, 35} { 180, 94, 47} { 180, 94, 33} { 180, 107, 43} { 180, 100, 34} { 188, 108, 51} { 180, 100, 44}
+{ 149, 70, 27} { 156, 76, 27} { 156, 82, 34} { 156, 87, 35} { 164, 89, 44} { 172, 100, 49} { 180, 108, 52} { 180, 108, 52} { 180, 100, 44} { 172, 94, 42}
+{ 156, 87, 35} { 148, 76, 27} { 148, 76, 27} { 164, 82, 35} { 180, 108, 52} { 189, 114, 62} { 180, 108, 52} { 172, 94, 42} { 180, 100, 44} { 172, 89, 36}
+-- Testbed end block:
diff --git a/systemtest/testdata/overlay/overlay6.ql b/systemtest/testdata/overlay/overlay6.ql
new file mode 100644
index 0000000..11412c9
--- /dev/null
+++ b/systemtest/testdata/overlay/overlay6.ql
@@ -0,0 +1,12 @@
+-- rview-Query
+select
+
+(marray x in [0:6, 0:6, 0:6]
+values (char)(216-x[0]*x[1]*x[2] ) )
+
+overlay
+
+(marray x in [0:6, 0:6, 0:6]
+values (char)(x[0]*x[1]*x[2] ) )
+
+from ImgCharA as a \ No newline at end of file
diff --git a/systemtest/testdata/overlay/overlay6.ql.java.out b/systemtest/testdata/overlay/overlay6.ql.java.out
new file mode 100644
index 0000000..5294e14
--- /dev/null
+++ b/systemtest/testdata/overlay/overlay6.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:6,0:6,0:6]
+ TilingDomain..........: [0:49,0:49,0:49]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 343
+ -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -41 -42 -43 -44 -45 -46 -40 -42 -44 -46 -48 -50 -52 -40 -43 -46 -49 -52 -55 -58 -40 -44 -48 -52 -56 -60 -64 -40 -45 -50 -55 -60 -65 -70 -40 -46 -52 -58 -64 -70 -76 -40 -40 -40 -40 -40 -40 -40 -40 -42 -44 -46 -48 -50 -52 -40 -44 -48 -52 -56 -60 -64 -40 -46 -52 -58 -64 -70 -76 -40 -48 -56 -64 -72 -80 -88 -40 -50 -60 -70 -80 -90 -100 -40 -52 -64 -76 -88 -100 -112 -40 -40 -40 -40 -40 -40 -40 -40 -43 -46 -49 -52 -55 -58 -40 -46 -52 -58 -64 -70 -76 -40 -49 -58 -67 -76 -85 -94 -40 -52 -64 -76 -88 -100 -112 -40 -55 -70 -85 -100 -115 126 -40 -58 -76 -94 -112 126 108 -40 -40 -40 -40 -40 -40 -40 -40 -44 -48 -52 -56 -60 -64 -40 -48 -56 -64 -72 -80 -88 -40 -52 -64 -76 -88 -100 -112 -40 -56 -72 -88 -104 -120 120 -40 -60 -80 -100 -120 116 96 -40 -64 -88 -112 120 96 72 -40 -40 -40 -40 -40 -40 -40 -40 -45 -50 -55 -60 -65 -70 -40 -50 -60 -70 -80 -90 -100 -40 -55 -70 -85 -100 -115 126 -40 -60 -80 -100 -120 116 96 -40 -65 -90 -115 116 91 66 -40 -70 -100 126 96 66 36 -40 -40 -40 -40 -40 -40 -40 -40 -46 -52 -58 -64 -70 -76 -40 -52 -64 -76 -88 -100 -112 -40 -58 -76 -94 -112 126 108 -40 -64 -88 -112 120 96 72 -40 -70 -100 126 96 66 36 -40 -76 -112 108 72 36 -40
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:6,0:6,0:6]
+ TilingDomain..........: [0:49,0:49,0:49]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 343
+ -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -40 -41 -42 -43 -44 -45 -46 -40 -42 -44 -46 -48 -50 -52 -40 -43 -46 -49 -52 -55 -58 -40 -44 -48 -52 -56 -60 -64 -40 -45 -50 -55 -60 -65 -70 -40 -46 -52 -58 -64 -70 -76 -40 -40 -40 -40 -40 -40 -40 -40 -42 -44 -46 -48 -50 -52 -40 -44 -48 -52 -56 -60 -64 -40 -46 -52 -58 -64 -70 -76 -40 -48 -56 -64 -72 -80 -88 -40 -50 -60 -70 -80 -90 -100 -40 -52 -64 -76 -88 -100 -112 -40 -40 -40 -40 -40 -40 -40 -40 -43 -46 -49 -52 -55 -58 -40 -46 -52 -58 -64 -70 -76 -40 -49 -58 -67 -76 -85 -94 -40 -52 -64 -76 -88 -100 -112 -40 -55 -70 -85 -100 -115 126 -40 -58 -76 -94 -112 126 108 -40 -40 -40 -40 -40 -40 -40 -40 -44 -48 -52 -56 -60 -64 -40 -48 -56 -64 -72 -80 -88 -40 -52 -64 -76 -88 -100 -112 -40 -56 -72 -88 -104 -120 120 -40 -60 -80 -100 -120 116 96 -40 -64 -88 -112 120 96 72 -40 -40 -40 -40 -40 -40 -40 -40 -45 -50 -55 -60 -65 -70 -40 -50 -60 -70 -80 -90 -100 -40 -55 -70 -85 -100 -115 126 -40 -60 -80 -100 -120 116 96 -40 -65 -90 -115 116 91 66 -40 -70 -100 126 96 66 36 -40 -40 -40 -40 -40 -40 -40 -40 -46 -52 -58 -64 -70 -76 -40 -52 -64 -76 -88 -100 -112 -40 -58 -76 -94 -112 126 108 -40 -64 -88 -112 120 96 72 -40 -70 -100 126 96 66 36 -40 -76 -112 108 72 36 -40 \ No newline at end of file
diff --git a/systemtest/testdata/overlay/overlay6.ql.out b/systemtest/testdata/overlay/overlay6.ql.out
new file mode 100644
index 0000000..39a4e53
--- /dev/null
+++ b/systemtest/testdata/overlay/overlay6.ql.out
@@ -0,0 +1,120 @@
+-- Testbed line: result_type=set <marray <char, [0:6,0:6,0:6]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:6,0:6,0:6]>
+ Type Schema...........: marray< char >
+ Domain................: [0:6,0:6,0:6]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 343
+ 216 216 216 216 216 216 216
+ 216 216 216 216 216 216 216
+ 216 216 216 216 216 216 216
+ 216 216 216 216 216 216 216
+ 216 216 216 216 216 216 216
+ 216 216 216 216 216 216 216
+ 216 216 216 216 216 216 216
+ 216 216 216 216 216 216 216
+ 216 1 2 3 4 5 6
+ 216 2 4 6 8 10 12
+ 216 3 6 9 12 15 18
+ 216 4 8 12 16 20 24
+ 216 5 10 15 20 25 30
+ 216 6 12 18 24 30 36
+ 216 216 216 216 216 216 216
+ 216 2 4 6 8 10 12
+ 216 4 8 12 16 20 24
+ 216 6 12 18 24 30 36
+ 216 8 16 24 32 40 48
+ 216 10 20 30 40 50 60
+ 216 12 24 36 48 60 72
+ 216 216 216 216 216 216 216
+ 216 3 6 9 12 15 18
+ 216 6 12 18 24 30 36
+ 216 9 18 27 36 45 54
+ 216 12 24 36 48 60 72
+ 216 15 30 45 60 75 90
+ 216 18 36 54 72 90 108
+ 216 216 216 216 216 216 216
+ 216 4 8 12 16 20 24
+ 216 8 16 24 32 40 48
+ 216 12 24 36 48 60 72
+ 216 16 32 48 64 80 96
+ 216 20 40 60 80 100 120
+ 216 24 48 72 96 120 144
+ 216 216 216 216 216 216 216
+ 216 5 10 15 20 25 30
+ 216 10 20 30 40 50 60
+ 216 15 30 45 60 75 90
+ 216 20 40 60 80 100 120
+ 216 25 50 75 100 125 150
+ 216 30 60 90 120 150 180
+ 216 216 216 216 216 216 216
+ 216 6 12 18 24 30 36
+ 216 12 24 36 48 60 72
+ 216 18 36 54 72 90 108
+ 216 24 48 72 96 120 144
+ 216 30 60 90 120 150 180
+ 216 36 72 108 144 180 216
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:6,0:6,0:6]>
+ Type Schema...........: marray< char >
+ Domain................: [0:6,0:6,0:6]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 343
+ 216 216 216 216 216 216 216
+ 216 216 216 216 216 216 216
+ 216 216 216 216 216 216 216
+ 216 216 216 216 216 216 216
+ 216 216 216 216 216 216 216
+ 216 216 216 216 216 216 216
+ 216 216 216 216 216 216 216
+ 216 216 216 216 216 216 216
+ 216 1 2 3 4 5 6
+ 216 2 4 6 8 10 12
+ 216 3 6 9 12 15 18
+ 216 4 8 12 16 20 24
+ 216 5 10 15 20 25 30
+ 216 6 12 18 24 30 36
+ 216 216 216 216 216 216 216
+ 216 2 4 6 8 10 12
+ 216 4 8 12 16 20 24
+ 216 6 12 18 24 30 36
+ 216 8 16 24 32 40 48
+ 216 10 20 30 40 50 60
+ 216 12 24 36 48 60 72
+ 216 216 216 216 216 216 216
+ 216 3 6 9 12 15 18
+ 216 6 12 18 24 30 36
+ 216 9 18 27 36 45 54
+ 216 12 24 36 48 60 72
+ 216 15 30 45 60 75 90
+ 216 18 36 54 72 90 108
+ 216 216 216 216 216 216 216
+ 216 4 8 12 16 20 24
+ 216 8 16 24 32 40 48
+ 216 12 24 36 48 60 72
+ 216 16 32 48 64 80 96
+ 216 20 40 60 80 100 120
+ 216 24 48 72 96 120 144
+ 216 216 216 216 216 216 216
+ 216 5 10 15 20 25 30
+ 216 10 20 30 40 50 60
+ 216 15 30 45 60 75 90
+ 216 20 40 60 80 100 120
+ 216 25 50 75 100 125 150
+ 216 30 60 90 120 150 180
+ 216 216 216 216 216 216 216
+ 216 6 12 18 24 30 36
+ 216 12 24 36 48 60 72
+ 216 18 36 54 72 90 108
+ 216 24 48 72 96 120 144
+ 216 30 60 90 120 150 180
+ 216 36 72 108 144 180 216
+-- Testbed end block:
diff --git a/systemtest/testdata/parser/gentest.awk b/systemtest/testdata/parser/gentest.awk
new file mode 100644
index 0000000..b743c6c
--- /dev/null
+++ b/systemtest/testdata/parser/gentest.awk
@@ -0,0 +1,29 @@
+#! /bin/gawk -f
+##
+## This AWK-script generates some example queries, when applied on "testcases",
+## as command line argument. When you need to add new test cases, edit the
+## file "testcases". Each line in this file should be of the form:
+##
+## filename @ query @ -- comment @ -- comment
+##
+## For example the line:
+##
+## mm.ql @ select 2- -1 from ImgCharA as a @ -- caution: -- introduces comments.
+##
+## should generate a test file named mm.ql with the folowing content:
+##
+## -- caution: -- introduces comments.
+##
+## select 2- -1 from ImgCharA as a
+##
+## The char @ is somewhat unusual for SQL and I chose it as field separator.
+
+BEGIN {FS = "@"} ;
+
+{
+ for (i = 3; i < NF; i++) {
+ printf "%s\n", $i > $1
+ }
+ printf "\n" >> $1
+ printf "%s\n", $2 >> $1
+}
diff --git a/systemtest/testdata/parser/mm_long.ql b/systemtest/testdata/parser/mm_long.ql
new file mode 100644
index 0000000..5f79ee8
--- /dev/null
+++ b/systemtest/testdata/parser/mm_long.ql
@@ -0,0 +1,3 @@
+ -- test unary and binary operators on long.
+
+ select 2++1 from ImgCharA as i
diff --git a/systemtest/testdata/parser/mm_long.ql.java.out b/systemtest/testdata/parser/mm_long.ql.java.out
new file mode 100644
index 0000000..dc7b54a
--- /dev/null
+++ b/systemtest/testdata/parser/mm_long.ql.java.out
@@ -0,0 +1 @@
+33 \ No newline at end of file
diff --git a/systemtest/testdata/parser/mm_long.ql.out b/systemtest/testdata/parser/mm_long.ql.out
new file mode 100644
index 0000000..58af424
--- /dev/null
+++ b/systemtest/testdata/parser/mm_long.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<long>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 3
+Element 2: 3
+-- Testbed end block:
diff --git a/systemtest/testdata/parser/mp_long.ql b/systemtest/testdata/parser/mp_long.ql
new file mode 100644
index 0000000..0d613de
--- /dev/null
+++ b/systemtest/testdata/parser/mp_long.ql
@@ -0,0 +1,2 @@
+
+ select 2-+1 from ImgCharA as i
diff --git a/systemtest/testdata/parser/mp_long.ql.java.out b/systemtest/testdata/parser/mp_long.ql.java.out
new file mode 100644
index 0000000..9d60796
--- /dev/null
+++ b/systemtest/testdata/parser/mp_long.ql.java.out
@@ -0,0 +1 @@
+11 \ No newline at end of file
diff --git a/systemtest/testdata/parser/mp_long.ql.out b/systemtest/testdata/parser/mp_long.ql.out
new file mode 100644
index 0000000..5f11d14
--- /dev/null
+++ b/systemtest/testdata/parser/mp_long.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<long>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1
+Element 2: 1
+-- Testbed end block:
diff --git a/systemtest/testdata/parser/nm_long.ql b/systemtest/testdata/parser/nm_long.ql
new file mode 100644
index 0000000..188c6ae
--- /dev/null
+++ b/systemtest/testdata/parser/nm_long.ql
@@ -0,0 +1,2 @@
+
+ select -0 from ImgCharA as i
diff --git a/systemtest/testdata/parser/nm_long.ql.java.out b/systemtest/testdata/parser/nm_long.ql.java.out
new file mode 100644
index 0000000..857f065
--- /dev/null
+++ b/systemtest/testdata/parser/nm_long.ql.java.out
@@ -0,0 +1 @@
+00 \ No newline at end of file
diff --git a/systemtest/testdata/parser/nm_long.ql.out b/systemtest/testdata/parser/nm_long.ql.out
new file mode 100644
index 0000000..0b8f0e4
--- /dev/null
+++ b/systemtest/testdata/parser/nm_long.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<long>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0
+Element 2: 0
+-- Testbed end block:
diff --git a/systemtest/testdata/parser/nn_long.ql b/systemtest/testdata/parser/nn_long.ql
new file mode 100644
index 0000000..c3b31a6
--- /dev/null
+++ b/systemtest/testdata/parser/nn_long.ql
@@ -0,0 +1,2 @@
+
+ select 0 from ImgCharA as i
diff --git a/systemtest/testdata/parser/nn_long.ql.java.out b/systemtest/testdata/parser/nn_long.ql.java.out
new file mode 100644
index 0000000..857f065
--- /dev/null
+++ b/systemtest/testdata/parser/nn_long.ql.java.out
@@ -0,0 +1 @@
+00 \ No newline at end of file
diff --git a/systemtest/testdata/parser/nn_long.ql.out b/systemtest/testdata/parser/nn_long.ql.out
new file mode 100644
index 0000000..0b8f0e4
--- /dev/null
+++ b/systemtest/testdata/parser/nn_long.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<long>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0
+Element 2: 0
+-- Testbed end block:
diff --git a/systemtest/testdata/parser/np_long.ql b/systemtest/testdata/parser/np_long.ql
new file mode 100644
index 0000000..819cdf4
--- /dev/null
+++ b/systemtest/testdata/parser/np_long.ql
@@ -0,0 +1,2 @@
+
+ select +0 from ImgCharA as i
diff --git a/systemtest/testdata/parser/np_long.ql.java.out b/systemtest/testdata/parser/np_long.ql.java.out
new file mode 100644
index 0000000..857f065
--- /dev/null
+++ b/systemtest/testdata/parser/np_long.ql.java.out
@@ -0,0 +1 @@
+00 \ No newline at end of file
diff --git a/systemtest/testdata/parser/np_long.ql.out b/systemtest/testdata/parser/np_long.ql.out
new file mode 100644
index 0000000..0b8f0e4
--- /dev/null
+++ b/systemtest/testdata/parser/np_long.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<long>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0
+Element 2: 0
+-- Testbed end block:
diff --git a/systemtest/testdata/parser/om_long.ql b/systemtest/testdata/parser/om_long.ql
new file mode 100644
index 0000000..2e65dfa
--- /dev/null
+++ b/systemtest/testdata/parser/om_long.ql
@@ -0,0 +1,2 @@
+
+ select -1 from ImgCharA as i
diff --git a/systemtest/testdata/parser/om_long.ql.java.out b/systemtest/testdata/parser/om_long.ql.java.out
new file mode 100644
index 0000000..c92a447
--- /dev/null
+++ b/systemtest/testdata/parser/om_long.ql.java.out
@@ -0,0 +1 @@
+-1-1 \ No newline at end of file
diff --git a/systemtest/testdata/parser/om_long.ql.out b/systemtest/testdata/parser/om_long.ql.out
new file mode 100644
index 0000000..08b0f64
--- /dev/null
+++ b/systemtest/testdata/parser/om_long.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<long>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: -1
+Element 2: -1
+-- Testbed end block:
diff --git a/systemtest/testdata/parser/on_long.ql b/systemtest/testdata/parser/on_long.ql
new file mode 100644
index 0000000..dd16912
--- /dev/null
+++ b/systemtest/testdata/parser/on_long.ql
@@ -0,0 +1,2 @@
+
+ select 1 from ImgCharA as i
diff --git a/systemtest/testdata/parser/on_long.ql.java.out b/systemtest/testdata/parser/on_long.ql.java.out
new file mode 100644
index 0000000..9d60796
--- /dev/null
+++ b/systemtest/testdata/parser/on_long.ql.java.out
@@ -0,0 +1 @@
+11 \ No newline at end of file
diff --git a/systemtest/testdata/parser/on_long.ql.out b/systemtest/testdata/parser/on_long.ql.out
new file mode 100644
index 0000000..5f11d14
--- /dev/null
+++ b/systemtest/testdata/parser/on_long.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<long>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1
+Element 2: 1
+-- Testbed end block:
diff --git a/systemtest/testdata/parser/op_long.ql b/systemtest/testdata/parser/op_long.ql
new file mode 100644
index 0000000..0dab606
--- /dev/null
+++ b/systemtest/testdata/parser/op_long.ql
@@ -0,0 +1,2 @@
+
+ select +1 from ImgCharA as i
diff --git a/systemtest/testdata/parser/op_long.ql.java.out b/systemtest/testdata/parser/op_long.ql.java.out
new file mode 100644
index 0000000..9d60796
--- /dev/null
+++ b/systemtest/testdata/parser/op_long.ql.java.out
@@ -0,0 +1 @@
+11 \ No newline at end of file
diff --git a/systemtest/testdata/parser/op_long.ql.out b/systemtest/testdata/parser/op_long.ql.out
new file mode 100644
index 0000000..5f11d14
--- /dev/null
+++ b/systemtest/testdata/parser/op_long.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<long>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1
+Element 2: 1
+-- Testbed end block:
diff --git a/systemtest/testdata/parser/p1_long.ql b/systemtest/testdata/parser/p1_long.ql
new file mode 100644
index 0000000..55915d7
--- /dev/null
+++ b/systemtest/testdata/parser/p1_long.ql
@@ -0,0 +1,2 @@
+
+ select 2+1 from ImgCharA as i
diff --git a/systemtest/testdata/parser/p1_long.ql.java.out b/systemtest/testdata/parser/p1_long.ql.java.out
new file mode 100644
index 0000000..dc7b54a
--- /dev/null
+++ b/systemtest/testdata/parser/p1_long.ql.java.out
@@ -0,0 +1 @@
+33 \ No newline at end of file
diff --git a/systemtest/testdata/parser/p1_long.ql.out b/systemtest/testdata/parser/p1_long.ql.out
new file mode 100644
index 0000000..58af424
--- /dev/null
+++ b/systemtest/testdata/parser/p1_long.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<long>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 3
+Element 2: 3
+-- Testbed end block:
diff --git a/systemtest/testdata/parser/p2_long.ql b/systemtest/testdata/parser/p2_long.ql
new file mode 100644
index 0000000..b3581cd
--- /dev/null
+++ b/systemtest/testdata/parser/p2_long.ql
@@ -0,0 +1,2 @@
+
+ select -2+1 from ImgCharA as i
diff --git a/systemtest/testdata/parser/p2_long.ql.java.out b/systemtest/testdata/parser/p2_long.ql.java.out
new file mode 100644
index 0000000..c92a447
--- /dev/null
+++ b/systemtest/testdata/parser/p2_long.ql.java.out
@@ -0,0 +1 @@
+-1-1 \ No newline at end of file
diff --git a/systemtest/testdata/parser/p2_long.ql.out b/systemtest/testdata/parser/p2_long.ql.out
new file mode 100644
index 0000000..08b0f64
--- /dev/null
+++ b/systemtest/testdata/parser/p2_long.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<long>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: -1
+Element 2: -1
+-- Testbed end block:
diff --git a/systemtest/testdata/parser/pm_long.ql b/systemtest/testdata/parser/pm_long.ql
new file mode 100644
index 0000000..ee67e1c
--- /dev/null
+++ b/systemtest/testdata/parser/pm_long.ql
@@ -0,0 +1,2 @@
+
+ select 2+-1 from ImgCharA as i
diff --git a/systemtest/testdata/parser/pm_long.ql.java.out b/systemtest/testdata/parser/pm_long.ql.java.out
new file mode 100644
index 0000000..9d60796
--- /dev/null
+++ b/systemtest/testdata/parser/pm_long.ql.java.out
@@ -0,0 +1 @@
+11 \ No newline at end of file
diff --git a/systemtest/testdata/parser/pm_long.ql.out b/systemtest/testdata/parser/pm_long.ql.out
new file mode 100644
index 0000000..5f11d14
--- /dev/null
+++ b/systemtest/testdata/parser/pm_long.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<long>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1
+Element 2: 1
+-- Testbed end block:
diff --git a/systemtest/testdata/parser/pp_long.ql b/systemtest/testdata/parser/pp_long.ql
new file mode 100644
index 0000000..98cf8b0
--- /dev/null
+++ b/systemtest/testdata/parser/pp_long.ql
@@ -0,0 +1,2 @@
+
+ select 2++1 from ImgCharA as i
diff --git a/systemtest/testdata/parser/pp_long.ql.java.out b/systemtest/testdata/parser/pp_long.ql.java.out
new file mode 100644
index 0000000..dc7b54a
--- /dev/null
+++ b/systemtest/testdata/parser/pp_long.ql.java.out
@@ -0,0 +1 @@
+33 \ No newline at end of file
diff --git a/systemtest/testdata/parser/pp_long.ql.out b/systemtest/testdata/parser/pp_long.ql.out
new file mode 100644
index 0000000..58af424
--- /dev/null
+++ b/systemtest/testdata/parser/pp_long.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<long>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 3
+Element 2: 3
+-- Testbed end block:
diff --git a/systemtest/testdata/parser/sqrt_1.ql b/systemtest/testdata/parser/sqrt_1.ql
new file mode 100644
index 0000000..205e344
--- /dev/null
+++ b/systemtest/testdata/parser/sqrt_1.ql
@@ -0,0 +1,2 @@
+
+ select sqrt(2.0d) from ImgCharA as i
diff --git a/systemtest/testdata/parser/sqrt_1.ql.java.out b/systemtest/testdata/parser/sqrt_1.ql.java.out
new file mode 100644
index 0000000..27ceb54
--- /dev/null
+++ b/systemtest/testdata/parser/sqrt_1.ql.java.out
@@ -0,0 +1 @@
+1.41421356237309511.4142135623730951 \ No newline at end of file
diff --git a/systemtest/testdata/parser/sqrt_1.ql.out b/systemtest/testdata/parser/sqrt_1.ql.out
new file mode 100644
index 0000000..a23dbb9
--- /dev/null
+++ b/systemtest/testdata/parser/sqrt_1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1.41421
+Element 2: 1.41421
+-- Testbed end block:
diff --git a/systemtest/testdata/parser/sqrt_2.ql b/systemtest/testdata/parser/sqrt_2.ql
new file mode 100644
index 0000000..6cf337a
--- /dev/null
+++ b/systemtest/testdata/parser/sqrt_2.ql
@@ -0,0 +1,2 @@
+
+ select sqrt(1.0d + 2.0d) from ImgCharA as i
diff --git a/systemtest/testdata/parser/sqrt_2.ql.java.out b/systemtest/testdata/parser/sqrt_2.ql.java.out
new file mode 100644
index 0000000..6367268
--- /dev/null
+++ b/systemtest/testdata/parser/sqrt_2.ql.java.out
@@ -0,0 +1 @@
+1.73205080756887721.7320508075688772 \ No newline at end of file
diff --git a/systemtest/testdata/parser/sqrt_2.ql.out b/systemtest/testdata/parser/sqrt_2.ql.out
new file mode 100644
index 0000000..7c1432a
--- /dev/null
+++ b/systemtest/testdata/parser/sqrt_2.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1.73205
+Element 2: 1.73205
+-- Testbed end block:
diff --git a/systemtest/testdata/parser/sqrt_3.ql b/systemtest/testdata/parser/sqrt_3.ql
new file mode 100644
index 0000000..f8f97d8
--- /dev/null
+++ b/systemtest/testdata/parser/sqrt_3.ql
@@ -0,0 +1,2 @@
+
+ select sqrt(sqrt(4.0d)) from ImgCharA as i
diff --git a/systemtest/testdata/parser/sqrt_3.ql.java.out b/systemtest/testdata/parser/sqrt_3.ql.java.out
new file mode 100644
index 0000000..27ceb54
--- /dev/null
+++ b/systemtest/testdata/parser/sqrt_3.ql.java.out
@@ -0,0 +1 @@
+1.41421356237309511.4142135623730951 \ No newline at end of file
diff --git a/systemtest/testdata/parser/sqrt_3.ql.out b/systemtest/testdata/parser/sqrt_3.ql.out
new file mode 100644
index 0000000..a23dbb9
--- /dev/null
+++ b/systemtest/testdata/parser/sqrt_3.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1.41421
+Element 2: 1.41421
+-- Testbed end block:
diff --git a/systemtest/testdata/parser/sqrt_4.ql b/systemtest/testdata/parser/sqrt_4.ql
new file mode 100644
index 0000000..3eb8806
--- /dev/null
+++ b/systemtest/testdata/parser/sqrt_4.ql
@@ -0,0 +1,2 @@
+
+ select sqrt(0.0d) from ImgCharA as i
diff --git a/systemtest/testdata/parser/sqrt_4.ql.java.out b/systemtest/testdata/parser/sqrt_4.ql.java.out
new file mode 100644
index 0000000..b2024e1
--- /dev/null
+++ b/systemtest/testdata/parser/sqrt_4.ql.java.out
@@ -0,0 +1 @@
+0.00.0 \ No newline at end of file
diff --git a/systemtest/testdata/parser/sqrt_4.ql.out b/systemtest/testdata/parser/sqrt_4.ql.out
new file mode 100644
index 0000000..eb05dc2
--- /dev/null
+++ b/systemtest/testdata/parser/sqrt_4.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0
+Element 2: 0
+-- Testbed end block:
diff --git a/systemtest/testdata/parser/sqrt_5.ql b/systemtest/testdata/parser/sqrt_5.ql
new file mode 100644
index 0000000..a3a6f82
--- /dev/null
+++ b/systemtest/testdata/parser/sqrt_5.ql
@@ -0,0 +1,2 @@
+
+ select 1.0d + sqrt(2.0d) from ImgCharA as i
diff --git a/systemtest/testdata/parser/sqrt_5.ql.java.out b/systemtest/testdata/parser/sqrt_5.ql.java.out
new file mode 100644
index 0000000..785bccc
--- /dev/null
+++ b/systemtest/testdata/parser/sqrt_5.ql.java.out
@@ -0,0 +1 @@
+2.4142135623730952.414213562373095 \ No newline at end of file
diff --git a/systemtest/testdata/parser/sqrt_5.ql.out b/systemtest/testdata/parser/sqrt_5.ql.out
new file mode 100644
index 0000000..9a7b7d3
--- /dev/null
+++ b/systemtest/testdata/parser/sqrt_5.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 2.41421
+Element 2: 2.41421
+-- Testbed end block:
diff --git a/systemtest/testdata/parser/sqrt_6.ql b/systemtest/testdata/parser/sqrt_6.ql
new file mode 100644
index 0000000..ba6cb0d
--- /dev/null
+++ b/systemtest/testdata/parser/sqrt_6.ql
@@ -0,0 +1,2 @@
+
+ select sqrt(2.0d) - 1.0d from ImgCharA as i
diff --git a/systemtest/testdata/parser/sqrt_6.ql.java.out b/systemtest/testdata/parser/sqrt_6.ql.java.out
new file mode 100644
index 0000000..eb428b9
--- /dev/null
+++ b/systemtest/testdata/parser/sqrt_6.ql.java.out
@@ -0,0 +1 @@
+0.414213562373095150.41421356237309515 \ No newline at end of file
diff --git a/systemtest/testdata/parser/sqrt_6.ql.out b/systemtest/testdata/parser/sqrt_6.ql.out
new file mode 100644
index 0000000..0851541
--- /dev/null
+++ b/systemtest/testdata/parser/sqrt_6.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0.414214
+Element 2: 0.414214
+-- Testbed end block:
diff --git a/systemtest/testdata/parser/testcases b/systemtest/testdata/parser/testcases
new file mode 100644
index 0000000..be7e51a
--- /dev/null
+++ b/systemtest/testdata/parser/testcases
@@ -0,0 +1,21 @@
+pp_long.ql@ select 2++1 from ImgCharA as i @ -- test unary and binary operators on long.
+pm_long.ql@ select 2+-1 from ImgCharA as i @ -- test unary and binary operators on long.
+mp_long.ql@ select 2-+1 from ImgCharA as i @ -- test unary and binary operators on long.
+mm_long.ql@ select 2++1 from ImgCharA as i @ -- test unary and binary operators on long. @ -- Caution: don't use -- as it introduces comments.
+nn_long.ql@ select 0 from ImgCharA as i @ -- test long zero.
+np_long.ql@ select +0 from ImgCharA as i @ -- test long zero.
+nm_long.ql@ select -0 from ImgCharA as i @ -- test long zero.
+on_long.ql@ select 1 from ImgCharA as i @ -- test long one.
+op_long.ql@ select +1 from ImgCharA as i @ -- test long one.
+om_long.ql@ select -1 from ImgCharA as i @ -- test long one.
+p1_long.ql@ select 2+1 from ImgCharA as i @ -- test basic arithmetic.
+p2_long.ql@ select -2+1 from ImgCharA as i @ -- test basic arithmetic.
+m1_long.ql@ select 2-1 from ImgCharA as i @ -- test basic arithmetic.
+m2_long.ql@ select -2-1 from ImgCharA as i @ -- test basic arithmetic.
+sqrt_1.ql@ select sqrt(2.0d) from ImgCharA as i @ -- test square root.
+sqrt_2.ql@ select sqrt(1.0d + 2.0d) from ImgCharA as i @ -- test square root.
+sqrt_3.ql@ select sqrt(sqrt(4.0d)) from ImgCharA as i @ -- test square root.
+sqrt_4.ql@ select sqrt(0.0d) from ImgCharA as i @ -- test square root.
+sqrt_5.ql@ select 1.0d + sqrt(2.0d) from ImgCharA as i @ -- test square root.
+sqrt_6.ql@ select sqrt(2.0d) - 1.0d from ImgCharA as i @ -- test square root.
+sqrt_nan.ql@ select sqrt(-10.0d) from ImgCharA as i @ -- negative argument leads to NaN. \ No newline at end of file
diff --git a/systemtest/testdata/partialoverlay/u01_create.ql b/systemtest/testdata/partialoverlay/u01_create.ql
new file mode 100644
index 0000000..17e070a
--- /dev/null
+++ b/systemtest/testdata/partialoverlay/u01_create.ql
@@ -0,0 +1 @@
+CREATE COLLECTION PartialOverlay1 ULongSet
diff --git a/systemtest/testdata/partialoverlay/u01_create.ql.out b/systemtest/testdata/partialoverlay/u01_create.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialoverlay/u01_create.ql.out
diff --git a/systemtest/testdata/partialoverlay/u02_create.ql b/systemtest/testdata/partialoverlay/u02_create.ql
new file mode 100644
index 0000000..36ceda2
--- /dev/null
+++ b/systemtest/testdata/partialoverlay/u02_create.ql
@@ -0,0 +1 @@
+CREATE COLLECTION PartialOverlay2 ULongSet
diff --git a/systemtest/testdata/partialoverlay/u02_create.ql.out b/systemtest/testdata/partialoverlay/u02_create.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialoverlay/u02_create.ql.out
diff --git a/systemtest/testdata/partialoverlay/u03_insert.ql b/systemtest/testdata/partialoverlay/u03_insert.ql
new file mode 100644
index 0000000..c508a46
--- /dev/null
+++ b/systemtest/testdata/partialoverlay/u03_insert.ql
@@ -0,0 +1,14 @@
+insert into PartialOverlay2 values < [0:10,0:10]
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul
+ >
+
diff --git a/systemtest/testdata/partialoverlay/u03_insert.ql.out b/systemtest/testdata/partialoverlay/u03_insert.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialoverlay/u03_insert.ql.out
diff --git a/systemtest/testdata/partialoverlay/u04_insert.ql b/systemtest/testdata/partialoverlay/u04_insert.ql
new file mode 100644
index 0000000..de9816e
--- /dev/null
+++ b/systemtest/testdata/partialoverlay/u04_insert.ql
@@ -0,0 +1,13 @@
+insert into PartialOverlay1 values < [0:10,0:10]
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul
+ >
diff --git a/systemtest/testdata/partialoverlay/u04_insert.ql.out b/systemtest/testdata/partialoverlay/u04_insert.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialoverlay/u04_insert.ql.out
diff --git a/systemtest/testdata/partialoverlay/u05_update.ql b/systemtest/testdata/partialoverlay/u05_update.ql
new file mode 100644
index 0000000..c4555c4
--- /dev/null
+++ b/systemtest/testdata/partialoverlay/u05_update.ql
@@ -0,0 +1,15 @@
+UPDATE PartialOverlay2 AS image
+SET image ASSIGN < [90:100,90:100]
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul
+ >
+
diff --git a/systemtest/testdata/partialoverlay/u05_update.ql.out b/systemtest/testdata/partialoverlay/u05_update.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialoverlay/u05_update.ql.out
diff --git a/systemtest/testdata/partialoverlay/u06_update.ql b/systemtest/testdata/partialoverlay/u06_update.ql
new file mode 100644
index 0000000..179a754
--- /dev/null
+++ b/systemtest/testdata/partialoverlay/u06_update.ql
@@ -0,0 +1,14 @@
+UPDATE PartialOverlay2 AS image
+SET image ASSIGN < [45:55,25:35]
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul
+ >
diff --git a/systemtest/testdata/partialoverlay/u06_update.ql.out b/systemtest/testdata/partialoverlay/u06_update.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialoverlay/u06_update.ql.out
diff --git a/systemtest/testdata/partialoverlay/u07_update.ql b/systemtest/testdata/partialoverlay/u07_update.ql
new file mode 100644
index 0000000..748e48e
--- /dev/null
+++ b/systemtest/testdata/partialoverlay/u07_update.ql
@@ -0,0 +1,15 @@
+UPDATE PartialOverlay1 AS image
+SET image ASSIGN < [45:55,65:75]
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul
+ >
+
diff --git a/systemtest/testdata/partialoverlay/u07_update.ql.out b/systemtest/testdata/partialoverlay/u07_update.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialoverlay/u07_update.ql.out
diff --git a/systemtest/testdata/partialoverlay/u08_update.ql b/systemtest/testdata/partialoverlay/u08_update.ql
new file mode 100644
index 0000000..5c2fd28
--- /dev/null
+++ b/systemtest/testdata/partialoverlay/u08_update.ql
@@ -0,0 +1,15 @@
+UPDATE PartialOverlay1 AS image
+SET image ASSIGN < [90:100,90:100]
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul
+ >
+
diff --git a/systemtest/testdata/partialoverlay/u08_update.ql.out b/systemtest/testdata/partialoverlay/u08_update.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialoverlay/u08_update.ql.out
diff --git a/systemtest/testdata/partialoverlay/u09_lookup.ql b/systemtest/testdata/partialoverlay/u09_lookup.ql
new file mode 100644
index 0000000..c720367
--- /dev/null
+++ b/systemtest/testdata/partialoverlay/u09_lookup.ql
@@ -0,0 +1,3 @@
+SELECT scale(a, [0:10,0:10])
+FROM PartialOverlay1 AS a
+
diff --git a/systemtest/testdata/partialoverlay/u09_lookup.ql.out b/systemtest/testdata/partialoverlay/u09_lookup.ql.out
new file mode 100644
index 0000000..0e0e0fb
--- /dev/null
+++ b/systemtest/testdata/partialoverlay/u09_lookup.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <ulong, [0:10,0:10]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:10,0:10]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 1 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 1 1 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 1 1
+ 0 0 0 0 0 0 0 0 0 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/partialoverlay/u10_lookup.ql b/systemtest/testdata/partialoverlay/u10_lookup.ql
new file mode 100644
index 0000000..a17efa3
--- /dev/null
+++ b/systemtest/testdata/partialoverlay/u10_lookup.ql
@@ -0,0 +1,3 @@
+SELECT scale(a, [0:10,0:10])
+FROM PartialOverlay2 AS a
+
diff --git a/systemtest/testdata/partialoverlay/u10_lookup.ql.out b/systemtest/testdata/partialoverlay/u10_lookup.ql.out
new file mode 100644
index 0000000..a56f5d3
--- /dev/null
+++ b/systemtest/testdata/partialoverlay/u10_lookup.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <ulong, [0:10,0:10]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:10,0:10]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 2 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 2 2 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 2 2
+ 0 0 0 0 0 0 0 0 0 2 2
+-- Testbed end block:
diff --git a/systemtest/testdata/partialoverlay/u11_overlay.ql.out b/systemtest/testdata/partialoverlay/u11_overlay.ql.out
new file mode 100644
index 0000000..4ff4c0a
--- /dev/null
+++ b/systemtest/testdata/partialoverlay/u11_overlay.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=355
diff --git a/systemtest/testdata/partialoverlay/u12_overlay.ql.out b/systemtest/testdata/partialoverlay/u12_overlay.ql.out
new file mode 100644
index 0000000..7ec12ef
--- /dev/null
+++ b/systemtest/testdata/partialoverlay/u12_overlay.ql.out
@@ -0,0 +1,84 @@
+-- Testbed line: result_type=set <marray <ulong, [0:10,0:10]>>
+-- Testbed line: result_elements=4
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:10,0:10]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 1 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 1 1
+ 0 0 0 0 0 0 0 0 0 1 1
+Image 2
+GMarray
+ Type Structure........: marray <ulong, [0:10,0:10]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 1 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 1 1
+ 0 0 0 0 0 0 0 0 0 1 1
+Image 3
+GMarray
+ Type Structure........: marray <ulong, [0:10,0:10]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 1 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 1 1
+ 0 0 0 0 0 0 0 0 0 1 1
+Image 4
+GMarray
+ Type Structure........: marray <ulong, [0:10,0:10]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 1 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 1 1
+ 0 0 0 0 0 0 0 0 0 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/partialoverlay/u13_overlay.ql.out b/systemtest/testdata/partialoverlay/u13_overlay.ql.out
new file mode 100644
index 0000000..592070d
--- /dev/null
+++ b/systemtest/testdata/partialoverlay/u13_overlay.ql.out
@@ -0,0 +1,84 @@
+-- Testbed line: result_type=set <marray <ulong, [0:10,0:10]>>
+-- Testbed line: result_elements=4
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:10,0:10]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 1 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <ulong, [0:10,0:10]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 1 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 3
+GMarray
+ Type Structure........: marray <ulong, [0:10,0:10]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 1 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 4
+GMarray
+ Type Structure........: marray <ulong, [0:10,0:10]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 1 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+-- Testbed end block:
diff --git a/systemtest/testdata/partialoverlay/u98_drop.ql b/systemtest/testdata/partialoverlay/u98_drop.ql
new file mode 100644
index 0000000..422c875
--- /dev/null
+++ b/systemtest/testdata/partialoverlay/u98_drop.ql
@@ -0,0 +1,2 @@
+DROP COLLECTION PartialOverlay1
+
diff --git a/systemtest/testdata/partialoverlay/u98_drop.ql.out b/systemtest/testdata/partialoverlay/u98_drop.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialoverlay/u98_drop.ql.out
diff --git a/systemtest/testdata/partialoverlay/u99_drop.ql b/systemtest/testdata/partialoverlay/u99_drop.ql
new file mode 100644
index 0000000..c89121f
--- /dev/null
+++ b/systemtest/testdata/partialoverlay/u99_drop.ql
@@ -0,0 +1 @@
+DROP COLLECTION PartialOverlay2
diff --git a/systemtest/testdata/partialoverlay/u99_drop.ql.out b/systemtest/testdata/partialoverlay/u99_drop.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialoverlay/u99_drop.ql.out
diff --git a/systemtest/testdata/partialupdate/u01_create.ql b/systemtest/testdata/partialupdate/u01_create.ql
new file mode 100644
index 0000000..afd4c0a
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u01_create.ql
@@ -0,0 +1 @@
+CREATE COLLECTION PartialUpdate ULongSet
diff --git a/systemtest/testdata/partialupdate/u01_create.ql.java.out b/systemtest/testdata/partialupdate/u01_create.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u01_create.ql.java.out
diff --git a/systemtest/testdata/partialupdate/u01_create.ql.out b/systemtest/testdata/partialupdate/u01_create.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u01_create.ql.out
diff --git a/systemtest/testdata/partialupdate/u02_insert.ql b/systemtest/testdata/partialupdate/u02_insert.ql
new file mode 100644
index 0000000..296d8f0
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u02_insert.ql
@@ -0,0 +1,13 @@
+insert into PartialUpdate values < [0:10,0:10]
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul;
+ 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul
+ >
diff --git a/systemtest/testdata/partialupdate/u02_insert.ql.java.out b/systemtest/testdata/partialupdate/u02_insert.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u02_insert.ql.java.out
diff --git a/systemtest/testdata/partialupdate/u02_insert.ql.out b/systemtest/testdata/partialupdate/u02_insert.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u02_insert.ql.out
diff --git a/systemtest/testdata/partialupdate/u03_lookup.ql b/systemtest/testdata/partialupdate/u03_lookup.ql
new file mode 100644
index 0000000..bd885e9
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u03_lookup.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <ulong, [0:10,0:10]>>
+-- Testbed: result_elements=1
+
+SELECT a
+FROM PartialUpdate AS a
diff --git a/systemtest/testdata/partialupdate/u03_lookup.ql.java.out b/systemtest/testdata/partialupdate/u03_lookup.ql.java.out
new file mode 100644
index 0000000..3f9e31c
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u03_lookup.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 \ No newline at end of file
diff --git a/systemtest/testdata/partialupdate/u03_lookup.ql.out b/systemtest/testdata/partialupdate/u03_lookup.ql.out
new file mode 100644
index 0000000..e0f70fd
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u03_lookup.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <ulong, [0:10,0:10]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:10,0:10]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/partialupdate/u04_update.ql b/systemtest/testdata/partialupdate/u04_update.ql
new file mode 100644
index 0000000..56c5cea
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u04_update.ql
@@ -0,0 +1,15 @@
+UPDATE PartialUpdate AS image
+SET image ASSIGN < [15:25,10:20]
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul;
+ 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul, 2ul
+ >
+
diff --git a/systemtest/testdata/partialupdate/u04_update.ql.java.out b/systemtest/testdata/partialupdate/u04_update.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u04_update.ql.java.out
diff --git a/systemtest/testdata/partialupdate/u04_update.ql.out b/systemtest/testdata/partialupdate/u04_update.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u04_update.ql.out
diff --git a/systemtest/testdata/partialupdate/u05_lookup.ql b/systemtest/testdata/partialupdate/u05_lookup.ql
new file mode 100644
index 0000000..bd885e9
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u05_lookup.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <ulong, [0:10,0:10]>>
+-- Testbed: result_elements=1
+
+SELECT a
+FROM PartialUpdate AS a
diff --git a/systemtest/testdata/partialupdate/u05_lookup.ql.java.out b/systemtest/testdata/partialupdate/u05_lookup.ql.java.out
new file mode 100644
index 0000000..1309861
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u05_lookup.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:25,0:20]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 4368
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 \ No newline at end of file
diff --git a/systemtest/testdata/partialupdate/u05_lookup.ql.out b/systemtest/testdata/partialupdate/u05_lookup.ql.out
new file mode 100644
index 0000000..8129803
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u05_lookup.ql.out
@@ -0,0 +1,34 @@
+-- Testbed line: result_type=set <marray <ulong, [0:25,0:20]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:25,0:20]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:25,0:20]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 2184
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+-- Testbed end block:
diff --git a/systemtest/testdata/partialupdate/u06_update.ql b/systemtest/testdata/partialupdate/u06_update.ql
new file mode 100644
index 0000000..57bb09f
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u06_update.ql
@@ -0,0 +1,14 @@
+UPDATE PartialUpdate AS image
+SET image ASSIGN < [15:25,21:30]
+ 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul;
+ 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul;
+ 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul;
+ 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul;
+ 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul;
+ 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul;
+ 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul;
+ 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul;
+ 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul;
+ 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul
+ >
+
diff --git a/systemtest/testdata/partialupdate/u06_update.ql.java.out b/systemtest/testdata/partialupdate/u06_update.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u06_update.ql.java.out
diff --git a/systemtest/testdata/partialupdate/u06_update.ql.out b/systemtest/testdata/partialupdate/u06_update.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u06_update.ql.out
diff --git a/systemtest/testdata/partialupdate/u071_update.ql b/systemtest/testdata/partialupdate/u071_update.ql
new file mode 100644
index 0000000..b011c4c
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u071_update.ql
@@ -0,0 +1,14 @@
+UPDATE PartialUpdate AS image
+SET image ASSIGN < [15:25,31:40]
+ 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul;
+ 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul;
+ 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul;
+ 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul;
+ 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul;
+ 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul;
+ 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul;
+ 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul;
+ 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul;
+ 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul
+ >
+
diff --git a/systemtest/testdata/partialupdate/u071_update.ql.java.out b/systemtest/testdata/partialupdate/u071_update.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u071_update.ql.java.out
diff --git a/systemtest/testdata/partialupdate/u071_update.ql.out b/systemtest/testdata/partialupdate/u071_update.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u071_update.ql.out
diff --git a/systemtest/testdata/partialupdate/u072_lookup.ql b/systemtest/testdata/partialupdate/u072_lookup.ql
new file mode 100644
index 0000000..bd885e9
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u072_lookup.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <ulong, [0:10,0:10]>>
+-- Testbed: result_elements=1
+
+SELECT a
+FROM PartialUpdate AS a
diff --git a/systemtest/testdata/partialupdate/u072_lookup.ql.java.out b/systemtest/testdata/partialupdate/u072_lookup.ql.java.out
new file mode 100644
index 0000000..d34546a
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u072_lookup.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:25,0:40]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 8528
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 \ No newline at end of file
diff --git a/systemtest/testdata/partialupdate/u072_lookup.ql.out b/systemtest/testdata/partialupdate/u072_lookup.ql.out
new file mode 100644
index 0000000..a873fb3
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u072_lookup.ql.out
@@ -0,0 +1,54 @@
+-- Testbed line: result_type=set <marray <ulong, [0:25,0:40]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:25,0:40]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:25,0:40]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 4264
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4
+-- Testbed end block:
diff --git a/systemtest/testdata/partialupdate/u07_lookup.ql b/systemtest/testdata/partialupdate/u07_lookup.ql
new file mode 100644
index 0000000..bd885e9
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u07_lookup.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <ulong, [0:10,0:10]>>
+-- Testbed: result_elements=1
+
+SELECT a
+FROM PartialUpdate AS a
diff --git a/systemtest/testdata/partialupdate/u07_lookup.ql.java.out b/systemtest/testdata/partialupdate/u07_lookup.ql.java.out
new file mode 100644
index 0000000..d34546a
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u07_lookup.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:25,0:40]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 8528
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 \ No newline at end of file
diff --git a/systemtest/testdata/partialupdate/u07_lookup.ql.out b/systemtest/testdata/partialupdate/u07_lookup.ql.out
new file mode 100644
index 0000000..a873fb3
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u07_lookup.ql.out
@@ -0,0 +1,54 @@
+-- Testbed line: result_type=set <marray <ulong, [0:25,0:40]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:25,0:40]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:25,0:40]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 4264
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4
+-- Testbed end block:
diff --git a/systemtest/testdata/partialupdate/u08_update.ql b/systemtest/testdata/partialupdate/u08_update.ql
new file mode 100644
index 0000000..943744b
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u08_update.ql
@@ -0,0 +1,15 @@
+UPDATE PartialUpdate AS image
+SET image ASSIGN < [40:50,40:50]
+ 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul;
+ 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul;
+ 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul;
+ 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul;
+ 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul;
+ 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul;
+ 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul;
+ 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul;
+ 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul;
+ 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul;
+ 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul, 5ul
+ >
+
diff --git a/systemtest/testdata/partialupdate/u08_update.ql.java.out b/systemtest/testdata/partialupdate/u08_update.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u08_update.ql.java.out
diff --git a/systemtest/testdata/partialupdate/u08_update.ql.out b/systemtest/testdata/partialupdate/u08_update.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u08_update.ql.out
diff --git a/systemtest/testdata/partialupdate/u09_lookup.ql b/systemtest/testdata/partialupdate/u09_lookup.ql
new file mode 100644
index 0000000..bd885e9
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u09_lookup.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <ulong, [0:10,0:10]>>
+-- Testbed: result_elements=1
+
+SELECT a
+FROM PartialUpdate AS a
diff --git a/systemtest/testdata/partialupdate/u09_lookup.ql.java.out b/systemtest/testdata/partialupdate/u09_lookup.ql.java.out
new file mode 100644
index 0000000..c1f1ca9
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u09_lookup.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:50,0:50]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 20808
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 \ No newline at end of file
diff --git a/systemtest/testdata/partialupdate/u09_lookup.ql.out b/systemtest/testdata/partialupdate/u09_lookup.ql.out
new file mode 100644
index 0000000..8ba2601
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u09_lookup.ql.out
@@ -0,0 +1,64 @@
+-- Testbed line: result_type=set <marray <ulong, [0:50,0:50]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:50,0:50]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:50,0:50]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 10404
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+-- Testbed end block:
diff --git a/systemtest/testdata/partialupdate/u10_update.ql b/systemtest/testdata/partialupdate/u10_update.ql
new file mode 100644
index 0000000..8dbb3ce
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u10_update.ql
@@ -0,0 +1,11 @@
+UPDATE PartialUpdate AS image
+SET image ASSIGN < [35:41,25:35]
+ 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul;
+ 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul;
+ 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul;
+ 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul;
+ 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul;
+ 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul;
+ 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul, 6ul
+ >
+
diff --git a/systemtest/testdata/partialupdate/u10_update.ql.java.out b/systemtest/testdata/partialupdate/u10_update.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u10_update.ql.java.out
diff --git a/systemtest/testdata/partialupdate/u10_update.ql.out b/systemtest/testdata/partialupdate/u10_update.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u10_update.ql.out
diff --git a/systemtest/testdata/partialupdate/u11_lookup.ql b/systemtest/testdata/partialupdate/u11_lookup.ql
new file mode 100644
index 0000000..bd885e9
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u11_lookup.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <ulong, [0:10,0:10]>>
+-- Testbed: result_elements=1
+
+SELECT a
+FROM PartialUpdate AS a
diff --git a/systemtest/testdata/partialupdate/u11_lookup.ql.java.out b/systemtest/testdata/partialupdate/u11_lookup.ql.java.out
new file mode 100644
index 0000000..52f34a6
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u11_lookup.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:50,0:50]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 20808
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 \ No newline at end of file
diff --git a/systemtest/testdata/partialupdate/u11_lookup.ql.out b/systemtest/testdata/partialupdate/u11_lookup.ql.out
new file mode 100644
index 0000000..64787d1
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u11_lookup.ql.out
@@ -0,0 +1,64 @@
+-- Testbed line: result_type=set <marray <ulong, [0:50,0:50]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:50,0:50]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:50,0:50]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 10404
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+-- Testbed end block:
diff --git a/systemtest/testdata/partialupdate/u12_update.ql b/systemtest/testdata/partialupdate/u12_update.ql
new file mode 100644
index 0000000..a24668d
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u12_update.ql
@@ -0,0 +1,9 @@
+UPDATE PartialUpdate AS image
+SET image ASSIGN < [28:32,28:32]
+ 7ul, 7ul, 7ul, 7ul, 7ul;
+ 7ul, 7ul, 7ul, 7ul, 7ul;
+ 7ul, 7ul, 7ul, 7ul, 7ul;
+ 7ul, 7ul, 7ul, 7ul, 7ul;
+ 7ul, 7ul, 7ul, 7ul, 7ul
+ >
+
diff --git a/systemtest/testdata/partialupdate/u12_update.ql.java.out b/systemtest/testdata/partialupdate/u12_update.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u12_update.ql.java.out
diff --git a/systemtest/testdata/partialupdate/u12_update.ql.out b/systemtest/testdata/partialupdate/u12_update.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u12_update.ql.out
diff --git a/systemtest/testdata/partialupdate/u13_lookup.ql b/systemtest/testdata/partialupdate/u13_lookup.ql
new file mode 100644
index 0000000..bd885e9
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u13_lookup.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <ulong, [0:10,0:10]>>
+-- Testbed: result_elements=1
+
+SELECT a
+FROM PartialUpdate AS a
diff --git a/systemtest/testdata/partialupdate/u13_lookup.ql.java.out b/systemtest/testdata/partialupdate/u13_lookup.ql.java.out
new file mode 100644
index 0000000..e9dbf7f
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u13_lookup.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:50,0:50]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 20808
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 \ No newline at end of file
diff --git a/systemtest/testdata/partialupdate/u13_lookup.ql.out b/systemtest/testdata/partialupdate/u13_lookup.ql.out
new file mode 100644
index 0000000..d5df472
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u13_lookup.ql.out
@@ -0,0 +1,64 @@
+-- Testbed line: result_type=set <marray <ulong, [0:50,0:50]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:50,0:50]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:50,0:50]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 10404
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+-- Testbed end block:
diff --git a/systemtest/testdata/partialupdate/u14_update.ql b/systemtest/testdata/partialupdate/u14_update.ql
new file mode 100644
index 0000000..1eb1655
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u14_update.ql
@@ -0,0 +1,5 @@
+UPDATE PartialUpdate AS image
+SET image ASSIGN < [40:40,0:10]
+ 8ul, 8ul, 8ul, 8ul, 8ul, 8ul, 8ul, 8ul, 8ul, 8ul, 8ul
+ >
+
diff --git a/systemtest/testdata/partialupdate/u14_update.ql.java.out b/systemtest/testdata/partialupdate/u14_update.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u14_update.ql.java.out
diff --git a/systemtest/testdata/partialupdate/u14_update.ql.out b/systemtest/testdata/partialupdate/u14_update.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u14_update.ql.out
diff --git a/systemtest/testdata/partialupdate/u15_lookup.ql b/systemtest/testdata/partialupdate/u15_lookup.ql
new file mode 100644
index 0000000..bd885e9
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u15_lookup.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <ulong, [0:10,0:10]>>
+-- Testbed: result_elements=1
+
+SELECT a
+FROM PartialUpdate AS a
diff --git a/systemtest/testdata/partialupdate/u15_lookup.ql.java.out b/systemtest/testdata/partialupdate/u15_lookup.ql.java.out
new file mode 100644
index 0000000..12062df
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u15_lookup.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:50,0:50]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 20808
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 \ No newline at end of file
diff --git a/systemtest/testdata/partialupdate/u15_lookup.ql.out b/systemtest/testdata/partialupdate/u15_lookup.ql.out
new file mode 100644
index 0000000..84787f0
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u15_lookup.ql.out
@@ -0,0 +1,64 @@
+-- Testbed line: result_type=set <marray <ulong, [0:50,0:50]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:50,0:50]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:50,0:50]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 10404
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+-- Testbed end block:
diff --git a/systemtest/testdata/partialupdate/u16_update.ql b/systemtest/testdata/partialupdate/u16_update.ql
new file mode 100644
index 0000000..0bf1bfa
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u16_update.ql
@@ -0,0 +1,15 @@
+UPDATE PartialUpdate AS image
+SET image ASSIGN < [40:50,11:11]
+ 9ul;
+ 9ul;
+ 9ul;
+ 9ul;
+ 9ul;
+ 9ul;
+ 9ul;
+ 9ul;
+ 9ul;
+ 9ul;
+ 9ul
+ >
+
diff --git a/systemtest/testdata/partialupdate/u16_update.ql.java.out b/systemtest/testdata/partialupdate/u16_update.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u16_update.ql.java.out
diff --git a/systemtest/testdata/partialupdate/u16_update.ql.out b/systemtest/testdata/partialupdate/u16_update.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u16_update.ql.out
diff --git a/systemtest/testdata/partialupdate/u17_lookup.ql b/systemtest/testdata/partialupdate/u17_lookup.ql
new file mode 100644
index 0000000..bd885e9
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u17_lookup.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <ulong, [0:10,0:10]>>
+-- Testbed: result_elements=1
+
+SELECT a
+FROM PartialUpdate AS a
diff --git a/systemtest/testdata/partialupdate/u17_lookup.ql.java.out b/systemtest/testdata/partialupdate/u17_lookup.ql.java.out
new file mode 100644
index 0000000..0e316b6
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u17_lookup.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:50,0:50]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 20808
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 \ No newline at end of file
diff --git a/systemtest/testdata/partialupdate/u17_lookup.ql.out b/systemtest/testdata/partialupdate/u17_lookup.ql.out
new file mode 100644
index 0000000..bab95ef
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u17_lookup.ql.out
@@ -0,0 +1,64 @@
+-- Testbed line: result_type=set <marray <ulong, [0:50,0:50]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:50,0:50]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:50,0:50]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 10404
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 9 9 9 9 9 9 9 9 9 9
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+-- Testbed end block:
diff --git a/systemtest/testdata/partialupdate/u18_update.ql b/systemtest/testdata/partialupdate/u18_update.ql
new file mode 100644
index 0000000..22ceb80
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u18_update.ql
@@ -0,0 +1,5 @@
+UPDATE PartialUpdate AS image
+SET image ASSIGN < [35:35,0:10]
+ 10ul, 10ul, 10ul, 10ul, 10ul, 10ul, 10ul, 10ul, 10ul, 10ul, 10ul
+ >
+
diff --git a/systemtest/testdata/partialupdate/u18_update.ql.java.out b/systemtest/testdata/partialupdate/u18_update.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u18_update.ql.java.out
diff --git a/systemtest/testdata/partialupdate/u18_update.ql.out b/systemtest/testdata/partialupdate/u18_update.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u18_update.ql.out
diff --git a/systemtest/testdata/partialupdate/u19_lookup.ql b/systemtest/testdata/partialupdate/u19_lookup.ql
new file mode 100644
index 0000000..bd885e9
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u19_lookup.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <ulong, [0:10,0:10]>>
+-- Testbed: result_elements=1
+
+SELECT a
+FROM PartialUpdate AS a
diff --git a/systemtest/testdata/partialupdate/u19_lookup.ql.java.out b/systemtest/testdata/partialupdate/u19_lookup.ql.java.out
new file mode 100644
index 0000000..eb9d40a
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u19_lookup.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:50,0:50]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 20808
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 \ No newline at end of file
diff --git a/systemtest/testdata/partialupdate/u19_lookup.ql.out b/systemtest/testdata/partialupdate/u19_lookup.ql.out
new file mode 100644
index 0000000..7e9dc61
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u19_lookup.ql.out
@@ -0,0 +1,64 @@
+-- Testbed line: result_type=set <marray <ulong, [0:50,0:50]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:50,0:50]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:50,0:50]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 10404
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 9 9 9 9 9 9 9 9 9 9
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+-- Testbed end block:
diff --git a/systemtest/testdata/partialupdate/u20_update.ql b/systemtest/testdata/partialupdate/u20_update.ql
new file mode 100644
index 0000000..0b99272
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u20_update.ql
@@ -0,0 +1,9 @@
+UPDATE PartialUpdate AS image
+SET image ASSIGN < [30:34,10:10]
+ 11ul;
+ 11ul;
+ 11ul;
+ 11ul;
+ 11ul
+ >
+
diff --git a/systemtest/testdata/partialupdate/u20_update.ql.java.out b/systemtest/testdata/partialupdate/u20_update.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u20_update.ql.java.out
diff --git a/systemtest/testdata/partialupdate/u20_update.ql.out b/systemtest/testdata/partialupdate/u20_update.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u20_update.ql.out
diff --git a/systemtest/testdata/partialupdate/u21_lookup.ql b/systemtest/testdata/partialupdate/u21_lookup.ql
new file mode 100644
index 0000000..bd885e9
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u21_lookup.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <ulong, [0:10,0:10]>>
+-- Testbed: result_elements=1
+
+SELECT a
+FROM PartialUpdate AS a
diff --git a/systemtest/testdata/partialupdate/u21_lookup.ql.java.out b/systemtest/testdata/partialupdate/u21_lookup.ql.java.out
new file mode 100644
index 0000000..989c9c0
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u21_lookup.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:50,0:50]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 20808
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 \ No newline at end of file
diff --git a/systemtest/testdata/partialupdate/u21_lookup.ql.out b/systemtest/testdata/partialupdate/u21_lookup.ql.out
new file mode 100644
index 0000000..e617272
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u21_lookup.ql.out
@@ -0,0 +1,64 @@
+-- Testbed line: result_type=set <marray <ulong, [0:50,0:50]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:50,0:50]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:50,0:50]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 10404
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 11 11 11 11 11 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 9 9 9 9 9 9 9 9 9 9
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+-- Testbed end block:
diff --git a/systemtest/testdata/partialupdate/u30_update.ql b/systemtest/testdata/partialupdate/u30_update.ql
new file mode 100644
index 0000000..e76d6fa
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u30_update.ql
@@ -0,0 +1,10 @@
+UPDATE PartialUpdate AS image
+SET image ASSIGN < [05:10,05:10]
+ 21ul, 21ul, 21ul, 21ul, 21ul, 21ul;
+ 21ul, 21ul, 21ul, 21ul, 21ul, 21ul;
+ 21ul, 21ul, 21ul, 21ul, 21ul, 21ul;
+ 21ul, 21ul, 21ul, 21ul, 21ul, 21ul;
+ 21ul, 21ul, 21ul, 21ul, 21ul, 21ul;
+ 21ul, 21ul, 21ul, 21ul, 21ul, 21ul
+ >
+
diff --git a/systemtest/testdata/partialupdate/u30_update.ql.java.out b/systemtest/testdata/partialupdate/u30_update.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u30_update.ql.java.out
diff --git a/systemtest/testdata/partialupdate/u30_update.ql.out b/systemtest/testdata/partialupdate/u30_update.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u30_update.ql.out
diff --git a/systemtest/testdata/partialupdate/u31_lookup.ql b/systemtest/testdata/partialupdate/u31_lookup.ql
new file mode 100644
index 0000000..bd885e9
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u31_lookup.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <ulong, [0:10,0:10]>>
+-- Testbed: result_elements=1
+
+SELECT a
+FROM PartialUpdate AS a
diff --git a/systemtest/testdata/partialupdate/u31_lookup.ql.java.out b/systemtest/testdata/partialupdate/u31_lookup.ql.java.out
new file mode 100644
index 0000000..0cdad49
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u31_lookup.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:50,0:50]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 20808
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 \ No newline at end of file
diff --git a/systemtest/testdata/partialupdate/u31_lookup.ql.out b/systemtest/testdata/partialupdate/u31_lookup.ql.out
new file mode 100644
index 0000000..640b7ed
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u31_lookup.ql.out
@@ -0,0 +1,64 @@
+-- Testbed line: result_type=set <marray <ulong, [0:50,0:50]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:50,0:50]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:50,0:50]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 10404
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 11 11 11 11 11 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 9 9 9 9 9 9 9 9 9 9
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 4 4 4 4 4 4 4 4 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+-- Testbed end block:
diff --git a/systemtest/testdata/partialupdate/u32_update.ql b/systemtest/testdata/partialupdate/u32_update.ql
new file mode 100644
index 0000000..b1a1ad7
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u32_update.ql
@@ -0,0 +1,15 @@
+UPDATE PartialUpdate AS image
+SET image ASSIGN < [15:25,12:45]
+ 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul;
+ 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul;
+ 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul;
+ 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul;
+ 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul;
+ 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul;
+ 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul;
+ 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul;
+ 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul;
+ 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul;
+ 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul, 22ul
+ >
+
diff --git a/systemtest/testdata/partialupdate/u32_update.ql.java.out b/systemtest/testdata/partialupdate/u32_update.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u32_update.ql.java.out
diff --git a/systemtest/testdata/partialupdate/u32_update.ql.out b/systemtest/testdata/partialupdate/u32_update.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u32_update.ql.out
diff --git a/systemtest/testdata/partialupdate/u33_lookup.ql b/systemtest/testdata/partialupdate/u33_lookup.ql
new file mode 100644
index 0000000..bd885e9
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u33_lookup.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <ulong, [0:10,0:10]>>
+-- Testbed: result_elements=1
+
+SELECT a
+FROM PartialUpdate AS a
diff --git a/systemtest/testdata/partialupdate/u33_lookup.ql.java.out b/systemtest/testdata/partialupdate/u33_lookup.ql.java.out
new file mode 100644
index 0000000..6acc502
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u33_lookup.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:50,0:50]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 20808
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 \ No newline at end of file
diff --git a/systemtest/testdata/partialupdate/u33_lookup.ql.out b/systemtest/testdata/partialupdate/u33_lookup.ql.out
new file mode 100644
index 0000000..d2f2a3b
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u33_lookup.ql.out
@@ -0,0 +1,64 @@
+-- Testbed line: result_type=set <marray <ulong, [0:50,0:50]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:50,0:50]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:50,0:50]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 10404
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 11 11 11 11 11 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 9 9 9 9 9 9 9 9 9 9
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+-- Testbed end block:
diff --git a/systemtest/testdata/partialupdate/u34_update.ql b/systemtest/testdata/partialupdate/u34_update.ql
new file mode 100644
index 0000000..68d7d8c
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u34_update.ql
@@ -0,0 +1,20 @@
+UPDATE PartialUpdate AS image
+SET image ASSIGN < [30:45,30:38]
+ 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul;
+ 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul;
+ 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul;
+ 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul;
+ 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul;
+ 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul;
+ 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul;
+ 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul;
+ 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul;
+ 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul;
+ 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul;
+ 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul;
+ 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul;
+ 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul;
+ 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul;
+ 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul, 23ul
+ >
+
diff --git a/systemtest/testdata/partialupdate/u34_update.ql.java.out b/systemtest/testdata/partialupdate/u34_update.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u34_update.ql.java.out
diff --git a/systemtest/testdata/partialupdate/u34_update.ql.out b/systemtest/testdata/partialupdate/u34_update.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u34_update.ql.out
diff --git a/systemtest/testdata/partialupdate/u35_lookup.ql b/systemtest/testdata/partialupdate/u35_lookup.ql
new file mode 100644
index 0000000..bd885e9
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u35_lookup.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <ulong, [0:10,0:10]>>
+-- Testbed: result_elements=1
+
+SELECT a
+FROM PartialUpdate AS a
diff --git a/systemtest/testdata/partialupdate/u35_lookup.ql.java.out b/systemtest/testdata/partialupdate/u35_lookup.ql.java.out
new file mode 100644
index 0000000..0dd950c
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u35_lookup.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:50,0:50]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 20808
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 \ No newline at end of file
diff --git a/systemtest/testdata/partialupdate/u35_lookup.ql.out b/systemtest/testdata/partialupdate/u35_lookup.ql.out
new file mode 100644
index 0000000..9b0ca8c
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u35_lookup.ql.out
@@ -0,0 +1,64 @@
+-- Testbed line: result_type=set <marray <ulong, [0:50,0:50]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:50,0:50]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:50,0:50]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 10404
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 11 11 11 11 11 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 9 9 9 9 9 9 9 9 9 9
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 7 7 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 7 7 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 7 7 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+-- Testbed end block:
diff --git a/systemtest/testdata/partialupdate/u36_update.ql b/systemtest/testdata/partialupdate/u36_update.ql
new file mode 100644
index 0000000..0efb774
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u36_update.ql
@@ -0,0 +1,10 @@
+UPDATE PartialUpdate AS image
+SET image ASSIGN < [40:45,40:45]
+ 24ul, 24ul, 24ul, 24ul, 24ul, 24ul;
+ 24ul, 24ul, 24ul, 24ul, 24ul, 24ul;
+ 24ul, 24ul, 24ul, 24ul, 24ul, 24ul;
+ 24ul, 24ul, 24ul, 24ul, 24ul, 24ul;
+ 24ul, 24ul, 24ul, 24ul, 24ul, 24ul;
+ 24ul, 24ul, 24ul, 24ul, 24ul, 24ul
+ >
+
diff --git a/systemtest/testdata/partialupdate/u36_update.ql.java.out b/systemtest/testdata/partialupdate/u36_update.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u36_update.ql.java.out
diff --git a/systemtest/testdata/partialupdate/u36_update.ql.out b/systemtest/testdata/partialupdate/u36_update.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u36_update.ql.out
diff --git a/systemtest/testdata/partialupdate/u37_lookup.ql b/systemtest/testdata/partialupdate/u37_lookup.ql
new file mode 100644
index 0000000..bd885e9
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u37_lookup.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <ulong, [0:10,0:10]>>
+-- Testbed: result_elements=1
+
+SELECT a
+FROM PartialUpdate AS a
diff --git a/systemtest/testdata/partialupdate/u37_lookup.ql.java.out b/systemtest/testdata/partialupdate/u37_lookup.ql.java.out
new file mode 100644
index 0000000..b08c68e
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u37_lookup.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:50,0:50]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 20808
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 \ No newline at end of file
diff --git a/systemtest/testdata/partialupdate/u37_lookup.ql.out b/systemtest/testdata/partialupdate/u37_lookup.ql.out
new file mode 100644
index 0000000..777b7e2
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u37_lookup.ql.out
@@ -0,0 +1,64 @@
+-- Testbed line: result_type=set <marray <ulong, [0:50,0:50]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:50,0:50]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:50,0:50]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 10404
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 11 11 11 11 11 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 9 9 9 9 9 9 9 9 9 9
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 7 7 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 7 7 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 7 7 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 24 24 24 24 24 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 24 24 24 24 24 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 24 24 24 24 24 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 24 24 24 24 24 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 24 24 24 24 24 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 24 24 24 24 24 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+-- Testbed end block:
diff --git a/systemtest/testdata/partialupdate/u38_update.ql b/systemtest/testdata/partialupdate/u38_update.ql
new file mode 100644
index 0000000..5678465
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u38_update.ql
@@ -0,0 +1,20 @@
+UPDATE PartialUpdate AS image
+SET image ASSIGN < [30:45,25:28]
+ 25ul, 25ul, 25ul, 25ul;
+ 25ul, 25ul, 25ul, 25ul;
+ 25ul, 25ul, 25ul, 25ul;
+ 25ul, 25ul, 25ul, 25ul;
+ 25ul, 25ul, 25ul, 25ul;
+ 25ul, 25ul, 25ul, 25ul;
+ 25ul, 25ul, 25ul, 25ul;
+ 25ul, 25ul, 25ul, 25ul;
+ 25ul, 25ul, 25ul, 25ul;
+ 25ul, 25ul, 25ul, 25ul;
+ 25ul, 25ul, 25ul, 25ul;
+ 25ul, 25ul, 25ul, 25ul;
+ 25ul, 25ul, 25ul, 25ul;
+ 25ul, 25ul, 25ul, 25ul;
+ 25ul, 25ul, 25ul, 25ul;
+ 25ul, 25ul, 25ul, 25ul
+ >
+
diff --git a/systemtest/testdata/partialupdate/u38_update.ql.java.out b/systemtest/testdata/partialupdate/u38_update.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u38_update.ql.java.out
diff --git a/systemtest/testdata/partialupdate/u38_update.ql.out b/systemtest/testdata/partialupdate/u38_update.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u38_update.ql.out
diff --git a/systemtest/testdata/partialupdate/u39_lookup.ql b/systemtest/testdata/partialupdate/u39_lookup.ql
new file mode 100644
index 0000000..bd885e9
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u39_lookup.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <ulong, [0:10,0:10]>>
+-- Testbed: result_elements=1
+
+SELECT a
+FROM PartialUpdate AS a
diff --git a/systemtest/testdata/partialupdate/u39_lookup.ql.java.out b/systemtest/testdata/partialupdate/u39_lookup.ql.java.out
new file mode 100644
index 0000000..cb4319a
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u39_lookup.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:50,0:50]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 20808
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 \ No newline at end of file
diff --git a/systemtest/testdata/partialupdate/u39_lookup.ql.out b/systemtest/testdata/partialupdate/u39_lookup.ql.out
new file mode 100644
index 0000000..72b2fac
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u39_lookup.ql.out
@@ -0,0 +1,64 @@
+-- Testbed line: result_type=set <marray <ulong, [0:50,0:50]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:50,0:50]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:50,0:50]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 10404
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 11 11 11 11 11 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 9 9 9 9 9 9 9 9 9 9
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 7 7 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 7 7 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 7 7 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 7 7 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 24 24 24 24 24 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 24 24 24 24 24 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 24 24 24 24 24 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 24 24 24 24 24 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 24 24 24 24 24 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 24 24 24 24 24 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+-- Testbed end block:
diff --git a/systemtest/testdata/partialupdate/u40_update.ql b/systemtest/testdata/partialupdate/u40_update.ql
new file mode 100644
index 0000000..305619a
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u40_update.ql
@@ -0,0 +1,7 @@
+UPDATE PartialUpdate AS image
+SET image ASSIGN < [39:41,9:11]
+ 26ul, 26ul, 26ul;
+ 26ul, 26ul, 26ul;
+ 26ul, 26ul, 26ul
+ >
+
diff --git a/systemtest/testdata/partialupdate/u40_update.ql.java.out b/systemtest/testdata/partialupdate/u40_update.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u40_update.ql.java.out
diff --git a/systemtest/testdata/partialupdate/u40_update.ql.out b/systemtest/testdata/partialupdate/u40_update.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u40_update.ql.out
diff --git a/systemtest/testdata/partialupdate/u41_lookup.ql b/systemtest/testdata/partialupdate/u41_lookup.ql
new file mode 100644
index 0000000..bd885e9
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u41_lookup.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <ulong, [0:10,0:10]>>
+-- Testbed: result_elements=1
+
+SELECT a
+FROM PartialUpdate AS a
diff --git a/systemtest/testdata/partialupdate/u41_lookup.ql.java.out b/systemtest/testdata/partialupdate/u41_lookup.ql.java.out
new file mode 100644
index 0000000..c62661a
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u41_lookup.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:50,0:50]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 20808
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 26 0 0 0 0 0 0 0 26 0 0 0 0 0 0 0 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 26 0 0 0 0 0 0 0 26 0 0 0 0 0 0 0 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 26 0 0 0 0 0 0 0 26 0 0 0 0 0 0 0 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 \ No newline at end of file
diff --git a/systemtest/testdata/partialupdate/u41_lookup.ql.out b/systemtest/testdata/partialupdate/u41_lookup.ql.out
new file mode 100644
index 0000000..bd1eaf8
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u41_lookup.ql.out
@@ -0,0 +1,64 @@
+-- Testbed line: result_type=set <marray <ulong, [0:50,0:50]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:50,0:50]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:50,0:50]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 10404
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 26 26 26 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 11 11 11 11 11 10 0 0 0 26 26 26 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 26 26 26 9 9 9 9 9 9 9 9 9
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 7 7 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 7 7 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 7 7 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 7 7 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 24 24 24 24 24 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 24 24 24 24 24 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 24 24 24 24 24 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 24 24 24 24 24 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 24 24 24 24 24 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 24 24 24 24 24 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+-- Testbed end block:
diff --git a/systemtest/testdata/partialupdate/u42_update.ql b/systemtest/testdata/partialupdate/u42_update.ql
new file mode 100644
index 0000000..1e379d7
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u42_update.ql
@@ -0,0 +1,7 @@
+UPDATE PartialUpdate AS image
+SET image ASSIGN < [34:36,9:11]
+ 27ul, 27ul, 27ul;
+ 27ul, 27ul, 27ul;
+ 27ul, 27ul, 27ul
+ >
+
diff --git a/systemtest/testdata/partialupdate/u42_update.ql.java.out b/systemtest/testdata/partialupdate/u42_update.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u42_update.ql.java.out
diff --git a/systemtest/testdata/partialupdate/u42_update.ql.out b/systemtest/testdata/partialupdate/u42_update.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u42_update.ql.out
diff --git a/systemtest/testdata/partialupdate/u43_lookup.ql b/systemtest/testdata/partialupdate/u43_lookup.ql
new file mode 100644
index 0000000..bd885e9
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u43_lookup.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <ulong, [0:10,0:10]>>
+-- Testbed: result_elements=1
+
+SELECT a
+FROM PartialUpdate AS a
diff --git a/systemtest/testdata/partialupdate/u43_lookup.ql.java.out b/systemtest/testdata/partialupdate/u43_lookup.ql.java.out
new file mode 100644
index 0000000..b877ce2
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u43_lookup.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:50,0:50]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 20808
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 7 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 27 0 0 0 0 0 0 0 27 0 0 0 0 0 0 0 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 27 0 0 0 0 0 0 0 27 0 0 0 0 0 0 0 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 27 0 0 0 0 0 0 0 27 0 0 0 0 0 0 0 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 26 0 0 0 0 0 0 0 26 0 0 0 0 0 0 0 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 26 0 0 0 0 0 0 0 26 0 0 0 0 0 0 0 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 26 0 0 0 0 0 0 0 26 0 0 0 0 0 0 0 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 24 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 \ No newline at end of file
diff --git a/systemtest/testdata/partialupdate/u43_lookup.ql.out b/systemtest/testdata/partialupdate/u43_lookup.ql.out
new file mode 100644
index 0000000..8d8116e
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u43_lookup.ql.out
@@ -0,0 +1,64 @@
+-- Testbed line: result_type=set <marray <ulong, [0:50,0:50]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:50,0:50]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:50,0:50]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 10404
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 8 0 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 27 27 27 0 0 26 26 26 0 0 0 0 0 0 0 0 0
+ 1 1 1 1 1 21 21 21 21 21 21 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 11 11 11 11 27 27 27 0 0 26 26 26 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 2 2 0 0 0 0 0 0 0 0 27 27 27 0 0 26 26 26 9 9 9 9 9 9 9 9 9
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 7 7 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 7 7 7 7 7 0 0 6 6 6 6 6 6 6 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 7 7 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 7 7 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 7 7 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 24 24 24 24 24 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 24 24 24 24 24 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 24 24 24 24 24 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 24 24 24 24 24 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 24 24 24 24 24 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 22 22 22 22 22 22 22 22 22 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 24 24 24 24 24 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 5 5
+-- Testbed end block:
diff --git a/systemtest/testdata/partialupdate/u98_deletemdd.ql b/systemtest/testdata/partialupdate/u98_deletemdd.ql
new file mode 100644
index 0000000..2b37e5f
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u98_deletemdd.ql
@@ -0,0 +1,2 @@
+DELETE FROM PartialUpdate AS a
+WHERE true
diff --git a/systemtest/testdata/partialupdate/u98_deletemdd.ql.java.out b/systemtest/testdata/partialupdate/u98_deletemdd.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u98_deletemdd.ql.java.out
diff --git a/systemtest/testdata/partialupdate/u98_deletemdd.ql.out b/systemtest/testdata/partialupdate/u98_deletemdd.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u98_deletemdd.ql.out
diff --git a/systemtest/testdata/partialupdate/u99_dropcoll.ql b/systemtest/testdata/partialupdate/u99_dropcoll.ql
new file mode 100644
index 0000000..ae73fd9
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u99_dropcoll.ql
@@ -0,0 +1 @@
+DROP COLLECTION PartialUpdate
diff --git a/systemtest/testdata/partialupdate/u99_dropcoll.ql.java.out b/systemtest/testdata/partialupdate/u99_dropcoll.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u99_dropcoll.ql.java.out
diff --git a/systemtest/testdata/partialupdate/u99_dropcoll.ql.out b/systemtest/testdata/partialupdate/u99_dropcoll.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/partialupdate/u99_dropcoll.ql.out
diff --git a/systemtest/testdata/queryresult/boolean.ql b/systemtest/testdata/queryresult/boolean.ql
new file mode 100644
index 0000000..633889f
--- /dev/null
+++ b/systemtest/testdata/queryresult/boolean.ql
@@ -0,0 +1,2 @@
+select true
+from ImgCharA as a
diff --git a/systemtest/testdata/queryresult/boolean.ql.java.out b/systemtest/testdata/queryresult/boolean.ql.java.out
new file mode 100644
index 0000000..9d60796
--- /dev/null
+++ b/systemtest/testdata/queryresult/boolean.ql.java.out
@@ -0,0 +1 @@
+11 \ No newline at end of file
diff --git a/systemtest/testdata/queryresult/boolean.ql.out b/systemtest/testdata/queryresult/boolean.ql.out
new file mode 100644
index 0000000..89db772
--- /dev/null
+++ b/systemtest/testdata/queryresult/boolean.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<bool>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: T
+Element 2: T
+-- Testbed end block:
diff --git a/systemtest/testdata/queryresult/char.ql b/systemtest/testdata/queryresult/char.ql
new file mode 100644
index 0000000..0f4916d
--- /dev/null
+++ b/systemtest/testdata/queryresult/char.ql
@@ -0,0 +1,2 @@
+select 69c
+from ImgCharA as a
diff --git a/systemtest/testdata/queryresult/char.ql.java.out b/systemtest/testdata/queryresult/char.ql.java.out
new file mode 100644
index 0000000..b01cb97
--- /dev/null
+++ b/systemtest/testdata/queryresult/char.ql.java.out
@@ -0,0 +1 @@
+6969 \ No newline at end of file
diff --git a/systemtest/testdata/queryresult/char.ql.out b/systemtest/testdata/queryresult/char.ql.out
new file mode 100644
index 0000000..835b0f9
--- /dev/null
+++ b/systemtest/testdata/queryresult/char.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<char>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 69
+Element 2: 69
+-- Testbed end block:
diff --git a/systemtest/testdata/queryresult/double.ql b/systemtest/testdata/queryresult/double.ql
new file mode 100644
index 0000000..c1dd0a4
--- /dev/null
+++ b/systemtest/testdata/queryresult/double.ql
@@ -0,0 +1,2 @@
+select 1.9d
+from ImgCharA as a
diff --git a/systemtest/testdata/queryresult/double.ql.java.out b/systemtest/testdata/queryresult/double.ql.java.out
new file mode 100644
index 0000000..a926092
--- /dev/null
+++ b/systemtest/testdata/queryresult/double.ql.java.out
@@ -0,0 +1 @@
+1.91.9 \ No newline at end of file
diff --git a/systemtest/testdata/queryresult/double.ql.out b/systemtest/testdata/queryresult/double.ql.out
new file mode 100644
index 0000000..263963b
--- /dev/null
+++ b/systemtest/testdata/queryresult/double.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1.9
+Element 2: 1.9
+-- Testbed end block:
diff --git a/systemtest/testdata/queryresult/float.ql b/systemtest/testdata/queryresult/float.ql
new file mode 100644
index 0000000..77fdb64
--- /dev/null
+++ b/systemtest/testdata/queryresult/float.ql
@@ -0,0 +1,2 @@
+select 1.9f
+from ImgCharA as a
diff --git a/systemtest/testdata/queryresult/float.ql.java.out b/systemtest/testdata/queryresult/float.ql.java.out
new file mode 100644
index 0000000..a926092
--- /dev/null
+++ b/systemtest/testdata/queryresult/float.ql.java.out
@@ -0,0 +1 @@
+1.91.9 \ No newline at end of file
diff --git a/systemtest/testdata/queryresult/float.ql.out b/systemtest/testdata/queryresult/float.ql.out
new file mode 100644
index 0000000..e5506ae
--- /dev/null
+++ b/systemtest/testdata/queryresult/float.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<float>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1.9
+Element 2: 1.9
+-- Testbed end block:
diff --git a/systemtest/testdata/queryresult/long.ql b/systemtest/testdata/queryresult/long.ql
new file mode 100644
index 0000000..4605041
--- /dev/null
+++ b/systemtest/testdata/queryresult/long.ql
@@ -0,0 +1,2 @@
+select 1l
+from ImgCharA as a
diff --git a/systemtest/testdata/queryresult/long.ql.java.out b/systemtest/testdata/queryresult/long.ql.java.out
new file mode 100644
index 0000000..9d60796
--- /dev/null
+++ b/systemtest/testdata/queryresult/long.ql.java.out
@@ -0,0 +1 @@
+11 \ No newline at end of file
diff --git a/systemtest/testdata/queryresult/long.ql.out b/systemtest/testdata/queryresult/long.ql.out
new file mode 100644
index 0000000..5f11d14
--- /dev/null
+++ b/systemtest/testdata/queryresult/long.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<long>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1
+Element 2: 1
+-- Testbed end block:
diff --git a/systemtest/testdata/queryresult/minterval.ql b/systemtest/testdata/queryresult/minterval.ql
new file mode 100644
index 0000000..057f5d4
--- /dev/null
+++ b/systemtest/testdata/queryresult/minterval.ql
@@ -0,0 +1,2 @@
+select [0:10,0:10,0:10]
+from ImgCharA as a
diff --git a/systemtest/testdata/queryresult/minterval.ql.java.out b/systemtest/testdata/queryresult/minterval.ql.java.out
new file mode 100644
index 0000000..72f4876
--- /dev/null
+++ b/systemtest/testdata/queryresult/minterval.ql.java.out
@@ -0,0 +1 @@
+[0:10,0:10,0:10][0:10,0:10,0:10] \ No newline at end of file
diff --git a/systemtest/testdata/queryresult/minterval.ql.out b/systemtest/testdata/queryresult/minterval.ql.out
new file mode 100644
index 0000000..c7c6c2e
--- /dev/null
+++ b/systemtest/testdata/queryresult/minterval.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<minterval>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: [0:10,0:10,0:10]
+Element 2: [0:10,0:10,0:10]
+-- Testbed end block:
diff --git a/systemtest/testdata/queryresult/octet.ql b/systemtest/testdata/queryresult/octet.ql
new file mode 100644
index 0000000..a593c5b
--- /dev/null
+++ b/systemtest/testdata/queryresult/octet.ql
@@ -0,0 +1,2 @@
+select 69o
+from ImgCharA as a
diff --git a/systemtest/testdata/queryresult/octet.ql.java.out b/systemtest/testdata/queryresult/octet.ql.java.out
new file mode 100644
index 0000000..b01cb97
--- /dev/null
+++ b/systemtest/testdata/queryresult/octet.ql.java.out
@@ -0,0 +1 @@
+6969 \ No newline at end of file
diff --git a/systemtest/testdata/queryresult/octet.ql.out b/systemtest/testdata/queryresult/octet.ql.out
new file mode 100644
index 0000000..ad82aab
--- /dev/null
+++ b/systemtest/testdata/queryresult/octet.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<octet>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 69
+Element 2: 69
+-- Testbed end block:
diff --git a/systemtest/testdata/queryresult/point.ql b/systemtest/testdata/queryresult/point.ql
new file mode 100644
index 0000000..b4ce3d9
--- /dev/null
+++ b/systemtest/testdata/queryresult/point.ql
@@ -0,0 +1,2 @@
+select [1,2,3,4,5]
+from ImgCharA as a
diff --git a/systemtest/testdata/queryresult/point.ql.java.out b/systemtest/testdata/queryresult/point.ql.java.out
new file mode 100644
index 0000000..e1bf7a2
--- /dev/null
+++ b/systemtest/testdata/queryresult/point.ql.java.out
@@ -0,0 +1 @@
+[1,2,3,4,5][1,2,3,4,5] \ No newline at end of file
diff --git a/systemtest/testdata/queryresult/point.ql.out b/systemtest/testdata/queryresult/point.ql.out
new file mode 100644
index 0000000..a9a3907
--- /dev/null
+++ b/systemtest/testdata/queryresult/point.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<point>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: [1,2,3,4,5]
+Element 2: [1,2,3,4,5]
+-- Testbed end block:
diff --git a/systemtest/testdata/queryresult/short.ql b/systemtest/testdata/queryresult/short.ql
new file mode 100644
index 0000000..717aa9a
--- /dev/null
+++ b/systemtest/testdata/queryresult/short.ql
@@ -0,0 +1,2 @@
+select 1s
+from ImgCharA as a
diff --git a/systemtest/testdata/queryresult/short.ql.java.out b/systemtest/testdata/queryresult/short.ql.java.out
new file mode 100644
index 0000000..9d60796
--- /dev/null
+++ b/systemtest/testdata/queryresult/short.ql.java.out
@@ -0,0 +1 @@
+11 \ No newline at end of file
diff --git a/systemtest/testdata/queryresult/short.ql.out b/systemtest/testdata/queryresult/short.ql.out
new file mode 100644
index 0000000..8d5ef87
--- /dev/null
+++ b/systemtest/testdata/queryresult/short.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<short>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1
+Element 2: 1
+-- Testbed end block:
diff --git a/systemtest/testdata/queryresult/sinterval.ql b/systemtest/testdata/queryresult/sinterval.ql
new file mode 100644
index 0000000..0299f5e
--- /dev/null
+++ b/systemtest/testdata/queryresult/sinterval.ql
@@ -0,0 +1,2 @@
+select 5:10
+from ImgCharA as a
diff --git a/systemtest/testdata/queryresult/sinterval.ql.java.out b/systemtest/testdata/queryresult/sinterval.ql.java.out
new file mode 100644
index 0000000..450ec6f
--- /dev/null
+++ b/systemtest/testdata/queryresult/sinterval.ql.java.out
@@ -0,0 +1 @@
+5:105:10 \ No newline at end of file
diff --git a/systemtest/testdata/queryresult/sinterval.ql.out b/systemtest/testdata/queryresult/sinterval.ql.out
new file mode 100644
index 0000000..a29d4cd
--- /dev/null
+++ b/systemtest/testdata/queryresult/sinterval.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<interval>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 5:10
+Element 2: 5:10
+-- Testbed end block:
diff --git a/systemtest/testdata/queryresult/struct.ql b/systemtest/testdata/queryresult/struct.ql
new file mode 100644
index 0000000..dfbfd5c
--- /dev/null
+++ b/systemtest/testdata/queryresult/struct.ql
@@ -0,0 +1,2 @@
+select { 71c, 72c, 3s, 4s }
+from ImgCharA as a
diff --git a/systemtest/testdata/queryresult/struct.ql.java.out b/systemtest/testdata/queryresult/struct.ql.java.out
new file mode 100644
index 0000000..a5d28eb
--- /dev/null
+++ b/systemtest/testdata/queryresult/struct.ql.java.out
@@ -0,0 +1,16 @@
+
+ RasRuntimeException: Exception: Base type typeName:
+ typeID: 7
+ typeSize: 2
+struct
+{
+ typeName: RAS_CHAR
+ typeID: 18
+ typeSize: 1
+ 0,
+typeName: RAS_CHAR
+ typeID: 18
+ typeSize: 1
+ 1
+}
+ as ElementType is not supported yet. \ No newline at end of file
diff --git a/systemtest/testdata/queryresult/struct.ql.out b/systemtest/testdata/queryresult/struct.ql.out
new file mode 100644
index 0000000..d270999
--- /dev/null
+++ b/systemtest/testdata/queryresult/struct.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<struct { char 0, char 1, short 2, short 3 }>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: { 71, 72, 3, 4 }
+Element 2: { 71, 72, 3, 4 }
+-- Testbed end block:
diff --git a/systemtest/testdata/queryresult/ulong.ql b/systemtest/testdata/queryresult/ulong.ql
new file mode 100644
index 0000000..f20944f
--- /dev/null
+++ b/systemtest/testdata/queryresult/ulong.ql
@@ -0,0 +1,2 @@
+select 1ul
+from ImgCharA as a
diff --git a/systemtest/testdata/queryresult/ulong.ql.java.out b/systemtest/testdata/queryresult/ulong.ql.java.out
new file mode 100644
index 0000000..9d60796
--- /dev/null
+++ b/systemtest/testdata/queryresult/ulong.ql.java.out
@@ -0,0 +1 @@
+11 \ No newline at end of file
diff --git a/systemtest/testdata/queryresult/ulong.ql.out b/systemtest/testdata/queryresult/ulong.ql.out
new file mode 100644
index 0000000..832318d
--- /dev/null
+++ b/systemtest/testdata/queryresult/ulong.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<ulong>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1
+Element 2: 1
+-- Testbed end block:
diff --git a/systemtest/testdata/queryresult/ushort.ql b/systemtest/testdata/queryresult/ushort.ql
new file mode 100644
index 0000000..f32aefa
--- /dev/null
+++ b/systemtest/testdata/queryresult/ushort.ql
@@ -0,0 +1,2 @@
+select 1us
+from ImgCharA as a
diff --git a/systemtest/testdata/queryresult/ushort.ql.java.out b/systemtest/testdata/queryresult/ushort.ql.java.out
new file mode 100644
index 0000000..9d60796
--- /dev/null
+++ b/systemtest/testdata/queryresult/ushort.ql.java.out
@@ -0,0 +1 @@
+11 \ No newline at end of file
diff --git a/systemtest/testdata/queryresult/ushort.ql.out b/systemtest/testdata/queryresult/ushort.ql.out
new file mode 100644
index 0000000..f4faee3
--- /dev/null
+++ b/systemtest/testdata/queryresult/ushort.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<ushort>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1
+Element 2: 1
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/addcellschar.ql b/systemtest/testdata/reduce/addcellschar.ql
new file mode 100644
index 0000000..4cdd5fe
--- /dev/null
+++ b/systemtest/testdata/reduce/addcellschar.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values (char)add_cells( a )
+from ImgCharA as a
+
diff --git a/systemtest/testdata/reduce/addcellschar.ql.java.out b/systemtest/testdata/reduce/addcellschar.ql.java.out
new file mode 100644
index 0000000..bb5d0a8
--- /dev/null
+++ b/systemtest/testdata/reduce/addcellschar.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 1
+ 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 1
+ 121 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/addcellschar.ql.out b/systemtest/testdata/reduce/addcellschar.ql.out
new file mode 100644
index 0000000..c3c6efc
--- /dev/null
+++ b/systemtest/testdata/reduce/addcellschar.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <char, [0:0]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:0]>
+ Type Schema...........: marray< char >
+ Domain................: [0:0]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 1
+ 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:0]>
+ Type Schema...........: marray< char >
+ Domain................: [0:0]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 1
+ 121
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/addcellsdouble.ql b/systemtest/testdata/reduce/addcellsdouble.ql
new file mode 100644
index 0000000..a460c9b
--- /dev/null
+++ b/systemtest/testdata/reduce/addcellsdouble.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values add_cells( a*1d )
+from ImgCharA as a
+
diff --git a/systemtest/testdata/reduce/addcellsdouble.ql.java.out b/systemtest/testdata/reduce/addcellsdouble.ql.java.out
new file mode 100644
index 0000000..3ec8a71
--- /dev/null
+++ b/systemtest/testdata/reduce/addcellsdouble.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:15999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 0 0 0 0 0 0 0 0
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:15999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 64 94 64 0 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/addcellsdouble.ql.out b/systemtest/testdata/reduce/addcellsdouble.ql.out
new file mode 100644
index 0000000..af33e1d
--- /dev/null
+++ b/systemtest/testdata/reduce/addcellsdouble.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <double, [0:0]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <double, [0:0]>
+ Type Schema...........: marray< double >
+ Domain................: [0:0]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 8
+ 0
+Image 2
+GMarray
+ Type Structure........: marray <double, [0:0]>
+ Type Schema...........: marray< double >
+ Domain................: [0:0]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 8
+ 121
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/addcellsfloat.ql b/systemtest/testdata/reduce/addcellsfloat.ql
new file mode 100644
index 0000000..fd91e46
--- /dev/null
+++ b/systemtest/testdata/reduce/addcellsfloat.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values (float)add_cells( a*1f )
+from ImgCharA as a
+
diff --git a/systemtest/testdata/reduce/addcellsfloat.ql.java.out b/systemtest/testdata/reduce/addcellsfloat.ql.java.out
new file mode 100644
index 0000000..7892cd0
--- /dev/null
+++ b/systemtest/testdata/reduce/addcellsfloat.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayFloat
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:31999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 4
+ 0 0 0 0
+rasj.RasMArrayFloat
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:31999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 4
+ 66 -14 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/addcellsfloat.ql.out b/systemtest/testdata/reduce/addcellsfloat.ql.out
new file mode 100644
index 0000000..cd36146
--- /dev/null
+++ b/systemtest/testdata/reduce/addcellsfloat.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <float, [0:0]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <float, [0:0]>
+ Type Schema...........: marray< float >
+ Domain................: [0:0]
+ Base Type Schema......: float
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 4
+ 0
+Image 2
+GMarray
+ Type Structure........: marray <float, [0:0]>
+ Type Schema...........: marray< float >
+ Domain................: [0:0]
+ Base Type Schema......: float
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 4
+ 121
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/addcellslong.ql b/systemtest/testdata/reduce/addcellslong.ql
new file mode 100644
index 0000000..ec59db1
--- /dev/null
+++ b/systemtest/testdata/reduce/addcellslong.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values add_cells( a*1l )
+from ImgCharA as a
+
diff --git a/systemtest/testdata/reduce/addcellslong.ql.java.out b/systemtest/testdata/reduce/addcellslong.ql.java.out
new file mode 100644
index 0000000..405c6e1
--- /dev/null
+++ b/systemtest/testdata/reduce/addcellslong.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:31999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 4
+ 0 0 0 0
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:31999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 4
+ 0 0 0 121 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/addcellslong.ql.out b/systemtest/testdata/reduce/addcellslong.ql.out
new file mode 100644
index 0000000..076ef00
--- /dev/null
+++ b/systemtest/testdata/reduce/addcellslong.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <long, [0:0]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <long, [0:0]>
+ Type Schema...........: marray< long >
+ Domain................: [0:0]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 4
+ 0
+Image 2
+GMarray
+ Type Structure........: marray <long, [0:0]>
+ Type Schema...........: marray< long >
+ Domain................: [0:0]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 4
+ 121
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/addcellsoctet.ql b/systemtest/testdata/reduce/addcellsoctet.ql
new file mode 100644
index 0000000..87e97d0
--- /dev/null
+++ b/systemtest/testdata/reduce/addcellsoctet.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values (octet)add_cells( a*1o )
+from ImgCharA as a
+
diff --git a/systemtest/testdata/reduce/addcellsoctet.ql.java.out b/systemtest/testdata/reduce/addcellsoctet.ql.java.out
new file mode 100644
index 0000000..bb5d0a8
--- /dev/null
+++ b/systemtest/testdata/reduce/addcellsoctet.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 1
+ 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 1
+ 121 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/addcellsoctet.ql.out b/systemtest/testdata/reduce/addcellsoctet.ql.out
new file mode 100644
index 0000000..3b8d71d
--- /dev/null
+++ b/systemtest/testdata/reduce/addcellsoctet.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <octet, [0:0]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <octet, [0:0]>
+ Type Schema...........: marray< octet >
+ Domain................: [0:0]
+ Base Type Schema......: octet
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 1
+ 0
+Image 2
+GMarray
+ Type Structure........: marray <octet, [0:0]>
+ Type Schema...........: marray< octet >
+ Domain................: [0:0]
+ Base Type Schema......: octet
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 1
+ 121
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/addcellsshort.ql b/systemtest/testdata/reduce/addcellsshort.ql
new file mode 100644
index 0000000..a2371f6
--- /dev/null
+++ b/systemtest/testdata/reduce/addcellsshort.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values (short)add_cells( a*1s )
+from ImgCharA as a
+
diff --git a/systemtest/testdata/reduce/addcellsshort.ql.java.out b/systemtest/testdata/reduce/addcellsshort.ql.java.out
new file mode 100644
index 0000000..e90632e
--- /dev/null
+++ b/systemtest/testdata/reduce/addcellsshort.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayShort
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:63999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 2
+ Data format...........: 0
+ Data size (bytes).....: 2
+ 0 0
+rasj.RasMArrayShort
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:63999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 2
+ Data format...........: 0
+ Data size (bytes).....: 2
+ 0 121 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/addcellsshort.ql.out b/systemtest/testdata/reduce/addcellsshort.ql.out
new file mode 100644
index 0000000..9f7979e
--- /dev/null
+++ b/systemtest/testdata/reduce/addcellsshort.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <short, [0:0]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <short, [0:0]>
+ Type Schema...........: marray< short >
+ Domain................: [0:0]
+ Base Type Schema......: short
+ Base Type Length......: 2
+ Data format.......... : Array
+ Data size (bytes).... : 2
+ 0
+Image 2
+GMarray
+ Type Structure........: marray <short, [0:0]>
+ Type Schema...........: marray< short >
+ Domain................: [0:0]
+ Base Type Schema......: short
+ Base Type Length......: 2
+ Data format.......... : Array
+ Data size (bytes).... : 2
+ 121
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/addcellsstruct.ql b/systemtest/testdata/reduce/addcellsstruct.ql
new file mode 100644
index 0000000..8f22d50
--- /dev/null
+++ b/systemtest/testdata/reduce/addcellsstruct.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values add_cells( a*{1,1} )
+from ImgCharA as a
+
diff --git a/systemtest/testdata/reduce/addcellsstruct.ql.java.out b/systemtest/testdata/reduce/addcellsstruct.ql.java.out
new file mode 100644
index 0000000..95769c2
--- /dev/null
+++ b/systemtest/testdata/reduce/addcellsstruct.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasGMArray
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:15999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 0 0 0 0 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/addcellsstruct.ql.out b/systemtest/testdata/reduce/addcellsstruct.ql.out
new file mode 100644
index 0000000..287bc81
--- /dev/null
+++ b/systemtest/testdata/reduce/addcellsstruct.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <struct { long 0, long 1 }, [0:0]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <struct { long 0, long 1 }, [0:0]>
+ Type Schema...........: marray< struct{ long 0, long 1 } >
+ Domain................: [0:0]
+ Base Type Schema......: struct{ long 0, long 1 }
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 8
+{ 0, 0}
+Image 2
+GMarray
+ Type Structure........: marray <struct { long 0, long 1 }, [0:0]>
+ Type Schema...........: marray< struct{ long 0, long 1 } >
+ Domain................: [0:0]
+ Base Type Schema......: struct{ long 0, long 1 }
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 8
+{ 121, 121}
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/addcellsulong.ql b/systemtest/testdata/reduce/addcellsulong.ql
new file mode 100644
index 0000000..525592a
--- /dev/null
+++ b/systemtest/testdata/reduce/addcellsulong.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values add_cells( a*1ul )
+from ImgCharA as a
+
diff --git a/systemtest/testdata/reduce/addcellsulong.ql.java.out b/systemtest/testdata/reduce/addcellsulong.ql.java.out
new file mode 100644
index 0000000..39ec10d
--- /dev/null
+++ b/systemtest/testdata/reduce/addcellsulong.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:15999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 0 0 0 0 0 0 0 0
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:15999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 0 0 0 0 0 0 0 121 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/addcellsulong.ql.out b/systemtest/testdata/reduce/addcellsulong.ql.out
new file mode 100644
index 0000000..44a8e47
--- /dev/null
+++ b/systemtest/testdata/reduce/addcellsulong.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <ulong, [0:0]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:0]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:0]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 4
+ 0
+Image 2
+GMarray
+ Type Structure........: marray <ulong, [0:0]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:0]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 4
+ 121
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/addcellsushort.ql b/systemtest/testdata/reduce/addcellsushort.ql
new file mode 100644
index 0000000..ff3c08d
--- /dev/null
+++ b/systemtest/testdata/reduce/addcellsushort.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values (ushort)add_cells( a*1us )
+from ImgCharA as a
+
diff --git a/systemtest/testdata/reduce/addcellsushort.ql.java.out b/systemtest/testdata/reduce/addcellsushort.ql.java.out
new file mode 100644
index 0000000..405c6e1
--- /dev/null
+++ b/systemtest/testdata/reduce/addcellsushort.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:31999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 4
+ 0 0 0 0
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:31999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 4
+ 0 0 0 121 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/addcellsushort.ql.out b/systemtest/testdata/reduce/addcellsushort.ql.out
new file mode 100644
index 0000000..5fd6f75
--- /dev/null
+++ b/systemtest/testdata/reduce/addcellsushort.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <ushort, [0:0]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ushort, [0:0]>
+ Type Schema...........: marray< ushort >
+ Domain................: [0:0]
+ Base Type Schema......: ushort
+ Base Type Length......: 2
+ Data format.......... : Array
+ Data size (bytes).... : 2
+ 0
+Image 2
+GMarray
+ Type Structure........: marray <ushort, [0:0]>
+ Type Schema...........: marray< ushort >
+ Domain................: [0:0]
+ Base Type Schema......: ushort
+ Base Type Length......: 2
+ Data format.......... : Array
+ Data size (bytes).... : 2
+ 121
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/avgcellschar.ql b/systemtest/testdata/reduce/avgcellschar.ql
new file mode 100644
index 0000000..a8a25a4
--- /dev/null
+++ b/systemtest/testdata/reduce/avgcellschar.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values avg_cells( a[0:2, 0:2] )
+from ImgCharD as a
+
diff --git a/systemtest/testdata/reduce/avgcellschar.ql.java.out b/systemtest/testdata/reduce/avgcellschar.ql.java.out
new file mode 100644
index 0000000..f891225
--- /dev/null
+++ b/systemtest/testdata/reduce/avgcellschar.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:15999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 64 40 0 0 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/avgcellschar.ql.out b/systemtest/testdata/reduce/avgcellschar.ql.out
new file mode 100644
index 0000000..dcc1a99
--- /dev/null
+++ b/systemtest/testdata/reduce/avgcellschar.ql.out
@@ -0,0 +1,14 @@
+-- Testbed line: result_type=set <marray <double, [0:0]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <double, [0:0]>
+ Type Schema...........: marray< double >
+ Domain................: [0:0]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 8
+ 12
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/avgcellsdouble.ql b/systemtest/testdata/reduce/avgcellsdouble.ql
new file mode 100644
index 0000000..8856397
--- /dev/null
+++ b/systemtest/testdata/reduce/avgcellsdouble.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values avg_cells( a[0:2,0:2]*1d )
+from ImgCharD as a
+
diff --git a/systemtest/testdata/reduce/avgcellsdouble.ql.java.out b/systemtest/testdata/reduce/avgcellsdouble.ql.java.out
new file mode 100644
index 0000000..f891225
--- /dev/null
+++ b/systemtest/testdata/reduce/avgcellsdouble.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:15999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 64 40 0 0 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/avgcellsdouble.ql.out b/systemtest/testdata/reduce/avgcellsdouble.ql.out
new file mode 100644
index 0000000..dcc1a99
--- /dev/null
+++ b/systemtest/testdata/reduce/avgcellsdouble.ql.out
@@ -0,0 +1,14 @@
+-- Testbed line: result_type=set <marray <double, [0:0]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <double, [0:0]>
+ Type Schema...........: marray< double >
+ Domain................: [0:0]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 8
+ 12
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/avgcellsfloat.ql b/systemtest/testdata/reduce/avgcellsfloat.ql
new file mode 100644
index 0000000..00e9bc5
--- /dev/null
+++ b/systemtest/testdata/reduce/avgcellsfloat.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values avg_cells( a[0:2,0:2]*1f )
+from ImgCharD as a
+
diff --git a/systemtest/testdata/reduce/avgcellsfloat.ql.java.out b/systemtest/testdata/reduce/avgcellsfloat.ql.java.out
new file mode 100644
index 0000000..f891225
--- /dev/null
+++ b/systemtest/testdata/reduce/avgcellsfloat.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:15999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 64 40 0 0 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/avgcellsfloat.ql.out b/systemtest/testdata/reduce/avgcellsfloat.ql.out
new file mode 100644
index 0000000..dcc1a99
--- /dev/null
+++ b/systemtest/testdata/reduce/avgcellsfloat.ql.out
@@ -0,0 +1,14 @@
+-- Testbed line: result_type=set <marray <double, [0:0]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <double, [0:0]>
+ Type Schema...........: marray< double >
+ Domain................: [0:0]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 8
+ 12
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/avgcellslong.ql b/systemtest/testdata/reduce/avgcellslong.ql
new file mode 100644
index 0000000..a2c4380
--- /dev/null
+++ b/systemtest/testdata/reduce/avgcellslong.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values avg_cells( a[0:2,0:2]*1l )
+from ImgCharD as a
+
diff --git a/systemtest/testdata/reduce/avgcellslong.ql.java.out b/systemtest/testdata/reduce/avgcellslong.ql.java.out
new file mode 100644
index 0000000..f891225
--- /dev/null
+++ b/systemtest/testdata/reduce/avgcellslong.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:15999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 64 40 0 0 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/avgcellslong.ql.out b/systemtest/testdata/reduce/avgcellslong.ql.out
new file mode 100644
index 0000000..dcc1a99
--- /dev/null
+++ b/systemtest/testdata/reduce/avgcellslong.ql.out
@@ -0,0 +1,14 @@
+-- Testbed line: result_type=set <marray <double, [0:0]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <double, [0:0]>
+ Type Schema...........: marray< double >
+ Domain................: [0:0]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 8
+ 12
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/avgcellsoctet.ql b/systemtest/testdata/reduce/avgcellsoctet.ql
new file mode 100644
index 0000000..da66278
--- /dev/null
+++ b/systemtest/testdata/reduce/avgcellsoctet.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values avg_cells( a[0:2,0:2]*1o )
+from ImgCharD as a
+
diff --git a/systemtest/testdata/reduce/avgcellsoctet.ql.java.out b/systemtest/testdata/reduce/avgcellsoctet.ql.java.out
new file mode 100644
index 0000000..f891225
--- /dev/null
+++ b/systemtest/testdata/reduce/avgcellsoctet.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:15999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 64 40 0 0 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/avgcellsoctet.ql.out b/systemtest/testdata/reduce/avgcellsoctet.ql.out
new file mode 100644
index 0000000..dcc1a99
--- /dev/null
+++ b/systemtest/testdata/reduce/avgcellsoctet.ql.out
@@ -0,0 +1,14 @@
+-- Testbed line: result_type=set <marray <double, [0:0]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <double, [0:0]>
+ Type Schema...........: marray< double >
+ Domain................: [0:0]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 8
+ 12
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/avgcellsshort.ql b/systemtest/testdata/reduce/avgcellsshort.ql
new file mode 100644
index 0000000..b5cf09d
--- /dev/null
+++ b/systemtest/testdata/reduce/avgcellsshort.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values avg_cells( a[0:2,0:2]*1s )
+from ImgCharD as a
+
diff --git a/systemtest/testdata/reduce/avgcellsshort.ql.java.out b/systemtest/testdata/reduce/avgcellsshort.ql.java.out
new file mode 100644
index 0000000..f891225
--- /dev/null
+++ b/systemtest/testdata/reduce/avgcellsshort.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:15999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 64 40 0 0 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/avgcellsshort.ql.out b/systemtest/testdata/reduce/avgcellsshort.ql.out
new file mode 100644
index 0000000..dcc1a99
--- /dev/null
+++ b/systemtest/testdata/reduce/avgcellsshort.ql.out
@@ -0,0 +1,14 @@
+-- Testbed line: result_type=set <marray <double, [0:0]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <double, [0:0]>
+ Type Schema...........: marray< double >
+ Domain................: [0:0]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 8
+ 12
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/avgcellsstruct.ql b/systemtest/testdata/reduce/avgcellsstruct.ql
new file mode 100644
index 0000000..c121dad
--- /dev/null
+++ b/systemtest/testdata/reduce/avgcellsstruct.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values avg_cells( a[0:2,0:2]*{1,1} )
+from ImgCharD as a
+
diff --git a/systemtest/testdata/reduce/avgcellsstruct.ql.java.out b/systemtest/testdata/reduce/avgcellsstruct.ql.java.out
new file mode 100644
index 0000000..cabf973
--- /dev/null
+++ b/systemtest/testdata/reduce/avgcellsstruct.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasGMArray
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:7999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 16
+ Data format...........: 0
+ Data size (bytes).....: 16
+ 64 40 0 0 0 0 0 0 64 40 0 0 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/avgcellsstruct.ql.out b/systemtest/testdata/reduce/avgcellsstruct.ql.out
new file mode 100644
index 0000000..898ec58
--- /dev/null
+++ b/systemtest/testdata/reduce/avgcellsstruct.ql.out
@@ -0,0 +1,14 @@
+-- Testbed line: result_type=set <marray <struct { double 0, double 1 }, [0:0]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <struct { double 0, double 1 }, [0:0]>
+ Type Schema...........: marray< struct{ double 0, double 1 } >
+ Domain................: [0:0]
+ Base Type Schema......: struct{ double 0, double 1 }
+ Base Type Length......: 16
+ Data format.......... : Array
+ Data size (bytes).... : 16
+{ 12, 12}
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/avgcellsulong.ql b/systemtest/testdata/reduce/avgcellsulong.ql
new file mode 100644
index 0000000..dd13d6b
--- /dev/null
+++ b/systemtest/testdata/reduce/avgcellsulong.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values avg_cells( a[0:2,0:2]*1ul )
+from ImgCharD as a
+
diff --git a/systemtest/testdata/reduce/avgcellsulong.ql.java.out b/systemtest/testdata/reduce/avgcellsulong.ql.java.out
new file mode 100644
index 0000000..f891225
--- /dev/null
+++ b/systemtest/testdata/reduce/avgcellsulong.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:15999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 64 40 0 0 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/avgcellsulong.ql.out b/systemtest/testdata/reduce/avgcellsulong.ql.out
new file mode 100644
index 0000000..dcc1a99
--- /dev/null
+++ b/systemtest/testdata/reduce/avgcellsulong.ql.out
@@ -0,0 +1,14 @@
+-- Testbed line: result_type=set <marray <double, [0:0]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <double, [0:0]>
+ Type Schema...........: marray< double >
+ Domain................: [0:0]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 8
+ 12
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/avgcellsushort.ql b/systemtest/testdata/reduce/avgcellsushort.ql
new file mode 100644
index 0000000..529f1a3
--- /dev/null
+++ b/systemtest/testdata/reduce/avgcellsushort.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values avg_cells( a[0:2,0:2]*1us )
+from ImgCharD as a
+
diff --git a/systemtest/testdata/reduce/avgcellsushort.ql.java.out b/systemtest/testdata/reduce/avgcellsushort.ql.java.out
new file mode 100644
index 0000000..f891225
--- /dev/null
+++ b/systemtest/testdata/reduce/avgcellsushort.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:15999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 64 40 0 0 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/avgcellsushort.ql.out b/systemtest/testdata/reduce/avgcellsushort.ql.out
new file mode 100644
index 0000000..dcc1a99
--- /dev/null
+++ b/systemtest/testdata/reduce/avgcellsushort.ql.out
@@ -0,0 +1,14 @@
+-- Testbed line: result_type=set <marray <double, [0:0]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <double, [0:0]>
+ Type Schema...........: marray< double >
+ Domain................: [0:0]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 8
+ 12
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/countcells.ql b/systemtest/testdata/reduce/countcells.ql
new file mode 100644
index 0000000..591ce39
--- /dev/null
+++ b/systemtest/testdata/reduce/countcells.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values count_cells( a>=0 )
+from ImgCharA as a
+
diff --git a/systemtest/testdata/reduce/countcells.ql.java.out b/systemtest/testdata/reduce/countcells.ql.java.out
new file mode 100644
index 0000000..6e01fb6
--- /dev/null
+++ b/systemtest/testdata/reduce/countcells.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:15999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 0 0 0 0 0 0 0 121
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:15999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 0 0 0 0 0 0 0 121 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/countcells.ql.out b/systemtest/testdata/reduce/countcells.ql.out
new file mode 100644
index 0000000..5b55f5e
--- /dev/null
+++ b/systemtest/testdata/reduce/countcells.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <ulong, [0:0]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:0]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:0]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 4
+ 121
+Image 2
+GMarray
+ Type Structure........: marray <ulong, [0:0]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:0]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 4
+ 121
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/maxcellschar.ql b/systemtest/testdata/reduce/maxcellschar.ql
new file mode 100644
index 0000000..849b5be
--- /dev/null
+++ b/systemtest/testdata/reduce/maxcellschar.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values max_cells( a*1c )
+from ImgCharA as a
+
diff --git a/systemtest/testdata/reduce/maxcellschar.ql.java.out b/systemtest/testdata/reduce/maxcellschar.ql.java.out
new file mode 100644
index 0000000..1c2dc22
--- /dev/null
+++ b/systemtest/testdata/reduce/maxcellschar.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 1
+ 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 1
+ 1 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/maxcellschar.ql.out b/systemtest/testdata/reduce/maxcellschar.ql.out
new file mode 100644
index 0000000..9afe5e7
--- /dev/null
+++ b/systemtest/testdata/reduce/maxcellschar.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <char, [0:0]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:0]>
+ Type Schema...........: marray< char >
+ Domain................: [0:0]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 1
+ 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:0]>
+ Type Schema...........: marray< char >
+ Domain................: [0:0]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 1
+ 1
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/maxcellsdouble.ql b/systemtest/testdata/reduce/maxcellsdouble.ql
new file mode 100644
index 0000000..ca80e82
--- /dev/null
+++ b/systemtest/testdata/reduce/maxcellsdouble.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values max_cells( a*1d )
+from ImgCharA as a
+
diff --git a/systemtest/testdata/reduce/maxcellsdouble.ql.java.out b/systemtest/testdata/reduce/maxcellsdouble.ql.java.out
new file mode 100644
index 0000000..92d0741
--- /dev/null
+++ b/systemtest/testdata/reduce/maxcellsdouble.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:15999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 0 0 0 0 0 0 0 0
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:15999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 63 -16 0 0 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/maxcellsdouble.ql.out b/systemtest/testdata/reduce/maxcellsdouble.ql.out
new file mode 100644
index 0000000..a73516d
--- /dev/null
+++ b/systemtest/testdata/reduce/maxcellsdouble.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <double, [0:0]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <double, [0:0]>
+ Type Schema...........: marray< double >
+ Domain................: [0:0]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 8
+ 0
+Image 2
+GMarray
+ Type Structure........: marray <double, [0:0]>
+ Type Schema...........: marray< double >
+ Domain................: [0:0]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 8
+ 1
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/maxcellsfloat.ql b/systemtest/testdata/reduce/maxcellsfloat.ql
new file mode 100644
index 0000000..362f66e
--- /dev/null
+++ b/systemtest/testdata/reduce/maxcellsfloat.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values max_cells( a*1f )
+from ImgCharA as a
+
diff --git a/systemtest/testdata/reduce/maxcellsfloat.ql.java.out b/systemtest/testdata/reduce/maxcellsfloat.ql.java.out
new file mode 100644
index 0000000..37f3462
--- /dev/null
+++ b/systemtest/testdata/reduce/maxcellsfloat.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayFloat
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:31999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 4
+ 0 0 0 0
+rasj.RasMArrayFloat
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:31999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 4
+ 63 -128 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/maxcellsfloat.ql.out b/systemtest/testdata/reduce/maxcellsfloat.ql.out
new file mode 100644
index 0000000..d0e80bb
--- /dev/null
+++ b/systemtest/testdata/reduce/maxcellsfloat.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <float, [0:0]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <float, [0:0]>
+ Type Schema...........: marray< float >
+ Domain................: [0:0]
+ Base Type Schema......: float
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 4
+ 0
+Image 2
+GMarray
+ Type Structure........: marray <float, [0:0]>
+ Type Schema...........: marray< float >
+ Domain................: [0:0]
+ Base Type Schema......: float
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 4
+ 1
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/maxcellslong.ql b/systemtest/testdata/reduce/maxcellslong.ql
new file mode 100644
index 0000000..883f41a
--- /dev/null
+++ b/systemtest/testdata/reduce/maxcellslong.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values max_cells( a*1l )
+from ImgCharA as a
+
diff --git a/systemtest/testdata/reduce/maxcellslong.ql.java.out b/systemtest/testdata/reduce/maxcellslong.ql.java.out
new file mode 100644
index 0000000..2add3d4
--- /dev/null
+++ b/systemtest/testdata/reduce/maxcellslong.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:31999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 4
+ 0 0 0 0
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:31999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 4
+ 0 0 0 1 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/maxcellslong.ql.out b/systemtest/testdata/reduce/maxcellslong.ql.out
new file mode 100644
index 0000000..c0fd730
--- /dev/null
+++ b/systemtest/testdata/reduce/maxcellslong.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <long, [0:0]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <long, [0:0]>
+ Type Schema...........: marray< long >
+ Domain................: [0:0]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 4
+ 0
+Image 2
+GMarray
+ Type Structure........: marray <long, [0:0]>
+ Type Schema...........: marray< long >
+ Domain................: [0:0]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 4
+ 1
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/maxcellsoctet.ql b/systemtest/testdata/reduce/maxcellsoctet.ql
new file mode 100644
index 0000000..0506bd7
--- /dev/null
+++ b/systemtest/testdata/reduce/maxcellsoctet.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values max_cells( a*1o )
+from ImgCharA as a
+
diff --git a/systemtest/testdata/reduce/maxcellsoctet.ql.java.out b/systemtest/testdata/reduce/maxcellsoctet.ql.java.out
new file mode 100644
index 0000000..1c2dc22
--- /dev/null
+++ b/systemtest/testdata/reduce/maxcellsoctet.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 1
+ 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 1
+ 1 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/maxcellsoctet.ql.out b/systemtest/testdata/reduce/maxcellsoctet.ql.out
new file mode 100644
index 0000000..29bdfac
--- /dev/null
+++ b/systemtest/testdata/reduce/maxcellsoctet.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <octet, [0:0]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <octet, [0:0]>
+ Type Schema...........: marray< octet >
+ Domain................: [0:0]
+ Base Type Schema......: octet
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 1
+ 0
+Image 2
+GMarray
+ Type Structure........: marray <octet, [0:0]>
+ Type Schema...........: marray< octet >
+ Domain................: [0:0]
+ Base Type Schema......: octet
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 1
+ 1
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/maxcellsshort.ql b/systemtest/testdata/reduce/maxcellsshort.ql
new file mode 100644
index 0000000..b574171
--- /dev/null
+++ b/systemtest/testdata/reduce/maxcellsshort.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values max_cells( a*1s )
+from ImgCharA as a
+
diff --git a/systemtest/testdata/reduce/maxcellsshort.ql.java.out b/systemtest/testdata/reduce/maxcellsshort.ql.java.out
new file mode 100644
index 0000000..aac1a90
--- /dev/null
+++ b/systemtest/testdata/reduce/maxcellsshort.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayShort
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:63999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 2
+ Data format...........: 0
+ Data size (bytes).....: 2
+ 0 0
+rasj.RasMArrayShort
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:63999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 2
+ Data format...........: 0
+ Data size (bytes).....: 2
+ 0 1 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/maxcellsshort.ql.out b/systemtest/testdata/reduce/maxcellsshort.ql.out
new file mode 100644
index 0000000..50396af
--- /dev/null
+++ b/systemtest/testdata/reduce/maxcellsshort.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <short, [0:0]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <short, [0:0]>
+ Type Schema...........: marray< short >
+ Domain................: [0:0]
+ Base Type Schema......: short
+ Base Type Length......: 2
+ Data format.......... : Array
+ Data size (bytes).... : 2
+ 0
+Image 2
+GMarray
+ Type Structure........: marray <short, [0:0]>
+ Type Schema...........: marray< short >
+ Domain................: [0:0]
+ Base Type Schema......: short
+ Base Type Length......: 2
+ Data format.......... : Array
+ Data size (bytes).... : 2
+ 1
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/maxcellsstruct.ql b/systemtest/testdata/reduce/maxcellsstruct.ql
new file mode 100644
index 0000000..c38bf9a
--- /dev/null
+++ b/systemtest/testdata/reduce/maxcellsstruct.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values max_cells( a*{1,1} )
+from ImgCharA as a
+
diff --git a/systemtest/testdata/reduce/maxcellsstruct.ql.java.out b/systemtest/testdata/reduce/maxcellsstruct.ql.java.out
new file mode 100644
index 0000000..95769c2
--- /dev/null
+++ b/systemtest/testdata/reduce/maxcellsstruct.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasGMArray
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:15999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 0 0 0 0 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/maxcellsstruct.ql.out b/systemtest/testdata/reduce/maxcellsstruct.ql.out
new file mode 100644
index 0000000..a11892f
--- /dev/null
+++ b/systemtest/testdata/reduce/maxcellsstruct.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <struct { long 0, long 1 }, [0:0]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <struct { long 0, long 1 }, [0:0]>
+ Type Schema...........: marray< struct{ long 0, long 1 } >
+ Domain................: [0:0]
+ Base Type Schema......: struct{ long 0, long 1 }
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 8
+{ 0, 0}
+Image 2
+GMarray
+ Type Structure........: marray <struct { long 0, long 1 }, [0:0]>
+ Type Schema...........: marray< struct{ long 0, long 1 } >
+ Domain................: [0:0]
+ Base Type Schema......: struct{ long 0, long 1 }
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 8
+{ 1, 1}
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/maxcellsulong.ql b/systemtest/testdata/reduce/maxcellsulong.ql
new file mode 100644
index 0000000..b0176d9
--- /dev/null
+++ b/systemtest/testdata/reduce/maxcellsulong.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values max_cells( a*1ul )
+from ImgCharA as a
+
diff --git a/systemtest/testdata/reduce/maxcellsulong.ql.java.out b/systemtest/testdata/reduce/maxcellsulong.ql.java.out
new file mode 100644
index 0000000..1819dba
--- /dev/null
+++ b/systemtest/testdata/reduce/maxcellsulong.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:15999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 0 0 0 0 0 0 0 0
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:15999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 0 0 0 0 0 0 0 1 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/maxcellsulong.ql.out b/systemtest/testdata/reduce/maxcellsulong.ql.out
new file mode 100644
index 0000000..fd766bf
--- /dev/null
+++ b/systemtest/testdata/reduce/maxcellsulong.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <ulong, [0:0]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:0]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:0]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 4
+ 0
+Image 2
+GMarray
+ Type Structure........: marray <ulong, [0:0]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:0]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 4
+ 1
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/maxcellsushort.ql b/systemtest/testdata/reduce/maxcellsushort.ql
new file mode 100644
index 0000000..3133cb3
--- /dev/null
+++ b/systemtest/testdata/reduce/maxcellsushort.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values max_cells( a*1us )
+from ImgCharA as a
+
diff --git a/systemtest/testdata/reduce/maxcellsushort.ql.java.out b/systemtest/testdata/reduce/maxcellsushort.ql.java.out
new file mode 100644
index 0000000..2add3d4
--- /dev/null
+++ b/systemtest/testdata/reduce/maxcellsushort.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:31999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 4
+ 0 0 0 0
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:31999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 4
+ 0 0 0 1 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/maxcellsushort.ql.out b/systemtest/testdata/reduce/maxcellsushort.ql.out
new file mode 100644
index 0000000..aadec84
--- /dev/null
+++ b/systemtest/testdata/reduce/maxcellsushort.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <ushort, [0:0]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ushort, [0:0]>
+ Type Schema...........: marray< ushort >
+ Domain................: [0:0]
+ Base Type Schema......: ushort
+ Base Type Length......: 2
+ Data format.......... : Array
+ Data size (bytes).... : 2
+ 0
+Image 2
+GMarray
+ Type Structure........: marray <ushort, [0:0]>
+ Type Schema...........: marray< ushort >
+ Domain................: [0:0]
+ Base Type Schema......: ushort
+ Base Type Length......: 2
+ Data format.......... : Array
+ Data size (bytes).... : 2
+ 1
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/mincellschar.ql b/systemtest/testdata/reduce/mincellschar.ql
new file mode 100644
index 0000000..3b8fa91
--- /dev/null
+++ b/systemtest/testdata/reduce/mincellschar.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values min_cells( a )
+from ImgCharA as a
+
diff --git a/systemtest/testdata/reduce/mincellschar.ql.java.out b/systemtest/testdata/reduce/mincellschar.ql.java.out
new file mode 100644
index 0000000..1c2dc22
--- /dev/null
+++ b/systemtest/testdata/reduce/mincellschar.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 1
+ 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 1
+ 1 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/mincellschar.ql.out b/systemtest/testdata/reduce/mincellschar.ql.out
new file mode 100644
index 0000000..9afe5e7
--- /dev/null
+++ b/systemtest/testdata/reduce/mincellschar.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <char, [0:0]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:0]>
+ Type Schema...........: marray< char >
+ Domain................: [0:0]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 1
+ 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:0]>
+ Type Schema...........: marray< char >
+ Domain................: [0:0]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 1
+ 1
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/mincellsdouble.ql b/systemtest/testdata/reduce/mincellsdouble.ql
new file mode 100644
index 0000000..6a5765f
--- /dev/null
+++ b/systemtest/testdata/reduce/mincellsdouble.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values min_cells( a*1d )
+from ImgCharA as a
+
diff --git a/systemtest/testdata/reduce/mincellsdouble.ql.java.out b/systemtest/testdata/reduce/mincellsdouble.ql.java.out
new file mode 100644
index 0000000..92d0741
--- /dev/null
+++ b/systemtest/testdata/reduce/mincellsdouble.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:15999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 0 0 0 0 0 0 0 0
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:15999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 63 -16 0 0 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/mincellsdouble.ql.out b/systemtest/testdata/reduce/mincellsdouble.ql.out
new file mode 100644
index 0000000..a73516d
--- /dev/null
+++ b/systemtest/testdata/reduce/mincellsdouble.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <double, [0:0]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <double, [0:0]>
+ Type Schema...........: marray< double >
+ Domain................: [0:0]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 8
+ 0
+Image 2
+GMarray
+ Type Structure........: marray <double, [0:0]>
+ Type Schema...........: marray< double >
+ Domain................: [0:0]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 8
+ 1
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/mincellsfloat.ql b/systemtest/testdata/reduce/mincellsfloat.ql
new file mode 100644
index 0000000..29214b5
--- /dev/null
+++ b/systemtest/testdata/reduce/mincellsfloat.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values min_cells( a*1f )
+from ImgCharA as a
+
diff --git a/systemtest/testdata/reduce/mincellsfloat.ql.java.out b/systemtest/testdata/reduce/mincellsfloat.ql.java.out
new file mode 100644
index 0000000..37f3462
--- /dev/null
+++ b/systemtest/testdata/reduce/mincellsfloat.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayFloat
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:31999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 4
+ 0 0 0 0
+rasj.RasMArrayFloat
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:31999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 4
+ 63 -128 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/mincellsfloat.ql.out b/systemtest/testdata/reduce/mincellsfloat.ql.out
new file mode 100644
index 0000000..d0e80bb
--- /dev/null
+++ b/systemtest/testdata/reduce/mincellsfloat.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <float, [0:0]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <float, [0:0]>
+ Type Schema...........: marray< float >
+ Domain................: [0:0]
+ Base Type Schema......: float
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 4
+ 0
+Image 2
+GMarray
+ Type Structure........: marray <float, [0:0]>
+ Type Schema...........: marray< float >
+ Domain................: [0:0]
+ Base Type Schema......: float
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 4
+ 1
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/mincellslong.ql b/systemtest/testdata/reduce/mincellslong.ql
new file mode 100644
index 0000000..264c1bf
--- /dev/null
+++ b/systemtest/testdata/reduce/mincellslong.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values min_cells( a*1l )
+from ImgCharA as a
+
diff --git a/systemtest/testdata/reduce/mincellslong.ql.java.out b/systemtest/testdata/reduce/mincellslong.ql.java.out
new file mode 100644
index 0000000..2add3d4
--- /dev/null
+++ b/systemtest/testdata/reduce/mincellslong.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:31999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 4
+ 0 0 0 0
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:31999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 4
+ 0 0 0 1 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/mincellslong.ql.out b/systemtest/testdata/reduce/mincellslong.ql.out
new file mode 100644
index 0000000..c0fd730
--- /dev/null
+++ b/systemtest/testdata/reduce/mincellslong.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <long, [0:0]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <long, [0:0]>
+ Type Schema...........: marray< long >
+ Domain................: [0:0]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 4
+ 0
+Image 2
+GMarray
+ Type Structure........: marray <long, [0:0]>
+ Type Schema...........: marray< long >
+ Domain................: [0:0]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 4
+ 1
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/mincellsoctet.ql.out b/systemtest/testdata/reduce/mincellsoctet.ql.out
new file mode 100644
index 0000000..05a9ea7
--- /dev/null
+++ b/systemtest/testdata/reduce/mincellsoctet.ql.out
@@ -0,0 +1,16 @@
+-- Testbed line: result_type=set <marray <octet, [0:0]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+ Domain : [0:0] and cell type length 1
+ Structure : marray <octet, [0:0]>
+ Base type .: octet
+ Data format : array
+ff
+Image 2
+ Domain : [0:0] and cell type length 1
+ Structure : marray <octet, [0:0]>
+ Base type .: octet
+ Data format : array
+ff
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/mincellsshort.ql b/systemtest/testdata/reduce/mincellsshort.ql
new file mode 100644
index 0000000..e8d03ce
--- /dev/null
+++ b/systemtest/testdata/reduce/mincellsshort.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values min_cells( a*1s )
+from ImgCharA as a
+
diff --git a/systemtest/testdata/reduce/mincellsshort.ql.java.out b/systemtest/testdata/reduce/mincellsshort.ql.java.out
new file mode 100644
index 0000000..aac1a90
--- /dev/null
+++ b/systemtest/testdata/reduce/mincellsshort.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayShort
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:63999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 2
+ Data format...........: 0
+ Data size (bytes).....: 2
+ 0 0
+rasj.RasMArrayShort
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:63999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 2
+ Data format...........: 0
+ Data size (bytes).....: 2
+ 0 1 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/mincellsshort.ql.out b/systemtest/testdata/reduce/mincellsshort.ql.out
new file mode 100644
index 0000000..50396af
--- /dev/null
+++ b/systemtest/testdata/reduce/mincellsshort.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <short, [0:0]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <short, [0:0]>
+ Type Schema...........: marray< short >
+ Domain................: [0:0]
+ Base Type Schema......: short
+ Base Type Length......: 2
+ Data format.......... : Array
+ Data size (bytes).... : 2
+ 0
+Image 2
+GMarray
+ Type Structure........: marray <short, [0:0]>
+ Type Schema...........: marray< short >
+ Domain................: [0:0]
+ Base Type Schema......: short
+ Base Type Length......: 2
+ Data format.......... : Array
+ Data size (bytes).... : 2
+ 1
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/mincellsstruct.ql b/systemtest/testdata/reduce/mincellsstruct.ql
new file mode 100644
index 0000000..7227033
--- /dev/null
+++ b/systemtest/testdata/reduce/mincellsstruct.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values min_cells( a*{1,1} )
+from ImgCharA as a
+
diff --git a/systemtest/testdata/reduce/mincellsstruct.ql.java.out b/systemtest/testdata/reduce/mincellsstruct.ql.java.out
new file mode 100644
index 0000000..95769c2
--- /dev/null
+++ b/systemtest/testdata/reduce/mincellsstruct.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasGMArray
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:15999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 0 0 0 0 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/mincellsstruct.ql.out b/systemtest/testdata/reduce/mincellsstruct.ql.out
new file mode 100644
index 0000000..a11892f
--- /dev/null
+++ b/systemtest/testdata/reduce/mincellsstruct.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <struct { long 0, long 1 }, [0:0]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <struct { long 0, long 1 }, [0:0]>
+ Type Schema...........: marray< struct{ long 0, long 1 } >
+ Domain................: [0:0]
+ Base Type Schema......: struct{ long 0, long 1 }
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 8
+{ 0, 0}
+Image 2
+GMarray
+ Type Structure........: marray <struct { long 0, long 1 }, [0:0]>
+ Type Schema...........: marray< struct{ long 0, long 1 } >
+ Domain................: [0:0]
+ Base Type Schema......: struct{ long 0, long 1 }
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 8
+{ 1, 1}
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/mincellsulong.ql b/systemtest/testdata/reduce/mincellsulong.ql
new file mode 100644
index 0000000..8eb51eb
--- /dev/null
+++ b/systemtest/testdata/reduce/mincellsulong.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values min_cells( a*1ul )
+from ImgCharA as a
+
diff --git a/systemtest/testdata/reduce/mincellsulong.ql.java.out b/systemtest/testdata/reduce/mincellsulong.ql.java.out
new file mode 100644
index 0000000..1819dba
--- /dev/null
+++ b/systemtest/testdata/reduce/mincellsulong.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:15999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 0 0 0 0 0 0 0 0
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:15999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 8
+ 0 0 0 0 0 0 0 1 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/mincellsulong.ql.out b/systemtest/testdata/reduce/mincellsulong.ql.out
new file mode 100644
index 0000000..fd766bf
--- /dev/null
+++ b/systemtest/testdata/reduce/mincellsulong.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <ulong, [0:0]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:0]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:0]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 4
+ 0
+Image 2
+GMarray
+ Type Structure........: marray <ulong, [0:0]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:0]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 4
+ 1
+-- Testbed end block:
diff --git a/systemtest/testdata/reduce/mincellsushort.ql b/systemtest/testdata/reduce/mincellsushort.ql
new file mode 100644
index 0000000..d278205
--- /dev/null
+++ b/systemtest/testdata/reduce/mincellsushort.ql
@@ -0,0 +1,3 @@
+select marray x in [0:0] values min_cells( a*1us )
+from ImgCharA as a
+
diff --git a/systemtest/testdata/reduce/mincellsushort.ql.java.out b/systemtest/testdata/reduce/mincellsushort.ql.java.out
new file mode 100644
index 0000000..2add3d4
--- /dev/null
+++ b/systemtest/testdata/reduce/mincellsushort.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:31999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 4
+ 0 0 0 0
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:0]
+ TilingDomain..........: [0:31999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 4
+ 0 0 0 1 \ No newline at end of file
diff --git a/systemtest/testdata/reduce/mincellsushort.ql.out b/systemtest/testdata/reduce/mincellsushort.ql.out
new file mode 100644
index 0000000..aadec84
--- /dev/null
+++ b/systemtest/testdata/reduce/mincellsushort.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <ushort, [0:0]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ushort, [0:0]>
+ Type Schema...........: marray< ushort >
+ Domain................: [0:0]
+ Base Type Schema......: ushort
+ Base Type Length......: 2
+ Data format.......... : Array
+ Data size (bytes).... : 2
+ 0
+Image 2
+GMarray
+ Type Structure........: marray <ushort, [0:0]>
+ Type Schema...........: marray< ushort >
+ Domain................: [0:0]
+ Base Type Schema......: ushort
+ Base Type Length......: 2
+ Data format.......... : Array
+ Data size (bytes).... : 2
+ 1
+-- Testbed end block:
diff --git a/systemtest/testdata/rewriteset1/pushdownall.ql b/systemtest/testdata/rewriteset1/pushdownall.ql
new file mode 100644
index 0000000..e868fc0
--- /dev/null
+++ b/systemtest/testdata/rewriteset1/pushdownall.ql
@@ -0,0 +1,7 @@
+-- all_cell( a and b ) -> all_cell( a ) and all_cell( b )
+
+SELECT a+b
+FROM ImgCharA as a, ImgCharB as b
+WHERE all_cell ( a > 0 and b > 10 )
+
+
diff --git a/systemtest/testdata/rewriteset1/pushdownall.ql.java.out b/systemtest/testdata/rewriteset1/pushdownall.ql.java.out
new file mode 100644
index 0000000..776212b
--- /dev/null
+++ b/systemtest/testdata/rewriteset1/pushdownall.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 \ No newline at end of file
diff --git a/systemtest/testdata/rewriteset1/pushdownall.ql.out b/systemtest/testdata/rewriteset1/pushdownall.ql.out
new file mode 100644
index 0000000..212bf48
--- /dev/null
+++ b/systemtest/testdata/rewriteset1/pushdownall.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <char, [0:10,0:10]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 21 21 21 21 21 21 21 21 21 21 21
+ 21 21 21 21 21 21 21 21 21 21 21
+ 21 21 21 21 21 21 21 21 21 21 21
+ 21 21 21 21 21 21 21 21 21 21 21
+ 21 21 21 21 21 21 21 21 21 21 21
+ 21 21 21 21 21 21 21 21 21 21 21
+ 21 21 21 21 21 21 21 21 21 21 21
+ 21 21 21 21 21 21 21 21 21 21 21
+ 21 21 21 21 21 21 21 21 21 21 21
+ 21 21 21 21 21 21 21 21 21 21 21
+ 21 21 21 21 21 21 21 21 21 21 21
+-- Testbed end block:
diff --git a/systemtest/testdata/rewriteset1/pushdownsome.ql b/systemtest/testdata/rewriteset1/pushdownsome.ql
new file mode 100644
index 0000000..a65fecc
--- /dev/null
+++ b/systemtest/testdata/rewriteset1/pushdownsome.ql
@@ -0,0 +1,7 @@
+-- some_cell( a or b ) -> some_cell( a ) or some_cell( b )
+
+SELECT a+b
+FROM ImgCharA as a, ImgCharB as b
+WHERE some_cell ( a > 0 OR b > 10 )
+
+
diff --git a/systemtest/testdata/rewriteset1/pushdownsome.ql.java.out b/systemtest/testdata/rewriteset1/pushdownsome.ql.java.out
new file mode 100644
index 0000000..f3b0f63
--- /dev/null
+++ b/systemtest/testdata/rewriteset1/pushdownsome.ql.java.out
@@ -0,0 +1,43 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 \ No newline at end of file
diff --git a/systemtest/testdata/rewriteset1/pushdownsome.ql.out b/systemtest/testdata/rewriteset1/pushdownsome.ql.out
new file mode 100644
index 0000000..20ccc3b
--- /dev/null
+++ b/systemtest/testdata/rewriteset1/pushdownsome.ql.out
@@ -0,0 +1,64 @@
+-- Testbed line: result_type=set <marray <char, [0:10,0:10]>>
+-- Testbed line: result_elements=3
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 11 11 11 11 11 11 11 11 11 11 11
+ 11 11 11 11 11 11 11 11 11 11 11
+ 11 11 11 11 11 11 11 11 11 11 11
+ 11 11 11 11 11 11 11 11 11 11 11
+ 11 11 11 11 11 11 11 11 11 11 11
+ 11 11 11 11 11 11 11 11 11 11 11
+ 11 11 11 11 11 11 11 11 11 11 11
+ 11 11 11 11 11 11 11 11 11 11 11
+ 11 11 11 11 11 11 11 11 11 11 11
+ 11 11 11 11 11 11 11 11 11 11 11
+ 11 11 11 11 11 11 11 11 11 11 11
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 20 20 20 20 20 20 20 20 20 20 20
+ 20 20 20 20 20 20 20 20 20 20 20
+ 20 20 20 20 20 20 20 20 20 20 20
+ 20 20 20 20 20 20 20 20 20 20 20
+ 20 20 20 20 20 20 20 20 20 20 20
+ 20 20 20 20 20 20 20 20 20 20 20
+ 20 20 20 20 20 20 20 20 20 20 20
+ 20 20 20 20 20 20 20 20 20 20 20
+ 20 20 20 20 20 20 20 20 20 20 20
+ 20 20 20 20 20 20 20 20 20 20 20
+ 20 20 20 20 20 20 20 20 20 20 20
+Image 3
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 21 21 21 21 21 21 21 21 21 21 21
+ 21 21 21 21 21 21 21 21 21 21 21
+ 21 21 21 21 21 21 21 21 21 21 21
+ 21 21 21 21 21 21 21 21 21 21 21
+ 21 21 21 21 21 21 21 21 21 21 21
+ 21 21 21 21 21 21 21 21 21 21 21
+ 21 21 21 21 21 21 21 21 21 21 21
+ 21 21 21 21 21 21 21 21 21 21 21
+ 21 21 21 21 21 21 21 21 21 21 21
+ 21 21 21 21 21 21 21 21 21 21 21
+ 21 21 21 21 21 21 21 21 21 21 21
+-- Testbed end block:
diff --git a/systemtest/testdata/testset1/agg1.ql b/systemtest/testdata/testset1/agg1.ql
new file mode 100644
index 0000000..9534f28
--- /dev/null
+++ b/systemtest/testdata/testset1/agg1.ql
@@ -0,0 +1,6 @@
+-- Testbed: result_type=set <marray <char, [0:10,0:10]>>
+-- Testbed: result_elements=1
+
+select a
+from ImgCharA as a
+where some_cell( a > 0 )
diff --git a/systemtest/testdata/testset1/agg1.ql.java.out b/systemtest/testdata/testset1/agg1.ql.java.out
new file mode 100644
index 0000000..ec9b48e
--- /dev/null
+++ b/systemtest/testdata/testset1/agg1.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/testset1/agg1.ql.out b/systemtest/testdata/testset1/agg1.ql.out
new file mode 100644
index 0000000..6afbc1f
--- /dev/null
+++ b/systemtest/testdata/testset1/agg1.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <char, [0:10,0:10]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/testset1/agg2.ql b/systemtest/testdata/testset1/agg2.ql
new file mode 100644
index 0000000..27ef685
--- /dev/null
+++ b/systemtest/testdata/testset1/agg2.ql
@@ -0,0 +1,6 @@
+-- Testbed: result_type=set <marray <char, [0:10,0:10]>>
+-- Testbed: result_elements=2
+
+select a * b
+from ImgCharA as a, ImgCharB as b
+where some_cell( a*b > 0 )
diff --git a/systemtest/testdata/testset1/agg2.ql.java.out b/systemtest/testdata/testset1/agg2.ql.java.out
new file mode 100644
index 0000000..ac09ddd
--- /dev/null
+++ b/systemtest/testdata/testset1/agg2.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 \ No newline at end of file
diff --git a/systemtest/testdata/testset1/agg2.ql.out b/systemtest/testdata/testset1/agg2.ql.out
new file mode 100644
index 0000000..816708e
--- /dev/null
+++ b/systemtest/testdata/testset1/agg2.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <char, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 20 20 20 20 20 20 20 20 20 20 20
+ 20 20 20 20 20 20 20 20 20 20 20
+ 20 20 20 20 20 20 20 20 20 20 20
+ 20 20 20 20 20 20 20 20 20 20 20
+ 20 20 20 20 20 20 20 20 20 20 20
+ 20 20 20 20 20 20 20 20 20 20 20
+ 20 20 20 20 20 20 20 20 20 20 20
+ 20 20 20 20 20 20 20 20 20 20 20
+ 20 20 20 20 20 20 20 20 20 20 20
+ 20 20 20 20 20 20 20 20 20 20 20
+ 20 20 20 20 20 20 20 20 20 20 20
+-- Testbed end block:
diff --git a/systemtest/testdata/testset1/agg3.ql b/systemtest/testdata/testset1/agg3.ql
new file mode 100644
index 0000000..9833e16
--- /dev/null
+++ b/systemtest/testdata/testset1/agg3.ql
@@ -0,0 +1,6 @@
+-- Testbed: result_type=set <marray <long, [0:10,0:10]>>
+-- Testbed: result_elements=4
+
+select (a+2)*(b+1)
+from ImgCharA as a, ImgCharB as b
+where some_cell( (a+2)*(b+1) > 0 )
diff --git a/systemtest/testdata/testset1/agg3.ql.java.out b/systemtest/testdata/testset1/agg3.ql.java.out
new file mode 100644
index 0000000..aff941e
--- /dev/null
+++ b/systemtest/testdata/testset1/agg3.ql.java.out
@@ -0,0 +1,57 @@
+
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 484
+ 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 484
+ 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 484
+ 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 484
+ 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 \ No newline at end of file
diff --git a/systemtest/testdata/testset1/agg3.ql.out b/systemtest/testdata/testset1/agg3.ql.out
new file mode 100644
index 0000000..14fa211
--- /dev/null
+++ b/systemtest/testdata/testset1/agg3.ql.out
@@ -0,0 +1,84 @@
+-- Testbed line: result_type=set <marray <long, [0:10,0:10]>>
+-- Testbed line: result_elements=4
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <long, [0:10,0:10]>
+ Type Schema...........: marray< long >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 22 22 22 22 22 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22
+Image 2
+GMarray
+ Type Structure........: marray <long, [0:10,0:10]>
+ Type Schema...........: marray< long >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 33 33 33 33 33 33 33 33 33 33 33
+ 33 33 33 33 33 33 33 33 33 33 33
+ 33 33 33 33 33 33 33 33 33 33 33
+ 33 33 33 33 33 33 33 33 33 33 33
+ 33 33 33 33 33 33 33 33 33 33 33
+ 33 33 33 33 33 33 33 33 33 33 33
+ 33 33 33 33 33 33 33 33 33 33 33
+ 33 33 33 33 33 33 33 33 33 33 33
+ 33 33 33 33 33 33 33 33 33 33 33
+ 33 33 33 33 33 33 33 33 33 33 33
+ 33 33 33 33 33 33 33 33 33 33 33
+Image 3
+GMarray
+ Type Structure........: marray <long, [0:10,0:10]>
+ Type Schema...........: marray< long >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 42 42 42 42 42 42 42 42 42 42 42
+ 42 42 42 42 42 42 42 42 42 42 42
+ 42 42 42 42 42 42 42 42 42 42 42
+ 42 42 42 42 42 42 42 42 42 42 42
+ 42 42 42 42 42 42 42 42 42 42 42
+ 42 42 42 42 42 42 42 42 42 42 42
+ 42 42 42 42 42 42 42 42 42 42 42
+ 42 42 42 42 42 42 42 42 42 42 42
+ 42 42 42 42 42 42 42 42 42 42 42
+ 42 42 42 42 42 42 42 42 42 42 42
+ 42 42 42 42 42 42 42 42 42 42 42
+Image 4
+GMarray
+ Type Structure........: marray <long, [0:10,0:10]>
+ Type Schema...........: marray< long >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 63 63 63 63 63 63 63 63 63 63 63
+ 63 63 63 63 63 63 63 63 63 63 63
+ 63 63 63 63 63 63 63 63 63 63 63
+ 63 63 63 63 63 63 63 63 63 63 63
+ 63 63 63 63 63 63 63 63 63 63 63
+ 63 63 63 63 63 63 63 63 63 63 63
+ 63 63 63 63 63 63 63 63 63 63 63
+ 63 63 63 63 63 63 63 63 63 63 63
+ 63 63 63 63 63 63 63 63 63 63 63
+ 63 63 63 63 63 63 63 63 63 63 63
+ 63 63 63 63 63 63 63 63 63 63 63
+-- Testbed end block:
diff --git a/systemtest/testdata/testset1/dot1.ql b/systemtest/testdata/testset1/dot1.ql
new file mode 100644
index 0000000..4ae5b39
--- /dev/null
+++ b/systemtest/testdata/testset1/dot1.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <long, [0:10,0:10]>>
+-- Testbed: result_elements=2
+
+select a * { 5l, 10l, true }.1
+from ImgCharA as a
diff --git a/systemtest/testdata/testset1/dot1.ql.java.out b/systemtest/testdata/testset1/dot1.ql.java.out
new file mode 100644
index 0000000..063c356
--- /dev/null
+++ b/systemtest/testdata/testset1/dot1.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 484
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 484
+ 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 \ No newline at end of file
diff --git a/systemtest/testdata/testset1/dot1.ql.out b/systemtest/testdata/testset1/dot1.ql.out
new file mode 100644
index 0000000..1fb429d
--- /dev/null
+++ b/systemtest/testdata/testset1/dot1.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <long, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <long, [0:10,0:10]>
+ Type Schema...........: marray< long >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <long, [0:10,0:10]>
+ Type Schema...........: marray< long >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+-- Testbed end block:
diff --git a/systemtest/testdata/testset1/dot2.ql b/systemtest/testdata/testset1/dot2.ql
new file mode 100644
index 0000000..b0470f4
--- /dev/null
+++ b/systemtest/testdata/testset1/dot2.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <float, [0:10,0:10]>>
+-- Testbed: result_elements=2
+
+select a * ({ 10l, { 8ul, 10f, 10.0 }}.1).2
+from ImgCharA as a
diff --git a/systemtest/testdata/testset1/dot2.ql.java.out b/systemtest/testdata/testset1/dot2.ql.java.out
new file mode 100644
index 0000000..1a89a0b
--- /dev/null
+++ b/systemtest/testdata/testset1/dot2.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayFloat
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 484
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayFloat
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 484
+ 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 65 32 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/testset1/dot2.ql.out b/systemtest/testdata/testset1/dot2.ql.out
new file mode 100644
index 0000000..8bfe824
--- /dev/null
+++ b/systemtest/testdata/testset1/dot2.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <float, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <float, [0:10,0:10]>
+ Type Schema...........: marray< float >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: float
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <float, [0:10,0:10]>
+ Type Schema...........: marray< float >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: float
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+-- Testbed end block:
diff --git a/systemtest/testdata/testset1/dot3.ql b/systemtest/testdata/testset1/dot3.ql
new file mode 100644
index 0000000..558643a
--- /dev/null
+++ b/systemtest/testdata/testset1/dot3.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <octet, [0:10,0:10]>>
+-- Testbed: result_elements=2
+
+select a * ({1l,2o}+{3l,4o}).1
+from ImgCharA as a
diff --git a/systemtest/testdata/testset1/dot3.ql.java.out b/systemtest/testdata/testset1/dot3.ql.java.out
new file mode 100644
index 0000000..7cfff06
--- /dev/null
+++ b/systemtest/testdata/testset1/dot3.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 \ No newline at end of file
diff --git a/systemtest/testdata/testset1/dot3.ql.out b/systemtest/testdata/testset1/dot3.ql.out
new file mode 100644
index 0000000..c6f0ef5
--- /dev/null
+++ b/systemtest/testdata/testset1/dot3.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <octet, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <octet, [0:10,0:10]>
+ Type Schema...........: marray< octet >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: octet
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <octet, [0:10,0:10]>
+ Type Schema...........: marray< octet >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: octet
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6
+-- Testbed end block:
diff --git a/systemtest/testdata/testset1/dot4.ql b/systemtest/testdata/testset1/dot4.ql
new file mode 100644
index 0000000..58ba945
--- /dev/null
+++ b/systemtest/testdata/testset1/dot4.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <long, [0:10,0:10]>>
+-- Testbed: result_elements=2
+
+select a * ({ 1l, { 8l, 10l, 10l }}.1).2
+from ImgCharA as a
diff --git a/systemtest/testdata/testset1/dot4.ql.java.out b/systemtest/testdata/testset1/dot4.ql.java.out
new file mode 100644
index 0000000..063c356
--- /dev/null
+++ b/systemtest/testdata/testset1/dot4.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 484
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 484
+ 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 0 0 0 10 \ No newline at end of file
diff --git a/systemtest/testdata/testset1/dot4.ql.out b/systemtest/testdata/testset1/dot4.ql.out
new file mode 100644
index 0000000..1fb429d
--- /dev/null
+++ b/systemtest/testdata/testset1/dot4.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <long, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <long, [0:10,0:10]>
+ Type Schema...........: marray< long >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <long, [0:10,0:10]>
+ Type Schema...........: marray< long >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+-- Testbed end block:
diff --git a/systemtest/testdata/testset1/dot5.ql b/systemtest/testdata/testset1/dot5.ql
new file mode 100644
index 0000000..d375924
--- /dev/null
+++ b/systemtest/testdata/testset1/dot5.ql
@@ -0,0 +1,6 @@
+-- Testbed: result_type=set <marray <char, [0:10,0:10]>>
+-- Testbed: result_elements=2
+
+select a.red + a.green + a.blue
+from ImgRGBA as a
+where some_cell( a.red > 0 )
diff --git a/systemtest/testdata/testset1/dot5.ql.java.out b/systemtest/testdata/testset1/dot5.ql.java.out
new file mode 100644
index 0000000..8668345
--- /dev/null
+++ b/systemtest/testdata/testset1/dot5.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 \ No newline at end of file
diff --git a/systemtest/testdata/testset1/dot5.ql.out b/systemtest/testdata/testset1/dot5.ql.out
new file mode 100644
index 0000000..f63bae4
--- /dev/null
+++ b/systemtest/testdata/testset1/dot5.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <char, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6
+ 6 6 6 6 6 6 6 6 6 6 6
+-- Testbed end block:
diff --git a/systemtest/testdata/testset1/dot6.ql b/systemtest/testdata/testset1/dot6.ql
new file mode 100644
index 0000000..f3f7239
--- /dev/null
+++ b/systemtest/testdata/testset1/dot6.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [0:10,0:10]>>
+-- Testbed: result_elements=2
+
+select (a * 2c).green
+from ImgRGBA as a
diff --git a/systemtest/testdata/testset1/dot6.ql.java.out b/systemtest/testdata/testset1/dot6.ql.java.out
new file mode 100644
index 0000000..44c334a
--- /dev/null
+++ b/systemtest/testdata/testset1/dot6.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 \ No newline at end of file
diff --git a/systemtest/testdata/testset1/dot6.ql.out b/systemtest/testdata/testset1/dot6.ql.out
new file mode 100644
index 0000000..94951cf
--- /dev/null
+++ b/systemtest/testdata/testset1/dot6.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <char, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 4 4 4 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 4 4 4 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4
+ 4 4 4 4 4 4 4 4 4 4 4
+-- Testbed end block:
diff --git a/systemtest/testdata/testset1/dot7.ql b/systemtest/testdata/testset1/dot7.ql
new file mode 100644
index 0000000..75b845f
--- /dev/null
+++ b/systemtest/testdata/testset1/dot7.ql
@@ -0,0 +1,2 @@
+select ( a.green > 0 ) * { 255c, 0c, 0c } + ( a.red > 0 ) * { 0c, 127c, 0c }
+from ImgRGBA as a
diff --git a/systemtest/testdata/testset1/dot7.ql.java.out b/systemtest/testdata/testset1/dot7.ql.java.out
new file mode 100644
index 0000000..a6d1707
--- /dev/null
+++ b/systemtest/testdata/testset1/dot7.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasGMArray
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:205,0:205]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 3
+ Data format...........: 0
+ Data size (bytes).....: 363
+ -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 -1 127 0 \ No newline at end of file
diff --git a/systemtest/testdata/testset1/dot7.ql.out b/systemtest/testdata/testset1/dot7.ql.out
new file mode 100644
index 0000000..115b9c5
--- /dev/null
+++ b/systemtest/testdata/testset1/dot7.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <struct { char 0, char 1, char 2 }, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <struct { char 0, char 1, char 2 }, [0:10,0:10]>
+ Type Schema...........: marray< struct{ char 0, char 1, char 2 } >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: struct{ char 0, char 1, char 2 }
+ Base Type Length......: 3
+ Data format.......... : Array
+ Data size (bytes).... : 363
+{ 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0}
+{ 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0}
+{ 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0}
+{ 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0}
+{ 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0}
+{ 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0}
+{ 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0}
+{ 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0}
+{ 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0}
+{ 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0}
+{ 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0}
+Image 2
+GMarray
+ Type Structure........: marray <struct { char 0, char 1, char 2 }, [0:10,0:10]>
+ Type Schema...........: marray< struct{ char 0, char 1, char 2 } >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: struct{ char 0, char 1, char 2 }
+ Base Type Length......: 3
+ Data format.......... : Array
+ Data size (bytes).... : 363
+{ 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0}
+{ 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0}
+{ 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0}
+{ 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0}
+{ 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0}
+{ 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0}
+{ 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0}
+{ 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0}
+{ 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0}
+{ 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0}
+{ 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0} { 255, 127, 0}
+-- Testbed end block:
diff --git a/systemtest/testdata/testset1/ind1.ql b/systemtest/testdata/testset1/ind1.ql
new file mode 100644
index 0000000..5cea87c
--- /dev/null
+++ b/systemtest/testdata/testset1/ind1.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <octet, [0:10,0:10]>>
+-- Testbed: result_elements=2
+
+select -a
+from ImgCharA as a
diff --git a/systemtest/testdata/testset1/ind1.ql.java.out b/systemtest/testdata/testset1/ind1.ql.java.out
new file mode 100644
index 0000000..5f995b1
--- /dev/null
+++ b/systemtest/testdata/testset1/ind1.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 \ No newline at end of file
diff --git a/systemtest/testdata/testset1/ind1.ql.out b/systemtest/testdata/testset1/ind1.ql.out
new file mode 100644
index 0000000..229c499
--- /dev/null
+++ b/systemtest/testdata/testset1/ind1.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <octet, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <octet, [0:10,0:10]>
+ Type Schema...........: marray< octet >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: octet
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <octet, [0:10,0:10]>
+ Type Schema...........: marray< octet >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: octet
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+ -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+ -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+ -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+ -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+ -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+ -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+ -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+ -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+ -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+ -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
+-- Testbed end block:
diff --git a/systemtest/testdata/testset1/ind2.ql b/systemtest/testdata/testset1/ind2.ql
new file mode 100644
index 0000000..4a626e1
--- /dev/null
+++ b/systemtest/testdata/testset1/ind2.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <struct { char red, char green, char blue }, [0:10,0:10]>>
+-- Testbed: result_elements=2
+
+select a * 2c
+from ImgRGBA as a
diff --git a/systemtest/testdata/testset1/ind2.ql.java.out b/systemtest/testdata/testset1/ind2.ql.java.out
new file mode 100644
index 0000000..81be0e5
--- /dev/null
+++ b/systemtest/testdata/testset1/ind2.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasGMArray
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:205,0:205]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 3
+ Data format...........: 0
+ Data size (bytes).....: 363
+ 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 2 4 6 \ No newline at end of file
diff --git a/systemtest/testdata/testset1/ind2.ql.out b/systemtest/testdata/testset1/ind2.ql.out
new file mode 100644
index 0000000..947574e
--- /dev/null
+++ b/systemtest/testdata/testset1/ind2.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <struct { char red, char green, char blue }, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <struct { char red, char green, char blue }, [0:10,0:10]>
+ Type Schema...........: marray< struct{ char red, char green, char blue } >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: struct{ char red, char green, char blue }
+ Base Type Length......: 3
+ Data format.......... : Array
+ Data size (bytes).... : 363
+{ 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6}
+{ 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6}
+{ 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6}
+{ 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6}
+{ 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6}
+{ 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6}
+{ 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6}
+{ 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6}
+{ 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6}
+{ 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6}
+{ 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6}
+Image 2
+GMarray
+ Type Structure........: marray <struct { char red, char green, char blue }, [0:10,0:10]>
+ Type Schema...........: marray< struct{ char red, char green, char blue } >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: struct{ char red, char green, char blue }
+ Base Type Length......: 3
+ Data format.......... : Array
+ Data size (bytes).... : 363
+{ 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6}
+{ 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6}
+{ 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6}
+{ 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6}
+{ 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6}
+{ 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6}
+{ 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6}
+{ 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6}
+{ 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6}
+{ 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6}
+{ 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6} { 2, 4, 6}
+-- Testbed end block:
diff --git a/systemtest/testdata/testset1/ind3.ql b/systemtest/testdata/testset1/ind3.ql
new file mode 100644
index 0000000..623f422
--- /dev/null
+++ b/systemtest/testdata/testset1/ind3.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <bool, [0:10,0:10]>>
+-- Testbed: result_elements=2
+
+select a > 0
+from ImgCharA as a
diff --git a/systemtest/testdata/testset1/ind3.ql.java.out b/systemtest/testdata/testset1/ind3.ql.java.out
new file mode 100644
index 0000000..f2deb7a
--- /dev/null
+++ b/systemtest/testdata/testset1/ind3.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/testset1/ind3.ql.out b/systemtest/testdata/testset1/ind3.ql.out
new file mode 100644
index 0000000..53e26a4
--- /dev/null
+++ b/systemtest/testdata/testset1/ind3.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <bool, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <bool, [0:10,0:10]>
+ Type Schema...........: marray< bool >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: bool
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+ F F F F F F F F F F F
+Image 2
+GMarray
+ Type Structure........: marray <bool, [0:10,0:10]>
+ Type Schema...........: marray< bool >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: bool
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+ T T T T T T T T T T T
+-- Testbed end block:
diff --git a/systemtest/testdata/testset1/opt1.ql b/systemtest/testdata/testset1/opt1.ql
new file mode 100644
index 0000000..36ea1b8
--- /dev/null
+++ b/systemtest/testdata/testset1/opt1.ql
@@ -0,0 +1,7 @@
+-- Opt: evaluation on constant expressions
+
+-- Testbed: result_type=set <marray <long, [0:10,0:10]>>
+-- Testbed: result_elements=2
+
+select a + 1 * 2
+from ImgCharA as a
diff --git a/systemtest/testdata/testset1/opt1.ql.java.out b/systemtest/testdata/testset1/opt1.ql.java.out
new file mode 100644
index 0000000..9b791b0
--- /dev/null
+++ b/systemtest/testdata/testset1/opt1.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 484
+ 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 484
+ 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 0 0 0 3 \ No newline at end of file
diff --git a/systemtest/testdata/testset1/opt1.ql.out b/systemtest/testdata/testset1/opt1.ql.out
new file mode 100644
index 0000000..1f50401
--- /dev/null
+++ b/systemtest/testdata/testset1/opt1.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <long, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <long, [0:10,0:10]>
+ Type Schema...........: marray< long >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2
+ 2 2 2 2 2 2 2 2 2 2 2
+Image 2
+GMarray
+ Type Structure........: marray <long, [0:10,0:10]>
+ Type Schema...........: marray< long >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 3 3 3 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3
+ 3 3 3 3 3 3 3 3 3 3 3
+-- Testbed end block:
diff --git a/systemtest/testdata/testset1/opt2.ql b/systemtest/testdata/testset1/opt2.ql
new file mode 100644
index 0000000..d6af2bb
--- /dev/null
+++ b/systemtest/testdata/testset1/opt2.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <long, [0:10,0:10]>>
+-- Testbed: result_elements=4
+
+select a + 1 + b + 2
+from ImgCharA as a, ImgCharB as b
diff --git a/systemtest/testdata/testset1/opt2.ql.java.out b/systemtest/testdata/testset1/opt2.ql.java.out
new file mode 100644
index 0000000..8d63a2c
--- /dev/null
+++ b/systemtest/testdata/testset1/opt2.ql.java.out
@@ -0,0 +1,57 @@
+
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 484
+ 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13 0 0 0 13
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 484
+ 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14 0 0 0 14
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 484
+ 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23 0 0 0 23
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 484
+ 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 0 0 0 24 \ No newline at end of file
diff --git a/systemtest/testdata/testset1/opt2.ql.out b/systemtest/testdata/testset1/opt2.ql.out
new file mode 100644
index 0000000..f47a6c4
--- /dev/null
+++ b/systemtest/testdata/testset1/opt2.ql.out
@@ -0,0 +1,84 @@
+-- Testbed line: result_type=set <marray <long, [0:10,0:10]>>
+-- Testbed line: result_elements=4
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <long, [0:10,0:10]>
+ Type Schema...........: marray< long >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 13 13 13 13 13 13 13 13 13 13 13
+ 13 13 13 13 13 13 13 13 13 13 13
+ 13 13 13 13 13 13 13 13 13 13 13
+ 13 13 13 13 13 13 13 13 13 13 13
+ 13 13 13 13 13 13 13 13 13 13 13
+ 13 13 13 13 13 13 13 13 13 13 13
+ 13 13 13 13 13 13 13 13 13 13 13
+ 13 13 13 13 13 13 13 13 13 13 13
+ 13 13 13 13 13 13 13 13 13 13 13
+ 13 13 13 13 13 13 13 13 13 13 13
+ 13 13 13 13 13 13 13 13 13 13 13
+Image 2
+GMarray
+ Type Structure........: marray <long, [0:10,0:10]>
+ Type Schema...........: marray< long >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 14 14 14 14 14 14 14 14 14 14 14
+ 14 14 14 14 14 14 14 14 14 14 14
+ 14 14 14 14 14 14 14 14 14 14 14
+ 14 14 14 14 14 14 14 14 14 14 14
+ 14 14 14 14 14 14 14 14 14 14 14
+ 14 14 14 14 14 14 14 14 14 14 14
+ 14 14 14 14 14 14 14 14 14 14 14
+ 14 14 14 14 14 14 14 14 14 14 14
+ 14 14 14 14 14 14 14 14 14 14 14
+ 14 14 14 14 14 14 14 14 14 14 14
+ 14 14 14 14 14 14 14 14 14 14 14
+Image 3
+GMarray
+ Type Structure........: marray <long, [0:10,0:10]>
+ Type Schema...........: marray< long >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 23 23 23 23 23 23 23 23 23 23 23
+ 23 23 23 23 23 23 23 23 23 23 23
+ 23 23 23 23 23 23 23 23 23 23 23
+ 23 23 23 23 23 23 23 23 23 23 23
+ 23 23 23 23 23 23 23 23 23 23 23
+ 23 23 23 23 23 23 23 23 23 23 23
+ 23 23 23 23 23 23 23 23 23 23 23
+ 23 23 23 23 23 23 23 23 23 23 23
+ 23 23 23 23 23 23 23 23 23 23 23
+ 23 23 23 23 23 23 23 23 23 23 23
+ 23 23 23 23 23 23 23 23 23 23 23
+Image 4
+GMarray
+ Type Structure........: marray <long, [0:10,0:10]>
+ Type Schema...........: marray< long >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 24 24 24 24 24 24 24 24 24 24 24
+ 24 24 24 24 24 24 24 24 24 24 24
+ 24 24 24 24 24 24 24 24 24 24 24
+ 24 24 24 24 24 24 24 24 24 24 24
+ 24 24 24 24 24 24 24 24 24 24 24
+ 24 24 24 24 24 24 24 24 24 24 24
+ 24 24 24 24 24 24 24 24 24 24 24
+ 24 24 24 24 24 24 24 24 24 24 24
+ 24 24 24 24 24 24 24 24 24 24 24
+ 24 24 24 24 24 24 24 24 24 24 24
+ 24 24 24 24 24 24 24 24 24 24 24
+-- Testbed end block:
diff --git a/systemtest/testdata/testset1/opt4.ql b/systemtest/testdata/testset1/opt4.ql
new file mode 100644
index 0000000..27ef685
--- /dev/null
+++ b/systemtest/testdata/testset1/opt4.ql
@@ -0,0 +1,6 @@
+-- Testbed: result_type=set <marray <char, [0:10,0:10]>>
+-- Testbed: result_elements=2
+
+select a * b
+from ImgCharA as a, ImgCharB as b
+where some_cell( a*b > 0 )
diff --git a/systemtest/testdata/testset1/opt4.ql.java.out b/systemtest/testdata/testset1/opt4.ql.java.out
new file mode 100644
index 0000000..ac09ddd
--- /dev/null
+++ b/systemtest/testdata/testset1/opt4.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 \ No newline at end of file
diff --git a/systemtest/testdata/testset1/opt4.ql.out b/systemtest/testdata/testset1/opt4.ql.out
new file mode 100644
index 0000000..816708e
--- /dev/null
+++ b/systemtest/testdata/testset1/opt4.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <char, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+ 10 10 10 10 10 10 10 10 10 10 10
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 20 20 20 20 20 20 20 20 20 20 20
+ 20 20 20 20 20 20 20 20 20 20 20
+ 20 20 20 20 20 20 20 20 20 20 20
+ 20 20 20 20 20 20 20 20 20 20 20
+ 20 20 20 20 20 20 20 20 20 20 20
+ 20 20 20 20 20 20 20 20 20 20 20
+ 20 20 20 20 20 20 20 20 20 20 20
+ 20 20 20 20 20 20 20 20 20 20 20
+ 20 20 20 20 20 20 20 20 20 20 20
+ 20 20 20 20 20 20 20 20 20 20 20
+ 20 20 20 20 20 20 20 20 20 20 20
+-- Testbed end block:
diff --git a/systemtest/testdata/testset1/opt5.ql b/systemtest/testdata/testset1/opt5.ql
new file mode 100644
index 0000000..9833e16
--- /dev/null
+++ b/systemtest/testdata/testset1/opt5.ql
@@ -0,0 +1,6 @@
+-- Testbed: result_type=set <marray <long, [0:10,0:10]>>
+-- Testbed: result_elements=4
+
+select (a+2)*(b+1)
+from ImgCharA as a, ImgCharB as b
+where some_cell( (a+2)*(b+1) > 0 )
diff --git a/systemtest/testdata/testset1/opt5.ql.java.out b/systemtest/testdata/testset1/opt5.ql.java.out
new file mode 100644
index 0000000..aff941e
--- /dev/null
+++ b/systemtest/testdata/testset1/opt5.ql.java.out
@@ -0,0 +1,57 @@
+
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 484
+ 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22 0 0 0 22
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 484
+ 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33 0 0 0 33
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 484
+ 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42 0 0 0 42
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 484
+ 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 0 0 0 63 \ No newline at end of file
diff --git a/systemtest/testdata/testset1/opt5.ql.out b/systemtest/testdata/testset1/opt5.ql.out
new file mode 100644
index 0000000..14fa211
--- /dev/null
+++ b/systemtest/testdata/testset1/opt5.ql.out
@@ -0,0 +1,84 @@
+-- Testbed line: result_type=set <marray <long, [0:10,0:10]>>
+-- Testbed line: result_elements=4
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <long, [0:10,0:10]>
+ Type Schema...........: marray< long >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 22 22 22 22 22 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22
+ 22 22 22 22 22 22 22 22 22 22 22
+Image 2
+GMarray
+ Type Structure........: marray <long, [0:10,0:10]>
+ Type Schema...........: marray< long >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 33 33 33 33 33 33 33 33 33 33 33
+ 33 33 33 33 33 33 33 33 33 33 33
+ 33 33 33 33 33 33 33 33 33 33 33
+ 33 33 33 33 33 33 33 33 33 33 33
+ 33 33 33 33 33 33 33 33 33 33 33
+ 33 33 33 33 33 33 33 33 33 33 33
+ 33 33 33 33 33 33 33 33 33 33 33
+ 33 33 33 33 33 33 33 33 33 33 33
+ 33 33 33 33 33 33 33 33 33 33 33
+ 33 33 33 33 33 33 33 33 33 33 33
+ 33 33 33 33 33 33 33 33 33 33 33
+Image 3
+GMarray
+ Type Structure........: marray <long, [0:10,0:10]>
+ Type Schema...........: marray< long >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 42 42 42 42 42 42 42 42 42 42 42
+ 42 42 42 42 42 42 42 42 42 42 42
+ 42 42 42 42 42 42 42 42 42 42 42
+ 42 42 42 42 42 42 42 42 42 42 42
+ 42 42 42 42 42 42 42 42 42 42 42
+ 42 42 42 42 42 42 42 42 42 42 42
+ 42 42 42 42 42 42 42 42 42 42 42
+ 42 42 42 42 42 42 42 42 42 42 42
+ 42 42 42 42 42 42 42 42 42 42 42
+ 42 42 42 42 42 42 42 42 42 42 42
+ 42 42 42 42 42 42 42 42 42 42 42
+Image 4
+GMarray
+ Type Structure........: marray <long, [0:10,0:10]>
+ Type Schema...........: marray< long >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 63 63 63 63 63 63 63 63 63 63 63
+ 63 63 63 63 63 63 63 63 63 63 63
+ 63 63 63 63 63 63 63 63 63 63 63
+ 63 63 63 63 63 63 63 63 63 63 63
+ 63 63 63 63 63 63 63 63 63 63 63
+ 63 63 63 63 63 63 63 63 63 63 63
+ 63 63 63 63 63 63 63 63 63 63 63
+ 63 63 63 63 63 63 63 63 63 63 63
+ 63 63 63 63 63 63 63 63 63 63 63
+ 63 63 63 63 63 63 63 63 63 63 63
+ 63 63 63 63 63 63 63 63 63 63 63
+-- Testbed end block:
diff --git a/systemtest/testdata/testset1/trim1.ql b/systemtest/testdata/testset1/trim1.ql
new file mode 100644
index 0000000..e811114
--- /dev/null
+++ b/systemtest/testdata/testset1/trim1.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [2:5,5:8]>>
+-- Testbed: result_elements=2
+
+select a[2:5,5:8]
+from ImgCharA as a
diff --git a/systemtest/testdata/testset1/trim1.ql.java.out b/systemtest/testdata/testset1/trim1.ql.java.out
new file mode 100644
index 0000000..fb615af
--- /dev/null
+++ b/systemtest/testdata/testset1/trim1.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [2:5,5:8]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 16
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [2:5,5:8]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 16
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/testset1/trim1.ql.out b/systemtest/testdata/testset1/trim1.ql.out
new file mode 100644
index 0000000..dd783e2
--- /dev/null
+++ b/systemtest/testdata/testset1/trim1.ql.out
@@ -0,0 +1,30 @@
+-- Testbed line: result_type=set <marray <char, [2:5,5:8]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [2:5,5:8]>
+ Type Schema...........: marray< char >
+ Domain................: [2:5,5:8]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 16
+ 0 0 0 0
+ 0 0 0 0
+ 0 0 0 0
+ 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [2:5,5:8]>
+ Type Schema...........: marray< char >
+ Domain................: [2:5,5:8]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 16
+ 1 1 1 1
+ 1 1 1 1
+ 1 1 1 1
+ 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/testset1/trim2.ql b/systemtest/testdata/testset1/trim2.ql
new file mode 100644
index 0000000..f0b3ee4
--- /dev/null
+++ b/systemtest/testdata/testset1/trim2.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <long, [2:5,5:8]>>
+-- Testbed: result_elements=2
+
+select (a*2)[2:5,5:8]
+from ImgCharA as a
diff --git a/systemtest/testdata/testset1/trim2.ql.java.out b/systemtest/testdata/testset1/trim2.ql.java.out
new file mode 100644
index 0000000..bef0467
--- /dev/null
+++ b/systemtest/testdata/testset1/trim2.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [2:5,5:8]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 64
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [2:5,5:8]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 64
+ 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 \ No newline at end of file
diff --git a/systemtest/testdata/testset1/trim2.ql.out b/systemtest/testdata/testset1/trim2.ql.out
new file mode 100644
index 0000000..f18042c
--- /dev/null
+++ b/systemtest/testdata/testset1/trim2.ql.out
@@ -0,0 +1,30 @@
+-- Testbed line: result_type=set <marray <long, [2:5,5:8]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <long, [2:5,5:8]>
+ Type Schema...........: marray< long >
+ Domain................: [2:5,5:8]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 64
+ 0 0 0 0
+ 0 0 0 0
+ 0 0 0 0
+ 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <long, [2:5,5:8]>
+ Type Schema...........: marray< long >
+ Domain................: [2:5,5:8]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 64
+ 2 2 2 2
+ 2 2 2 2
+ 2 2 2 2
+ 2 2 2 2
+-- Testbed end block:
diff --git a/systemtest/testdata/testset1/trim3.ql b/systemtest/testdata/testset1/trim3.ql
new file mode 100644
index 0000000..51a6c32
--- /dev/null
+++ b/systemtest/testdata/testset1/trim3.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [2:5,5:8]>>
+-- Testbed: result_elements=4
+
+select a[2:5,5:8]+b[2:5,5:8]
+from ImgCharA as a, ImgCharB as b
diff --git a/systemtest/testdata/testset1/trim3.ql.java.out b/systemtest/testdata/testset1/trim3.ql.java.out
new file mode 100644
index 0000000..ac8312e
--- /dev/null
+++ b/systemtest/testdata/testset1/trim3.ql.java.out
@@ -0,0 +1,57 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [2:5,5:8]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 16
+ 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [2:5,5:8]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 16
+ 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [2:5,5:8]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 16
+ 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [2:5,5:8]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 16
+ 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 \ No newline at end of file
diff --git a/systemtest/testdata/testset1/trim3.ql.out b/systemtest/testdata/testset1/trim3.ql.out
new file mode 100644
index 0000000..6cab68c
--- /dev/null
+++ b/systemtest/testdata/testset1/trim3.ql.out
@@ -0,0 +1,56 @@
+-- Testbed line: result_type=set <marray <char, [2:5,5:8]>>
+-- Testbed line: result_elements=4
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [2:5,5:8]>
+ Type Schema...........: marray< char >
+ Domain................: [2:5,5:8]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 16
+ 10 10 10 10
+ 10 10 10 10
+ 10 10 10 10
+ 10 10 10 10
+Image 2
+GMarray
+ Type Structure........: marray <char, [2:5,5:8]>
+ Type Schema...........: marray< char >
+ Domain................: [2:5,5:8]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 16
+ 11 11 11 11
+ 11 11 11 11
+ 11 11 11 11
+ 11 11 11 11
+Image 3
+GMarray
+ Type Structure........: marray <char, [2:5,5:8]>
+ Type Schema...........: marray< char >
+ Domain................: [2:5,5:8]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 16
+ 20 20 20 20
+ 20 20 20 20
+ 20 20 20 20
+ 20 20 20 20
+Image 4
+GMarray
+ Type Structure........: marray <char, [2:5,5:8]>
+ Type Schema...........: marray< char >
+ Domain................: [2:5,5:8]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 16
+ 21 21 21 21
+ 21 21 21 21
+ 21 21 21 21
+ 21 21 21 21
+-- Testbed end block:
diff --git a/systemtest/testdata/testset1/trim4.ql b/systemtest/testdata/testset1/trim4.ql
new file mode 100644
index 0000000..9750e1b
--- /dev/null
+++ b/systemtest/testdata/testset1/trim4.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [2:5,5:8]>>
+-- Testbed: result_elements=4
+
+select (a+b)[2:5,5:8]
+from ImgCharA as a, ImgCharB as b
diff --git a/systemtest/testdata/testset1/trim4.ql.java.out b/systemtest/testdata/testset1/trim4.ql.java.out
new file mode 100644
index 0000000..ac8312e
--- /dev/null
+++ b/systemtest/testdata/testset1/trim4.ql.java.out
@@ -0,0 +1,57 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [2:5,5:8]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 16
+ 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [2:5,5:8]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 16
+ 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [2:5,5:8]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 16
+ 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [2:5,5:8]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 16
+ 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 \ No newline at end of file
diff --git a/systemtest/testdata/testset1/trim4.ql.out b/systemtest/testdata/testset1/trim4.ql.out
new file mode 100644
index 0000000..6cab68c
--- /dev/null
+++ b/systemtest/testdata/testset1/trim4.ql.out
@@ -0,0 +1,56 @@
+-- Testbed line: result_type=set <marray <char, [2:5,5:8]>>
+-- Testbed line: result_elements=4
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [2:5,5:8]>
+ Type Schema...........: marray< char >
+ Domain................: [2:5,5:8]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 16
+ 10 10 10 10
+ 10 10 10 10
+ 10 10 10 10
+ 10 10 10 10
+Image 2
+GMarray
+ Type Structure........: marray <char, [2:5,5:8]>
+ Type Schema...........: marray< char >
+ Domain................: [2:5,5:8]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 16
+ 11 11 11 11
+ 11 11 11 11
+ 11 11 11 11
+ 11 11 11 11
+Image 3
+GMarray
+ Type Structure........: marray <char, [2:5,5:8]>
+ Type Schema...........: marray< char >
+ Domain................: [2:5,5:8]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 16
+ 20 20 20 20
+ 20 20 20 20
+ 20 20 20 20
+ 20 20 20 20
+Image 4
+GMarray
+ Type Structure........: marray <char, [2:5,5:8]>
+ Type Schema...........: marray< char >
+ Domain................: [2:5,5:8]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 16
+ 21 21 21 21
+ 21 21 21 21
+ 21 21 21 21
+ 21 21 21 21
+-- Testbed end block:
diff --git a/systemtest/testdata/testset1/trim5.ql b/systemtest/testdata/testset1/trim5.ql
new file mode 100644
index 0000000..3f68232
--- /dev/null
+++ b/systemtest/testdata/testset1/trim5.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [0:10]>>
+-- Testbed: result_elements=4
+
+select (a * b)[5,*:*].green
+from ImgRGBA as a, ImgRGBA as b
diff --git a/systemtest/testdata/testset1/trim5.ql.java.out b/systemtest/testdata/testset1/trim5.ql.java.out
new file mode 100644
index 0000000..c104e32
--- /dev/null
+++ b/systemtest/testdata/testset1/trim5.ql.java.out
@@ -0,0 +1,57 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 11
+ 4 4 4 4 4 4 4 4 4 4 4
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 11
+ 4 4 4 4 4 4 4 4 4 4 4
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 11
+ 4 4 4 4 4 4 4 4 4 4 4
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 11
+ 4 4 4 4 4 4 4 4 4 4 4 \ No newline at end of file
diff --git a/systemtest/testdata/testset1/trim5.ql.out b/systemtest/testdata/testset1/trim5.ql.out
new file mode 100644
index 0000000..276581c
--- /dev/null
+++ b/systemtest/testdata/testset1/trim5.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <char, [0:10]>>
+-- Testbed line: result_elements=4
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 11
+ 4 4 4 4 4 4 4 4 4 4 4
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 11
+ 4 4 4 4 4 4 4 4 4 4 4
+Image 3
+GMarray
+ Type Structure........: marray <char, [0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 11
+ 4 4 4 4 4 4 4 4 4 4 4
+Image 4
+GMarray
+ Type Structure........: marray <char, [0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 11
+ 4 4 4 4 4 4 4 4 4 4 4
+-- Testbed end block:
diff --git a/systemtest/testdata/testset1/trim6.ql b/systemtest/testdata/testset1/trim6.ql
new file mode 100644
index 0000000..f8a8468
--- /dev/null
+++ b/systemtest/testdata/testset1/trim6.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [0:10]>>
+-- Testbed: result_elements=4
+
+select (a * b).green [5,*:*]
+from ImgRGBA as a, ImgRGBA as b
diff --git a/systemtest/testdata/testset1/trim6.ql.java.out b/systemtest/testdata/testset1/trim6.ql.java.out
new file mode 100644
index 0000000..c104e32
--- /dev/null
+++ b/systemtest/testdata/testset1/trim6.ql.java.out
@@ -0,0 +1,57 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 11
+ 4 4 4 4 4 4 4 4 4 4 4
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 11
+ 4 4 4 4 4 4 4 4 4 4 4
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 11
+ 4 4 4 4 4 4 4 4 4 4 4
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 11
+ 4 4 4 4 4 4 4 4 4 4 4 \ No newline at end of file
diff --git a/systemtest/testdata/testset1/trim6.ql.out b/systemtest/testdata/testset1/trim6.ql.out
new file mode 100644
index 0000000..276581c
--- /dev/null
+++ b/systemtest/testdata/testset1/trim6.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <char, [0:10]>>
+-- Testbed line: result_elements=4
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 11
+ 4 4 4 4 4 4 4 4 4 4 4
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 11
+ 4 4 4 4 4 4 4 4 4 4 4
+Image 3
+GMarray
+ Type Structure........: marray <char, [0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 11
+ 4 4 4 4 4 4 4 4 4 4 4
+Image 4
+GMarray
+ Type Structure........: marray <char, [0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 11
+ 4 4 4 4 4 4 4 4 4 4 4
+-- Testbed end block:
diff --git a/systemtest/testdata/testset2/const1.ql b/systemtest/testdata/testset2/const1.ql
new file mode 100644
index 0000000..54f1f5d
--- /dev/null
+++ b/systemtest/testdata/testset2/const1.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <long, [-2:2,-1:1]>>
+-- Testbed: result_elements=1
+
+select a * 1
+from ImgCharMask as a
diff --git a/systemtest/testdata/testset2/const1.ql.java.out b/systemtest/testdata/testset2/const1.ql.java.out
new file mode 100644
index 0000000..c12f763
--- /dev/null
+++ b/systemtest/testdata/testset2/const1.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [-2:2,-1:1]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 60
+ 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 0 0 0 2 \ No newline at end of file
diff --git a/systemtest/testdata/testset2/const1.ql.out b/systemtest/testdata/testset2/const1.ql.out
new file mode 100644
index 0000000..939573c
--- /dev/null
+++ b/systemtest/testdata/testset2/const1.ql.out
@@ -0,0 +1,16 @@
+-- Testbed line: result_type=set <marray <long, [-2:2,-1:1]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <long, [-2:2,-1:1]>
+ Type Schema...........: marray< long >
+ Domain................: [-2:2,-1:1]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 60
+ 2 2 2 2 2
+ 2 2 2 2 2
+ 2 2 2 2 2
+-- Testbed end block:
diff --git a/systemtest/testdata/testset2/const10.ql b/systemtest/testdata/testset2/const10.ql
new file mode 100644
index 0000000..b90d539
--- /dev/null
+++ b/systemtest/testdata/testset2/const10.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <long, [-2:2,-1:1]>>
+-- Testbed: result_elements=1
+
+select a - -2
+from ImgCharMask as a
diff --git a/systemtest/testdata/testset2/const10.ql.java.out b/systemtest/testdata/testset2/const10.ql.java.out
new file mode 100644
index 0000000..29e925f
--- /dev/null
+++ b/systemtest/testdata/testset2/const10.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [-2:2,-1:1]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 60
+ 0 0 0 4 0 0 0 4 0 0 0 4 0 0 0 4 0 0 0 4 0 0 0 4 0 0 0 4 0 0 0 4 0 0 0 4 0 0 0 4 0 0 0 4 0 0 0 4 0 0 0 4 0 0 0 4 0 0 0 4 \ No newline at end of file
diff --git a/systemtest/testdata/testset2/const10.ql.out b/systemtest/testdata/testset2/const10.ql.out
new file mode 100644
index 0000000..a8f95b2
--- /dev/null
+++ b/systemtest/testdata/testset2/const10.ql.out
@@ -0,0 +1,16 @@
+-- Testbed line: result_type=set <marray <long, [-2:2,-1:1]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <long, [-2:2,-1:1]>
+ Type Schema...........: marray< long >
+ Domain................: [-2:2,-1:1]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 60
+ 4 4 4 4 4
+ 4 4 4 4 4
+ 4 4 4 4 4
+-- Testbed end block:
diff --git a/systemtest/testdata/testset2/const11.ql b/systemtest/testdata/testset2/const11.ql
new file mode 100644
index 0000000..6171ca1
--- /dev/null
+++ b/systemtest/testdata/testset2/const11.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <struct { long 0, float 1, long 2 }, [-2:2,-1:1]>>
+-- Testbed: result_elements=1
+
+select a + { -1, 1.0, 1 }
+from ImgCharMask as a
diff --git a/systemtest/testdata/testset2/const11.ql.java.out b/systemtest/testdata/testset2/const11.ql.java.out
new file mode 100644
index 0000000..76703de
--- /dev/null
+++ b/systemtest/testdata/testset2/const11.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasGMArray
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [-2:2,-1:1]
+ TilingDomain..........: [0:102,0:102]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 12
+ Data format...........: 0
+ Data size (bytes).....: 180
+ 0 0 0 1 64 64 0 0 0 0 0 3 0 0 0 1 64 64 0 0 0 0 0 3 0 0 0 1 64 64 0 0 0 0 0 3 0 0 0 1 64 64 0 0 0 0 0 3 0 0 0 1 64 64 0 0 0 0 0 3 0 0 0 1 64 64 0 0 0 0 0 3 0 0 0 1 64 64 0 0 0 0 0 3 0 0 0 1 64 64 0 0 0 0 0 3 0 0 0 1 64 64 0 0 0 0 0 3 0 0 0 1 64 64 0 0 0 0 0 3 0 0 0 1 64 64 0 0 0 0 0 3 0 0 0 1 64 64 0 0 0 0 0 3 0 0 0 1 64 64 0 0 0 0 0 3 0 0 0 1 64 64 0 0 0 0 0 3 0 0 0 1 64 64 0 0 0 0 0 3 \ No newline at end of file
diff --git a/systemtest/testdata/testset2/const11.ql.out b/systemtest/testdata/testset2/const11.ql.out
new file mode 100644
index 0000000..8dd2850
--- /dev/null
+++ b/systemtest/testdata/testset2/const11.ql.out
@@ -0,0 +1,16 @@
+-- Testbed line: result_type=set <marray <struct { long 0, float 1, long 2 }, [-2:2,-1:1]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <struct { long 0, float 1, long 2 }, [-2:2,-1:1]>
+ Type Schema...........: marray< struct{ long 0, float 1, long 2 } >
+ Domain................: [-2:2,-1:1]
+ Base Type Schema......: struct{ long 0, float 1, long 2 }
+ Base Type Length......: 12
+ Data format.......... : Array
+ Data size (bytes).... : 180
+{ 1, 3, 3} { 1, 3, 3} { 1, 3, 3} { 1, 3, 3} { 1, 3, 3}
+{ 1, 3, 3} { 1, 3, 3} { 1, 3, 3} { 1, 3, 3} { 1, 3, 3}
+{ 1, 3, 3} { 1, 3, 3} { 1, 3, 3} { 1, 3, 3} { 1, 3, 3}
+-- Testbed end block:
diff --git a/systemtest/testdata/testset2/const2.ql b/systemtest/testdata/testset2/const2.ql
new file mode 100644
index 0000000..f9fbb8d
--- /dev/null
+++ b/systemtest/testdata/testset2/const2.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <long, [-2:2,-1:1]>>
+-- Testbed: result_elements=1
+
+select a * -1
+from ImgCharMask as a
diff --git a/systemtest/testdata/testset2/const2.ql.java.out b/systemtest/testdata/testset2/const2.ql.java.out
new file mode 100644
index 0000000..d8208e8
--- /dev/null
+++ b/systemtest/testdata/testset2/const2.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [-2:2,-1:1]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 60
+ -1 -1 -1 -2 -1 -1 -1 -2 -1 -1 -1 -2 -1 -1 -1 -2 -1 -1 -1 -2 -1 -1 -1 -2 -1 -1 -1 -2 -1 -1 -1 -2 -1 -1 -1 -2 -1 -1 -1 -2 -1 -1 -1 -2 -1 -1 -1 -2 -1 -1 -1 -2 -1 -1 -1 -2 -1 -1 -1 -2 \ No newline at end of file
diff --git a/systemtest/testdata/testset2/const2.ql.out b/systemtest/testdata/testset2/const2.ql.out
new file mode 100644
index 0000000..247f1fe
--- /dev/null
+++ b/systemtest/testdata/testset2/const2.ql.out
@@ -0,0 +1,16 @@
+-- Testbed line: result_type=set <marray <long, [-2:2,-1:1]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <long, [-2:2,-1:1]>
+ Type Schema...........: marray< long >
+ Domain................: [-2:2,-1:1]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 60
+ -2 -2 -2 -2 -2
+ -2 -2 -2 -2 -2
+ -2 -2 -2 -2 -2
+-- Testbed end block:
diff --git a/systemtest/testdata/testset2/const3.ql b/systemtest/testdata/testset2/const3.ql
new file mode 100644
index 0000000..63b107f
--- /dev/null
+++ b/systemtest/testdata/testset2/const3.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <ulong, [-2:2,-1:1]>>
+-- Testbed: result_elements=1
+
+select a * 0x1ul
+from ImgCharMask as a
diff --git a/systemtest/testdata/testset2/const3.ql.java.out b/systemtest/testdata/testset2/const3.ql.java.out
new file mode 100644
index 0000000..5edfee3
--- /dev/null
+++ b/systemtest/testdata/testset2/const3.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [-2:2,-1:1]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 120
+ 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 \ No newline at end of file
diff --git a/systemtest/testdata/testset2/const3.ql.out b/systemtest/testdata/testset2/const3.ql.out
new file mode 100644
index 0000000..c581628
--- /dev/null
+++ b/systemtest/testdata/testset2/const3.ql.out
@@ -0,0 +1,16 @@
+-- Testbed line: result_type=set <marray <ulong, [-2:2,-1:1]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [-2:2,-1:1]>
+ Type Schema...........: marray< ulong >
+ Domain................: [-2:2,-1:1]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 60
+ 2 2 2 2 2
+ 2 2 2 2 2
+ 2 2 2 2 2
+-- Testbed end block:
diff --git a/systemtest/testdata/testset2/const4.ql b/systemtest/testdata/testset2/const4.ql
new file mode 100644
index 0000000..6bcb53b
--- /dev/null
+++ b/systemtest/testdata/testset2/const4.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <long, [-2:2,-1:1]>>
+-- Testbed: result_elements=1
+
+select a * -0x1
+from ImgCharMask as a
diff --git a/systemtest/testdata/testset2/const4.ql.java.out b/systemtest/testdata/testset2/const4.ql.java.out
new file mode 100644
index 0000000..d8208e8
--- /dev/null
+++ b/systemtest/testdata/testset2/const4.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayInteger
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [-2:2,-1:1]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 60
+ -1 -1 -1 -2 -1 -1 -1 -2 -1 -1 -1 -2 -1 -1 -1 -2 -1 -1 -1 -2 -1 -1 -1 -2 -1 -1 -1 -2 -1 -1 -1 -2 -1 -1 -1 -2 -1 -1 -1 -2 -1 -1 -1 -2 -1 -1 -1 -2 -1 -1 -1 -2 -1 -1 -1 -2 -1 -1 -1 -2 \ No newline at end of file
diff --git a/systemtest/testdata/testset2/const4.ql.out b/systemtest/testdata/testset2/const4.ql.out
new file mode 100644
index 0000000..247f1fe
--- /dev/null
+++ b/systemtest/testdata/testset2/const4.ql.out
@@ -0,0 +1,16 @@
+-- Testbed line: result_type=set <marray <long, [-2:2,-1:1]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <long, [-2:2,-1:1]>
+ Type Schema...........: marray< long >
+ Domain................: [-2:2,-1:1]
+ Base Type Schema......: long
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 60
+ -2 -2 -2 -2 -2
+ -2 -2 -2 -2 -2
+ -2 -2 -2 -2 -2
+-- Testbed end block:
diff --git a/systemtest/testdata/testset2/const5.ql b/systemtest/testdata/testset2/const5.ql
new file mode 100644
index 0000000..df1dfbf
--- /dev/null
+++ b/systemtest/testdata/testset2/const5.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <octet, [-2:2,-1:1]>>
+-- Testbed: result_elements=1
+
+select a + 1o
+from ImgCharMask as a
diff --git a/systemtest/testdata/testset2/const5.ql.java.out b/systemtest/testdata/testset2/const5.ql.java.out
new file mode 100644
index 0000000..ed610fa
--- /dev/null
+++ b/systemtest/testdata/testset2/const5.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [-2:2,-1:1]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 15
+ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 \ No newline at end of file
diff --git a/systemtest/testdata/testset2/const5.ql.out b/systemtest/testdata/testset2/const5.ql.out
new file mode 100644
index 0000000..203db73
--- /dev/null
+++ b/systemtest/testdata/testset2/const5.ql.out
@@ -0,0 +1,16 @@
+-- Testbed line: result_type=set <marray <octet, [-2:2,-1:1]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <octet, [-2:2,-1:1]>
+ Type Schema...........: marray< octet >
+ Domain................: [-2:2,-1:1]
+ Base Type Schema......: octet
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 15
+ 3 3 3 3 3
+ 3 3 3 3 3
+ 3 3 3 3 3
+-- Testbed end block:
diff --git a/systemtest/testdata/testset2/const6.ql b/systemtest/testdata/testset2/const6.ql
new file mode 100644
index 0000000..bd62a70
--- /dev/null
+++ b/systemtest/testdata/testset2/const6.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <float, [-2:2,-1:1]>>
+-- Testbed: result_elements=1
+
+select a + 1.0f
+from ImgCharMask as a
diff --git a/systemtest/testdata/testset2/const6.ql.java.out b/systemtest/testdata/testset2/const6.ql.java.out
new file mode 100644
index 0000000..06b1698
--- /dev/null
+++ b/systemtest/testdata/testset2/const6.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayFloat
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [-2:2,-1:1]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 60
+ 64 64 0 0 64 64 0 0 64 64 0 0 64 64 0 0 64 64 0 0 64 64 0 0 64 64 0 0 64 64 0 0 64 64 0 0 64 64 0 0 64 64 0 0 64 64 0 0 64 64 0 0 64 64 0 0 64 64 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/testset2/const6.ql.out b/systemtest/testdata/testset2/const6.ql.out
new file mode 100644
index 0000000..5ba865c
--- /dev/null
+++ b/systemtest/testdata/testset2/const6.ql.out
@@ -0,0 +1,16 @@
+-- Testbed line: result_type=set <marray <float, [-2:2,-1:1]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <float, [-2:2,-1:1]>
+ Type Schema...........: marray< float >
+ Domain................: [-2:2,-1:1]
+ Base Type Schema......: float
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 60
+ 3 3 3 3 3
+ 3 3 3 3 3
+ 3 3 3 3 3
+-- Testbed end block:
diff --git a/systemtest/testdata/testset2/const7.ql b/systemtest/testdata/testset2/const7.ql
new file mode 100644
index 0000000..813115d
--- /dev/null
+++ b/systemtest/testdata/testset2/const7.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <float, [-2:2,-1:1]>>
+-- Testbed: result_elements=1
+
+select a + 1.0
+from ImgCharMask as a
diff --git a/systemtest/testdata/testset2/const7.ql.java.out b/systemtest/testdata/testset2/const7.ql.java.out
new file mode 100644
index 0000000..06b1698
--- /dev/null
+++ b/systemtest/testdata/testset2/const7.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayFloat
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [-2:2,-1:1]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 60
+ 64 64 0 0 64 64 0 0 64 64 0 0 64 64 0 0 64 64 0 0 64 64 0 0 64 64 0 0 64 64 0 0 64 64 0 0 64 64 0 0 64 64 0 0 64 64 0 0 64 64 0 0 64 64 0 0 64 64 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/testset2/const7.ql.out b/systemtest/testdata/testset2/const7.ql.out
new file mode 100644
index 0000000..5ba865c
--- /dev/null
+++ b/systemtest/testdata/testset2/const7.ql.out
@@ -0,0 +1,16 @@
+-- Testbed line: result_type=set <marray <float, [-2:2,-1:1]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <float, [-2:2,-1:1]>
+ Type Schema...........: marray< float >
+ Domain................: [-2:2,-1:1]
+ Base Type Schema......: float
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 60
+ 3 3 3 3 3
+ 3 3 3 3 3
+ 3 3 3 3 3
+-- Testbed end block:
diff --git a/systemtest/testdata/testset2/const8.ql b/systemtest/testdata/testset2/const8.ql
new file mode 100644
index 0000000..9f0f057
--- /dev/null
+++ b/systemtest/testdata/testset2/const8.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <float, [-2:2,-1:1]>>
+-- Testbed: result_elements=1
+
+select a - 1f
+from ImgCharMask as a
diff --git a/systemtest/testdata/testset2/const8.ql.java.out b/systemtest/testdata/testset2/const8.ql.java.out
new file mode 100644
index 0000000..38a2388
--- /dev/null
+++ b/systemtest/testdata/testset2/const8.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayFloat
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [-2:2,-1:1]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 60
+ 63 -128 0 0 63 -128 0 0 63 -128 0 0 63 -128 0 0 63 -128 0 0 63 -128 0 0 63 -128 0 0 63 -128 0 0 63 -128 0 0 63 -128 0 0 63 -128 0 0 63 -128 0 0 63 -128 0 0 63 -128 0 0 63 -128 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/testset2/const8.ql.out b/systemtest/testdata/testset2/const8.ql.out
new file mode 100644
index 0000000..0d4e9e6
--- /dev/null
+++ b/systemtest/testdata/testset2/const8.ql.out
@@ -0,0 +1,16 @@
+-- Testbed line: result_type=set <marray <float, [-2:2,-1:1]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <float, [-2:2,-1:1]>
+ Type Schema...........: marray< float >
+ Domain................: [-2:2,-1:1]
+ Base Type Schema......: float
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 60
+ 1 1 1 1 1
+ 1 1 1 1 1
+ 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/testset2/const9.ql b/systemtest/testdata/testset2/const9.ql
new file mode 100644
index 0000000..d34db82
--- /dev/null
+++ b/systemtest/testdata/testset2/const9.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [-2:2,-1:1]>>
+-- Testbed: result_elements=1
+
+select a - 1c
+from ImgCharMask as a
diff --git a/systemtest/testdata/testset2/const9.ql.java.out b/systemtest/testdata/testset2/const9.ql.java.out
new file mode 100644
index 0000000..b9f0d3f
--- /dev/null
+++ b/systemtest/testdata/testset2/const9.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [-2:2,-1:1]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 15
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/testset2/const9.ql.out b/systemtest/testdata/testset2/const9.ql.out
new file mode 100644
index 0000000..9887b9e
--- /dev/null
+++ b/systemtest/testdata/testset2/const9.ql.out
@@ -0,0 +1,16 @@
+-- Testbed line: result_type=set <marray <char, [-2:2,-1:1]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [-2:2,-1:1]>
+ Type Schema...........: marray< char >
+ Domain................: [-2:2,-1:1]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 15
+ 1 1 1 1 1
+ 1 1 1 1 1
+ 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/testset2/constmdd.ql b/systemtest/testdata/testset2/constmdd.ql
new file mode 100644
index 0000000..18bf9ef
--- /dev/null
+++ b/systemtest/testdata/testset2/constmdd.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [-2:2,-1:1]>>
+-- Testbed: result_elements=1
+
+select a + < [-2:2,-1:1] 1c, 2c, 3c; 1c, 2c, 3c; 1c, 2c, 3c; 1c, 2c, 3c; 1c, 2c, 3c >
+from ImgCharMask as a
diff --git a/systemtest/testdata/testset2/constmdd.ql.java.out b/systemtest/testdata/testset2/constmdd.ql.java.out
new file mode 100644
index 0000000..61fe4a5
--- /dev/null
+++ b/systemtest/testdata/testset2/constmdd.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [-2:2,-1:1]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 15
+ 3 4 5 3 4 5 3 4 5 3 4 5 3 4 5 \ No newline at end of file
diff --git a/systemtest/testdata/testset2/constmdd.ql.out b/systemtest/testdata/testset2/constmdd.ql.out
new file mode 100644
index 0000000..98fe471
--- /dev/null
+++ b/systemtest/testdata/testset2/constmdd.ql.out
@@ -0,0 +1,16 @@
+-- Testbed line: result_type=set <marray <char, [-2:2,-1:1]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [-2:2,-1:1]>
+ Type Schema...........: marray< char >
+ Domain................: [-2:2,-1:1]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 15
+ 3 3 3 3 3
+ 4 4 4 4 4
+ 5 5 5 5 5
+-- Testbed end block:
diff --git a/systemtest/testdata/testset2/oid5.ql b/systemtest/testdata/testset2/oid5.ql
new file mode 100644
index 0000000..71b9709
--- /dev/null
+++ b/systemtest/testdata/testset2/oid5.ql
@@ -0,0 +1,6 @@
+-- Testbed: result_type=
+-- Testbed: result_elements=0
+
+select a
+from ImgRGBA as a
+where oid(a) <= 0
diff --git a/systemtest/testdata/testset2/oid5.ql.java.out b/systemtest/testdata/testset2/oid5.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/testset2/oid5.ql.java.out
diff --git a/systemtest/testdata/testset2/oid5.ql.out b/systemtest/testdata/testset2/oid5.ql.out
new file mode 100644
index 0000000..bb90a32
--- /dev/null
+++ b/systemtest/testdata/testset2/oid5.ql.out
@@ -0,0 +1,4 @@
+-- Testbed line: result_type=
+-- Testbed line: result_elements=0
+-- Testbed start block:
+-- Testbed end block:
diff --git a/systemtest/testdata/testset2/oid6.ql b/systemtest/testdata/testset2/oid6.ql
new file mode 100644
index 0000000..16f2449
--- /dev/null
+++ b/systemtest/testdata/testset2/oid6.ql
@@ -0,0 +1,6 @@
+-- Testbed: result_type=set <marray <struct { char red, char green, char blue }, [0:10,0:10]>>
+-- Testbed: result_elements=2
+
+select a
+from ImgRGBA as a
+where oid(a) > 0
diff --git a/systemtest/testdata/testset2/oid6.ql.java.out b/systemtest/testdata/testset2/oid6.ql.java.out
new file mode 100644
index 0000000..c039a78
--- /dev/null
+++ b/systemtest/testdata/testset2/oid6.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasGMArray
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:205,0:205]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 3
+ Data format...........: 0
+ Data size (bytes).....: 363
+ 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 1 2 3 \ No newline at end of file
diff --git a/systemtest/testdata/testset2/oid6.ql.out b/systemtest/testdata/testset2/oid6.ql.out
new file mode 100644
index 0000000..79f970f
--- /dev/null
+++ b/systemtest/testdata/testset2/oid6.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <struct { char red, char green, char blue }, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <struct { char red, char green, char blue }, [0:10,0:10]>
+ Type Schema...........: marray< struct{ char red, char green, char blue } >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: struct{ char red, char green, char blue }
+ Base Type Length......: 3
+ Data format.......... : Array
+ Data size (bytes).... : 363
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+Image 2
+GMarray
+ Type Structure........: marray <struct { char red, char green, char blue }, [0:10,0:10]>
+ Type Schema...........: marray< struct{ char red, char green, char blue } >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: struct{ char red, char green, char blue }
+ Base Type Length......: 3
+ Data format.......... : Array
+ Data size (bytes).... : 363
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+{ 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3} { 1, 2, 3}
+-- Testbed end block:
diff --git a/systemtest/testdata/testset3/domexp1.ql b/systemtest/testdata/testset3/domexp1.ql
new file mode 100644
index 0000000..e602045
--- /dev/null
+++ b/systemtest/testdata/testset3/domexp1.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [0:5,0:10]>>
+-- Testbed: result_elements=2
+
+select a[0:5,sdom(a)[1]]
+from ImgCharA as a
diff --git a/systemtest/testdata/testset3/domexp1.ql.java.out b/systemtest/testdata/testset3/domexp1.ql.java.out
new file mode 100644
index 0000000..24fe099
--- /dev/null
+++ b/systemtest/testdata/testset3/domexp1.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:5,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 66
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:5,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 66
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/testset3/domexp1.ql.out b/systemtest/testdata/testset3/domexp1.ql.out
new file mode 100644
index 0000000..9a0b256
--- /dev/null
+++ b/systemtest/testdata/testset3/domexp1.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <char, [0:5,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:5,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:5,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 66
+ 0 0 0 0 0 0
+ 0 0 0 0 0 0
+ 0 0 0 0 0 0
+ 0 0 0 0 0 0
+ 0 0 0 0 0 0
+ 0 0 0 0 0 0
+ 0 0 0 0 0 0
+ 0 0 0 0 0 0
+ 0 0 0 0 0 0
+ 0 0 0 0 0 0
+ 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:5,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:5,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 66
+ 1 1 1 1 1 1
+ 1 1 1 1 1 1
+ 1 1 1 1 1 1
+ 1 1 1 1 1 1
+ 1 1 1 1 1 1
+ 1 1 1 1 1 1
+ 1 1 1 1 1 1
+ 1 1 1 1 1 1
+ 1 1 1 1 1 1
+ 1 1 1 1 1 1
+ 1 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/testset3/domexp2.ql b/systemtest/testdata/testset3/domexp2.ql
new file mode 100644
index 0000000..2e997d6
--- /dev/null
+++ b/systemtest/testdata/testset3/domexp2.ql
@@ -0,0 +1,6 @@
+-- Testbed: result_type=set <marray <char, [0:10,0:9]>>
+-- Testbed: result_elements=2
+
+select a [sdom(a)[0], *:sdom(a)[1].hi - 1]
+from ImgCharA as a
+
diff --git a/systemtest/testdata/testset3/domexp2.ql.java.out b/systemtest/testdata/testset3/domexp2.ql.java.out
new file mode 100644
index 0000000..2407813
--- /dev/null
+++ b/systemtest/testdata/testset3/domexp2.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:9]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 110
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:9]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 110
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/testset3/domexp2.ql.out b/systemtest/testdata/testset3/domexp2.ql.out
new file mode 100644
index 0000000..b99539f
--- /dev/null
+++ b/systemtest/testdata/testset3/domexp2.ql.out
@@ -0,0 +1,42 @@
+-- Testbed line: result_type=set <marray <char, [0:10,0:9]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:10,0:9]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:9]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 110
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:10,0:9]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:9]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 110
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/testset3/domexp3.ql b/systemtest/testdata/testset3/domexp3.ql
new file mode 100644
index 0000000..b6025f6
--- /dev/null
+++ b/systemtest/testdata/testset3/domexp3.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [0:10,0:5]>>
+-- Testbed: result_elements=2
+
+select a[*:*, *:sdom(a)[1].hi/2]
+from ImgCharA as a
diff --git a/systemtest/testdata/testset3/domexp3.ql.java.out b/systemtest/testdata/testset3/domexp3.ql.java.out
new file mode 100644
index 0000000..982a34e
--- /dev/null
+++ b/systemtest/testdata/testset3/domexp3.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:5]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 66
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:5]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 66
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/testset3/domexp3.ql.out b/systemtest/testdata/testset3/domexp3.ql.out
new file mode 100644
index 0000000..879e054
--- /dev/null
+++ b/systemtest/testdata/testset3/domexp3.ql.out
@@ -0,0 +1,34 @@
+-- Testbed line: result_type=set <marray <char, [0:10,0:5]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:10,0:5]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:5]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 66
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:10,0:5]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:5]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 66
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/testset3/domexp4.ql b/systemtest/testdata/testset3/domexp4.ql
new file mode 100644
index 0000000..695d355
--- /dev/null
+++ b/systemtest/testdata/testset3/domexp4.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [0:10]>>
+-- Testbed: result_elements=2
+
+select a[*:*, (sdom(a)[1].hi-sdom(a)[1].lo)/2 ]
+from ImgCharA as a
diff --git a/systemtest/testdata/testset3/domexp4.ql.java.out b/systemtest/testdata/testset3/domexp4.ql.java.out
new file mode 100644
index 0000000..c4c4737
--- /dev/null
+++ b/systemtest/testdata/testset3/domexp4.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 11
+ 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 11
+ 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/testset3/domexp4.ql.out b/systemtest/testdata/testset3/domexp4.ql.out
new file mode 100644
index 0000000..495b98f
--- /dev/null
+++ b/systemtest/testdata/testset3/domexp4.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <char, [0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 11
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 11
+ 1 1 1 1 1 1 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/testset3/domexp5.ql b/systemtest/testdata/testset3/domexp5.ql
new file mode 100644
index 0000000..ac141b2
--- /dev/null
+++ b/systemtest/testdata/testset3/domexp5.ql
@@ -0,0 +1,6 @@
+-- Testbed: result_type=set <marray <char, [0:10,4:7]>>
+-- Testbed: result_elements=2
+
+select (a[sdom(a)[0],2:8])[*:*,4:sdom(a)[1].hi - 3]
+from ImgCharA as a
+
diff --git a/systemtest/testdata/testset3/domexp5.ql.java.out b/systemtest/testdata/testset3/domexp5.ql.java.out
new file mode 100644
index 0000000..d5172a6
--- /dev/null
+++ b/systemtest/testdata/testset3/domexp5.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,4:7]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 44
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,4:7]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 44
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/testset3/domexp5.ql.out b/systemtest/testdata/testset3/domexp5.ql.out
new file mode 100644
index 0000000..d106168
--- /dev/null
+++ b/systemtest/testdata/testset3/domexp5.ql.out
@@ -0,0 +1,30 @@
+-- Testbed line: result_type=set <marray <char, [0:10,4:7]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:10,4:7]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,4:7]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 44
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:10,4:7]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,4:7]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 44
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/testset3/minterval1.ql b/systemtest/testdata/testset3/minterval1.ql
new file mode 100644
index 0000000..86e2b0e
--- /dev/null
+++ b/systemtest/testdata/testset3/minterval1.ql
@@ -0,0 +1,6 @@
+-- Testbed: result_type=set <marray <char, [0:4,0:3]>>
+-- Testbed: result_elements=2
+
+select a[0:1*4,0:3]*2c
+from ImgCharA as a
+
diff --git a/systemtest/testdata/testset3/minterval1.ql.java.out b/systemtest/testdata/testset3/minterval1.ql.java.out
new file mode 100644
index 0000000..88b67fe
--- /dev/null
+++ b/systemtest/testdata/testset3/minterval1.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:4,0:3]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 20
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:4,0:3]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 20
+ 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 \ No newline at end of file
diff --git a/systemtest/testdata/testset3/minterval1.ql.out b/systemtest/testdata/testset3/minterval1.ql.out
new file mode 100644
index 0000000..e5ea4ff
--- /dev/null
+++ b/systemtest/testdata/testset3/minterval1.ql.out
@@ -0,0 +1,30 @@
+-- Testbed line: result_type=set <marray <char, [0:4,0:3]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:4,0:3]>
+ Type Schema...........: marray< char >
+ Domain................: [0:4,0:3]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 20
+ 0 0 0 0 0
+ 0 0 0 0 0
+ 0 0 0 0 0
+ 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:4,0:3]>
+ Type Schema...........: marray< char >
+ Domain................: [0:4,0:3]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 20
+ 2 2 2 2 2
+ 2 2 2 2 2
+ 2 2 2 2 2
+ 2 2 2 2 2
+-- Testbed end block:
diff --git a/systemtest/testdata/testset3/proj1.ql b/systemtest/testdata/testset3/proj1.ql
new file mode 100644
index 0000000..55ccf98
--- /dev/null
+++ b/systemtest/testdata/testset3/proj1.ql
@@ -0,0 +1,6 @@
+-- Testbed: result_type=set <marray <char, [0:10]>>
+-- Testbed: result_elements=2
+
+select a[*:*, 5]
+from ImgCharA as a
+
diff --git a/systemtest/testdata/testset3/proj1.ql.java.out b/systemtest/testdata/testset3/proj1.ql.java.out
new file mode 100644
index 0000000..c4c4737
--- /dev/null
+++ b/systemtest/testdata/testset3/proj1.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 11
+ 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 11
+ 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/testset3/proj1.ql.out b/systemtest/testdata/testset3/proj1.ql.out
new file mode 100644
index 0000000..495b98f
--- /dev/null
+++ b/systemtest/testdata/testset3/proj1.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <char, [0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 11
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 11
+ 1 1 1 1 1 1 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/testset3/proj2.ql b/systemtest/testdata/testset3/proj2.ql
new file mode 100644
index 0000000..21d51fd
--- /dev/null
+++ b/systemtest/testdata/testset3/proj2.ql
@@ -0,0 +1,6 @@
+-- Testbed: result_type=set <marray <char, [0:10]>>
+-- Testbed: result_elements=2
+
+select a[2,*:*]
+from ImgCharA as a
+
diff --git a/systemtest/testdata/testset3/proj2.ql.java.out b/systemtest/testdata/testset3/proj2.ql.java.out
new file mode 100644
index 0000000..c4c4737
--- /dev/null
+++ b/systemtest/testdata/testset3/proj2.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 11
+ 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 11
+ 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/testset3/proj2.ql.out b/systemtest/testdata/testset3/proj2.ql.out
new file mode 100644
index 0000000..495b98f
--- /dev/null
+++ b/systemtest/testdata/testset3/proj2.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <char, [0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 11
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 11
+ 1 1 1 1 1 1 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/testset3/proj3.ql b/systemtest/testdata/testset3/proj3.ql
new file mode 100644
index 0000000..3448f5b
--- /dev/null
+++ b/systemtest/testdata/testset3/proj3.ql
@@ -0,0 +1,6 @@
+-- Testbed: result_type=set <marray <char, [5:10]>>
+-- Testbed: result_elements=2
+
+select a[(5:10).lo:10, 5]
+from ImgCharA as a
+
diff --git a/systemtest/testdata/testset3/proj3.ql.java.out b/systemtest/testdata/testset3/proj3.ql.java.out
new file mode 100644
index 0000000..36eaaa0
--- /dev/null
+++ b/systemtest/testdata/testset3/proj3.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [5:10]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 6
+ 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [5:10]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 6
+ 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/testset3/proj3.ql.out b/systemtest/testdata/testset3/proj3.ql.out
new file mode 100644
index 0000000..d6c637b
--- /dev/null
+++ b/systemtest/testdata/testset3/proj3.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <char, [5:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [5:10]>
+ Type Schema...........: marray< char >
+ Domain................: [5:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 6
+ 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [5:10]>
+ Type Schema...........: marray< char >
+ Domain................: [5:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 6
+ 1 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/testset3/proj4.ql b/systemtest/testdata/testset3/proj4.ql
new file mode 100644
index 0000000..48500e3
--- /dev/null
+++ b/systemtest/testdata/testset3/proj4.ql
@@ -0,0 +1,6 @@
+-- Testbed: result_type=set <marray <char, [5:10]>>
+-- Testbed: result_elements=2
+
+select a[(5:10).lo, 5:10]
+from ImgCharA as a
+
diff --git a/systemtest/testdata/testset3/proj4.ql.java.out b/systemtest/testdata/testset3/proj4.ql.java.out
new file mode 100644
index 0000000..36eaaa0
--- /dev/null
+++ b/systemtest/testdata/testset3/proj4.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [5:10]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 6
+ 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [5:10]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 6
+ 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/testset3/proj4.ql.out b/systemtest/testdata/testset3/proj4.ql.out
new file mode 100644
index 0000000..d6c637b
--- /dev/null
+++ b/systemtest/testdata/testset3/proj4.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <char, [5:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [5:10]>
+ Type Schema...........: marray< char >
+ Domain................: [5:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 6
+ 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [5:10]>
+ Type Schema...........: marray< char >
+ Domain................: [5:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 6
+ 1 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/testset3/proj5.ql b/systemtest/testdata/testset3/proj5.ql
new file mode 100644
index 0000000..63d402e
--- /dev/null
+++ b/systemtest/testdata/testset3/proj5.ql
@@ -0,0 +1,6 @@
+-- Testbed: result_type=set <marray <char, [0:10]>>
+-- Testbed: result_elements=2
+
+select (a[*:*,2:8])[*:*,5]
+from ImgCharA as a
+
diff --git a/systemtest/testdata/testset3/proj5.ql.java.out b/systemtest/testdata/testset3/proj5.ql.java.out
new file mode 100644
index 0000000..c4c4737
--- /dev/null
+++ b/systemtest/testdata/testset3/proj5.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 11
+ 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10]
+ TilingDomain..........: [0:127999]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 11
+ 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/testset3/proj5.ql.out b/systemtest/testdata/testset3/proj5.ql.out
new file mode 100644
index 0000000..495b98f
--- /dev/null
+++ b/systemtest/testdata/testset3/proj5.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <char, [0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 11
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 11
+ 1 1 1 1 1 1 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/testset3/proj6.ql b/systemtest/testdata/testset3/proj6.ql
new file mode 100644
index 0000000..3cc3aaf
--- /dev/null
+++ b/systemtest/testdata/testset3/proj6.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <ulong, [0:10,0:10]>>
+-- Testbed: result_elements=2
+
+select a[5,0] * b
+from ImgULongC as a, ImgCharA as b
diff --git a/systemtest/testdata/testset3/proj6.ql.java.out b/systemtest/testdata/testset3/proj6.ql.java.out
new file mode 100644
index 0000000..620e52c
--- /dev/null
+++ b/systemtest/testdata/testset3/proj6.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 5 \ No newline at end of file
diff --git a/systemtest/testdata/testset3/proj6.ql.out b/systemtest/testdata/testset3/proj6.ql.out
new file mode 100644
index 0000000..6fd700a
--- /dev/null
+++ b/systemtest/testdata/testset3/proj6.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <ulong, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:10,0:10]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <ulong, [0:10,0:10]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 5 5 5 5 5 5 5 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 5
+ 5 5 5 5 5 5 5 5 5 5 5
+-- Testbed end block:
diff --git a/systemtest/testdata/testset3/sdom1.ql b/systemtest/testdata/testset3/sdom1.ql
new file mode 100644
index 0000000..b59d595
--- /dev/null
+++ b/systemtest/testdata/testset3/sdom1.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <char, [0:10,0:10]>>
+-- Testbed: result_elements=2
+
+select a sdom(a)
+from ImgCharA as a
diff --git a/systemtest/testdata/testset3/sdom1.ql.java.out b/systemtest/testdata/testset3/sdom1.ql.java.out
new file mode 100644
index 0000000..f2deb7a
--- /dev/null
+++ b/systemtest/testdata/testset3/sdom1.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/testset3/sdom1.ql.out b/systemtest/testdata/testset3/sdom1.ql.out
new file mode 100644
index 0000000..8e3e87c
--- /dev/null
+++ b/systemtest/testdata/testset3/sdom1.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <char, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/testset3/shift1.ql b/systemtest/testdata/testset3/shift1.ql
new file mode 100644
index 0000000..715d94b
--- /dev/null
+++ b/systemtest/testdata/testset3/shift1.ql
@@ -0,0 +1,2 @@
+select shift( a, [5,10] )
+from ImgCharD as a
diff --git a/systemtest/testdata/testset3/shift1.ql.java.out b/systemtest/testdata/testset3/shift1.ql.java.out
new file mode 100644
index 0000000..0a6d6a5
--- /dev/null
+++ b/systemtest/testdata/testset3/shift1.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [5:15,10:20]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 0 11 22 33 44 55 66 77 88 99 110 1 12 23 34 45 56 67 78 89 100 111 2 13 24 35 46 57 68 79 90 101 112 3 14 25 36 47 58 69 80 91 102 113 4 15 26 37 48 59 70 81 92 103 114 5 16 27 38 49 60 71 82 93 104 115 6 17 28 39 50 61 72 83 94 105 116 7 18 29 40 51 62 73 84 95 106 117 8 19 30 41 52 63 74 85 96 107 118 9 20 31 42 53 64 75 86 97 108 119 10 21 32 43 54 65 76 87 98 109 120 \ No newline at end of file
diff --git a/systemtest/testdata/testset3/shift1.ql.out b/systemtest/testdata/testset3/shift1.ql.out
new file mode 100644
index 0000000..7422eb4
--- /dev/null
+++ b/systemtest/testdata/testset3/shift1.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <char, [5:15,10:20]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [5:15,10:20]>
+ Type Schema...........: marray< char >
+ Domain................: [5:15,10:20]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 0 1 2 3 4 5 6 7 8 9 10
+ 11 12 13 14 15 16 17 18 19 20 21
+ 22 23 24 25 26 27 28 29 30 31 32
+ 33 34 35 36 37 38 39 40 41 42 43
+ 44 45 46 47 48 49 50 51 52 53 54
+ 55 56 57 58 59 60 61 62 63 64 65
+ 66 67 68 69 70 71 72 73 74 75 76
+ 77 78 79 80 81 82 83 84 85 86 87
+ 88 89 90 91 92 93 94 95 96 97 98
+ 99 100 101 102 103 104 105 106 107 108 109
+ 110 111 112 113 114 115 116 117 118 119 120
+-- Testbed end block:
diff --git a/systemtest/testdata/testset3/shift2.ql b/systemtest/testdata/testset3/shift2.ql
new file mode 100644
index 0000000..9c2abcd
--- /dev/null
+++ b/systemtest/testdata/testset3/shift2.ql
@@ -0,0 +1,2 @@
+select shift( a*2c, [5,10] )
+from ImgCharD as a
diff --git a/systemtest/testdata/testset3/shift2.ql.java.out b/systemtest/testdata/testset3/shift2.ql.java.out
new file mode 100644
index 0000000..c3eb53d
--- /dev/null
+++ b/systemtest/testdata/testset3/shift2.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [5:15,10:20]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 0 22 44 66 88 110 -124 -102 -80 -58 -36 2 24 46 68 90 112 -122 -100 -78 -56 -34 4 26 48 70 92 114 -120 -98 -76 -54 -32 6 28 50 72 94 116 -118 -96 -74 -52 -30 8 30 52 74 96 118 -116 -94 -72 -50 -28 10 32 54 76 98 120 -114 -92 -70 -48 -26 12 34 56 78 100 122 -112 -90 -68 -46 -24 14 36 58 80 102 124 -110 -88 -66 -44 -22 16 38 60 82 104 126 -108 -86 -64 -42 -20 18 40 62 84 106 -128 -106 -84 -62 -40 -18 20 42 64 86 108 -126 -104 -82 -60 -38 -16 \ No newline at end of file
diff --git a/systemtest/testdata/testset3/shift2.ql.out b/systemtest/testdata/testset3/shift2.ql.out
new file mode 100644
index 0000000..286db80
--- /dev/null
+++ b/systemtest/testdata/testset3/shift2.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <char, [5:15,10:20]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [5:15,10:20]>
+ Type Schema...........: marray< char >
+ Domain................: [5:15,10:20]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 0 2 4 6 8 10 12 14 16 18 20
+ 22 24 26 28 30 32 34 36 38 40 42
+ 44 46 48 50 52 54 56 58 60 62 64
+ 66 68 70 72 74 76 78 80 82 84 86
+ 88 90 92 94 96 98 100 102 104 106 108
+ 110 112 114 116 118 120 122 124 126 128 130
+ 132 134 136 138 140 142 144 146 148 150 152
+ 154 156 158 160 162 164 166 168 170 172 174
+ 176 178 180 182 184 186 188 190 192 194 196
+ 198 200 202 204 206 208 210 212 214 216 218
+ 220 222 224 226 228 230 232 234 236 238 240
+-- Testbed end block:
diff --git a/systemtest/testdata/testset3/shift3.ql b/systemtest/testdata/testset3/shift3.ql
new file mode 100644
index 0000000..c753d4b
--- /dev/null
+++ b/systemtest/testdata/testset3/shift3.ql
@@ -0,0 +1,2 @@
+select shift( a, [5,5] )[5:10,5:10]
+from ImgCharD as a
diff --git a/systemtest/testdata/testset3/shift3.ql.java.out b/systemtest/testdata/testset3/shift3.ql.java.out
new file mode 100644
index 0000000..61bf3f5
--- /dev/null
+++ b/systemtest/testdata/testset3/shift3.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [5:10,5:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 36
+ 0 11 22 33 44 55 1 12 23 34 45 56 2 13 24 35 46 57 3 14 25 36 47 58 4 15 26 37 48 59 5 16 27 38 49 60 \ No newline at end of file
diff --git a/systemtest/testdata/testset3/shift3.ql.out b/systemtest/testdata/testset3/shift3.ql.out
new file mode 100644
index 0000000..a52fe1a
--- /dev/null
+++ b/systemtest/testdata/testset3/shift3.ql.out
@@ -0,0 +1,19 @@
+-- Testbed line: result_type=set <marray <char, [5:10,5:10]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [5:10,5:10]>
+ Type Schema...........: marray< char >
+ Domain................: [5:10,5:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 36
+ 0 1 2 3 4 5
+ 11 12 13 14 15 16
+ 22 23 24 25 26 27
+ 33 34 35 36 37 38
+ 44 45 46 47 48 49
+ 55 56 57 58 59 60
+-- Testbed end block:
diff --git a/systemtest/testdata/testset3/shift4.ql b/systemtest/testdata/testset3/shift4.ql
new file mode 100644
index 0000000..677d9e3
--- /dev/null
+++ b/systemtest/testdata/testset3/shift4.ql
@@ -0,0 +1,2 @@
+select shift( a[5:10,5:10], [5,10] )
+from ImgCharD as a
diff --git a/systemtest/testdata/testset3/shift4.ql.java.out b/systemtest/testdata/testset3/shift4.ql.java.out
new file mode 100644
index 0000000..130def3
--- /dev/null
+++ b/systemtest/testdata/testset3/shift4.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [10:15,15:20]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 36
+ 60 71 82 93 104 115 61 72 83 94 105 116 62 73 84 95 106 117 63 74 85 96 107 118 64 75 86 97 108 119 65 76 87 98 109 120 \ No newline at end of file
diff --git a/systemtest/testdata/testset3/shift4.ql.out b/systemtest/testdata/testset3/shift4.ql.out
new file mode 100644
index 0000000..97d421b
--- /dev/null
+++ b/systemtest/testdata/testset3/shift4.ql.out
@@ -0,0 +1,19 @@
+-- Testbed line: result_type=set <marray <char, [10:15,15:20]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [10:15,15:20]>
+ Type Schema...........: marray< char >
+ Domain................: [10:15,15:20]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 36
+ 60 61 62 63 64 65
+ 71 72 73 74 75 76
+ 82 83 84 85 86 87
+ 93 94 95 96 97 98
+ 104 105 106 107 108 109
+ 115 116 117 118 119 120
+-- Testbed end block:
diff --git a/systemtest/testdata/testset3/shift41.ql b/systemtest/testdata/testset3/shift41.ql
new file mode 100644
index 0000000..03ae88b
--- /dev/null
+++ b/systemtest/testdata/testset3/shift41.ql
@@ -0,0 +1,2 @@
+select shift( a[5:*,5:*], [5,10] )
+from ImgCharD as a
diff --git a/systemtest/testdata/testset3/shift41.ql.java.out b/systemtest/testdata/testset3/shift41.ql.java.out
new file mode 100644
index 0000000..130def3
--- /dev/null
+++ b/systemtest/testdata/testset3/shift41.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [10:15,15:20]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 36
+ 60 71 82 93 104 115 61 72 83 94 105 116 62 73 84 95 106 117 63 74 85 96 107 118 64 75 86 97 108 119 65 76 87 98 109 120 \ No newline at end of file
diff --git a/systemtest/testdata/testset3/shift41.ql.out b/systemtest/testdata/testset3/shift41.ql.out
new file mode 100644
index 0000000..97d421b
--- /dev/null
+++ b/systemtest/testdata/testset3/shift41.ql.out
@@ -0,0 +1,19 @@
+-- Testbed line: result_type=set <marray <char, [10:15,15:20]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [10:15,15:20]>
+ Type Schema...........: marray< char >
+ Domain................: [10:15,15:20]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 36
+ 60 61 62 63 64 65
+ 71 72 73 74 75 76
+ 82 83 84 85 86 87
+ 93 94 95 96 97 98
+ 104 105 106 107 108 109
+ 115 116 117 118 119 120
+-- Testbed end block:
diff --git a/systemtest/testdata/testset3/trim1.ql b/systemtest/testdata/testset3/trim1.ql
new file mode 100644
index 0000000..9c7c048
--- /dev/null
+++ b/systemtest/testdata/testset3/trim1.ql
@@ -0,0 +1,6 @@
+-- Testbed: result_type=set <marray <char, [0:10,0:10]>>
+-- Testbed: result_elements=2
+
+select a[*:*, *:*]
+from ImgCharA as a
+
diff --git a/systemtest/testdata/testset3/trim1.ql.java.out b/systemtest/testdata/testset3/trim1.ql.java.out
new file mode 100644
index 0000000..f2deb7a
--- /dev/null
+++ b/systemtest/testdata/testset3/trim1.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 121
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/testset3/trim1.ql.out b/systemtest/testdata/testset3/trim1.ql.out
new file mode 100644
index 0000000..8e3e87c
--- /dev/null
+++ b/systemtest/testdata/testset3/trim1.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <char, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 121
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/testset3/trim2.ql b/systemtest/testdata/testset3/trim2.ql
new file mode 100644
index 0000000..7318b2e
--- /dev/null
+++ b/systemtest/testdata/testset3/trim2.ql
@@ -0,0 +1,6 @@
+-- Testbed: result_type=set <marray <char, [2:6,1:3]>>
+-- Testbed: result_elements=2
+
+select a[2:6, 1:3]
+from ImgCharA as a
+
diff --git a/systemtest/testdata/testset3/trim2.ql.java.out b/systemtest/testdata/testset3/trim2.ql.java.out
new file mode 100644
index 0000000..059ae11
--- /dev/null
+++ b/systemtest/testdata/testset3/trim2.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [2:6,1:3]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 15
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [2:6,1:3]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 15
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/testset3/trim2.ql.out b/systemtest/testdata/testset3/trim2.ql.out
new file mode 100644
index 0000000..0f287f9
--- /dev/null
+++ b/systemtest/testdata/testset3/trim2.ql.out
@@ -0,0 +1,28 @@
+-- Testbed line: result_type=set <marray <char, [2:6,1:3]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [2:6,1:3]>
+ Type Schema...........: marray< char >
+ Domain................: [2:6,1:3]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 15
+ 0 0 0 0 0
+ 0 0 0 0 0
+ 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [2:6,1:3]>
+ Type Schema...........: marray< char >
+ Domain................: [2:6,1:3]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 15
+ 1 1 1 1 1
+ 1 1 1 1 1
+ 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/testset3/trim3.ql b/systemtest/testdata/testset3/trim3.ql
new file mode 100644
index 0000000..88c7600
--- /dev/null
+++ b/systemtest/testdata/testset3/trim3.ql
@@ -0,0 +1,6 @@
+-- Testbed: result_type=set <marray <char, [5:10,0:10]>>
+-- Testbed: result_elements=2
+
+select a[(5:10).lo : 10, *:*]
+from ImgCharA as a
+
diff --git a/systemtest/testdata/testset3/trim3.ql.java.out b/systemtest/testdata/testset3/trim3.ql.java.out
new file mode 100644
index 0000000..ea59e7a
--- /dev/null
+++ b/systemtest/testdata/testset3/trim3.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [5:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 66
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [5:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 66
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/testset3/trim3.ql.out b/systemtest/testdata/testset3/trim3.ql.out
new file mode 100644
index 0000000..1d7e80d
--- /dev/null
+++ b/systemtest/testdata/testset3/trim3.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <char, [5:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [5:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [5:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 66
+ 0 0 0 0 0 0
+ 0 0 0 0 0 0
+ 0 0 0 0 0 0
+ 0 0 0 0 0 0
+ 0 0 0 0 0 0
+ 0 0 0 0 0 0
+ 0 0 0 0 0 0
+ 0 0 0 0 0 0
+ 0 0 0 0 0 0
+ 0 0 0 0 0 0
+ 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [5:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [5:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 66
+ 1 1 1 1 1 1
+ 1 1 1 1 1 1
+ 1 1 1 1 1 1
+ 1 1 1 1 1 1
+ 1 1 1 1 1 1
+ 1 1 1 1 1 1
+ 1 1 1 1 1 1
+ 1 1 1 1 1 1
+ 1 1 1 1 1 1
+ 1 1 1 1 1 1
+ 1 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/testset3/trim4.ql b/systemtest/testdata/testset3/trim4.ql
new file mode 100644
index 0000000..b916e52
--- /dev/null
+++ b/systemtest/testdata/testset3/trim4.ql
@@ -0,0 +1,6 @@
+-- Testbed: result_type=set <marray <char, [6:10,0:10]>>
+-- Testbed: result_elements=2
+
+select a[(5:6).hi : 10, *:*]
+from ImgCharA as a
+
diff --git a/systemtest/testdata/testset3/trim4.ql.java.out b/systemtest/testdata/testset3/trim4.ql.java.out
new file mode 100644
index 0000000..5a35f08
--- /dev/null
+++ b/systemtest/testdata/testset3/trim4.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [6:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 55
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [6:10,0:10]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 55
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/testset3/trim4.ql.out b/systemtest/testdata/testset3/trim4.ql.out
new file mode 100644
index 0000000..80cdb59
--- /dev/null
+++ b/systemtest/testdata/testset3/trim4.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <char, [6:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [6:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [6:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 55
+ 0 0 0 0 0
+ 0 0 0 0 0
+ 0 0 0 0 0
+ 0 0 0 0 0
+ 0 0 0 0 0
+ 0 0 0 0 0
+ 0 0 0 0 0
+ 0 0 0 0 0
+ 0 0 0 0 0
+ 0 0 0 0 0
+ 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [6:10,0:10]>
+ Type Schema...........: marray< char >
+ Domain................: [6:10,0:10]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 55
+ 1 1 1 1 1
+ 1 1 1 1 1
+ 1 1 1 1 1
+ 1 1 1 1 1
+ 1 1 1 1 1
+ 1 1 1 1 1
+ 1 1 1 1 1
+ 1 1 1 1 1
+ 1 1 1 1 1
+ 1 1 1 1 1
+ 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/testset3/trim5.ql b/systemtest/testdata/testset3/trim5.ql
new file mode 100644
index 0000000..b06e25c
--- /dev/null
+++ b/systemtest/testdata/testset3/trim5.ql
@@ -0,0 +1,6 @@
+-- Testbed: result_type=set <marray <char, [0:10,4:6]>>
+-- Testbed: result_elements=2
+
+select (a[*:*,2:8])[*:*,4:6]
+from ImgCharA as a
+
diff --git a/systemtest/testdata/testset3/trim5.ql.java.out b/systemtest/testdata/testset3/trim5.ql.java.out
new file mode 100644
index 0000000..7b7cb2c
--- /dev/null
+++ b/systemtest/testdata/testset3/trim5.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,4:6]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 33
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayByte
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,4:6]
+ TilingDomain..........: [0:356,0:356]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 1
+ Data format...........: 0
+ Data size (bytes).....: 33
+ 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 \ No newline at end of file
diff --git a/systemtest/testdata/testset3/trim5.ql.out b/systemtest/testdata/testset3/trim5.ql.out
new file mode 100644
index 0000000..09d0bd4
--- /dev/null
+++ b/systemtest/testdata/testset3/trim5.ql.out
@@ -0,0 +1,28 @@
+-- Testbed line: result_type=set <marray <char, [0:10,4:6]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <char, [0:10,4:6]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,4:6]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 33
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <char, [0:10,4:6]>
+ Type Schema...........: marray< char >
+ Domain................: [0:10,4:6]
+ Base Type Schema......: char
+ Base Type Length......: 1
+ Data format.......... : Array
+ Data size (bytes).... : 33
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/abs_1.ql b/systemtest/testdata/unaryfunc/abs_1.ql
new file mode 100644
index 0000000..e90ab87
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_1.ql
@@ -0,0 +1,2 @@
+
+ select abs(-1) from ImgCharA -- 1
diff --git a/systemtest/testdata/unaryfunc/abs_1.ql.java.out b/systemtest/testdata/unaryfunc/abs_1.ql.java.out
new file mode 100644
index 0000000..85aae69
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_1.ql.java.out
@@ -0,0 +1 @@
+1.01.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/abs_1.ql.out b/systemtest/testdata/unaryfunc/abs_1.ql.out
new file mode 100644
index 0000000..5b5eff0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1
+Element 2: 1
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/abs_2.ql b/systemtest/testdata/unaryfunc/abs_2.ql
new file mode 100644
index 0000000..dd63ead
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_2.ql
@@ -0,0 +1,2 @@
+
+ select abs(-3.141592) from ImgCharA -- pi
diff --git a/systemtest/testdata/unaryfunc/abs_2.ql.java.out b/systemtest/testdata/unaryfunc/abs_2.ql.java.out
new file mode 100644
index 0000000..ac30b53
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_2.ql.java.out
@@ -0,0 +1 @@
+3.1415920257568363.141592025756836 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/abs_2.ql.out b/systemtest/testdata/unaryfunc/abs_2.ql.out
new file mode 100644
index 0000000..eaf926b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_2.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 3.14159
+Element 2: 3.14159
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/abs_3.ql b/systemtest/testdata/unaryfunc/abs_3.ql
new file mode 100644
index 0000000..35bc3df
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_3.ql
@@ -0,0 +1,2 @@
+
+ select abs(0) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/abs_3.ql.java.out b/systemtest/testdata/unaryfunc/abs_3.ql.java.out
new file mode 100644
index 0000000..b2024e1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_3.ql.java.out
@@ -0,0 +1 @@
+0.00.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/abs_3.ql.out b/systemtest/testdata/unaryfunc/abs_3.ql.out
new file mode 100644
index 0000000..eb05dc2
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_3.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0
+Element 2: 0
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/abs_4.ql b/systemtest/testdata/unaryfunc/abs_4.ql
new file mode 100644
index 0000000..5563163
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_4.ql
@@ -0,0 +1,2 @@
+
+ select abs(-0.0) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/abs_4.ql.java.out b/systemtest/testdata/unaryfunc/abs_4.ql.java.out
new file mode 100644
index 0000000..b2024e1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_4.ql.java.out
@@ -0,0 +1 @@
+0.00.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/abs_4.ql.out b/systemtest/testdata/unaryfunc/abs_4.ql.out
new file mode 100644
index 0000000..eb05dc2
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_4.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0
+Element 2: 0
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/abs_5.ql b/systemtest/testdata/unaryfunc/abs_5.ql
new file mode 100644
index 0000000..9d41e43
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_5.ql
@@ -0,0 +1,2 @@
+
+ select abs(1) from ImgCharA -- 1
diff --git a/systemtest/testdata/unaryfunc/abs_5.ql.java.out b/systemtest/testdata/unaryfunc/abs_5.ql.java.out
new file mode 100644
index 0000000..85aae69
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_5.ql.java.out
@@ -0,0 +1 @@
+1.01.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/abs_5.ql.out b/systemtest/testdata/unaryfunc/abs_5.ql.out
new file mode 100644
index 0000000..5b5eff0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_5.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1
+Element 2: 1
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/abs_6.ql b/systemtest/testdata/unaryfunc/abs_6.ql
new file mode 100644
index 0000000..00bdaa9
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_6.ql
@@ -0,0 +1,2 @@
+
+ select abs(3.141592) from ImgCharA -- pi
diff --git a/systemtest/testdata/unaryfunc/abs_6.ql.java.out b/systemtest/testdata/unaryfunc/abs_6.ql.java.out
new file mode 100644
index 0000000..ac30b53
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_6.ql.java.out
@@ -0,0 +1 @@
+3.1415920257568363.141592025756836 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/abs_6.ql.out b/systemtest/testdata/unaryfunc/abs_6.ql.out
new file mode 100644
index 0000000..eaf926b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/abs_6.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 3.14159
+Element 2: 3.14159
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/acos_1.ql b/systemtest/testdata/unaryfunc/acos_1.ql
new file mode 100644
index 0000000..76b54e7
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_1.ql
@@ -0,0 +1,2 @@
+
+ select arccos(-1) from ImgCharA -- pi
diff --git a/systemtest/testdata/unaryfunc/acos_1.ql.java.out b/systemtest/testdata/unaryfunc/acos_1.ql.java.out
new file mode 100644
index 0000000..8144360
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_1.ql.java.out
@@ -0,0 +1 @@
+3.1415926535897933.141592653589793 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/acos_1.ql.out b/systemtest/testdata/unaryfunc/acos_1.ql.out
new file mode 100644
index 0000000..eaf926b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 3.14159
+Element 2: 3.14159
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/acos_2.ql b/systemtest/testdata/unaryfunc/acos_2.ql
new file mode 100644
index 0000000..c3abe5f
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_2.ql
@@ -0,0 +1,2 @@
+
+ select 2 * arccos(-0) from ImgCharA -- pi
diff --git a/systemtest/testdata/unaryfunc/acos_2.ql.java.out b/systemtest/testdata/unaryfunc/acos_2.ql.java.out
new file mode 100644
index 0000000..8144360
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_2.ql.java.out
@@ -0,0 +1 @@
+3.1415926535897933.141592653589793 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/acos_2.ql.out b/systemtest/testdata/unaryfunc/acos_2.ql.out
new file mode 100644
index 0000000..eaf926b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_2.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 3.14159
+Element 2: 3.14159
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/acos_3.ql b/systemtest/testdata/unaryfunc/acos_3.ql
new file mode 100644
index 0000000..78a0d31
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_3.ql
@@ -0,0 +1,2 @@
+
+ select 2*arccos(0) from ImgCharA -- pi
diff --git a/systemtest/testdata/unaryfunc/acos_3.ql.java.out b/systemtest/testdata/unaryfunc/acos_3.ql.java.out
new file mode 100644
index 0000000..8144360
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_3.ql.java.out
@@ -0,0 +1 @@
+3.1415926535897933.141592653589793 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/acos_3.ql.out b/systemtest/testdata/unaryfunc/acos_3.ql.out
new file mode 100644
index 0000000..eaf926b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_3.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 3.14159
+Element 2: 3.14159
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/acos_4.ql b/systemtest/testdata/unaryfunc/acos_4.ql
new file mode 100644
index 0000000..fc466df
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_4.ql
@@ -0,0 +1,2 @@
+
+ select 4 * arccos(sqrt(2)/2) from ImgCharA -- pi
diff --git a/systemtest/testdata/unaryfunc/acos_4.ql.java.out b/systemtest/testdata/unaryfunc/acos_4.ql.java.out
new file mode 100644
index 0000000..8144360
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_4.ql.java.out
@@ -0,0 +1 @@
+3.1415926535897933.141592653589793 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/acos_4.ql.out b/systemtest/testdata/unaryfunc/acos_4.ql.out
new file mode 100644
index 0000000..eaf926b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_4.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 3.14159
+Element 2: 3.14159
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/acos_5.ql b/systemtest/testdata/unaryfunc/acos_5.ql
new file mode 100644
index 0000000..ee5be77
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_5.ql
@@ -0,0 +1,2 @@
+
+ select arccos(1) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/acos_5.ql.java.out b/systemtest/testdata/unaryfunc/acos_5.ql.java.out
new file mode 100644
index 0000000..b2024e1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_5.ql.java.out
@@ -0,0 +1 @@
+0.00.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/acos_5.ql.out b/systemtest/testdata/unaryfunc/acos_5.ql.out
new file mode 100644
index 0000000..eb05dc2
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_5.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0
+Element 2: 0
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/acos_dom_1.ql b/systemtest/testdata/unaryfunc/acos_dom_1.ql
new file mode 100644
index 0000000..f8ba915
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_dom_1.ql
@@ -0,0 +1,2 @@
+
+ select arccos(-3.14) from ImgCharA -- errno 510: EDOM
diff --git a/systemtest/testdata/unaryfunc/acos_dom_1.ql.java.out b/systemtest/testdata/unaryfunc/acos_dom_1.ql.java.out
new file mode 100644
index 0000000..9310cf4
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_dom_1.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 510 in line 4, column 9, near token arccos: The argument is outside the function domain. \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/acos_dom_1.ql.out b/systemtest/testdata/unaryfunc/acos_dom_1.ql.out
new file mode 100644
index 0000000..0e9ec7e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_dom_1.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=510
diff --git a/systemtest/testdata/unaryfunc/acos_dom_2.ql b/systemtest/testdata/unaryfunc/acos_dom_2.ql
new file mode 100644
index 0000000..14516d0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_dom_2.ql
@@ -0,0 +1,2 @@
+
+ select arccos(1.1) from ImgCharA -- errno 510: EDOM
diff --git a/systemtest/testdata/unaryfunc/acos_dom_2.ql.java.out b/systemtest/testdata/unaryfunc/acos_dom_2.ql.java.out
new file mode 100644
index 0000000..9310cf4
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_dom_2.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 510 in line 4, column 9, near token arccos: The argument is outside the function domain. \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/acos_dom_2.ql.out b/systemtest/testdata/unaryfunc/acos_dom_2.ql.out
new file mode 100644
index 0000000..0e9ec7e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/acos_dom_2.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=510
diff --git a/systemtest/testdata/unaryfunc/asin_1.ql b/systemtest/testdata/unaryfunc/asin_1.ql
new file mode 100644
index 0000000..3c3d03b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_1.ql
@@ -0,0 +1,2 @@
+
+ select arcsin(-1) from ImgCharA -- -pi/2 (-1.5707...)
diff --git a/systemtest/testdata/unaryfunc/asin_1.ql.java.out b/systemtest/testdata/unaryfunc/asin_1.ql.java.out
new file mode 100644
index 0000000..9217cca
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_1.ql.java.out
@@ -0,0 +1 @@
+-1.5707963267948966-1.5707963267948966 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/asin_1.ql.out b/systemtest/testdata/unaryfunc/asin_1.ql.out
new file mode 100644
index 0000000..8c62930
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: -1.5708
+Element 2: -1.5708
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/asin_2.ql b/systemtest/testdata/unaryfunc/asin_2.ql
new file mode 100644
index 0000000..7f7d3a7
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_2.ql
@@ -0,0 +1,2 @@
+
+ select arcsin(-0) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/asin_2.ql.java.out b/systemtest/testdata/unaryfunc/asin_2.ql.java.out
new file mode 100644
index 0000000..b2024e1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_2.ql.java.out
@@ -0,0 +1 @@
+0.00.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/asin_2.ql.out b/systemtest/testdata/unaryfunc/asin_2.ql.out
new file mode 100644
index 0000000..eb05dc2
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_2.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0
+Element 2: 0
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/asin_3.ql b/systemtest/testdata/unaryfunc/asin_3.ql
new file mode 100644
index 0000000..f6a8e51
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_3.ql
@@ -0,0 +1,2 @@
+
+ select arcsin(0) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/asin_3.ql.java.out b/systemtest/testdata/unaryfunc/asin_3.ql.java.out
new file mode 100644
index 0000000..b2024e1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_3.ql.java.out
@@ -0,0 +1 @@
+0.00.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/asin_3.ql.out b/systemtest/testdata/unaryfunc/asin_3.ql.out
new file mode 100644
index 0000000..eb05dc2
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_3.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0
+Element 2: 0
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/asin_4.ql b/systemtest/testdata/unaryfunc/asin_4.ql
new file mode 100644
index 0000000..4c760bd
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_4.ql
@@ -0,0 +1,2 @@
+
+ select 4 * arcsin(sqrt(2)/2) from ImgCharA -- pi
diff --git a/systemtest/testdata/unaryfunc/asin_4.ql.java.out b/systemtest/testdata/unaryfunc/asin_4.ql.java.out
new file mode 100644
index 0000000..45c5e5d
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_4.ql.java.out
@@ -0,0 +1 @@
+3.14159265358979363.1415926535897936 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/asin_4.ql.out b/systemtest/testdata/unaryfunc/asin_4.ql.out
new file mode 100644
index 0000000..eaf926b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_4.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 3.14159
+Element 2: 3.14159
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/asin_5.ql b/systemtest/testdata/unaryfunc/asin_5.ql
new file mode 100644
index 0000000..8d9e716
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_5.ql
@@ -0,0 +1,2 @@
+
+ select 2 * arcsin(1) from ImgCharA -- pi
diff --git a/systemtest/testdata/unaryfunc/asin_5.ql.java.out b/systemtest/testdata/unaryfunc/asin_5.ql.java.out
new file mode 100644
index 0000000..8144360
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_5.ql.java.out
@@ -0,0 +1 @@
+3.1415926535897933.141592653589793 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/asin_5.ql.out b/systemtest/testdata/unaryfunc/asin_5.ql.out
new file mode 100644
index 0000000..eaf926b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_5.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 3.14159
+Element 2: 3.14159
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/asin_dom_1.ql b/systemtest/testdata/unaryfunc/asin_dom_1.ql
new file mode 100644
index 0000000..e22196c
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_dom_1.ql
@@ -0,0 +1,2 @@
+
+ select arcsin(-3.14) from ImgCharA -- errno 510: EDOM
diff --git a/systemtest/testdata/unaryfunc/asin_dom_1.ql.java.out b/systemtest/testdata/unaryfunc/asin_dom_1.ql.java.out
new file mode 100644
index 0000000..9eeb7b5
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_dom_1.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 510 in line 4, column 9, near token arcsin: The argument is outside the function domain. \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/asin_dom_1.ql.out b/systemtest/testdata/unaryfunc/asin_dom_1.ql.out
new file mode 100644
index 0000000..0e9ec7e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_dom_1.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=510
diff --git a/systemtest/testdata/unaryfunc/asin_dom_2.ql b/systemtest/testdata/unaryfunc/asin_dom_2.ql
new file mode 100644
index 0000000..32cf104
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_dom_2.ql
@@ -0,0 +1,2 @@
+
+ select arcsin(3) from ImgCharA -- errno 510: EDOM
diff --git a/systemtest/testdata/unaryfunc/asin_dom_2.ql.java.out b/systemtest/testdata/unaryfunc/asin_dom_2.ql.java.out
new file mode 100644
index 0000000..9eeb7b5
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_dom_2.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 510 in line 4, column 9, near token arcsin: The argument is outside the function domain. \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/asin_dom_2.ql.out b/systemtest/testdata/unaryfunc/asin_dom_2.ql.out
new file mode 100644
index 0000000..0e9ec7e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/asin_dom_2.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=510
diff --git a/systemtest/testdata/unaryfunc/atan_1.ql b/systemtest/testdata/unaryfunc/atan_1.ql
new file mode 100644
index 0000000..8e8dd8a
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/atan_1.ql
@@ -0,0 +1,2 @@
+
+ select 2*arctan(-1000000) from ImgCharA -- -pi
diff --git a/systemtest/testdata/unaryfunc/atan_1.ql.java.out b/systemtest/testdata/unaryfunc/atan_1.ql.java.out
new file mode 100644
index 0000000..e17610a
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/atan_1.ql.java.out
@@ -0,0 +1 @@
+-3.1415906535897933-3.1415906535897933 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/atan_1.ql.out b/systemtest/testdata/unaryfunc/atan_1.ql.out
new file mode 100644
index 0000000..d410008
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/atan_1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: -3.14159
+Element 2: -3.14159
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/atan_2.ql b/systemtest/testdata/unaryfunc/atan_2.ql
new file mode 100644
index 0000000..a4a4e6a
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/atan_2.ql
@@ -0,0 +1,2 @@
+
+ select 4*arctan(-1) from ImgCharA -- -pi
diff --git a/systemtest/testdata/unaryfunc/atan_2.ql.java.out b/systemtest/testdata/unaryfunc/atan_2.ql.java.out
new file mode 100644
index 0000000..c7210be
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/atan_2.ql.java.out
@@ -0,0 +1 @@
+-3.141592653589793-3.141592653589793 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/atan_2.ql.out b/systemtest/testdata/unaryfunc/atan_2.ql.out
new file mode 100644
index 0000000..d410008
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/atan_2.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: -3.14159
+Element 2: -3.14159
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/atan_3.ql b/systemtest/testdata/unaryfunc/atan_3.ql
new file mode 100644
index 0000000..7241674
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/atan_3.ql
@@ -0,0 +1,2 @@
+
+ select arctan(0) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/atan_3.ql.java.out b/systemtest/testdata/unaryfunc/atan_3.ql.java.out
new file mode 100644
index 0000000..b2024e1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/atan_3.ql.java.out
@@ -0,0 +1 @@
+0.00.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/atan_3.ql.out b/systemtest/testdata/unaryfunc/atan_3.ql.out
new file mode 100644
index 0000000..eb05dc2
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/atan_3.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0
+Element 2: 0
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/atan_4.ql b/systemtest/testdata/unaryfunc/atan_4.ql
new file mode 100644
index 0000000..6f93f44
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/atan_4.ql
@@ -0,0 +1,2 @@
+
+ select 4*arctan(1) from ImgCharA -- pi
diff --git a/systemtest/testdata/unaryfunc/atan_4.ql.java.out b/systemtest/testdata/unaryfunc/atan_4.ql.java.out
new file mode 100644
index 0000000..8144360
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/atan_4.ql.java.out
@@ -0,0 +1 @@
+3.1415926535897933.141592653589793 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/atan_4.ql.out b/systemtest/testdata/unaryfunc/atan_4.ql.out
new file mode 100644
index 0000000..eaf926b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/atan_4.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 3.14159
+Element 2: 3.14159
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/atan_5.ql b/systemtest/testdata/unaryfunc/atan_5.ql
new file mode 100644
index 0000000..199f553
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/atan_5.ql
@@ -0,0 +1,2 @@
+
+ select 2*arctan(10000000) from ImgCharA -- pi
diff --git a/systemtest/testdata/unaryfunc/atan_5.ql.java.out b/systemtest/testdata/unaryfunc/atan_5.ql.java.out
new file mode 100644
index 0000000..8cd77d4
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/atan_5.ql.java.out
@@ -0,0 +1 @@
+3.14159245358979343.1415924535897934 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/atan_5.ql.out b/systemtest/testdata/unaryfunc/atan_5.ql.out
new file mode 100644
index 0000000..eaf926b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/atan_5.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 3.14159
+Element 2: 3.14159
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/coll_1.ql b/systemtest/testdata/unaryfunc/coll_1.ql
new file mode 100644
index 0000000..f972aa8
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_1.ql
@@ -0,0 +1,2 @@
+
+ select abs(ImgCharA) from ImgCharA
diff --git a/systemtest/testdata/unaryfunc/coll_1.ql.java.out b/systemtest/testdata/unaryfunc/coll_1.ql.java.out
new file mode 100644
index 0000000..f500de4
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_1.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/coll_1.ql.out b/systemtest/testdata/unaryfunc/coll_1.ql.out
new file mode 100644
index 0000000..262c46a
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_1.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <double, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/coll_10.ql b/systemtest/testdata/unaryfunc/coll_10.ql
new file mode 100644
index 0000000..d38b0f7
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_10.ql
@@ -0,0 +1,2 @@
+
+ select arccos(ImgCharA) from ImgCharA
diff --git a/systemtest/testdata/unaryfunc/coll_10.ql.java.out b/systemtest/testdata/unaryfunc/coll_10.ql.java.out
new file mode 100644
index 0000000..1238907
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_10.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/coll_10.ql.out b/systemtest/testdata/unaryfunc/coll_10.ql.out
new file mode 100644
index 0000000..0056551
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_10.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <double, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+Image 2
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/coll_11.ql b/systemtest/testdata/unaryfunc/coll_11.ql
new file mode 100644
index 0000000..af905f7
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_11.ql
@@ -0,0 +1,2 @@
+
+ select arctan(ImgCharA) from ImgCharA
diff --git a/systemtest/testdata/unaryfunc/coll_11.ql.java.out b/systemtest/testdata/unaryfunc/coll_11.ql.java.out
new file mode 100644
index 0000000..7560fcf
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_11.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 63 -23 33 -5 84 68 45 24 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/coll_11.ql.out b/systemtest/testdata/unaryfunc/coll_11.ql.out
new file mode 100644
index 0000000..bba7c3e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_11.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <double, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398
+0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398
+0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398
+0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398
+0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398
+0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398
+0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398
+0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398
+0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398
+0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398
+0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398 0.785398
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/coll_2.ql b/systemtest/testdata/unaryfunc/coll_2.ql
new file mode 100644
index 0000000..62d365a
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_2.ql
@@ -0,0 +1,2 @@
+
+ select sqrt(ImgCharA) from ImgCharA
diff --git a/systemtest/testdata/unaryfunc/coll_2.ql.java.out b/systemtest/testdata/unaryfunc/coll_2.ql.java.out
new file mode 100644
index 0000000..f500de4
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_2.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/coll_2.ql.out b/systemtest/testdata/unaryfunc/coll_2.ql.out
new file mode 100644
index 0000000..262c46a
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_2.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <double, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/coll_3.ql b/systemtest/testdata/unaryfunc/coll_3.ql
new file mode 100644
index 0000000..312e973
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_3.ql
@@ -0,0 +1,2 @@
+
+ select exp(ImgCharA) from ImgCharA
diff --git a/systemtest/testdata/unaryfunc/coll_3.ql.java.out b/systemtest/testdata/unaryfunc/coll_3.ql.java.out
new file mode 100644
index 0000000..7502b88
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_3.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 64 5 -65 10 -117 20 87 105 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/coll_3.ql.out b/systemtest/testdata/unaryfunc/coll_3.ql.out
new file mode 100644
index 0000000..59576c4
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_3.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <double, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+Image 2
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828
+2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828
+2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828
+2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828
+2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828
+2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828
+2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828
+2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828
+2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828
+2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828
+2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828 2.71828
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/coll_4.ql b/systemtest/testdata/unaryfunc/coll_4.ql
new file mode 100644
index 0000000..451a832
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_4.ql
@@ -0,0 +1,2 @@
+
+ select ln(ImgCharA) from ImgCharA -- errno 511: ERANGE
diff --git a/systemtest/testdata/unaryfunc/coll_4.ql.java.out b/systemtest/testdata/unaryfunc/coll_4.ql.java.out
new file mode 100644
index 0000000..c77df2d
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_4.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 511 in line 4, column 9, near token ln: The function result exceeds the allowed range. \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/coll_4.ql.out b/systemtest/testdata/unaryfunc/coll_4.ql.out
new file mode 100644
index 0000000..081dfc0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_4.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=511
diff --git a/systemtest/testdata/unaryfunc/coll_5.ql b/systemtest/testdata/unaryfunc/coll_5.ql
new file mode 100644
index 0000000..3b20d59
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_5.ql
@@ -0,0 +1,2 @@
+
+ select log(ImgCharA) from ImgCharA -- errno 511: ERANGE
diff --git a/systemtest/testdata/unaryfunc/coll_5.ql.java.out b/systemtest/testdata/unaryfunc/coll_5.ql.java.out
new file mode 100644
index 0000000..38465d1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_5.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 511 in line 4, column 9, near token log: The function result exceeds the allowed range. \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/coll_5.ql.out b/systemtest/testdata/unaryfunc/coll_5.ql.out
new file mode 100644
index 0000000..081dfc0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_5.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=511
diff --git a/systemtest/testdata/unaryfunc/coll_6.ql b/systemtest/testdata/unaryfunc/coll_6.ql
new file mode 100644
index 0000000..cb45c09
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_6.ql
@@ -0,0 +1,2 @@
+
+ select sin(ImgCharA) from ImgCharA
diff --git a/systemtest/testdata/unaryfunc/coll_6.ql.java.out b/systemtest/testdata/unaryfunc/coll_6.ql.java.out
new file mode 100644
index 0000000..fc98afc
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_6.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 63 -22 -19 84 -113 9 12 -18 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/coll_6.ql.out b/systemtest/testdata/unaryfunc/coll_6.ql.out
new file mode 100644
index 0000000..0a35a5a
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_6.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <double, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471
+0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471
+0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471
+0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471
+0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471
+0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471
+0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471
+0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471
+0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471
+0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471
+0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471 0.841471
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/coll_7.ql b/systemtest/testdata/unaryfunc/coll_7.ql
new file mode 100644
index 0000000..f68389b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_7.ql
@@ -0,0 +1,2 @@
+
+ select cos(ImgCharA) from ImgCharA
diff --git a/systemtest/testdata/unaryfunc/coll_7.ql.java.out b/systemtest/testdata/unaryfunc/coll_7.ql.java.out
new file mode 100644
index 0000000..685a4f0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_7.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0 63 -16 0 0 0 0 0 0
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 63 -31 74 40 15 -75 6 -116 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/coll_7.ql.out b/systemtest/testdata/unaryfunc/coll_7.ql.out
new file mode 100644
index 0000000..6981952
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_7.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <double, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+ 1 1 1 1 1 1 1 1 1 1 1
+Image 2
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302
+0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302
+0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302
+0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302
+0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302
+0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302
+0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302
+0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302
+0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302
+0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302
+0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302 0.540302
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/coll_8.ql b/systemtest/testdata/unaryfunc/coll_8.ql
new file mode 100644
index 0000000..810d72e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_8.ql
@@ -0,0 +1,2 @@
+
+ select tan(ImgCharA) from ImgCharA
diff --git a/systemtest/testdata/unaryfunc/coll_8.ql.java.out b/systemtest/testdata/unaryfunc/coll_8.ql.java.out
new file mode 100644
index 0000000..a8418f4
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_8.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 63 -8 -21 36 92 -66 -29 -90 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/coll_8.ql.out b/systemtest/testdata/unaryfunc/coll_8.ql.out
new file mode 100644
index 0000000..62327b7
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_8.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <double, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741
+1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741
+1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741
+1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741
+1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741
+1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741
+1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741
+1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741
+1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741
+1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741
+1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741 1.55741
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/coll_9.ql b/systemtest/testdata/unaryfunc/coll_9.ql
new file mode 100644
index 0000000..9e099c5
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_9.ql
@@ -0,0 +1,2 @@
+
+ select arcsin(ImgCharA) from ImgCharA
diff --git a/systemtest/testdata/unaryfunc/coll_9.ql.java.out b/systemtest/testdata/unaryfunc/coll_9.ql.java.out
new file mode 100644
index 0000000..56d33b4
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_9.ql.java.out
@@ -0,0 +1,29 @@
+
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+rasj.RasMArrayDouble
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 63 -7 33 -5 84 68 45 24 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/coll_9.ql.out b/systemtest/testdata/unaryfunc/coll_9.ql.out
new file mode 100644
index 0000000..42eada3
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/coll_9.ql.out
@@ -0,0 +1,44 @@
+-- Testbed line: result_type=set <marray <double, [0:10,0:10]>>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0
+Image 2
+GMarray
+ Type Structure........: marray <double, [0:10,0:10]>
+ Type Schema...........: marray< double >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: double
+ Base Type Length......: 8
+ Data format.......... : Array
+ Data size (bytes).... : 968
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708 1.5708
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/cos_1.ql b/systemtest/testdata/unaryfunc/cos_1.ql
new file mode 100644
index 0000000..232f416
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_1.ql
@@ -0,0 +1,2 @@
+
+ select cos(0) from ImgCharA -- 1
diff --git a/systemtest/testdata/unaryfunc/cos_1.ql.java.out b/systemtest/testdata/unaryfunc/cos_1.ql.java.out
new file mode 100644
index 0000000..85aae69
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_1.ql.java.out
@@ -0,0 +1 @@
+1.01.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/cos_1.ql.out b/systemtest/testdata/unaryfunc/cos_1.ql.out
new file mode 100644
index 0000000..5b5eff0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1
+Element 2: 1
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/cos_2.ql b/systemtest/testdata/unaryfunc/cos_2.ql
new file mode 100644
index 0000000..48f873b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_2.ql
@@ -0,0 +1,2 @@
+
+ select 2 * cos(3.1415927 / 4) from ImgCharA -- 1.4142136
diff --git a/systemtest/testdata/unaryfunc/cos_2.ql.java.out b/systemtest/testdata/unaryfunc/cos_2.ql.java.out
new file mode 100644
index 0000000..e3b68f6
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_2.ql.java.out
@@ -0,0 +1 @@
+1.41421353146447441.4142135314644744 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/cos_2.ql.out b/systemtest/testdata/unaryfunc/cos_2.ql.out
new file mode 100644
index 0000000..a23dbb9
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_2.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1.41421
+Element 2: 1.41421
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/cos_3.ql b/systemtest/testdata/unaryfunc/cos_3.ql
new file mode 100644
index 0000000..27ecf3b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_3.ql
@@ -0,0 +1,2 @@
+
+ select cos(3.1415927/2) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/cos_3.ql.java.out b/systemtest/testdata/unaryfunc/cos_3.ql.java.out
new file mode 100644
index 0000000..84dc787
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_3.ql.java.out
@@ -0,0 +1 @@
+-4.371139000186444E-8-4.371139000186444E-8 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/cos_3.ql.out b/systemtest/testdata/unaryfunc/cos_3.ql.out
new file mode 100644
index 0000000..e69d8ef
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_3.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: -4.37114e-08
+Element 2: -4.37114e-08
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/cos_4.ql b/systemtest/testdata/unaryfunc/cos_4.ql
new file mode 100644
index 0000000..997189e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_4.ql
@@ -0,0 +1,2 @@
+
+ select cos(3.1415927) from ImgCharA -- -1
diff --git a/systemtest/testdata/unaryfunc/cos_4.ql.java.out b/systemtest/testdata/unaryfunc/cos_4.ql.java.out
new file mode 100644
index 0000000..b902162
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_4.ql.java.out
@@ -0,0 +1 @@
+-0.9999999999999962-0.9999999999999962 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/cos_4.ql.out b/systemtest/testdata/unaryfunc/cos_4.ql.out
new file mode 100644
index 0000000..0f7dc93
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_4.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: -1
+Element 2: -1
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/cos_5.ql b/systemtest/testdata/unaryfunc/cos_5.ql
new file mode 100644
index 0000000..094f44a
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_5.ql
@@ -0,0 +1,2 @@
+
+ select cos(3*3.1415927/2) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/cos_5.ql.java.out b/systemtest/testdata/unaryfunc/cos_5.ql.java.out
new file mode 100644
index 0000000..2e699af
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_5.ql.java.out
@@ -0,0 +1 @@
+1.1924880454812102E-81.1924880454812102E-8 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/cos_5.ql.out b/systemtest/testdata/unaryfunc/cos_5.ql.out
new file mode 100644
index 0000000..3a2efa1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_5.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1.19249e-08
+Element 2: 1.19249e-08
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/cos_6.ql b/systemtest/testdata/unaryfunc/cos_6.ql
new file mode 100644
index 0000000..393423c
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_6.ql
@@ -0,0 +1,2 @@
+
+ select cos(2* 3.1415927) from ImgCharA -- 1
diff --git a/systemtest/testdata/unaryfunc/cos_6.ql.java.out b/systemtest/testdata/unaryfunc/cos_6.ql.java.out
new file mode 100644
index 0000000..2a00f38
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_6.ql.java.out
@@ -0,0 +1 @@
+0.99999999999998470.9999999999999847 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/cos_6.ql.out b/systemtest/testdata/unaryfunc/cos_6.ql.out
new file mode 100644
index 0000000..5b5eff0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_6.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1
+Element 2: 1
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/cos_7.ql b/systemtest/testdata/unaryfunc/cos_7.ql
new file mode 100644
index 0000000..c995f6b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_7.ql
@@ -0,0 +1,2 @@
+
+ select cos(1000000 * 3.1415927) from ImgCharA -- 1
diff --git a/systemtest/testdata/unaryfunc/cos_7.ql.java.out b/systemtest/testdata/unaryfunc/cos_7.ql.java.out
new file mode 100644
index 0000000..64a533b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_7.ql.java.out
@@ -0,0 +1 @@
+0.99535613472119480.9953561347211948 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/cos_7.ql.out b/systemtest/testdata/unaryfunc/cos_7.ql.out
new file mode 100644
index 0000000..49dfb79
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/cos_7.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0.995356
+Element 2: 0.995356
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/exp_1.ql b/systemtest/testdata/unaryfunc/exp_1.ql
new file mode 100644
index 0000000..b32fdc3
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/exp_1.ql
@@ -0,0 +1,2 @@
+
+ select exp(1) from ImgCharA -- e
diff --git a/systemtest/testdata/unaryfunc/exp_1.ql.java.out b/systemtest/testdata/unaryfunc/exp_1.ql.java.out
new file mode 100644
index 0000000..dfce99e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/exp_1.ql.java.out
@@ -0,0 +1 @@
+2.7182818284590452.718281828459045 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/exp_1.ql.out b/systemtest/testdata/unaryfunc/exp_1.ql.out
new file mode 100644
index 0000000..9b92e98
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/exp_1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 2.71828
+Element 2: 2.71828
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/exp_2.ql b/systemtest/testdata/unaryfunc/exp_2.ql
new file mode 100644
index 0000000..3893f13
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/exp_2.ql
@@ -0,0 +1,2 @@
+
+ select exp(0.0) from ImgCharA -- 1
diff --git a/systemtest/testdata/unaryfunc/exp_2.ql.java.out b/systemtest/testdata/unaryfunc/exp_2.ql.java.out
new file mode 100644
index 0000000..85aae69
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/exp_2.ql.java.out
@@ -0,0 +1 @@
+1.01.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/exp_2.ql.out b/systemtest/testdata/unaryfunc/exp_2.ql.out
new file mode 100644
index 0000000..5b5eff0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/exp_2.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1
+Element 2: 1
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/exp_3.ql b/systemtest/testdata/unaryfunc/exp_3.ql
new file mode 100644
index 0000000..236b028
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/exp_3.ql
@@ -0,0 +1,2 @@
+
+ select exp(-10) from ImgCharA -- 4.539993e-05
diff --git a/systemtest/testdata/unaryfunc/exp_3.ql.java.out b/systemtest/testdata/unaryfunc/exp_3.ql.java.out
new file mode 100644
index 0000000..4619872
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/exp_3.ql.java.out
@@ -0,0 +1 @@
+4.5399929762484854E-54.5399929762484854E-5 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/exp_3.ql.out b/systemtest/testdata/unaryfunc/exp_3.ql.out
new file mode 100644
index 0000000..ceaffa1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/exp_3.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 4.53999e-05
+Element 2: 4.53999e-05
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/exp_erange_1.ql b/systemtest/testdata/unaryfunc/exp_erange_1.ql
new file mode 100644
index 0000000..cc13bb3
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/exp_erange_1.ql
@@ -0,0 +1,2 @@
+
+ select exp(745.15) from ImgCharA -- errno 511: ERANGE
diff --git a/systemtest/testdata/unaryfunc/exp_erange_1.ql.java.out b/systemtest/testdata/unaryfunc/exp_erange_1.ql.java.out
new file mode 100644
index 0000000..4fd2e8e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/exp_erange_1.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 511 in line 4, column 9, near token exp: The function result exceeds the allowed range. \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/exp_erange_1.ql.out b/systemtest/testdata/unaryfunc/exp_erange_1.ql.out
new file mode 100644
index 0000000..081dfc0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/exp_erange_1.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=511
diff --git a/systemtest/testdata/unaryfunc/exp_erange_2.ql b/systemtest/testdata/unaryfunc/exp_erange_2.ql
new file mode 100644
index 0000000..6dd1d1f
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/exp_erange_2.ql
@@ -0,0 +1,2 @@
+
+ select exp(-745.15) from ImgCharA -- errno 511: ERANGE
diff --git a/systemtest/testdata/unaryfunc/exp_erange_2.ql.java.out b/systemtest/testdata/unaryfunc/exp_erange_2.ql.java.out
new file mode 100644
index 0000000..4fd2e8e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/exp_erange_2.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 511 in line 4, column 9, near token exp: The function result exceeds the allowed range. \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/exp_erange_2.ql.out b/systemtest/testdata/unaryfunc/exp_erange_2.ql.out
new file mode 100644
index 0000000..081dfc0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/exp_erange_2.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=511
diff --git a/systemtest/testdata/unaryfunc/ln_1.ql b/systemtest/testdata/unaryfunc/ln_1.ql
new file mode 100644
index 0000000..216b327
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/ln_1.ql
@@ -0,0 +1,2 @@
+
+ select ln(exp(1)) from ImgCharA -- 1
diff --git a/systemtest/testdata/unaryfunc/ln_1.ql.java.out b/systemtest/testdata/unaryfunc/ln_1.ql.java.out
new file mode 100644
index 0000000..85aae69
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/ln_1.ql.java.out
@@ -0,0 +1 @@
+1.01.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/ln_1.ql.out b/systemtest/testdata/unaryfunc/ln_1.ql.out
new file mode 100644
index 0000000..5b5eff0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/ln_1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1
+Element 2: 1
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/ln_2.ql b/systemtest/testdata/unaryfunc/ln_2.ql
new file mode 100644
index 0000000..c5dd8fe
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/ln_2.ql
@@ -0,0 +1,2 @@
+
+ select ln(1) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/ln_2.ql.java.out b/systemtest/testdata/unaryfunc/ln_2.ql.java.out
new file mode 100644
index 0000000..b2024e1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/ln_2.ql.java.out
@@ -0,0 +1 @@
+0.00.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/ln_2.ql.out b/systemtest/testdata/unaryfunc/ln_2.ql.out
new file mode 100644
index 0000000..eb05dc2
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/ln_2.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0
+Element 2: 0
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/ln_3.ql b/systemtest/testdata/unaryfunc/ln_3.ql
new file mode 100644
index 0000000..6091381
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/ln_3.ql
@@ -0,0 +1,2 @@
+
+ select ln(0.1) from ImgCharA -- -2.3025851
diff --git a/systemtest/testdata/unaryfunc/ln_3.ql.java.out b/systemtest/testdata/unaryfunc/ln_3.ql.java.out
new file mode 100644
index 0000000..96646ff
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/ln_3.ql.java.out
@@ -0,0 +1 @@
+-2.3025850780928847-2.3025850780928847 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/ln_3.ql.out b/systemtest/testdata/unaryfunc/ln_3.ql.out
new file mode 100644
index 0000000..4f3f174
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/ln_3.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: -2.30259
+Element 2: -2.30259
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/ln_edom.ql b/systemtest/testdata/unaryfunc/ln_edom.ql
new file mode 100644
index 0000000..d110293
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/ln_edom.ql
@@ -0,0 +1,2 @@
+
+ select ln(-1) from ImgCharA -- errno 510: EDOM
diff --git a/systemtest/testdata/unaryfunc/ln_edom.ql.java.out b/systemtest/testdata/unaryfunc/ln_edom.ql.java.out
new file mode 100644
index 0000000..f047993
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/ln_edom.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 510 in line 4, column 9, near token ln: The argument is outside the function domain. \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/ln_edom.ql.out b/systemtest/testdata/unaryfunc/ln_edom.ql.out
new file mode 100644
index 0000000..0e9ec7e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/ln_edom.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=510
diff --git a/systemtest/testdata/unaryfunc/ln_erange.ql b/systemtest/testdata/unaryfunc/ln_erange.ql
new file mode 100644
index 0000000..82009bf
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/ln_erange.ql
@@ -0,0 +1,2 @@
+
+ select ln(0) from ImgCharA -- errno 511: ERANGE
diff --git a/systemtest/testdata/unaryfunc/ln_erange.ql.java.out b/systemtest/testdata/unaryfunc/ln_erange.ql.java.out
new file mode 100644
index 0000000..c77df2d
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/ln_erange.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 511 in line 4, column 9, near token ln: The function result exceeds the allowed range. \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/ln_erange.ql.out b/systemtest/testdata/unaryfunc/ln_erange.ql.out
new file mode 100644
index 0000000..081dfc0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/ln_erange.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=511
diff --git a/systemtest/testdata/unaryfunc/log_1.ql b/systemtest/testdata/unaryfunc/log_1.ql
new file mode 100644
index 0000000..3def8a6
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/log_1.ql
@@ -0,0 +1,2 @@
+
+ select log(10) from ImgCharA -- 1
diff --git a/systemtest/testdata/unaryfunc/log_1.ql.java.out b/systemtest/testdata/unaryfunc/log_1.ql.java.out
new file mode 100644
index 0000000..85aae69
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/log_1.ql.java.out
@@ -0,0 +1 @@
+1.01.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/log_1.ql.out b/systemtest/testdata/unaryfunc/log_1.ql.out
new file mode 100644
index 0000000..5b5eff0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/log_1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1
+Element 2: 1
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/log_2.ql b/systemtest/testdata/unaryfunc/log_2.ql
new file mode 100644
index 0000000..ee569e8
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/log_2.ql
@@ -0,0 +1,2 @@
+
+ select log(1) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/log_2.ql.java.out b/systemtest/testdata/unaryfunc/log_2.ql.java.out
new file mode 100644
index 0000000..b2024e1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/log_2.ql.java.out
@@ -0,0 +1 @@
+0.00.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/log_2.ql.out b/systemtest/testdata/unaryfunc/log_2.ql.out
new file mode 100644
index 0000000..eb05dc2
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/log_2.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0
+Element 2: 0
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/log_3.ql b/systemtest/testdata/unaryfunc/log_3.ql
new file mode 100644
index 0000000..21b0003
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/log_3.ql
@@ -0,0 +1,2 @@
+
+ select log(0.1) from ImgCharA -- -1
diff --git a/systemtest/testdata/unaryfunc/log_3.ql.java.out b/systemtest/testdata/unaryfunc/log_3.ql.java.out
new file mode 100644
index 0000000..d2c3908
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/log_3.ql.java.out
@@ -0,0 +1 @@
+-0.999999993528508-0.999999993528508 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/log_3.ql.out b/systemtest/testdata/unaryfunc/log_3.ql.out
new file mode 100644
index 0000000..0f7dc93
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/log_3.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: -1
+Element 2: -1
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/log_edom.ql b/systemtest/testdata/unaryfunc/log_edom.ql
new file mode 100644
index 0000000..be19c83
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/log_edom.ql
@@ -0,0 +1,2 @@
+
+ select log(-1) from ImgCharA -- errno 510: EDOM
diff --git a/systemtest/testdata/unaryfunc/log_edom.ql.java.out b/systemtest/testdata/unaryfunc/log_edom.ql.java.out
new file mode 100644
index 0000000..1373616
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/log_edom.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 510 in line 4, column 9, near token log: The argument is outside the function domain. \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/log_edom.ql.out b/systemtest/testdata/unaryfunc/log_edom.ql.out
new file mode 100644
index 0000000..0e9ec7e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/log_edom.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=510
diff --git a/systemtest/testdata/unaryfunc/log_erange.ql b/systemtest/testdata/unaryfunc/log_erange.ql
new file mode 100644
index 0000000..c6825b9
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/log_erange.ql
@@ -0,0 +1,2 @@
+
+ select log(0) from ImgCharA -- errno 511: ERANGE
diff --git a/systemtest/testdata/unaryfunc/log_erange.ql.java.out b/systemtest/testdata/unaryfunc/log_erange.ql.java.out
new file mode 100644
index 0000000..38465d1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/log_erange.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 511 in line 4, column 9, near token log: The function result exceeds the allowed range. \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/log_erange.ql.out b/systemtest/testdata/unaryfunc/log_erange.ql.out
new file mode 100644
index 0000000..081dfc0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/log_erange.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=511
diff --git a/systemtest/testdata/unaryfunc/mix_1.ql b/systemtest/testdata/unaryfunc/mix_1.ql
new file mode 100644
index 0000000..7121c63
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/mix_1.ql
@@ -0,0 +1,2 @@
+
+ select abs(log(exp(-sqrt(25)/log(exp(1))))) from ImgCharA -- 5
diff --git a/systemtest/testdata/unaryfunc/mix_1.ql.java.out b/systemtest/testdata/unaryfunc/mix_1.ql.java.out
new file mode 100644
index 0000000..2ee6b4b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/mix_1.ql.java.out
@@ -0,0 +1 @@
+5.05.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/mix_1.ql.out b/systemtest/testdata/unaryfunc/mix_1.ql.out
new file mode 100644
index 0000000..6f640b8
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/mix_1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 5
+Element 2: 5
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/mix_2.ql b/systemtest/testdata/unaryfunc/mix_2.ql
new file mode 100644
index 0000000..7506261
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/mix_2.ql
@@ -0,0 +1,2 @@
+
+ select sqrt(count_cells(a > 0)) from ImgCharA as a
diff --git a/systemtest/testdata/unaryfunc/mix_2.ql.java.out b/systemtest/testdata/unaryfunc/mix_2.ql.java.out
new file mode 100644
index 0000000..c784127
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/mix_2.ql.java.out
@@ -0,0 +1 @@
+0.011.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/mix_2.ql.out b/systemtest/testdata/unaryfunc/mix_2.ql.out
new file mode 100644
index 0000000..c195d25
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/mix_2.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0
+Element 2: 11
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/mix_3.ql b/systemtest/testdata/unaryfunc/mix_3.ql
new file mode 100644
index 0000000..f512f9f
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/mix_3.ql
@@ -0,0 +1,2 @@
+
+ select count_cells(log(a) > 0) from ImgCharA as a -- -- errno 511: ERANGE
diff --git a/systemtest/testdata/unaryfunc/mix_3.ql.java.out b/systemtest/testdata/unaryfunc/mix_3.ql.java.out
new file mode 100644
index 0000000..78b42dd
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/mix_3.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 511 in line 4, column 21, near token log: The function result exceeds the allowed range. \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/mix_3.ql.out b/systemtest/testdata/unaryfunc/mix_3.ql.out
new file mode 100644
index 0000000..081dfc0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/mix_3.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=511
diff --git a/systemtest/testdata/unaryfunc/sin_1.ql b/systemtest/testdata/unaryfunc/sin_1.ql
new file mode 100644
index 0000000..97f200b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_1.ql
@@ -0,0 +1,2 @@
+
+ select sin(0) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/sin_1.ql.java.out b/systemtest/testdata/unaryfunc/sin_1.ql.java.out
new file mode 100644
index 0000000..b2024e1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_1.ql.java.out
@@ -0,0 +1 @@
+0.00.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/sin_1.ql.out b/systemtest/testdata/unaryfunc/sin_1.ql.out
new file mode 100644
index 0000000..eb05dc2
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0
+Element 2: 0
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/sin_2.ql b/systemtest/testdata/unaryfunc/sin_2.ql
new file mode 100644
index 0000000..fb05a0b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_2.ql
@@ -0,0 +1,2 @@
+
+ select 2*sin(3.1415927 / 4) from ImgCharA -- 1.4142136
diff --git a/systemtest/testdata/unaryfunc/sin_2.ql.java.out b/systemtest/testdata/unaryfunc/sin_2.ql.java.out
new file mode 100644
index 0000000..ab6fe9a
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_2.ql.java.out
@@ -0,0 +1 @@
+1.4142135932817151.414213593281715 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/sin_2.ql.out b/systemtest/testdata/unaryfunc/sin_2.ql.out
new file mode 100644
index 0000000..a23dbb9
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_2.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1.41421
+Element 2: 1.41421
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/sin_3.ql b/systemtest/testdata/unaryfunc/sin_3.ql
new file mode 100644
index 0000000..ee6f07f
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_3.ql
@@ -0,0 +1,2 @@
+
+ select sin(3.1415927/2) from ImgCharA -- 1
diff --git a/systemtest/testdata/unaryfunc/sin_3.ql.java.out b/systemtest/testdata/unaryfunc/sin_3.ql.java.out
new file mode 100644
index 0000000..128ea34
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_3.ql.java.out
@@ -0,0 +1 @@
+0.9999999999999990.999999999999999 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/sin_3.ql.out b/systemtest/testdata/unaryfunc/sin_3.ql.out
new file mode 100644
index 0000000..5b5eff0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_3.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1
+Element 2: 1
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/sin_4.ql b/systemtest/testdata/unaryfunc/sin_4.ql
new file mode 100644
index 0000000..3cad6a8
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_4.ql
@@ -0,0 +1,2 @@
+
+ select sin(3.1415927) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/sin_4.ql.java.out b/systemtest/testdata/unaryfunc/sin_4.ql.java.out
new file mode 100644
index 0000000..3c6d95b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_4.ql.java.out
@@ -0,0 +1 @@
+-8.74227800037288E-8-8.74227800037288E-8 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/sin_4.ql.out b/systemtest/testdata/unaryfunc/sin_4.ql.out
new file mode 100644
index 0000000..c5f150b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_4.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: -8.74228e-08
+Element 2: -8.74228e-08
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/sin_5.ql b/systemtest/testdata/unaryfunc/sin_5.ql
new file mode 100644
index 0000000..675cba0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_5.ql
@@ -0,0 +1,2 @@
+
+ select sin(3*3.1415927/2) from ImgCharA -- -1
diff --git a/systemtest/testdata/unaryfunc/sin_5.ql.java.out b/systemtest/testdata/unaryfunc/sin_5.ql.java.out
new file mode 100644
index 0000000..4cd29aa
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_5.ql.java.out
@@ -0,0 +1 @@
+-0.9999999999999999-0.9999999999999999 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/sin_5.ql.out b/systemtest/testdata/unaryfunc/sin_5.ql.out
new file mode 100644
index 0000000..0f7dc93
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_5.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: -1
+Element 2: -1
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/sin_6.ql b/systemtest/testdata/unaryfunc/sin_6.ql
new file mode 100644
index 0000000..6349198
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_6.ql
@@ -0,0 +1,2 @@
+
+ select sin(2* 3.1415927) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/sin_6.ql.java.out b/systemtest/testdata/unaryfunc/sin_6.ql.java.out
new file mode 100644
index 0000000..9c2cd6c
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_6.ql.java.out
@@ -0,0 +1 @@
+1.748455600074569E-71.748455600074569E-7 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/sin_6.ql.out b/systemtest/testdata/unaryfunc/sin_6.ql.out
new file mode 100644
index 0000000..24c8df7
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_6.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1.74846e-07
+Element 2: 1.74846e-07
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/sin_7.ql b/systemtest/testdata/unaryfunc/sin_7.ql
new file mode 100644
index 0000000..fe39848
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_7.ql
@@ -0,0 +1,2 @@
+
+ select sin(1000000 * 3.1415927) from ImgCharA -- 0.096 ???
diff --git a/systemtest/testdata/unaryfunc/sin_7.ql.java.out b/systemtest/testdata/unaryfunc/sin_7.ql.java.out
new file mode 100644
index 0000000..822d401
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_7.ql.java.out
@@ -0,0 +1 @@
+0.096260921836863260.09626092183686326 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/sin_7.ql.out b/systemtest/testdata/unaryfunc/sin_7.ql.out
new file mode 100644
index 0000000..e1163c2
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sin_7.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0.0962609
+Element 2: 0.0962609
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/sqrt_1.ql b/systemtest/testdata/unaryfunc/sqrt_1.ql
new file mode 100644
index 0000000..a1c87a5
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_1.ql
@@ -0,0 +1,2 @@
+
+ select sqrt(4.0) from ImgCharA -- 2
diff --git a/systemtest/testdata/unaryfunc/sqrt_1.ql.java.out b/systemtest/testdata/unaryfunc/sqrt_1.ql.java.out
new file mode 100644
index 0000000..9f2cc4e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_1.ql.java.out
@@ -0,0 +1 @@
+2.02.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/sqrt_1.ql.out b/systemtest/testdata/unaryfunc/sqrt_1.ql.out
new file mode 100644
index 0000000..c9c30f1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 2
+Element 2: 2
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/sqrt_2.ql b/systemtest/testdata/unaryfunc/sqrt_2.ql
new file mode 100644
index 0000000..262b41f
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_2.ql
@@ -0,0 +1,2 @@
+
+ select sqrt(3.5 + 5.5) from ImgCharA -- 3
diff --git a/systemtest/testdata/unaryfunc/sqrt_2.ql.java.out b/systemtest/testdata/unaryfunc/sqrt_2.ql.java.out
new file mode 100644
index 0000000..9566c4f
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_2.ql.java.out
@@ -0,0 +1 @@
+3.03.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/sqrt_2.ql.out b/systemtest/testdata/unaryfunc/sqrt_2.ql.out
new file mode 100644
index 0000000..0d53948
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_2.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 3
+Element 2: 3
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/sqrt_3.ql b/systemtest/testdata/unaryfunc/sqrt_3.ql
new file mode 100644
index 0000000..75ea2b8
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_3.ql
@@ -0,0 +1,2 @@
+
+ select sqrt(sqrt(16)) from ImgCharA -- 2
diff --git a/systemtest/testdata/unaryfunc/sqrt_3.ql.java.out b/systemtest/testdata/unaryfunc/sqrt_3.ql.java.out
new file mode 100644
index 0000000..9f2cc4e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_3.ql.java.out
@@ -0,0 +1 @@
+2.02.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/sqrt_3.ql.out b/systemtest/testdata/unaryfunc/sqrt_3.ql.out
new file mode 100644
index 0000000..c9c30f1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_3.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 2
+Element 2: 2
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/sqrt_4.ql b/systemtest/testdata/unaryfunc/sqrt_4.ql
new file mode 100644
index 0000000..496fd35
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_4.ql
@@ -0,0 +1,2 @@
+
+ select sqrt(0.0) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/sqrt_4.ql.java.out b/systemtest/testdata/unaryfunc/sqrt_4.ql.java.out
new file mode 100644
index 0000000..b2024e1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_4.ql.java.out
@@ -0,0 +1 @@
+0.00.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/sqrt_4.ql.out b/systemtest/testdata/unaryfunc/sqrt_4.ql.out
new file mode 100644
index 0000000..eb05dc2
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_4.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0
+Element 2: 0
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/sqrt_5.ql b/systemtest/testdata/unaryfunc/sqrt_5.ql
new file mode 100644
index 0000000..eeed736
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_5.ql
@@ -0,0 +1,2 @@
+
+ select sqrt(0) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/sqrt_5.ql.java.out b/systemtest/testdata/unaryfunc/sqrt_5.ql.java.out
new file mode 100644
index 0000000..b2024e1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_5.ql.java.out
@@ -0,0 +1 @@
+0.00.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/sqrt_5.ql.out b/systemtest/testdata/unaryfunc/sqrt_5.ql.out
new file mode 100644
index 0000000..eb05dc2
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_5.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0
+Element 2: 0
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/sqrt_6.ql b/systemtest/testdata/unaryfunc/sqrt_6.ql
new file mode 100644
index 0000000..a9eb40b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_6.ql
@@ -0,0 +1,2 @@
+
+ select 1.0 + sqrt(1.0) from ImgCharA -- 2
diff --git a/systemtest/testdata/unaryfunc/sqrt_6.ql.java.out b/systemtest/testdata/unaryfunc/sqrt_6.ql.java.out
new file mode 100644
index 0000000..9f2cc4e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_6.ql.java.out
@@ -0,0 +1 @@
+2.02.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/sqrt_6.ql.out b/systemtest/testdata/unaryfunc/sqrt_6.ql.out
new file mode 100644
index 0000000..c9c30f1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_6.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 2
+Element 2: 2
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/sqrt_7.ql b/systemtest/testdata/unaryfunc/sqrt_7.ql
new file mode 100644
index 0000000..a838d68
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_7.ql
@@ -0,0 +1,2 @@
+
+ select sqrt(2.0) - 1.0 from ImgCharA -- 0.4142...
diff --git a/systemtest/testdata/unaryfunc/sqrt_7.ql.java.out b/systemtest/testdata/unaryfunc/sqrt_7.ql.java.out
new file mode 100644
index 0000000..eb428b9
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_7.ql.java.out
@@ -0,0 +1 @@
+0.414213562373095150.41421356237309515 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/sqrt_7.ql.out b/systemtest/testdata/unaryfunc/sqrt_7.ql.out
new file mode 100644
index 0000000..0851541
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_7.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0.414214
+Element 2: 0.414214
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/sqrt_edom.ql b/systemtest/testdata/unaryfunc/sqrt_edom.ql
new file mode 100644
index 0000000..740f40b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_edom.ql
@@ -0,0 +1,2 @@
+
+ select sqrt(-10.0) from ImgCharA -- errno 510: EDOM
diff --git a/systemtest/testdata/unaryfunc/sqrt_edom.ql.java.out b/systemtest/testdata/unaryfunc/sqrt_edom.ql.java.out
new file mode 100644
index 0000000..623759c
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_edom.ql.java.out
@@ -0,0 +1,2 @@
+
+ ODMGException: Execution error 510 in line 4, column 9, near token sqrt: The argument is outside the function domain. \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/sqrt_edom.ql.out b/systemtest/testdata/unaryfunc/sqrt_edom.ql.out
new file mode 100644
index 0000000..0e9ec7e
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/sqrt_edom.ql.out
@@ -0,0 +1 @@
+-- Testbed line: error_no=510
diff --git a/systemtest/testdata/unaryfunc/tan_1.ql b/systemtest/testdata/unaryfunc/tan_1.ql
new file mode 100644
index 0000000..794e257
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_1.ql
@@ -0,0 +1,2 @@
+
+ select tan(0) from ImgCharA -- 0
diff --git a/systemtest/testdata/unaryfunc/tan_1.ql.java.out b/systemtest/testdata/unaryfunc/tan_1.ql.java.out
new file mode 100644
index 0000000..b2024e1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_1.ql.java.out
@@ -0,0 +1 @@
+0.00.0 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/tan_1.ql.out b/systemtest/testdata/unaryfunc/tan_1.ql.out
new file mode 100644
index 0000000..eb05dc2
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0
+Element 2: 0
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/tan_2.ql b/systemtest/testdata/unaryfunc/tan_2.ql
new file mode 100644
index 0000000..96bf599
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_2.ql
@@ -0,0 +1,2 @@
+
+ select tan(3.1415927/ 4) from ImgCharA -- 1
diff --git a/systemtest/testdata/unaryfunc/tan_2.ql.java.out b/systemtest/testdata/unaryfunc/tan_2.ql.java.out
new file mode 100644
index 0000000..bc5381b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_2.ql.java.out
@@ -0,0 +1 @@
+1.0000000437113911.000000043711391 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/tan_2.ql.out b/systemtest/testdata/unaryfunc/tan_2.ql.out
new file mode 100644
index 0000000..5b5eff0
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_2.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1
+Element 2: 1
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/tan_3.ql b/systemtest/testdata/unaryfunc/tan_3.ql
new file mode 100644
index 0000000..8f78d2c
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_3.ql
@@ -0,0 +1,2 @@
+
+ select tan(-3.1415927 / 4) from ImgCharA -- -1
diff --git a/systemtest/testdata/unaryfunc/tan_3.ql.java.out b/systemtest/testdata/unaryfunc/tan_3.ql.java.out
new file mode 100644
index 0000000..3dc700d
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_3.ql.java.out
@@ -0,0 +1 @@
+-1.000000043711391-1.000000043711391 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/tan_3.ql.out b/systemtest/testdata/unaryfunc/tan_3.ql.out
new file mode 100644
index 0000000..0f7dc93
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_3.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: -1
+Element 2: -1
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/tan_4.ql b/systemtest/testdata/unaryfunc/tan_4.ql
new file mode 100644
index 0000000..edade02
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_4.ql
@@ -0,0 +1,2 @@
+
+ select tan(1000000 * 3.1415927) from ImgCharA -- 0.096 ???
diff --git a/systemtest/testdata/unaryfunc/tan_4.ql.java.out b/systemtest/testdata/unaryfunc/tan_4.ql.java.out
new file mode 100644
index 0000000..4fbfa9c
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_4.ql.java.out
@@ -0,0 +1 @@
+0.096710030188166290.09671003018816629 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/tan_4.ql.out b/systemtest/testdata/unaryfunc/tan_4.ql.out
new file mode 100644
index 0000000..56502ab
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_4.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 0.09671
+Element 2: 0.09671
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/tan_edom_1.ql b/systemtest/testdata/unaryfunc/tan_edom_1.ql
new file mode 100644
index 0000000..aa82c6b
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_edom_1.ql
@@ -0,0 +1,2 @@
+
+ select tan(1.5707962) from ImgCharA -- -> ~ 10^7
diff --git a/systemtest/testdata/unaryfunc/tan_edom_1.ql.java.out b/systemtest/testdata/unaryfunc/tan_edom_1.ql.java.out
new file mode 100644
index 0000000..3cc7962
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_edom_1.ql.java.out
@@ -0,0 +1 @@
+1.3245401606862923E71.3245401606862923E7 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/tan_edom_1.ql.out b/systemtest/testdata/unaryfunc/tan_edom_1.ql.out
new file mode 100644
index 0000000..56490a1
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_edom_1.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: 1.32454e+07
+Element 2: 1.32454e+07
+-- Testbed end block:
diff --git a/systemtest/testdata/unaryfunc/tan_edom_2.ql b/systemtest/testdata/unaryfunc/tan_edom_2.ql
new file mode 100644
index 0000000..f541dd2
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_edom_2.ql
@@ -0,0 +1,2 @@
+
+ select tan(-1.5707962) from ImgCharA -- -> ~ -10^7
diff --git a/systemtest/testdata/unaryfunc/tan_edom_2.ql.java.out b/systemtest/testdata/unaryfunc/tan_edom_2.ql.java.out
new file mode 100644
index 0000000..01d4511
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_edom_2.ql.java.out
@@ -0,0 +1 @@
+-1.3245401606862923E7-1.3245401606862923E7 \ No newline at end of file
diff --git a/systemtest/testdata/unaryfunc/tan_edom_2.ql.out b/systemtest/testdata/unaryfunc/tan_edom_2.ql.out
new file mode 100644
index 0000000..783f49c
--- /dev/null
+++ b/systemtest/testdata/unaryfunc/tan_edom_2.ql.out
@@ -0,0 +1,6 @@
+-- Testbed line: result_type=set<double>
+-- Testbed line: result_elements=2
+-- Testbed start block:
+Element 1: -1.32454e+07
+Element 2: -1.32454e+07
+-- Testbed end block:
diff --git a/systemtest/testdata/updateset1/u1_create.ql b/systemtest/testdata/updateset1/u1_create.ql
new file mode 100644
index 0000000..6c7aaec
--- /dev/null
+++ b/systemtest/testdata/updateset1/u1_create.ql
@@ -0,0 +1 @@
+CREATE COLLECTION UpdateULong1 ULongSet
diff --git a/systemtest/testdata/updateset1/u1_create.ql.java.out b/systemtest/testdata/updateset1/u1_create.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset1/u1_create.ql.java.out
diff --git a/systemtest/testdata/updateset1/u1_create.ql.out b/systemtest/testdata/updateset1/u1_create.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset1/u1_create.ql.out
diff --git a/systemtest/testdata/updateset1/u2_insert.ql b/systemtest/testdata/updateset1/u2_insert.ql
new file mode 100644
index 0000000..4e0e455
--- /dev/null
+++ b/systemtest/testdata/updateset1/u2_insert.ql
@@ -0,0 +1 @@
+insert into UpdateULong1 values $1
diff --git a/systemtest/testdata/updateset1/u2_insert.ql.java.out b/systemtest/testdata/updateset1/u2_insert.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset1/u2_insert.ql.java.out
diff --git a/systemtest/testdata/updateset1/u2_insert.ql.out b/systemtest/testdata/updateset1/u2_insert.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset1/u2_insert.ql.out
diff --git a/systemtest/testdata/updateset1/u3_lookup.ql b/systemtest/testdata/updateset1/u3_lookup.ql
new file mode 100644
index 0000000..cd258f6
--- /dev/null
+++ b/systemtest/testdata/updateset1/u3_lookup.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <ulong, [0:10,0:10]>>
+-- Testbed: result_elements=1
+
+SELECT a
+FROM UpdateULong1 AS a
diff --git a/systemtest/testdata/updateset1/u3_lookup.ql.java.out b/systemtest/testdata/updateset1/u3_lookup.ql.java.out
new file mode 100644
index 0000000..aee8152
--- /dev/null
+++ b/systemtest/testdata/updateset1/u3_lookup.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 0 0 0 0 0 1 2 3 0 0 0 0 4 5 6 7 0 0 0 0 8 9 10 11 0 0 0 0 12 13 14 15 0 0 0 0 16 17 18 19 0 0 0 0 20 21 22 23 0 0 0 0 24 25 26 27 0 0 0 0 28 29 30 31 0 0 0 0 32 33 34 35 0 0 0 0 36 37 38 39 0 0 0 0 40 41 42 43 0 0 0 0 44 45 46 47 0 0 0 0 48 49 50 51 0 0 0 0 52 53 54 55 0 0 0 0 56 57 58 59 0 0 0 0 60 61 62 63 0 0 0 0 64 65 66 67 0 0 0 0 68 69 70 71 0 0 0 0 72 73 74 75 0 0 0 0 76 77 78 79 0 0 0 0 80 81 82 83 0 0 0 0 84 85 86 87 0 0 0 0 88 89 90 91 0 0 0 0 92 93 94 95 0 0 0 0 96 97 98 99 0 0 0 0 100 101 102 103 0 0 0 0 104 105 106 107 0 0 0 0 108 109 110 111 0 0 0 0 112 113 114 115 0 0 0 0 116 117 118 119 0 0 0 0 120 121 122 123 0 0 0 0 124 125 126 127 0 0 0 0 -128 -127 -126 -125 0 0 0 0 -124 -123 -122 -121 0 0 0 0 -120 -119 -118 -117 0 0 0 0 -116 -115 -114 -113 0 0 0 0 -112 -111 -110 -109 0 0 0 0 -108 -107 -106 -105 0 0 0 0 -104 -103 -102 -101 0 0 0 0 -100 -99 -98 -97 0 0 0 0 -96 -95 -94 -93 0 0 0 0 -92 -91 -90 -89 0 0 0 0 -88 -87 -86 -85 0 0 0 0 -84 -83 -82 -81 0 0 0 0 -80 -79 -78 -77 0 0 0 0 -76 -75 -74 -73 0 0 0 0 -72 -71 -70 -69 0 0 0 0 -68 -67 -66 -65 0 0 0 0 -64 -63 -62 -61 0 0 0 0 -60 -59 -58 -57 0 0 0 0 -56 -55 -54 -53 0 0 0 0 -52 -51 -50 -49 0 0 0 0 -48 -47 -46 -45 0 0 0 0 -44 -43 -42 -41 0 0 0 0 -40 -39 -38 -37 0 0 0 0 -36 -35 -34 -33 0 0 0 0 -32 -31 -30 -29 0 0 0 0 -28 -27 -26 -25 0 0 0 0 -24 -23 -22 -21 0 0 0 0 -20 -19 -18 -17 0 0 0 0 -16 -15 -14 -13 0 0 0 0 -12 -11 -10 -9 0 0 0 0 -8 -7 -6 -5 0 0 0 0 -4 -3 -2 -1 0 0 0 0 0 1 2 3 0 0 0 0 4 5 6 7 0 0 0 0 8 9 10 11 0 0 0 0 12 13 14 15 0 0 0 0 16 17 18 19 0 0 0 0 20 21 22 23 0 0 0 0 24 25 26 27 0 0 0 0 28 29 30 31 0 0 0 0 32 33 34 35 0 0 0 0 36 37 38 39 0 0 0 0 40 41 42 43 0 0 0 0 44 45 46 47 0 0 0 0 48 49 50 51 0 0 0 0 52 53 54 55 0 0 0 0 56 57 58 59 0 0 0 0 60 61 62 63 0 0 0 0 64 65 66 67 0 0 0 0 68 69 70 71 0 0 0 0 72 73 74 75 0 0 0 0 76 77 78 79 0 0 0 0 80 81 82 83 0 0 0 0 84 85 86 87 0 0 0 0 88 89 90 91 0 0 0 0 92 93 94 95 0 0 0 0 96 97 98 99 0 0 0 0 100 101 102 103 0 0 0 0 104 105 106 107 0 0 0 0 108 109 110 111 0 0 0 0 112 113 114 115 0 0 0 0 116 117 118 119 0 0 0 0 120 121 122 123 0 0 0 0 124 125 126 127 0 0 0 0 -128 -127 -126 -125 0 0 0 0 -124 -123 -122 -121 0 0 0 0 -120 -119 -118 -117 0 0 0 0 -116 -115 -114 -113 0 0 0 0 -112 -111 -110 -109 0 0 0 0 -108 -107 -106 -105 0 0 0 0 -104 -103 -102 -101 0 0 0 0 -100 -99 -98 -97 0 0 0 0 -96 -95 -94 -93 0 0 0 0 -92 -91 -90 -89 0 0 0 0 -88 -87 -86 -85 0 0 0 0 -84 -83 -82 -81 0 0 0 0 -80 -79 -78 -77 0 0 0 0 -76 -75 -74 -73 0 0 0 0 -72 -71 -70 -69 0 0 0 0 -68 -67 -66 -65 0 0 0 0 -64 -63 -62 -61 0 0 0 0 -60 -59 -58 -57 0 0 0 0 -56 -55 -54 -53 0 0 0 0 -52 -51 -50 -49 0 0 0 0 -48 -47 -46 -45 0 0 0 0 -44 -43 -42 -41 0 0 0 0 -40 -39 -38 -37 0 0 0 0 -36 -35 -34 -33 0 0 0 0 -32 -31 -30 -29 \ No newline at end of file
diff --git a/systemtest/testdata/updateset1/u3_lookup.ql.out b/systemtest/testdata/updateset1/u3_lookup.ql.out
new file mode 100644
index 0000000..27b664a
--- /dev/null
+++ b/systemtest/testdata/updateset1/u3_lookup.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <ulong, [0:10,0:10]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:10,0:10]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9
+-- Testbed end block:
diff --git a/systemtest/testdata/updateset1/u4_update.ql b/systemtest/testdata/updateset1/u4_update.ql
new file mode 100644
index 0000000..33bc899
--- /dev/null
+++ b/systemtest/testdata/updateset1/u4_update.ql
@@ -0,0 +1,3 @@
+UPDATE UpdateULong1 AS image
+SET image ASSIGN $1[7:9,7:9]*2ul
+
diff --git a/systemtest/testdata/updateset1/u4_update.ql.java.out b/systemtest/testdata/updateset1/u4_update.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset1/u4_update.ql.java.out
diff --git a/systemtest/testdata/updateset1/u4_update.ql.out b/systemtest/testdata/updateset1/u4_update.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset1/u4_update.ql.out
diff --git a/systemtest/testdata/updateset1/u51_lookup.ql b/systemtest/testdata/updateset1/u51_lookup.ql
new file mode 100644
index 0000000..cd258f6
--- /dev/null
+++ b/systemtest/testdata/updateset1/u51_lookup.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <ulong, [0:10,0:10]>>
+-- Testbed: result_elements=1
+
+SELECT a
+FROM UpdateULong1 AS a
diff --git a/systemtest/testdata/updateset1/u51_lookup.ql.java.out b/systemtest/testdata/updateset1/u51_lookup.ql.java.out
new file mode 100644
index 0000000..d48dffe
--- /dev/null
+++ b/systemtest/testdata/updateset1/u51_lookup.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 968
+ 0 0 0 0 0 1 2 3 0 0 0 0 4 5 6 7 0 0 0 0 8 9 10 11 0 0 0 0 12 13 14 15 0 0 0 0 16 17 18 19 0 0 0 0 20 21 22 23 0 0 0 0 24 25 26 27 0 0 0 0 28 29 30 31 0 0 0 0 32 33 34 35 0 0 0 0 36 37 38 39 0 0 0 0 40 41 42 43 0 0 0 0 44 45 46 47 0 0 0 0 48 49 50 51 0 0 0 0 52 53 54 55 0 0 0 0 56 57 58 59 0 0 0 0 60 61 62 63 0 0 0 0 64 65 66 67 0 0 0 0 68 69 70 71 0 0 0 0 72 73 74 75 0 0 0 0 76 77 78 79 0 0 0 0 80 81 82 83 0 0 0 0 84 85 86 87 0 0 0 0 88 89 90 91 0 0 0 0 92 93 94 95 0 0 0 0 96 97 98 99 0 0 0 0 100 101 102 103 0 0 0 0 104 105 106 107 0 0 0 0 108 109 110 111 0 0 0 0 112 113 114 115 0 0 0 0 116 117 118 119 0 0 0 0 120 121 122 123 0 0 0 0 124 125 126 127 0 0 0 0 -128 -127 -126 -125 0 0 0 0 -124 -123 -122 -121 0 0 0 0 -120 -119 -118 -117 0 0 0 0 -116 -115 -114 -113 0 0 0 0 -112 -111 -110 -109 0 0 0 0 -108 -107 -106 -105 0 0 0 0 -104 -103 -102 -101 0 0 0 0 -100 -99 -98 -97 0 0 0 0 -96 -95 -94 -93 0 0 0 0 -92 -91 -90 -89 0 0 0 0 -88 -87 -86 -85 0 0 0 0 -84 -83 -82 -81 0 0 0 0 -80 -79 -78 -77 0 0 0 0 -76 -75 -74 -73 0 0 0 0 -72 -71 -70 -69 0 0 0 0 -68 -67 -66 -65 0 0 0 0 -64 -63 -62 -61 0 0 0 0 -60 -59 -58 -57 0 0 0 0 -56 -55 -54 -53 0 0 0 0 -52 -51 -50 -49 0 0 0 0 -48 -47 -46 -45 0 0 0 0 -44 -43 -42 -41 0 0 0 0 -40 -39 -38 -37 0 0 0 0 -36 -35 -34 -33 0 0 0 0 -32 -31 -30 -29 0 0 0 0 -28 -27 -26 -25 0 0 0 0 -24 -23 -22 -21 0 0 0 0 -20 -19 -18 -17 0 0 0 0 -16 -15 -14 -13 0 0 0 0 -12 -11 -10 -9 0 0 0 0 -8 -7 -6 -5 0 0 0 0 -4 -3 -2 -1 0 0 0 0 0 1 2 3 0 0 0 0 4 5 6 7 0 0 0 0 8 9 10 11 0 0 0 0 12 13 14 15 0 0 0 0 16 17 18 19 0 0 0 0 20 21 22 23 0 0 0 0 24 25 26 27 0 0 0 0 28 29 30 31 0 0 0 0 32 33 34 35 0 0 0 0 36 37 38 39 0 0 0 0 40 41 42 43 0 0 0 0 44 45 46 47 0 0 0 0 48 49 50 51 0 0 0 0 52 53 54 55 0 0 0 0 56 57 58 59 0 0 0 0 60 61 62 63 0 0 0 0 64 65 66 67 0 0 0 0 68 69 70 71 0 0 0 0 72 73 74 75 0 0 0 0 76 77 78 79 0 0 0 0 -96 -94 -92 -90 0 0 0 0 -88 -86 -84 -82 0 0 0 0 -80 -78 -76 -74 0 0 0 0 92 93 94 95 0 0 0 0 96 97 98 99 0 0 0 0 100 101 102 103 0 0 0 0 104 105 106 107 0 0 0 0 108 109 110 111 0 0 0 0 112 113 114 115 0 0 0 0 116 117 118 119 0 0 0 0 120 121 122 123 0 0 0 0 -8 -6 -4 -2 0 0 0 0 1 3 5 6 0 0 0 0 9 11 13 14 0 0 0 0 -120 -119 -118 -117 0 0 0 0 -116 -115 -114 -113 0 0 0 0 -112 -111 -110 -109 0 0 0 0 -108 -107 -106 -105 0 0 0 0 -104 -103 -102 -101 0 0 0 0 -100 -99 -98 -97 0 0 0 0 -96 -95 -94 -93 0 0 0 0 -92 -91 -90 -89 0 0 0 0 81 83 85 86 0 0 0 0 89 91 93 94 0 0 0 0 97 99 101 102 0 0 0 0 -76 -75 -74 -73 0 0 0 0 -72 -71 -70 -69 0 0 0 0 -68 -67 -66 -65 0 0 0 0 -64 -63 -62 -61 0 0 0 0 -60 -59 -58 -57 0 0 0 0 -56 -55 -54 -53 0 0 0 0 -52 -51 -50 -49 0 0 0 0 -48 -47 -46 -45 0 0 0 0 -44 -43 -42 -41 0 0 0 0 -40 -39 -38 -37 0 0 0 0 -36 -35 -34 -33 0 0 0 0 -32 -31 -30 -29 \ No newline at end of file
diff --git a/systemtest/testdata/updateset1/u51_lookup.ql.out b/systemtest/testdata/updateset1/u51_lookup.ql.out
new file mode 100644
index 0000000..304bcda
--- /dev/null
+++ b/systemtest/testdata/updateset1/u51_lookup.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <ulong, [0:10,0:10]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:10,0:10]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 9 9 9 9
+ 9 9 9 9 9 9 9 18 18 18 9
+ 9 9 9 9 9 9 9 18 18 18 9
+ 9 9 9 9 9 9 9 18 18 18 9
+ 9 9 9 9 9 9 9 9 9 9 9
+-- Testbed end block:
diff --git a/systemtest/testdata/updateset1/u5_deletemdd.ql b/systemtest/testdata/updateset1/u5_deletemdd.ql
new file mode 100644
index 0000000..d6b362b
--- /dev/null
+++ b/systemtest/testdata/updateset1/u5_deletemdd.ql
@@ -0,0 +1,2 @@
+DELETE FROM UpdateULong1 AS a
+WHERE true
diff --git a/systemtest/testdata/updateset1/u5_deletemdd.ql.java.out b/systemtest/testdata/updateset1/u5_deletemdd.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset1/u5_deletemdd.ql.java.out
diff --git a/systemtest/testdata/updateset1/u5_deletemdd.ql.out b/systemtest/testdata/updateset1/u5_deletemdd.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset1/u5_deletemdd.ql.out
diff --git a/systemtest/testdata/updateset1/u7_dropcoll.ql b/systemtest/testdata/updateset1/u7_dropcoll.ql
new file mode 100644
index 0000000..e053de6
--- /dev/null
+++ b/systemtest/testdata/updateset1/u7_dropcoll.ql
@@ -0,0 +1 @@
+DROP COLLECTION UpdateULong1
diff --git a/systemtest/testdata/updateset1/u7_dropcoll.ql.java.out b/systemtest/testdata/updateset1/u7_dropcoll.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset1/u7_dropcoll.ql.java.out
diff --git a/systemtest/testdata/updateset1/u7_dropcoll.ql.out b/systemtest/testdata/updateset1/u7_dropcoll.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset1/u7_dropcoll.ql.out
diff --git a/systemtest/testdata/updateset2/u1_create.ql b/systemtest/testdata/updateset2/u1_create.ql
new file mode 100644
index 0000000..fad7183
--- /dev/null
+++ b/systemtest/testdata/updateset2/u1_create.ql
@@ -0,0 +1 @@
+CREATE COLLECTION UpdateULong2 ULongSet
diff --git a/systemtest/testdata/updateset2/u1_create.ql.java.out b/systemtest/testdata/updateset2/u1_create.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset2/u1_create.ql.java.out
diff --git a/systemtest/testdata/updateset2/u1_create.ql.out b/systemtest/testdata/updateset2/u1_create.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset2/u1_create.ql.out
diff --git a/systemtest/testdata/updateset2/u2_insert.ql b/systemtest/testdata/updateset2/u2_insert.ql
new file mode 100644
index 0000000..e345122
--- /dev/null
+++ b/systemtest/testdata/updateset2/u2_insert.ql
@@ -0,0 +1 @@
+insert into UpdateULong2 values $1
diff --git a/systemtest/testdata/updateset2/u2_insert.ql.java.out b/systemtest/testdata/updateset2/u2_insert.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset2/u2_insert.ql.java.out
diff --git a/systemtest/testdata/updateset2/u2_insert.ql.out b/systemtest/testdata/updateset2/u2_insert.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset2/u2_insert.ql.out
diff --git a/systemtest/testdata/updateset2/u4_update.ql b/systemtest/testdata/updateset2/u4_update.ql
new file mode 100644
index 0000000..76c2a42
--- /dev/null
+++ b/systemtest/testdata/updateset2/u4_update.ql
@@ -0,0 +1,3 @@
+UPDATE UpdateULong2 AS image
+SET image ASSIGN < [11:11,0:10] 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul, 1ul >
+
diff --git a/systemtest/testdata/updateset2/u4_update.ql.java.out b/systemtest/testdata/updateset2/u4_update.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset2/u4_update.ql.java.out
diff --git a/systemtest/testdata/updateset2/u4_update.ql.out b/systemtest/testdata/updateset2/u4_update.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset2/u4_update.ql.out
diff --git a/systemtest/testdata/updateset2/u5_update.ql b/systemtest/testdata/updateset2/u5_update.ql
new file mode 100644
index 0000000..6ad018e
--- /dev/null
+++ b/systemtest/testdata/updateset2/u5_update.ql
@@ -0,0 +1,3 @@
+UPDATE UpdateULong2 AS image
+SET image ASSIGN < [0:11,11:11] 1ul; 1ul; 1ul; 1ul; 1ul; 1ul; 1ul; 1ul; 1ul; 1ul; 1ul, 1ul >
+
diff --git a/systemtest/testdata/updateset2/u5_update.ql.java.out b/systemtest/testdata/updateset2/u5_update.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset2/u5_update.ql.java.out
diff --git a/systemtest/testdata/updateset2/u5_update.ql.out b/systemtest/testdata/updateset2/u5_update.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset2/u5_update.ql.out
diff --git a/systemtest/testdata/updateset2/u97_lookup.ql b/systemtest/testdata/updateset2/u97_lookup.ql
new file mode 100644
index 0000000..037ef28
--- /dev/null
+++ b/systemtest/testdata/updateset2/u97_lookup.ql
@@ -0,0 +1,5 @@
+-- Testbed: result_type=set <marray <ulong, [0:10,0:10]>>
+-- Testbed: result_elements=1
+
+SELECT a
+FROM UpdateULong2 AS a
diff --git a/systemtest/testdata/updateset2/u97_lookup.ql.java.out b/systemtest/testdata/updateset2/u97_lookup.ql.java.out
new file mode 100644
index 0000000..4d57291
--- /dev/null
+++ b/systemtest/testdata/updateset2/u97_lookup.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:11,0:11]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 1152
+ 0 0 0 0 0 1 2 3 0 0 0 0 4 5 6 7 0 0 0 0 8 9 10 11 0 0 0 0 12 13 14 15 0 0 0 0 16 17 18 19 0 0 0 0 20 21 22 23 0 0 0 0 24 25 26 27 0 0 0 0 28 29 30 31 0 0 0 0 32 33 34 35 0 0 0 0 36 37 38 39 0 0 0 0 40 41 42 43 0 0 0 0 0 0 0 1 0 0 0 0 44 45 46 47 0 0 0 0 48 49 50 51 0 0 0 0 52 53 54 55 0 0 0 0 56 57 58 59 0 0 0 0 60 61 62 63 0 0 0 0 64 65 66 67 0 0 0 0 68 69 70 71 0 0 0 0 72 73 74 75 0 0 0 0 76 77 78 79 0 0 0 0 80 81 82 83 0 0 0 0 84 85 86 87 0 0 0 0 0 0 0 1 0 0 0 0 88 89 90 91 0 0 0 0 92 93 94 95 0 0 0 0 96 97 98 99 0 0 0 0 100 101 102 103 0 0 0 0 104 105 106 107 0 0 0 0 108 109 110 111 0 0 0 0 112 113 114 115 0 0 0 0 116 117 118 119 0 0 0 0 120 121 122 123 0 0 0 0 124 125 126 127 0 0 0 0 -128 -127 -126 -125 0 0 0 0 0 0 0 1 0 0 0 0 -124 -123 -122 -121 0 0 0 0 -120 -119 -118 -117 0 0 0 0 -116 -115 -114 -113 0 0 0 0 -112 -111 -110 -109 0 0 0 0 -108 -107 -106 -105 0 0 0 0 -104 -103 -102 -101 0 0 0 0 -100 -99 -98 -97 0 0 0 0 -96 -95 -94 -93 0 0 0 0 -92 -91 -90 -89 0 0 0 0 -88 -87 -86 -85 0 0 0 0 -84 -83 -82 -81 0 0 0 0 0 0 0 1 0 0 0 0 -80 -79 -78 -77 0 0 0 0 -76 -75 -74 -73 0 0 0 0 -72 -71 -70 -69 0 0 0 0 -68 -67 -66 -65 0 0 0 0 -64 -63 -62 -61 0 0 0 0 -60 -59 -58 -57 0 0 0 0 -56 -55 -54 -53 0 0 0 0 -52 -51 -50 -49 0 0 0 0 -48 -47 -46 -45 0 0 0 0 -44 -43 -42 -41 0 0 0 0 -40 -39 -38 -37 0 0 0 0 0 0 0 1 0 0 0 0 -36 -35 -34 -33 0 0 0 0 -32 -31 -30 -29 0 0 0 0 -28 -27 -26 -25 0 0 0 0 -24 -23 -22 -21 0 0 0 0 -20 -19 -18 -17 0 0 0 0 -16 -15 -14 -13 0 0 0 0 -12 -11 -10 -9 0 0 0 0 -8 -7 -6 -5 0 0 0 0 -4 -3 -2 -1 0 0 0 0 0 1 2 3 0 0 0 0 4 5 6 7 0 0 0 0 0 0 0 1 0 0 0 0 8 9 10 11 0 0 0 0 12 13 14 15 0 0 0 0 16 17 18 19 0 0 0 0 20 21 22 23 0 0 0 0 24 25 26 27 0 0 0 0 28 29 30 31 0 0 0 0 32 33 34 35 0 0 0 0 36 37 38 39 0 0 0 0 40 41 42 43 0 0 0 0 44 45 46 47 0 0 0 0 48 49 50 51 0 0 0 0 0 0 0 1 0 0 0 0 52 53 54 55 0 0 0 0 56 57 58 59 0 0 0 0 60 61 62 63 0 0 0 0 64 65 66 67 0 0 0 0 68 69 70 71 0 0 0 0 72 73 74 75 0 0 0 0 76 77 78 79 0 0 0 0 80 81 82 83 0 0 0 0 84 85 86 87 0 0 0 0 88 89 90 91 0 0 0 0 92 93 94 95 0 0 0 0 0 0 0 1 0 0 0 0 96 97 98 99 0 0 0 0 100 101 102 103 0 0 0 0 104 105 106 107 0 0 0 0 108 109 110 111 0 0 0 0 112 113 114 115 0 0 0 0 116 117 118 119 0 0 0 0 120 121 122 123 0 0 0 0 124 125 126 127 0 0 0 0 -128 -127 -126 -125 0 0 0 0 -124 -123 -122 -121 0 0 0 0 -120 -119 -118 -117 0 0 0 0 0 0 0 1 0 0 0 0 -116 -115 -114 -113 0 0 0 0 -112 -111 -110 -109 0 0 0 0 -108 -107 -106 -105 0 0 0 0 -104 -103 -102 -101 0 0 0 0 -100 -99 -98 -97 0 0 0 0 -96 -95 -94 -93 0 0 0 0 -92 -91 -90 -89 0 0 0 0 -88 -87 -86 -85 0 0 0 0 -84 -83 -82 -81 0 0 0 0 -80 -79 -78 -77 0 0 0 0 -76 -75 -74 -73 0 0 0 0 0 0 0 1 0 0 0 0 -72 -71 -70 -69 0 0 0 0 -68 -67 -66 -65 0 0 0 0 -64 -63 -62 -61 0 0 0 0 -60 -59 -58 -57 0 0 0 0 -56 -55 -54 -53 0 0 0 0 -52 -51 -50 -49 0 0 0 0 -48 -47 -46 -45 0 0 0 0 -44 -43 -42 -41 0 0 0 0 -40 -39 -38 -37 0 0 0 0 -36 -35 -34 -33 0 0 0 0 -32 -31 -30 -29 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 \ No newline at end of file
diff --git a/systemtest/testdata/updateset2/u97_lookup.ql.out b/systemtest/testdata/updateset2/u97_lookup.ql.out
new file mode 100644
index 0000000..62bcea6
--- /dev/null
+++ b/systemtest/testdata/updateset2/u97_lookup.ql.out
@@ -0,0 +1,25 @@
+-- Testbed line: result_type=set <marray <ulong, [0:11,0:11]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:11,0:11]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:11,0:11]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 576
+ 9 9 9 9 9 9 9 9 9 9 9 1
+ 9 9 9 9 9 9 9 9 9 9 9 1
+ 9 9 9 9 9 9 9 9 9 9 9 1
+ 9 9 9 9 9 9 9 9 9 9 9 1
+ 9 9 9 9 9 9 9 9 9 9 9 1
+ 9 9 9 9 9 9 9 9 9 9 9 1
+ 9 9 9 9 9 9 9 9 9 9 9 1
+ 9 9 9 9 9 9 9 9 9 9 9 1
+ 9 9 9 9 9 9 9 9 9 9 9 1
+ 9 9 9 9 9 9 9 9 9 9 9 1
+ 9 9 9 9 9 9 9 9 9 9 9 1
+ 1 1 1 1 1 1 1 1 1 1 1 1
+-- Testbed end block:
diff --git a/systemtest/testdata/updateset2/u98_deletemdd.ql b/systemtest/testdata/updateset2/u98_deletemdd.ql
new file mode 100644
index 0000000..334eb71
--- /dev/null
+++ b/systemtest/testdata/updateset2/u98_deletemdd.ql
@@ -0,0 +1,2 @@
+DELETE FROM UpdateULong2 AS a
+WHERE true
diff --git a/systemtest/testdata/updateset2/u98_deletemdd.ql.java.out b/systemtest/testdata/updateset2/u98_deletemdd.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset2/u98_deletemdd.ql.java.out
diff --git a/systemtest/testdata/updateset2/u98_deletemdd.ql.out b/systemtest/testdata/updateset2/u98_deletemdd.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset2/u98_deletemdd.ql.out
diff --git a/systemtest/testdata/updateset2/u99_dropcoll.ql b/systemtest/testdata/updateset2/u99_dropcoll.ql
new file mode 100644
index 0000000..96b69f4
--- /dev/null
+++ b/systemtest/testdata/updateset2/u99_dropcoll.ql
@@ -0,0 +1 @@
+DROP COLLECTION UpdateULong2
diff --git a/systemtest/testdata/updateset2/u99_dropcoll.ql.java.out b/systemtest/testdata/updateset2/u99_dropcoll.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset2/u99_dropcoll.ql.java.out
diff --git a/systemtest/testdata/updateset2/u99_dropcoll.ql.out b/systemtest/testdata/updateset2/u99_dropcoll.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset2/u99_dropcoll.ql.out
diff --git a/systemtest/testdata/updateset3/u01_create.ql b/systemtest/testdata/updateset3/u01_create.ql
new file mode 100644
index 0000000..fad7183
--- /dev/null
+++ b/systemtest/testdata/updateset3/u01_create.ql
@@ -0,0 +1 @@
+CREATE COLLECTION UpdateULong2 ULongSet
diff --git a/systemtest/testdata/updateset3/u01_create.ql.java.out b/systemtest/testdata/updateset3/u01_create.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset3/u01_create.ql.java.out
diff --git a/systemtest/testdata/updateset3/u01_create.ql.out b/systemtest/testdata/updateset3/u01_create.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset3/u01_create.ql.out
diff --git a/systemtest/testdata/updateset3/u02_insert.ql b/systemtest/testdata/updateset3/u02_insert.ql
new file mode 100644
index 0000000..07d8258
--- /dev/null
+++ b/systemtest/testdata/updateset3/u02_insert.ql
@@ -0,0 +1 @@
+insert into UpdateULong2 values < [0:1,0:4] 1ul, 1ul, 1ul, 1ul, 1ul; 2ul, 2ul, 2ul, 2ul, 2ul >
diff --git a/systemtest/testdata/updateset3/u02_insert.ql.java.out b/systemtest/testdata/updateset3/u02_insert.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset3/u02_insert.ql.java.out
diff --git a/systemtest/testdata/updateset3/u02_insert.ql.out b/systemtest/testdata/updateset3/u02_insert.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset3/u02_insert.ql.out
diff --git a/systemtest/testdata/updateset3/u03_lookup.ql b/systemtest/testdata/updateset3/u03_lookup.ql
new file mode 100644
index 0000000..99cf48a
--- /dev/null
+++ b/systemtest/testdata/updateset3/u03_lookup.ql
@@ -0,0 +1,2 @@
+SELECT a
+FROM UpdateULong2 AS a
diff --git a/systemtest/testdata/updateset3/u03_lookup.ql.java.out b/systemtest/testdata/updateset3/u03_lookup.ql.java.out
new file mode 100644
index 0000000..24549dd
--- /dev/null
+++ b/systemtest/testdata/updateset3/u03_lookup.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:1,0:4]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 80
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 \ No newline at end of file
diff --git a/systemtest/testdata/updateset3/u03_lookup.ql.out b/systemtest/testdata/updateset3/u03_lookup.ql.out
new file mode 100644
index 0000000..1a2605d
--- /dev/null
+++ b/systemtest/testdata/updateset3/u03_lookup.ql.out
@@ -0,0 +1,18 @@
+-- Testbed line: result_type=set <marray <ulong, [0:1,0:4]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:1,0:4]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:1,0:4]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 40
+ 1 2
+ 1 2
+ 1 2
+ 1 2
+ 1 2
+-- Testbed end block:
diff --git a/systemtest/testdata/updateset3/u04_update.ql b/systemtest/testdata/updateset3/u04_update.ql
new file mode 100644
index 0000000..9628169
--- /dev/null
+++ b/systemtest/testdata/updateset3/u04_update.ql
@@ -0,0 +1,3 @@
+UPDATE UpdateULong2 AS image
+SET image[*:*,5] ASSIGN < [0:1] 0ul, 0ul >
+
diff --git a/systemtest/testdata/updateset3/u04_update.ql.java.out b/systemtest/testdata/updateset3/u04_update.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset3/u04_update.ql.java.out
diff --git a/systemtest/testdata/updateset3/u04_update.ql.out b/systemtest/testdata/updateset3/u04_update.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset3/u04_update.ql.out
diff --git a/systemtest/testdata/updateset3/u05_lookup.ql b/systemtest/testdata/updateset3/u05_lookup.ql
new file mode 100644
index 0000000..99cf48a
--- /dev/null
+++ b/systemtest/testdata/updateset3/u05_lookup.ql
@@ -0,0 +1,2 @@
+SELECT a
+FROM UpdateULong2 AS a
diff --git a/systemtest/testdata/updateset3/u05_lookup.ql.java.out b/systemtest/testdata/updateset3/u05_lookup.ql.java.out
new file mode 100644
index 0000000..4688cf3
--- /dev/null
+++ b/systemtest/testdata/updateset3/u05_lookup.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:1,0:5]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 96
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/updateset3/u05_lookup.ql.out b/systemtest/testdata/updateset3/u05_lookup.ql.out
new file mode 100644
index 0000000..7813a05
--- /dev/null
+++ b/systemtest/testdata/updateset3/u05_lookup.ql.out
@@ -0,0 +1,19 @@
+-- Testbed line: result_type=set <marray <ulong, [0:1,0:5]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:1,0:5]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:1,0:5]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 48
+ 1 2
+ 1 2
+ 1 2
+ 1 2
+ 1 2
+ 0 0
+-- Testbed end block:
diff --git a/systemtest/testdata/updateset3/u06_update.ql b/systemtest/testdata/updateset3/u06_update.ql
new file mode 100644
index 0000000..86c998a
--- /dev/null
+++ b/systemtest/testdata/updateset3/u06_update.ql
@@ -0,0 +1,3 @@
+UPDATE UpdateULong2 AS image
+SET image[2,*:*] ASSIGN < [0:5] 0ul, 0ul, 0ul, 0ul, 0ul, 0ul >
+
diff --git a/systemtest/testdata/updateset3/u06_update.ql.java.out b/systemtest/testdata/updateset3/u06_update.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset3/u06_update.ql.java.out
diff --git a/systemtest/testdata/updateset3/u06_update.ql.out b/systemtest/testdata/updateset3/u06_update.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset3/u06_update.ql.out
diff --git a/systemtest/testdata/updateset3/u07_lookup.ql b/systemtest/testdata/updateset3/u07_lookup.ql
new file mode 100644
index 0000000..99cf48a
--- /dev/null
+++ b/systemtest/testdata/updateset3/u07_lookup.ql
@@ -0,0 +1,2 @@
+SELECT a
+FROM UpdateULong2 AS a
diff --git a/systemtest/testdata/updateset3/u07_lookup.ql.java.out b/systemtest/testdata/updateset3/u07_lookup.ql.java.out
new file mode 100644
index 0000000..c776c52
--- /dev/null
+++ b/systemtest/testdata/updateset3/u07_lookup.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:2,0:5]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 144
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \ No newline at end of file
diff --git a/systemtest/testdata/updateset3/u07_lookup.ql.out b/systemtest/testdata/updateset3/u07_lookup.ql.out
new file mode 100644
index 0000000..3c4b0b5
--- /dev/null
+++ b/systemtest/testdata/updateset3/u07_lookup.ql.out
@@ -0,0 +1,19 @@
+-- Testbed line: result_type=set <marray <ulong, [0:2,0:5]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:2,0:5]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:2,0:5]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 72
+ 1 2 0
+ 1 2 0
+ 1 2 0
+ 1 2 0
+ 1 2 0
+ 0 0 0
+-- Testbed end block:
diff --git a/systemtest/testdata/updateset3/u08_update.ql b/systemtest/testdata/updateset3/u08_update.ql
new file mode 100644
index 0000000..b03dfff
--- /dev/null
+++ b/systemtest/testdata/updateset3/u08_update.ql
@@ -0,0 +1,3 @@
+UPDATE UpdateULong2 AS image
+SET image[*:*,sdom(image)[1].hi+1] ASSIGN < [0:2] 3ul, 3ul, 3ul >
+
diff --git a/systemtest/testdata/updateset3/u08_update.ql.java.out b/systemtest/testdata/updateset3/u08_update.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset3/u08_update.ql.java.out
diff --git a/systemtest/testdata/updateset3/u08_update.ql.out b/systemtest/testdata/updateset3/u08_update.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset3/u08_update.ql.out
diff --git a/systemtest/testdata/updateset3/u09_update.ql b/systemtest/testdata/updateset3/u09_update.ql
new file mode 100644
index 0000000..64782bf
--- /dev/null
+++ b/systemtest/testdata/updateset3/u09_update.ql
@@ -0,0 +1,3 @@
+UPDATE UpdateULong2 AS image
+SET image[sdom(image)[0].hi+1,*:*] ASSIGN < [0:6] 3ul, 3ul, 3ul, 3ul, 3ul, 3ul, 3ul >
+
diff --git a/systemtest/testdata/updateset3/u09_update.ql.java.out b/systemtest/testdata/updateset3/u09_update.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset3/u09_update.ql.java.out
diff --git a/systemtest/testdata/updateset3/u09_update.ql.out b/systemtest/testdata/updateset3/u09_update.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset3/u09_update.ql.out
diff --git a/systemtest/testdata/updateset3/u10_update.ql b/systemtest/testdata/updateset3/u10_update.ql
new file mode 100644
index 0000000..c7cb769
--- /dev/null
+++ b/systemtest/testdata/updateset3/u10_update.ql
@@ -0,0 +1,3 @@
+UPDATE UpdateULong2 AS image
+SET image[sdom(image)[0].hi+1,*:*] ASSIGN < [0:6] 4ul, 4ul, 4ul, 4ul, 4ul, 4ul, 4ul >
+
diff --git a/systemtest/testdata/updateset3/u10_update.ql.java.out b/systemtest/testdata/updateset3/u10_update.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset3/u10_update.ql.java.out
diff --git a/systemtest/testdata/updateset3/u10_update.ql.out b/systemtest/testdata/updateset3/u10_update.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset3/u10_update.ql.out
diff --git a/systemtest/testdata/updateset3/u97_lookup.ql b/systemtest/testdata/updateset3/u97_lookup.ql
new file mode 100644
index 0000000..99cf48a
--- /dev/null
+++ b/systemtest/testdata/updateset3/u97_lookup.ql
@@ -0,0 +1,2 @@
+SELECT a
+FROM UpdateULong2 AS a
diff --git a/systemtest/testdata/updateset3/u97_lookup.ql.java.out b/systemtest/testdata/updateset3/u97_lookup.ql.java.out
new file mode 100644
index 0000000..11794b4
--- /dev/null
+++ b/systemtest/testdata/updateset3/u97_lookup.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayLong
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:4,0:6]
+ TilingDomain..........: [0:125,0:125]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 8
+ Data format...........: 0
+ Data size (bytes).....: 280
+ 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 0 0 0 0 0 0 0 4 \ No newline at end of file
diff --git a/systemtest/testdata/updateset3/u97_lookup.ql.out b/systemtest/testdata/updateset3/u97_lookup.ql.out
new file mode 100644
index 0000000..7224cf7
--- /dev/null
+++ b/systemtest/testdata/updateset3/u97_lookup.ql.out
@@ -0,0 +1,20 @@
+-- Testbed line: result_type=set <marray <ulong, [0:4,0:6]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <ulong, [0:4,0:6]>
+ Type Schema...........: marray< ulong >
+ Domain................: [0:4,0:6]
+ Base Type Schema......: ulong
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 140
+ 1 2 0 3 4
+ 1 2 0 3 4
+ 1 2 0 3 4
+ 1 2 0 3 4
+ 1 2 0 3 4
+ 0 0 0 3 4
+ 3 3 3 3 4
+-- Testbed end block:
diff --git a/systemtest/testdata/updateset3/u98_deletemdd.ql b/systemtest/testdata/updateset3/u98_deletemdd.ql
new file mode 100644
index 0000000..334eb71
--- /dev/null
+++ b/systemtest/testdata/updateset3/u98_deletemdd.ql
@@ -0,0 +1,2 @@
+DELETE FROM UpdateULong2 AS a
+WHERE true
diff --git a/systemtest/testdata/updateset3/u98_deletemdd.ql.java.out b/systemtest/testdata/updateset3/u98_deletemdd.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset3/u98_deletemdd.ql.java.out
diff --git a/systemtest/testdata/updateset3/u98_deletemdd.ql.out b/systemtest/testdata/updateset3/u98_deletemdd.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset3/u98_deletemdd.ql.out
diff --git a/systemtest/testdata/updateset3/u99_dropcoll.ql b/systemtest/testdata/updateset3/u99_dropcoll.ql
new file mode 100644
index 0000000..96b69f4
--- /dev/null
+++ b/systemtest/testdata/updateset3/u99_dropcoll.ql
@@ -0,0 +1 @@
+DROP COLLECTION UpdateULong2
diff --git a/systemtest/testdata/updateset3/u99_dropcoll.ql.java.out b/systemtest/testdata/updateset3/u99_dropcoll.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset3/u99_dropcoll.ql.java.out
diff --git a/systemtest/testdata/updateset3/u99_dropcoll.ql.out b/systemtest/testdata/updateset3/u99_dropcoll.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset3/u99_dropcoll.ql.out
diff --git a/systemtest/testdata/updateset4/u01_create.ql b/systemtest/testdata/updateset4/u01_create.ql
new file mode 100644
index 0000000..bcb9280
--- /dev/null
+++ b/systemtest/testdata/updateset4/u01_create.ql
@@ -0,0 +1 @@
+CREATE COLLECTION UpdateFloat1 FloatSet
diff --git a/systemtest/testdata/updateset4/u01_create.ql.java.out b/systemtest/testdata/updateset4/u01_create.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset4/u01_create.ql.java.out
diff --git a/systemtest/testdata/updateset4/u01_create.ql.out b/systemtest/testdata/updateset4/u01_create.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset4/u01_create.ql.out
diff --git a/systemtest/testdata/updateset4/u02_insert.ql b/systemtest/testdata/updateset4/u02_insert.ql
new file mode 100644
index 0000000..cc0a568
--- /dev/null
+++ b/systemtest/testdata/updateset4/u02_insert.ql
@@ -0,0 +1 @@
+insert into UpdateFloat1 values $1 * 2f
diff --git a/systemtest/testdata/updateset4/u02_insert.ql.java.out b/systemtest/testdata/updateset4/u02_insert.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset4/u02_insert.ql.java.out
diff --git a/systemtest/testdata/updateset4/u02_insert.ql.out b/systemtest/testdata/updateset4/u02_insert.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset4/u02_insert.ql.out
diff --git a/systemtest/testdata/updateset4/u97_lookup.ql b/systemtest/testdata/updateset4/u97_lookup.ql
new file mode 100644
index 0000000..a5da017
--- /dev/null
+++ b/systemtest/testdata/updateset4/u97_lookup.ql
@@ -0,0 +1,2 @@
+SELECT a
+FROM UpdateFloat1 AS a
diff --git a/systemtest/testdata/updateset4/u97_lookup.ql.java.out b/systemtest/testdata/updateset4/u97_lookup.ql.java.out
new file mode 100644
index 0000000..fe4e976
--- /dev/null
+++ b/systemtest/testdata/updateset4/u97_lookup.ql.java.out
@@ -0,0 +1,15 @@
+
+rasj.RasMArrayFloat
+ Object Name...........:
+ Object Type...........: 1
+ Object Type Name......:
+ Type Structure........:
+ Type Schema...........: <nn>
+ Domain................: [0:10,0:10]
+ TilingDomain..........: [0:177,0:177]
+ TileSize..............: 128000 bytes
+ Base Type Schema......: <nn>
+ Base Type Length......: 4
+ Data format...........: 0
+ Data size (bytes).....: 484
+ 72 1 1 -128 77 0 -96 -63 77 -128 -112 -95 77 -64 -48 -31 78 0 -120 -111 78 32 -88 -79 78 64 -56 -47 78 96 -24 -15 78 -128 -124 -119 78 -112 -108 -103 78 -96 -92 -87 78 -80 -76 -71 78 -64 -60 -55 78 -48 -44 -39 78 -32 -28 -23 78 -16 -12 -7 79 0 -126 -123 79 8 -118 -115 79 16 -110 -107 79 24 -102 -99 79 32 -94 -91 79 40 -86 -83 79 48 -78 -75 79 56 -70 -67 79 64 -62 -59 79 72 -54 -51 79 80 -46 -43 79 88 -38 -35 79 96 -30 -27 79 104 -22 -19 79 112 -14 -11 79 120 -6 -3 -49 126 -4 -5 -49 118 -12 -13 -49 110 -20 -21 -49 102 -28 -29 -49 94 -36 -37 -49 86 -44 -45 -49 78 -52 -53 -49 70 -60 -61 -49 62 -68 -69 -49 54 -76 -77 -49 46 -84 -85 -49 38 -92 -93 -49 30 -100 -101 -49 22 -108 -109 -49 14 -116 -117 -49 6 -124 -125 -50 -4 -8 -11 -50 -20 -24 -27 -50 -36 -40 -43 -50 -52 -56 -59 -50 -68 -72 -75 -50 -84 -88 -91 -50 -100 -104 -107 -50 -116 -120 -123 -50 120 -16 -23 -50 88 -48 -55 -50 56 -80 -87 -50 24 -112 -119 -51 -16 -32 -47 -51 -80 -96 -111 -51 96 -64 -95 -52 -64 -128 64 72 1 1 -128 77 0 -96 -63 77 -128 -112 -95 77 -64 -48 -31 78 0 -120 -111 78 32 -88 -79 78 64 -56 -47 78 96 -24 -15 78 -128 -124 -119 78 -112 -108 -103 78 -96 -92 -87 78 -80 -76 -71 78 -64 -60 -55 78 -48 -44 -39 78 -32 -28 -23 78 -16 -12 -7 79 0 -126 -123 79 8 -118 -115 79 16 -110 -107 79 24 -102 -99 79 32 -94 -91 79 40 -86 -83 79 48 -78 -75 79 56 -70 -67 79 64 -62 -59 79 72 -54 -51 79 80 -46 -43 79 88 -38 -35 79 96 -30 -27 79 104 -22 -19 79 112 -14 -11 79 120 -6 -3 -49 126 -4 -5 -49 118 -12 -13 -49 110 -20 -21 -49 102 -28 -29 -49 94 -36 -37 -49 86 -44 -45 -49 78 -52 -53 -49 70 -60 -61 -49 62 -68 -69 -49 54 -76 -77 -49 46 -84 -85 -49 38 -92 -93 -49 30 -100 -101 -49 22 -108 -109 -49 14 -116 -117 -49 6 -124 -125 -50 -4 -8 -11 -50 -20 -24 -27 -50 -36 -40 -43 -50 -52 -56 -59 -50 -68 -72 -75 -50 -84 -88 -91 -50 -100 -104 -107 -50 -116 -120 -123 -50 120 -16 -23 \ No newline at end of file
diff --git a/systemtest/testdata/updateset4/u97_lookup.ql.out b/systemtest/testdata/updateset4/u97_lookup.ql.out
new file mode 100644
index 0000000..67c8388
--- /dev/null
+++ b/systemtest/testdata/updateset4/u97_lookup.ql.out
@@ -0,0 +1,24 @@
+-- Testbed line: result_type=set <marray <float, [0:10,0:10]>>
+-- Testbed line: result_elements=1
+-- Testbed start block:
+Image 1
+GMarray
+ Type Structure........: marray <float, [0:10,0:10]>
+ Type Schema...........: marray< float >
+ Domain................: [0:10,0:10]
+ Base Type Schema......: float
+ Base Type Length......: 4
+ Data format.......... : Array
+ Data size (bytes).... : 484
+ 18 18 18 18 18 18 18 18 18 18 18
+ 18 18 18 18 18 18 18 18 18 18 18
+ 18 18 18 18 18 18 18 18 18 18 18
+ 18 18 18 18 18 18 18 18 18 18 18
+ 18 18 18 18 18 18 18 18 18 18 18
+ 18 18 18 18 18 18 18 18 18 18 18
+ 18 18 18 18 18 18 18 18 18 18 18
+ 18 18 18 18 18 18 18 18 18 18 18
+ 18 18 18 18 18 18 18 18 18 18 18
+ 18 18 18 18 18 18 18 18 18 18 18
+ 18 18 18 18 18 18 18 18 18 18 18
+-- Testbed end block:
diff --git a/systemtest/testdata/updateset4/u98_deletemdd.ql b/systemtest/testdata/updateset4/u98_deletemdd.ql
new file mode 100644
index 0000000..7b89f8e
--- /dev/null
+++ b/systemtest/testdata/updateset4/u98_deletemdd.ql
@@ -0,0 +1,2 @@
+DELETE FROM UpdateFloat1 AS a
+WHERE true
diff --git a/systemtest/testdata/updateset4/u98_deletemdd.ql.java.out b/systemtest/testdata/updateset4/u98_deletemdd.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset4/u98_deletemdd.ql.java.out
diff --git a/systemtest/testdata/updateset4/u98_deletemdd.ql.out b/systemtest/testdata/updateset4/u98_deletemdd.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset4/u98_deletemdd.ql.out
diff --git a/systemtest/testdata/updateset4/u99_dropcoll.ql b/systemtest/testdata/updateset4/u99_dropcoll.ql
new file mode 100644
index 0000000..3160425
--- /dev/null
+++ b/systemtest/testdata/updateset4/u99_dropcoll.ql
@@ -0,0 +1 @@
+DROP COLLECTION UpdateFloat1
diff --git a/systemtest/testdata/updateset4/u99_dropcoll.ql.java.out b/systemtest/testdata/updateset4/u99_dropcoll.ql.java.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset4/u99_dropcoll.ql.java.out
diff --git a/systemtest/testdata/updateset4/u99_dropcoll.ql.out b/systemtest/testdata/updateset4/u99_dropcoll.ql.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/systemtest/testdata/updateset4/u99_dropcoll.ql.out
diff --git a/systemtest/testjava.sh b/systemtest/testjava.sh
new file mode 100644
index 0000000..5e1cda7
--- /dev/null
+++ b/systemtest/testjava.sh
@@ -0,0 +1,353 @@
+#!/bin/ksh
+#
+# This file is part of rasdaman community.
+#
+# Rasdaman community is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# Rasdaman community is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with rasdaman community. If not, see <http://www.gnu.org/licenses/>.
+#
+# Copyright 2003, 2004, 2005, 2006, 2007, 2008, 2009 Peter Baumann /
+# rasdaman GmbH.
+#
+# For more information please see <http://www.rasdaman.org>
+# or contact Peter Baumann via <baumann@rasdaman.com>.
+######################### testcenter.sh header ###################
+#
+# testcenter.sh FOR:
+# Release of RASDAMAN
+#
+#
+# COMMENTS: needs class examples.TestQuery
+# This facility is not necessary because you can start manualy the server
+#
+##################################################################
+
+TESTER=$USER
+CLIENT=$HOSTNAME
+SERVER=$HOSTNAME
+BASENAME=RASBASE
+TESTDATE=$(date +"%d.%m.%Y_%H:%M:%S")
+LOGFILE=testjava.log
+LOGRCS=javasession.log
+INTERACTIVE="off"
+SCRIPTS="off"
+QUERIES="on"
+PRESERVERESULTS="off"
+DEBUGCOMMANDS="off"
+PROTOCOL=$RMANPROTOCOL
+
+if [[ $1 = "" ]]; then
+ TESTDIR="testdata"
+else
+ TESTDIR=$1
+fi
+
+showOptions()
+{
+ clear
+ echo "===================================================================="
+ echo " TEST JAVA OPTIONS:"
+ echo "===================================================================="
+ echo " Date...........................: " `date`
+ echo " (T)ester...............: " $TESTER
+ echo " (C)lient name..........: " $CLIENT
+ echo " (S)erver name..........: " $SERVER
+ echo " (B)ase name............: " $BASENAME
+ echo " (L)og file.............: " $LOGFILE
+ echo " (Q)uery dir............: " $TESTDIR
+ echo ""
+ echo " (I)nteractive..........: " $INTERACTIVE
+ echo " (P)reserve results.....: " $PRESERVERESULTS
+ echo " (D)ebug commands.......: " $DEBUGCOMMANDS
+ echo ""
+ echo " Phase (1) Test Queries.: " $QUERIES
+ echo " Phase (2) Test Scripts.: " $SCRIPTS
+ echo ""
+ echo " Protocol................: " $PROTOCOL
+}
+setParameters()
+{
+ option="*"
+
+ while [[ $option != "" ]]; do
+
+ showOptions
+
+ echo " \nEnter [tcsblqipd12] to change setting or <return> to continue! \c"
+ read option
+ echo "\n"
+
+ if [[ $option = t ]]; then
+ echo " Enter new name for tester: \c"
+ read TESTER
+ echo
+ elif [[ $option = c ]]; then
+ echo " Enter new client name: \c"
+ read CLIENT
+ echo
+ elif [[ $option = s ]]; then
+ echo " Enter new server name: \c"
+ read SERVER
+ echo
+ elif [[ $option = b ]]; then
+ echo " Enter new base name: \c"
+ read BASENAME
+ echo
+ elif [[ $option = l ]]; then
+ echo " Enter new name for the log file: \c"
+ read LOGFILE
+ echo
+ elif [[ $option = q ]]; then
+ echo " Enter new name for the query data directory: \c"
+ read TESTDIR
+ echo
+ elif [[ $option = i ]]; then
+ if [[ $INTERACTIVE = "off" ]]; then
+ INTERACTIVE="on"
+ else
+ INTERACTIVE="off"
+ fi
+ elif [[ $option = p ]]; then
+ if [[ $PRESERVERESULTS = "off" ]]; then
+ PRESERVERESULTS="on"
+ else
+ PRESERVERESULTS="off"
+ fi
+ elif [[ $option = d ]]; then
+ if [[ $DEBUGCOMMANDS = "off" ]]; then
+ DEBUGCOMMANDS="on"
+ else
+ DEBUGCOMMANDS="off"
+ fi
+ elif [[ $option = 1 ]]; then
+ if [[ $QUERIES = "off" ]]; then
+ QUERIES="on"
+ else
+ QUERIES="off"
+ fi
+ elif [[ $option = 2 ]]; then
+ if [[ $SCRIPTS = "off" ]]; then
+ SCRIPTS="on"
+ else
+ SCRIPTS="off"
+ fi
+ fi
+
+ done
+}
+
+
+
+testQuery()
+{
+ testFile=$1
+
+ echo $testCnt ". Test query: " $testFile "\c"
+
+ YesNo="y"
+ if [[ $INTERACTIVE = "on" ]]; then
+ echo " Test it (y/n) ? \c"
+ read YesNo
+ fi
+
+ if [[ $YesNo = "y" ]]; then
+ $query $testFile -testbed > testbedOutput
+ checkTestImage $testFile;
+ fi
+}
+
+
+
+testScript()
+{
+ testFile=$1
+
+ echo $testCnt ". Test script: " $testFile "\c"
+
+ YesNo="y"
+ if [[ $INTERACTIVE = "on" ]]; then
+ echo " Test it (y/n) ? \c"
+ read YesNo
+ fi
+
+ if [[ $YesNo = "y" ]]; then
+ $testFile $SERVER $BASENAME > testbedOutput
+ checkTestImage $testFile;
+ fi
+}
+
+
+
+checkTestImage()
+{
+ returnValue="EXECUTION OK"
+
+ # create info file
+ gawk -f testOutputGen.awk testbedOutput > testbedOutputInfo
+
+ # check for verification file
+ verificationFile=$testFile".out"
+
+ if [[ ! -a $verificationFile ]]; then
+ echo FAILED
+ echo " ERROR: verification file $verificationFile does not exist"
+
+ echo " Do you want to see the output (y/n) ? \c"
+ read YesNo
+ echo "\n"
+
+ if [[ $YesNo = y ]]; then
+ echo "I. TEST FILE"
+ cat $testFile
+ echo "\n\nII. OUTPUT"
+ cat testbedOutputInfo
+ echo "\n\n"
+ fi
+
+ echo " Do you want to create a verification file (y/n) ? \c"
+ read YesNo
+ echo "\n"
+
+ if [[ $YesNo = y ]]; then
+ cp testbedOutputInfo $verificationFile
+ echo " CREATED\n"
+ returnValue="VERIFICATION FILE CREATED"
+ else
+ echo " NOT CREATED\n"
+ returnValue="VERIFICATION FILE NOT FOUND"
+ fi
+
+ else
+
+ diff testbedOutputInfo $verificationFile
+
+ if [[ $? = 1 ]]; then
+ echo "FAILED"
+ echo "\nProgram output:"
+ cat testbedOutput
+ echo "\n\n"
+ returnValue="EXECUTION FAILED"
+
+ echo " Do you want to update the verification file (y/n) ? \c"
+ read YesNo
+ echo "\n"
+
+ if [[ $YesNo = y ]]; then
+ co -l $verificationFile
+ cp testbedOutputInfo $verificationFile
+ echo " UPDATED\n"
+ ci -u -m"testcenter update" $verificationFile
+ returnValue="VERIFICATION FILE UPDATED"
+ fi
+
+ else
+ echo "OK"
+ fi
+
+ fi
+
+ rm testbedOutput testbedOutputInfo
+}
+
+
+
+#
+# main
+#
+
+# test programs
+query="$RMANBASE/java/examples/TestQuery.class"
+images="$RMANBASE/systemtest/images"
+
+if [[ ! -a $query ]]; then
+ query="$RMANBASE/java/classes/examples/TestQuery.class"
+ if [[ ! -a $query ]]; then
+ echo "\nTest program $query not found"
+ echo "Please build the program and try again."
+ return
+ fi
+fi
+
+setParameters;
+query="$query -s $SERVER -d $BASENAME"
+YesNo=""
+
+if [[ -f $LOGFILE ]]; then
+ echo "\nDelete log file $LOGFILE (y/n) ? \c"
+ read YesNo
+ echo "\n\n"
+ if [[ $YesNo = y ]]; then
+ rm $LOGFILE
+ fi
+fi
+
+
+echo "----------------------------------JAVA TEST SESSION-------------------------" >> $LOGFILE
+echo "- Date........ : " $TESTDATE >> $LOGFILE
+echo "- Tester.......: " $TESTER >> $LOGFILE
+echo "- Directory....: " $PWD/$TESTDIR >> $LOGFILE
+echo "- Client name..: " $CLIENT >> $LOGFILE
+echo "- Server name..: " $SERVER >> $LOGFILE
+echo "- Base name....: " $BASENAME >> $LOGFILE
+echo "-------------------------------------START----------------------------------" >> $LOGFILE
+
+
+
+#
+# test query files
+#
+
+if [[ $QUERIES = "on" ]]; then
+ echo "\nPhase 1: Testing Query Files\n"
+
+ if [[ $PRESERVERESULTS = "on" ]]; then
+ if [[ $DEBUGCOMMANDS = "on" ]]; then
+ echo java -Xms100m -Xmx200m -DRMANPROTOCOL=$PROTOCOL -classpath $CLASSPATH examples.TestQuery -server $SERVER -database $BASENAME -testdirectory $TESTDIR -logfile $LOGFILE -preserveresult
+ else
+ java -Xms100m -Xmx200m -DRMANPROTOCOL=$PROTOCOL -classpath $CLASSPATH examples.TestQuery -server $SERVER -database $BASENAME -testdirectory $TESTDIR -logfile $LOGFILE -preserveresult
+ fi
+ else
+ if [[ $DEBUGCOMMANDS = "on" ]]; then
+ echo java -Xms100m -Xmx200m -DRMANPROTOCOL=$PROTOCOL -classpath $CLASSPATH examples.TestQuery -server $SERVER -database $BASENAME -testdirectory $TESTDIR -logfile $LOGFILE
+ else
+ java -Xms100m -Xmx200m -DRMANPROTOCOL=$PROTOCOL -classpath $CLASSPATH examples.TestQuery -server $SERVER -database $BASENAME -testdirectory $TESTDIR -logfile $LOGFILE
+ fi
+ fi
+
+fi
+
+
+#
+# test scripts
+#
+
+if [[ $SCRIPTS = "on" ]]; then
+ echo "\nPhase 2: Testing Scripts\n"
+
+ testCnt=1
+ scriptFiles=`find scripts -name '*.sh' | sort`
+
+ for scriptFile in $scriptFiles; do
+
+ testScript $scriptFile
+
+ echo "Script " $testCnt $scriptFile":" $returnValue >> $LOGFILE
+
+ testCnt=$(($testCnt+1))
+ done
+fi
+
+echo "\n-------------------------------------END------------------------------------" >> $LOGFILE
+echo "\n\n" >> $LOGFILE
+
+
+echo "\nTesting finnished.\n"