program skaiciai;
{ 158 uýdavinys }
{ Klaidingoji programa }

  procedure Skaityti (var b: text; var z: string);
    { Skaitomas vienas ýodis z i÷ bylos b  }
    { Peskaißius paskutinõ eilutós ýodõ eof(b) = true }
    var s: char;
  begin
    z := ''; s := ' ';
    while not eoln(b) and not eof(b) and (s = ' ') do
      read(b, s);
    if s <> ' ' then z := z + s;
    while not eoln(b) and not eof(b) and (s <> ' ') do
      begin
        read(b, s);
        if s <> ' ' then z := z + s
      end
  end;

  function SkaitvK (Skaitv: string): integer;
    { Skaitvardis --> skaitvardýio kodas (beveik visada -- reik÷mó) }
    const SkaitvSk = 32;  { Skaitvardýiù skaißius }
          Lent: array [1..SkaitvSk] of record        { Skaitvardýiù kodai }
                                         s: string;  { Skaitvardis }
                                         k: integer  { Kodas }
                                       end =         { (daýnai - ir reik÷mó) }
      ((s: 'vienas' ;         k: 1),
       (s: 'du';              k: 2),
       (s: 'trys';            k: 3),
       (s: 'keturi';          k: 4),
       (s: 'penki';           k: 5),
       (s: '÷e÷i';            k: 6),
       (s: 'septyni';         k: 7),
       (s: 'a÷tuoni';         k: 8),
       (s: 'devyni';          k: 9),
       (s: 'de÷imt';          k: 10),
       (s: 'vienuolika';      k: 11),
       (s: 'dvylika';         k: 12),
       (s: 'trylika';         k: 13),
       (s: 'keturiolika';     k: 14),
       (s: 'penkiolika';      k: 15),
       (s: '÷e÷iolika';       k: 16),
       (s: 'septyniolika';    k: 17),
       (s: 'a÷tuoniolika';    k: 18),
       (s: 'devyniolika';     k: 19),
       (s: 'dvide÷imt';       k: 20),
       (s: 'trisde÷imt';      k: 30),
       (s: 'keturiasde÷imt';  k: 40),
       (s: 'penkiasde÷imt';   k: 50),
       (s: '÷e÷iasde÷imt';    k: 60),
       (s: 'septynesde÷imt'; k: 70),
       (s: 'a÷tuoniasde÷imt'; k: 80),
       (s: 'devyniasde÷imt';  k: 90),
       (s: '÷imtas';          k: 100),
       (s: '÷imtai';          k: 102),   { kodas <> reik÷mó }
       (s: 'tûkstantis';      k: 1000),
       (s: 'tûkstanßiai';     k: 1002),  { kodas <> reik÷mó }
       (s: 'tûkstanßiù';      k: 1010)); { kodas <> reik÷mó }

    var i: integer;
  begin
    SkaitvK := 0;
    for i := 1 to SkaitvSk do
      if Lent[i].s = Skaitv then SkaitvK := Lent[i].k
  end;

  procedure FormuotiSk(var prad: text; var VisasSk: longint);
    { Skaitvardýiai --> Skaißius }
    var skaitv: string;          { Skaitvardis }
        kodas: integer;          { Skaitvardýio kodas }
        tkst, vnt: longint;      { Skaißiaus komponentai po 3 skaitmenis:    }
                                 { tûkstanßiai (xxx000) ir vienetai (000xxx) }
        klaida: boolean;

  begin
    tkst := 0; vnt := 0; klaida := false;
    while not eoln(prad) do
      begin
        Skaityti(prad, skaitv);
        kodas := SkaitvK(skaitv);
        case kodas of
          1..9:   if Vnt mod 10 = 0
                    then vnt := vnt + kodas
                    else klaida := true;
          10..90: if (Vnt mod 100) = 0
                    then vnt := vnt + kodas
                    else klaida := true;
          100:    if vnt <= 1                        { (1) ÷imtas }
                    then vnt := 100
                    else klaida := true;
          102:    if vnt in [2..9]                   { 2 ÷imtai }
                    then vnt := vnt * 100
                    else klaida := true;
          1000:   if (tkst = 0) and (vnt div 10 = 0)
                     then begin tkst := vnt; vnt := 0 end
                     else klaida := true;
          1002:   if (tkst = 0) and
                     ((vnt mod 10) in [2..9])     { ... 2..9 tûkst., }
                    then begin tkst := vnt; vnt := 0 end
                    else klaida := true;
          1010:   if (tkst = 0)
                      and (vnt > 0)
                      and ((vnt mod 100) in [11..19])   { ...11..19 tûkst. }
                    then begin tkst := vnt; vnt := 0 end
                    else klaida := true
        end; { case }
      end; { while }
      if klaida then VisasSk := 0
                else VisasSk := tkst*1000 + vnt;
      readln(prad)
  end;

  var prad, rez: text;
      n: integer;         { pradiniù duomenù eilußiù -- skaißiù skaißius }
      rezult: longint;    { i÷ skaitvardýiù gautas skaißius }
      i: integer;

begin
  assign(prad, 'SKAI.DAT'); reset(prad);
  assign(rez,  'SKAI.REZ'); rewrite(rez);
  readln(prad, n);
  for i := 1 to n do
    begin
      FormuotiSk(prad, rezult);
      writeln(rez, rezult: 6);
    end;
  close(prad); close(rez)
end.
