#!/usr/bin/perl open STDOUT, "|sqlite3" or die "Cannot fork sqlite"; print " create table number(x integer, y1 integer, y2 integer, n integer); create table symbol(x integer, y integer, sym text); create view adjacent as select number.n, number.x, number.y1, symbol.s, symbol.x, symbol.y from symbol, number where symbol.x between number.x - 1 and number.x + 1 and y >= y1-1 and y <= y2+1 ; begin; "; while(<>) { print "insert into number values ($., $-[0], $+[0], $&);\n" while /\d+/g; print "insert into symbol values ($., $-[0], '$&');\n" while /[^.0-9\n]/g; } print "commit;\n"; print "select sum(n) from number where (number.x, number.y1) in (SELECT number.x, number.y1 from symbol, number where y >= y1-1 and y <= y2+1 and symbol.x between number.x - 1 and number.x + 1);"; print "select