99 Bottles of Beer
One program in 571 languages
 
     
  Submit new example     Change log     History     Links     Tip: internet.ls-la.net     Thanks, Oliver     Guestbook      
Choose languages starting with letter:
0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
O'Basic   Oberon (object orientated)   Oberon   OBJ   Objective C   Objective Caml   Objectstar   Obliq   OCaml (functional)   OCaml (with recursion)   Occam   OCL   Omnis Studio   Ook   Open Acces IV   OpenVMS DECTPU   OPL   OPS Script   Oracle SQL   Oroogu   Orthogonal   Ox  
 
  Programming language: O'Basic
 
' O'Basic version of 99 Bottles of beer (Bottles.cod)
' See http://www.obasic.com/
' Philipp Winterberg, http://www.winterbergs.de

a$ = " bottle(s) of beer"
c$ = a$ + " on the wall"
for b# = 1 to 99
  print str(100 - b#, 2) + c$ + ","^J"^M"
  print str(100 - b#, 2) + a$ + "."^J"^M"
  print "Take one down, pass it around,"^J"^M"
  print str(99 - b#, 2) + c$ + "."^J"^M"^J"^M"
endfor
 
  Programming language: Oberon (object orientated)
 
MODULE BeerSong;

(* An object-oriented beer song in Oberon-2              *)
(* Contributed by Michael Griebling (mgriebling@bix.com) *)

IMPORT O:=Out;

TYPE
  WallObject* = RECORD beer-: SHORTINT END;

VAR
  BeerWall : WallObject;
  
  PROCEDURE (VAR wall: WallObject) LineEmUp*;
  BEGIN wall.beer := 99
  END LineEmUp;
  
  PROCEDURE (VAR wall: WallObject) PassOneAround*;
  BEGIN DEC(wall.beer)
  END PassOneAround;
  
  PROCEDURE (VAR wall: WallObject) HasMoreBeer* () : BOOLEAN;
  BEGIN RETURN wall.beer > 0
  END HasMoreBeer;
  
  PROCEDURE SingOf(beer: SHORTINT);
  BEGIN 
    IF beer = 0 THEN O.String("No more") ELSE O.Int(beer, 1) END; 
    O.String(" bottle"); IF beer#1 THEN O.Char("s") END; O.String(" of beer")
  END SingOf;
     
  PROCEDURE (VAR wall: WallObject) SingVerse*;    
  BEGIN 
    SingOf(wall.beer); O.String(" on the wall, "); SingOf(wall.beer); O.Ln;
    O.String("Take one down and pass it around,"); O.Ln;
    SingOf(wall.beer-1); O.String(" on the wall."); O.Ln; O.Ln
  END SingVerse;

BEGIN
  BeerWall.LineEmUp;
  WHILE BeerWall.HasMoreBeer() DO BeerWall.SingVerse; BeerWall.PassOneAround END
END BeerSong.
 
  Programming language: Oberon
 
MODULE BottlesOfBeers; (* Andrejs Jansons 27.10.95 *)

      IMPORT Out;

      PROCEDURE Start*;
           VAR
                bottles: INTEGER;
           BEGIN
                bottles := 99;

                REPEAT
                    Out.Int(bottles, 2);
                    Out.String(" bottles of beer on the wall, ");
                    Out.Int(bottles, 2);
                    Out.String(" bottles of beer.");
                    Out.Ln;
                    Out.String("Take one down, pass it around, ");

                    DEC(bottles);

                    Out.Int(bottles, 2);
                    Out.String(" bottles of beer on the wall.");
                    Out.Ln
                UNTIL bottles = 1;

                Out.String("1 bottle of beer on the wall, one bottle of beer.");
                Out.Ln;
                Out.String("Take one down, pass it around,");
                Out.String(" no more bottles of beer on the wall");
                Out.Ln
           END Start;

END BottlesOfBeers.
 
  Programming language: OBJ
 
OBJ is an algebraic specification language.

*** OBJ version of 99 bottles of beer
*** programmer: Grigore Rosu  grosu@cs.ucsd.edu
*** creator of OBJ language: Joseph Goguen

obj STRING is sort String .
  ops We like some beer on the wall.  : -> String .
  ops Take one bottle of wall down ,  : -> String .
  ops And pass it arround the beer.   : -> String .
  ops Does anybody want bottles more? : -> String .
endo

obj LIST[X :: TRIV] is
  sort List .
  subsort Elt < List .
  op __ : List List -> List [assoc] .
endo

make CHUG is LIST [ STRING + NAT ] endm

obj BEER is protecting CHUG .
  subsort Nat < String .
  ops beers puke : Nat -> List .
  op bottle? : Nat -> String .
  var N : Nat .
  eq beers(0) = Does anybody want some more? .
  cq beers(N) = puke(N) beers(p N) if N > 0 .
  eq puke(N) = N bottle?(N) of beer on the wall , N bottle?(N) of beer.
   Take one down , pass it arround , (p N) bottle?(p N) of beer on the wall. .
  cq bottle?(N) = bottle  if N == 1 .
  cq bottle?(N) = bottles if N =/= 1 .
endo

red beers(99) .
 
  Programming language: Objective C
 
/*
 * 99 Bottles of Beer written in Objective-C for Mac OS X.
 * Should work on most OpenStep environments as well.
 *
 * Please note that since Objective-C is a superset of C, all
 * C versions are valid Objective-C as well. Therefore, this
 * version is written in fancy OO, and using NSLog rather than
 * printf for optimum uglyness.
 *
 * Compiles on Mac OS X with "gcc -framework Foundation 99Bottles.m"
 *
 * (c) 2002 Dan Christiansen
 */

#import <Foundation/Foundation.h>

@class BeerBottle;
@class BeerWall;

@interface BeerWall : NSObject
{
    NSMutableArray *bottles;
}
+ (BeerWall *)wallWithBottles:(int)nbottles;
- (int)bottles;
- (BeerBottle *)getBottle;
- (void)throwParty;
@end

@interface BeerBottle : NSObject
{
    BOOL full;
}
- (void)chug;
@end

@implementation BeerWall
- (id)initWithBottles:(int)nbottles
{
    self = [super init];

    bottles = [NSMutableArray arrayWithCapacity:99];

    int i;
    for (i = 0; i < 99; i++) {
        [bottles addObject:[[[BeerBottle alloc] init] retain]];
    }

    return self;
}

+ (BeerWall *)wallWithBottles:(int)nbottles
{
    return [[BeerWall alloc] initWithBottles:nbottles];
}

- (int)bottles
{
    return [bottles count];
}

- (BeerBottle *)getBottle
{
    BeerBottle *bottle = [bottles lastObject];
    [bottles removeLastObject];
    [bottle release];
    return [bottle autorelease];
}
- (void)throwParty
{
    /* Objective-C is only supposed to handle 63 recursive calls - we do 99.
    * Life's a bitch.
    */

    switch([self bottles]) {
        case 1:
            NSLog(@"1 bottles of beer on the wall, 1 bottles of beer,");
            NSLog(@"Take one down pass it around,");
            [[self getBottle] chug];
            NSLog(@"No bottles of beer on the wall.",
                  [self bottles], [self bottles]);
            NSLog(@"");
            break;
        default:
            NSLog(@"%d bottles of beer on the wall, %d bottles of beer,",
                  [self bottles], [self bottles]);
            NSLog(@"Take one down pass it around,");
            [[self getBottle] chug];
            NSLog(@"%d bottles of beer on the wall.",
                  [self bottles], [self bottles]);
            NSLog(@"");
            [self throwParty];
            break;
    }

    return;
}
@end

@implementation BeerBottle
- (id)init
{
    self = [super init];
    srand(time(0));
    full = YES;
    return self;
}

- (void)chug
{
    if (full) {
        if (rand()/(double)RAND_MAX < 0.025)
            NSLog(@"BUUUUUUUUURP!");
        full = NO;
    } else {
        printf("WTF!? This bottle's empty!!!\n");
    }
}
@end

int main()
{
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

    [[BeerWall wallWithBottles:99] throwParty];

    [pool release];
}
 
  Programming language: Objective Caml
 
(* Objective Caml version of 99 Bottles of beer (Bottles.ml) *)
(* http://caml.inria.fr/ocaml/distrib.html                   *)
(* Philipp Winterberg, http://www.winterbergs.de             *)

let b = ref 99
in while !b > 0 do
     print_int !b; print_string " bottle(s) of beer on the wall,\n";
     print_int !b; print_string " bottle(s) of beer.\n";
     print_string "Take one down, pass it around,\n";
     b := !b - 1;
     print_int !b; print_string " bottle(s) of beer on the wall.\n\n"
  done;;
 
  Programming language: Objectstar
 
Also known as HURON.


BOTTLES_OF_BEER;
_ LOCAL COUNT;
_ ----------------------------------------------------------------------
_ ------------------------------------------------------------+---------
_ COUNT = 99;                                                 ¦ 1
_ UNTIL EQUAL :                                               ¦ 2
_    CALL MSGLOG(COUNT || ' BOTTLE(S) OF BEER ON THE WALL');  ¦
_    CALL MSGLOG(COUNT || ' BOTTLE(S) OF BEER');              ¦
_    CALL MSGLOG('TAKE ONE DOWN AND PASS IT AROUND');         ¦
_    COUNT = COUNT - 1;                                       ¦
_    CALL MSGLOG(COUNT || ' BOTTLE(S) OF BEER ON THE WALL');  ¦
_    CALL MSGLOG('');                                         ¦
_    CALL SIGNAL_EQUAL(COUNT, 0);                             ¦
_    END;                                                     ¦
_ ----------------------------------------------------------------------

 
  Programming language: Obliq
 
(* 99 Bottles of Beer in Obliq; by David Eddyshaw,
   david@jeddyshaw.freeserve.co.uk
   See http://www.research.compaq.com/SRC/modula-3/html/home.html *)

let bottles = proc(n)
  if    n is 0 then wr_putText(wr_stdout, "No more bottles");
  elsif n is 1 then wr_putText(wr_stdout, "1 bottle");
  else              wr_putText(wr_stdout, fmt_int(n) & " bottles");
  end;
end;

var n = 99;
loop  
  if n is 0 then exit end;
  bottles(n);      wr_putText(wr_stdout, " of beer on the wall,\n");
  bottles(n);      wr_putText(wr_stdout, " of beer.\n");
  wr_putText(wr_stdout,"Take one down and pass it around;\n");
  bottles(n - 1);  wr_putText(wr_stdout, " of beer on the wall.\n\n");
  n := n - 1;
end;
 
  Programming language: OCaml (functional)
 
let rec ninetyNineBottlesOfBeer  = function
     0 -> print_string "no more bottles of beer\n"
   | 1 -> print_string "1 bottle of beer on the wall. Take it down, pass 
it around\n" ; ninetyNineBottlesOfBeer 0
   | n -> print_int n ; print_string " bottles of beer on the wall. Take 
one down, pass it around\n" ; ninetyNineBottlesOfBeer (n - 1)
  in  ninetyNineBottlesOfBeer 99 ;

(* ocamlopt -o ninetyNineBottlesOfBeer nintyNineBottlesOfBeer.ml *)
 
  Programming language: OCaml (with recursion)
 
From wreel@ibss.net Sat May 31 00:08:20 2003
Return-path: <wreel@ibss.net>
Envelope-to: new99bottles@ls-la.net
Delivery-date: Sat, 31 May 2003 00:08:21 +0200
Received: from [66.49.75.50] (helo=jupiter.ibss.net) by
	mxng02.kundenserver.de with esmtp (Exim 3.35 #1) id 19Ls2u-00037a-00 for
	new99bottles@ls-la.net; Sat, 31 May 2003 00:08:20 +0200
Content-Class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
X-MimeOLE: Produced By Microsoft Exchange V6.0.5762.3
Subject: Ocaml version with tail recursion and proper singular/plural form
Date: Fri, 30 May 2003 18:08:18 -0400
Message-ID: <7BBD9965EAFE6B40AECE5746C1BE1EE47EDAE5@jupiter.ibss.net>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: Ocaml version with tail recursion and proper singular/plural
	form
Thread-Index: AcMm962LMiuCApKAEdeTnQDgKYTdFQ==
From: "Walter Reel" <wreel@ibss.net>
To: <new99bottles@ls-la.net>
X-Evolution-Source: pop://pt34182835-os01@pop.1und1.com
Content-Transfer-Encoding: 8bit

(* 
 * O'Caml version of 99 bottles
 * by Walter C. Reel III 
 *)
let bottles n = if n = 1 then "1 bottle of beer" 
                else string_of_int n ^ " bottles of beer" in
let finale n = if n = 0 then "\nNo more bottles of beer on the wall!" 
               else ((bottles n) ^ " on the wall.\n\n") in
let round n = print_string ((bottles n) ^ " on the wall,\n");
              print_string ((bottles n) ^ ".\n");
              print_string "Take one down, pass it around.\n";
              print_string (finale (n-1)) in
let rec doit n =
  match n with
      0 -> ()
    | n -> round n; doit (n-1) in
doit 99;;
 
  Programming language: Occam
 
-- compiled with the University of Kent "kroc" compiler
-- Tony Curtis <Tony.Curtis@vcpc.univie.ac.at> 1997
--
PROC beer (CHAN OF BYTE key, screen, error)
 
  VAL INT BEERS IS 99 :                       -- big fridge!
 
  #USE "tty_utils.tco"
  PROC sorp (VAL INT n, CHAN OF BYTE out)     -- singular or plural?
    IF
      n > 1
        out.string ("s", 1, out)
      TRUE
        SKIP
  :
  PROC sayit (VAL INT n, CHAN OF BYTE out)     -- text for each iteration
    SEQ
      out.number (n, 1, out)
      out.string (" bottle", 1, out)
      sorp (n, out)
      out.string (" of beer on the wall, ", 1, out)
      out.number (n, 1, out)
      out.string (" bottle", 1, out)
      sorp (n, out)
      out.string (" of beer.", 1, out)
      out.string ("*c*n", 1, out)
      out.string ("Take one down, pass it around, ", 1, out)
      VAL INT next IS  n - 1 :
      IF
        next > 0
          SEQ
            out.number (next, 1, out)
            out.string (" bottle", 1, out)
            sorp (next, out)
            out.string (" of beer on the wall.", 1, out)
        TRUE
          out.string ("no bottles of beer on the wall.", 1, out)
      out.string ("*c*n", 1, out)
  :
  PROC beers (VAL INT nbeers, CHAN OF BYTE out)
    INT b :
    SEQ
      b := nbeers
      WHILE b > 0
        SEQ
          sayit (b, out)
          b := b - 1
  :
  beers (BEERS, screen)
:
 
  Programming language: OCL
 
Operation Control Language is the JCL/batch/scripting language for 
the IBM System 32/34/36 computer series.

** 99 Bottles of Beer on the Wall
// EVALUATE P1=99 P2='s'
// TAG MOREBEER
// * '?1? bottle?2? of beer on the wall,'
// * '?1? bottle?2? of beer,'
// IFF '?1?'='No more' * 'Take one down and pass it around,' 
// ELSE * 'Go to the store and get some more,'
// IFF '?1?'='No more' EVALUATE P1=?1?-1  * decrement the counter
// ELSE EVALUATE P1=99 * reseed counter
// IF ?1?>1 EVALUATE  * leave P2='s' (for efficiency - OCL is interpreted)
// ELSE IF ?1?=1 EVALUATE P2=''
// ELSE IF ?1?=0 EVALUATE P1='No more' P2='s'
// * '?1? bottle?2? of beer on the wall.'
// GOTO MOREBEER * ad infinitum
 
  Programming language: Omnis Studio
 
99 Bottles song in Omnis Studio (http://www.omnis-software.com/)
Author: Minh Hoac

Usage: 
Create a new library. Name it for instance 99Bottles.lbs
In the Startup_Task.$construct add:

[Local variable]:Count [Type]:Number [Subtype]:Short integer

For Count from 99 to 1 step -1
  OK message 99 Bottles song {[Count] bottle(s) of beer on the wall, [Count]
bottle(s) of beer.//Take one down and pass it around, [Count-1] bottle(s) of
beer on the wall}
End For
 
  Programming language: Ook
 
# 99bottles.ook by Phil Homewood dot@atat.dotat.org, 20030129
# Written in Ook!: http://www.dangermouse.net/esoteric/ook.html

Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook? 
Ook. Ook? Ook! Ook? Ook! Ook! Ook? Ook! Ook. Ook? Ook! Ook? Ook! Ook! 
Ook? Ook! Ook? Ook. Ook? Ook. Ook! Ook? Ook. Ook? Ook. Ook. Ook. Ook? 
Ook. Ook. Ook? Ook. Ook? Ook. Ook! Ook! Ook? Ook! Ook. Ook? Ook. Ook? 
Ook! Ook? Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook! 
Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook? Ook! Ook! Ook? Ook! 
Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook! Ook? 
Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook? Ook. Ook? Ook. Ook! Ook? 
Ook. Ook? Ook. Ook. Ook. Ook? Ook! Ook? Ook! Ook! Ook? Ook! Ook? Ook. 
Ook? Ook. Ook! Ook! Ook? Ook! Ook. Ook? Ook! Ook? Ook? Ook. Ook. Ook. 
Ook. Ook? Ook! Ook! Ook? Ook! Ook. Ook? Ook! Ook? Ook? Ook. Ook? Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. 
Ook? Ook. Ook! Ook! Ook? Ook! Ook? Ook. Ook? Ook. Ook! Ook! Ook? Ook. 
Ook! Ook! Ook? Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook? Ook? Ook. 
Ook! Ook! Ook. Ook? Ook! Ook! Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook. 
Ook. Ook? Ook! Ook? Ook? Ook. Ook! Ook? Ook! Ook! Ook? Ook! Ook? Ook. 
Ook? Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook! Ook? Ook! 
Ook. Ook? Ook! Ook? Ook! Ook! Ook? Ook! Ook. Ook. Ook? Ook. Ook? Ook. 
Ook! Ook? Ook. Ook? Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook. Ook? Ook. 
Ook! Ook! Ook? Ook! Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook? Ook. Ook? 
Ook. Ook? Ook. Ook. Ook. Ook? Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. 
Ook! Ook! Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook? Ook? Ook. 
Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook! 
Ook? Ook! Ook. Ook? Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook? Ook! Ook! 
Ook? Ook! Ook? Ook. Ook? Ook. Ook! Ook? Ook. Ook? Ook! Ook? Ook! Ook! 
Ook? Ook! Ook? Ook. Ook! Ook? Ook! Ook! Ook? Ook! Ook? Ook! Ook. Ook? 
Ook. Ook? Ook. Ook. Ook? Ook. Ook! Ook? Ook. Ook? Ook! Ook? Ook! Ook! 
Ook? Ook! Ook? Ook. Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? 
Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook? Ook. Ook? Ook! Ook! Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook? 
Ook! Ook? Ook. Ook? Ook. Ook. Ook. Ook? Ook. Ook. Ook? Ook. Ook? Ook. 
Ook! Ook! Ook? Ook! Ook. Ook? Ook. Ook? Ook! Ook? Ook? Ook. Ook? Ook. 
Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook? 
Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook? 
Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. 
Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook? 
Ook. Ook? Ook! Ook? Ook! Ook! Ook? Ook! Ook. Ook? Ook! Ook? Ook! Ook! 
Ook? Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook. Ook. Ook! Ook. 
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? 
Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. 
Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. 
Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook? Ook! Ook? 
Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook? Ook. Ook. Ook? Ook. Ook? Ook. 
Ook? Ook. Ook! Ook! Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook? 
Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook. Ook? 
Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook? Ook? Ook. Ook? Ook. Ook? Ook. 
Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook! 
Ook? Ook! Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook? Ook! Ook! 
Ook? Ook! Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? 
Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. 
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook. 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. 
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? 
Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! 
Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! 
Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? 
Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook! Ook! Ook? Ook! 
Ook? Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? 
Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! 
Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. 
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook. 
Ook. Ook? Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook? 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. 
Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook? Ook. Ook? Ook. Ook. Ook. Ook? 
Ook. Ook. Ook? Ook. Ook? Ook. Ook! Ook! Ook? Ook! Ook. Ook? Ook. Ook? 
Ook! Ook? Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook! 
Ook? Ook! Ook? Ook. Ook! Ook? Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. 
Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? 
Ook! Ook! Ook? Ook! Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. 
Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. 
Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! 
Ook? Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook. Ook. Ook? Ook. Ook? Ook! Ook? Ook. Ook? Ook. Ook? Ook. Ook. 
Ook. Ook? Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook! Ook? Ook! 
Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook? Ook? Ook. Ook? Ook. Ook? Ook. 
Ook. Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. 
Ook! Ook? Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? 
Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook? Ook. 
Ook? Ook. Ook? Ook. Ook! Ook? Ook! Ook! Ook? Ook! Ook. Ook? Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? 
Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! 
Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. 
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook! Ook? Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? 
Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. 
Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook. 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. 
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook. Ook! Ook! 
Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. 
Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! 
Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? 
Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook! Ook! Ook? Ook! 
Ook? Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! 
Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook! Ook? Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook! Ook! 
Ook? Ook! Ook? Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! 
Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. 
Ook! Ook? Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. 
Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. 
Ook! Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! 
Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. 
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. 
Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? 
Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. 
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook? Ook! Ook! Ook? Ook! 
Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook! Ook. Ook? Ook! Ook? Ook! Ook! 
Ook? Ook! Ook. Ook? Ook! Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook? Ook. 
Ook! Ook? Ook. Ook? Ook. Ook. Ook. Ook? Ook. Ook. Ook? Ook. Ook? Ook. 
Ook! Ook! Ook? Ook! Ook. Ook? Ook. Ook? Ook! Ook? Ook? Ook. Ook? Ook. 
Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook! Ook? Ook! Ook. Ook? Ook. Ook? 
Ook. Ook? Ook! Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook? Ook. Ook? Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook? Ook. Ook! Ook? Ook. Ook? Ook. Ook? Ook. Ook? 
Ook. Ook. Ook? Ook. Ook? Ook. Ook! Ook? Ook. Ook? Ook. Ook. Ook. Ook? 
Ook! Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook? Ook. Ook! Ook! Ook? Ook! 
Ook. Ook? Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! 
Ook. Ook? Ook! Ook? Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook? Ook. Ook! Ook! Ook? Ook! 
Ook? Ook. Ook? Ook. Ook! Ook! Ook? Ook. Ook! Ook! Ook? Ook! Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook? Ook! Ook? Ook? Ook. Ook! Ook! Ook. Ook? Ook! Ook! 
Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook? Ook! Ook? Ook? Ook. 
Ook! Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook? 
Ook. Ook? Ook. Ook? Ook! Ook! Ook? Ook! Ook. Ook? Ook! Ook? Ook! Ook! 
Ook? Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook! Ook? Ook. Ook? Ook. Ook. 
Ook. Ook? Ook! Ook! Ook? Ook. Ook? Ook. Ook! Ook! Ook? Ook! Ook? Ook. 
Ook? Ook. Ook? Ook. Ook! Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook? 
Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook! Ook? Ook! Ook. Ook? 
Ook. Ook? Ook. Ook? Ook! Ook? Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. 
Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook! Ook? Ook! Ook. Ook? Ook! Ook? 
Ook? Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook? Ook. 
Ook! Ook? Ook. Ook? Ook! Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook? 
Ook! Ook! Ook? Ook! Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook. Ook? Ook. 
Ook! Ook? Ook. Ook? Ook! Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! 
Ook? Ook! Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook. Ook? Ook! Ook! 
Ook? Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook? Ook. Ook? Ook. Ook. 
Ook. Ook? Ook. Ook. Ook? Ook. Ook? Ook. Ook! Ook! Ook? Ook! Ook. Ook? 
Ook. Ook? Ook! Ook? Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook? Ook. Ook? 
Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook? Ook? Ook. Ook? Ook. Ook? Ook. 
Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? 
Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. 
Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook! Ook? Ook! Ook! 
Ook? Ook! Ook. Ook? Ook! Ook? Ook! Ook! Ook? Ook! Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! 
Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! 
Ook? Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook. Ook. Ook? Ook. Ook? Ook! Ook? Ook. Ook? Ook. Ook? Ook. Ook. 
Ook. Ook? Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook! Ook? Ook! 
Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook? Ook? Ook. Ook? Ook. Ook? Ook. 
Ook. Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. 
Ook! Ook? Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? 
Ook. Ook? Ook. Ook? Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook? Ook. 
Ook? Ook. Ook? Ook. Ook! Ook? Ook! Ook! Ook? Ook! Ook. Ook? Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? 
Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! 
Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. 
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook! Ook? Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? 
Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. 
Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook! Ook? Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? 
Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? 
Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! 
Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook. Ook. 
Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook! Ook? Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook! Ook! 
Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? 
Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! 
Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. 
Ook! Ook? Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? 
Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. 
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? 
Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook? Ook! Ook! Ook? Ook! 
Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. 
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. 
Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook? Ook! Ook! 
Ook? Ook! Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook! 
 
  Programming language: Open Acces IV
 
!Open Access IV  Version of 99 Bottles of Beer
!Alfred Unkrig mail a.unkrig@sh-ekd.de 

int bottlesI=99 
str text1S="Cheers !!"
str text2S="Are you still allright, my friend ??" 
bool goOn=true 
window mainS     = size 80 by 24 at 0,0 framed
window mainST    = top 1 in mainS mode title
window mainSB    = bottom 1 in mainS mode prompt 
screen mainS
   put in mainST "Please do not get drunk before finishing all the Beer I spend!" filled
   put in mainSB at 0,0 text1S filled
   put in mainS
   if goOn=true 
      while bottlesI>0 
         put at 0,10 string(bottlesI)&" of Beer on the wall" filled 
         put at 0,11 "Please take one down" filled 
         bottlesI=bottlesI-1 
         get goOn  
         put do clear screen 
         if bottlesI=50 
            put in mainSB at 0,0 text2S filled 
            put in mainS
         end if 
         if bottlesI=0 
            put at 0,10 "No more bottles of beer on the wall" filled 
            put at 0,11 "Please go to the store and buy some more Bottles of Beer" filled 
            put at 0,12 "How many bottles would you like to buy?  " filled 
            get at 20,13 bottlesI 
            if bottlesI>0
               goOn=true
               put do clear screen 
               if bottlesI>50 
                  put in mainSB at 0,0 text1S filled
               else
                  put in mainSB at 0,0 text2S filled
               end if 
               put in mainS 
            else
               goOn=false
            end if 
         end if
      end while
   end if 
end screen 
mainS end
goOn end 
bottlesi end 
 
  Programming language: OpenVMS DECTPU
 
! Under OpenVMS
! TPU command file.
! Usage: $ EDIT/TPU/NOSECTIO/COMMAND=BEER.TPU
!
PROCEDURE count_down( bottle_count )

LOCAL new_count

  MESSAGE( FAO("!ZL bottle!%S of beer on the wall",bottle_count) ) ;
  MESSAGE( FAO("!ZL bottle!%S of beer",bottle_count) ) ;
  MESSAGE( "Take one down, pass it around" ) ;
  new_count := bottle_count - 1 ;
  IF (new_count > 0)
  THEN
    MESSAGE( FAO("!ZL bottle!%S of beer on the wall",new_count) ) ;
    MESSAGE( "" ) ;
    count_down( new_count ) ;
  ELSE
    ! End recursion
    MESSAGE( "Go to the store for some more" ) ;
  ENDIF;

ENDPROCEDURE;

! This is the program:
count_down( 99 ) ;
			
MESSAGE("------------------");
MESSAGE(" ");
	
EXIT ;

!

 
  Programming language: OPL
 
OPL (Organiser Programming Language) is the language used by Psion palmtops.

REM ********************************************************************
REM *                        99 Bottles of Beer                        *
REM *                                                                  *
REM * A portable version for those who need this vital application     *
REM * with them at all times. The following is written in Psion OPL,   *
REM * the language used in the popular Series 3 and Series 3a palmtops *
REM * (and other previous Psion products).                             *
REM *                                                                  *
REM * by Dave Wilson, dawilson@brooktree.com                           *
REM *                                                                  *
REM ********************************************************************

PROC Main:
   LOCAL bottles%
   LOCAL bottle$(10)
   CLS
   bottles%=99
   bottle$=" bottles"
   PRINT "99 Bottles of Beer"
   PRINT
   WHILE(bottles% > 0)
      PRINT bottles%;bottle$;" of beer on the wall,"
      PRINT bottles%;bottle$;" of beer on the wall."
      PRINT "Take one down and pass it around,"
      bottles%=bottles%-1
      IF(bottles% = 1)
         bottle$=" bottle"
      ENDIF
      IF(bottles% <> 0)
         PRINT "There'll be ";bottles%;bottles$;" of beer on the wall."
      ELSE
         PRINT "There'll be no bottles of beer on the wall."
      ENDIF
      PRINT
   ENDWH
   PAUSE 0
ENDP
 
  Programming language: OPS Script
 
OPS (Operations Procedure Support) is an Ericsson product that fits in to 
our Operations Support Systems (OSS) that are sold worldwide to manage 
various Telecom Networks.

OPS is used to create and execute task-oriented scripts toward Network 
Elements, or Switches. The Operations Procedure Support is an editor, 
debugger, and execution environment for command files using the OPS 
Script language. 

It originated from Telstra, Australia with a language called the PC-Ozterm 
command file language. To a large extent, the OPS script language and 
the PC-Ozterm command file language are compatible.


@SET noun = "bottles"
@SET string0 = "of beer"
@SET string1= "{string0} on the wall"
@SET string2 = "Take one down, pass it around,"

@FOR bottles = 1 TO 98
  @COMMENT( 100 - {bottles}, " {noun} {string1},")
  @COMMENT( 100 - {bottles}, " {noun} {string0}.")
  @COMMENT(string2)
  @IF bottles = 98 THEN SET noun = "bottle"
  @COMMENT( 99 - {bottles}, " {noun} {string1}.")
  @COMMENT
@NEXT bottles

@COMMENT("1 {noun} {string1},")
@COMMENT("1 {noun} {string0}.")
@COMMENT(string2)
@COMMENT("No more bottles {string1}.")
 
  Programming language: Oracle SQL
 
select 
to_char(nums)||' bottle'||decode(nums,1,' ','s ')||'of beer on the
wall,'||chr(10)|| 
to_char(nums)||' bottle'||decode(nums,1,' ','s ')||'of beer on the
wall,'||chr(10)|| 
'Take one down and pass it around,'||chr(10)||
decode(nums,1,
'no more bottles on the wall.', 
to_char(nums-1)||' bottle'||decode(nums-1,1,' ','s ')||'of beer on the
wall.') verse
from
(select (((((A*2+b)*2+c)*2+d)*2+e)*2+f)*2+g nums
from 
(select 0 a  from dual
union all
select 1 a from dual)
,
(select 0 b  from dual
union all
select 1 b from dual)
,
(select 0 c  from dual
union all
select 1 c from dual)
,
(select 0 d  from dual
union all
select 1 d from dual)
,
(select 0 e  from dual
union all
select 1 e from dual)
,
(select 0 f  from dual
union all
select 1 f from dual)
,
(select 0 g  from dual
union all
select 1 g from dual)
where (a<1 or b<1) or ( c=0 and d=0 and e=0 )
) 
where nums>0
order by nums desc
/
 
  Programming language: Oroogu
 
See http://www.purists.org/oroogu/

#
# beer.or
# Prints the lyrics of "Ninety-Nine Bottles of Beer"
#
b = (99 .. 1) (
        d / (<b, "bottles of beer on the wall, ")
        d / (<b, "bottles of beer.\n")
        d / ("Take one down and pass it around, ") 
        d / (b - 1, "bottles of beer.\n\n")
) # b 


 
  Programming language: Orthogonal
 
; 99 Bottles of Beer on the Wall
;    for Orthogonal
;        written by Brian Raiter 5/96

:set bX = 7
:set bY = 20

[0,0]
99  1   cw
        0           cw  0   ':' 'd' 'n' 'u' 'o' 'r' ' ' 't' 'i' ' ' cw
        99          cw  0   ':' 'e' 'r' 'o' 'm' ' ' 'e' 'm' cw      's'
        1           ?                                       'o'     's'
        99          !                                       's'     'a'
    cw  J   c   0   cw  ?   c   0   s   '.' 0   ccw ?   s   ' ' ccw 'p'
    ~   d   cw  ' ' J   0   d   s   ';' ' ' 0   cw          'y' 'b' ' '
    0   0   'o'     'r'                                     'u' 'o' ','
    ~   'l' 'n'     'e'                                     'b' 't' 'n'
    0   'l' ' '     'e'                                     ' ' 't' 'w'
    @   'a' 't'     'b'                                     ',' 'l' 'o'
    ~   'w' 'h'     ccw ' ' 'f' 'o' ' ' bY  bX  =   ?   's' 'e' ccw 'd'
    1   ' ' 'e'                                             'r'     ' '
    @   ccw ccw     cw  'l' 'l' 'a' 'w' ' ' 'e' 'h' 't' cw  'o'     bY
    ~               '.' cw  's' 'e' 'l' 't' 't' 'o' cw  ' ' 't'     bX
    0               0   ' ' cw  c   0   ret         'b' 'n' 's'     =
    ~               c   'o' cw  0   s   d   99  ' ' cw  'o' ' '     ?
    1               0   cw  'f' ' ' 'b' 'e' 'e' 'r' ' ' cw  'e'     ccw cw
    @               cw  s   'G' 'o' ' ' 't' 'o' ' ' 't' 'h' cw      't' 'e'
    #                                                               'i' 'n'
    cw  bX  bY  -   1   @   98  nop c   0   s   'T' 'a' 'k' 'e' ' ' H   'o'
                                                                    cw  cw
 
  Programming language: Ox
 
// 99 Bottles of Beer in Ox
// http://www.nuff.ox.ac.uk/Users/Doornik/doc/ox/oxmenu.html
//
// by Riccardo 'Jack' Lucchetti
// jack@dea.unian.it


#include<oxstd.h>

enum {NOWALL, WALL}

bob(const n, const otw)
{
  decl s="";

  if(n==0)
    s=sprint("No more bottles of beer");
  else
    if(n==1)
      s=sprint(n," bottle of beer");
    else
      s=sprint(n," bottles of beer");

  if(otw)
    s~=" on the wall";

  return(s);
}

main()
{
  decl bottles;
  for(bottles=99; bottles>0; )
    {
      println(bob(bottles,WALL),",");
      println(bob(bottles,NOWALL),",");
      println("Take one down, pass it around;");
      println(bob(--bottles,NOWALL),".\n");
    }

  println("Time to buy more beer!");

}

 
  © Oliver Schade <os@ls-la.net>, Generated: 06.06.2003 17:38:32