#!/usr/bin/env ruby eval 'm=Hash.new(p=0); n=Hash.new(b=0);'+ARGF.read.gsub(/./, '1' => 'p=1; b+=p;', '2' => 'p=2; b+=p;', '3' => 'p=3; b+=p;', '4' => 'p=4; b+=p;', '5' => 'p=5; b+=p;', '6' => 'p=6; b+=p;', '7' => 'p=7; b+=p;', '8' => 'p=8; b+=p;', '9' => 'p=9; b+=p;', '?' => 'p=1+rand(9);', 'v' => 'm[p]+=b;', '"' => 'putc m[p];', 'p' => 'print b;', 'o' => 'print m[p];', '{' => 'm[p]=0;', '}' => 'b=0;', '$' => 'm[p]=STDIN.getbyte if !STDIN.eof;', ';' => '(', ':' => ')while((m[p]&=255)!=0);')