#!/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