10 REM ************************ 15 REM 20 REM WORDS WORTH - CROSSWORD 25 REM AND SCRABBLE COMPANION 30 REM 40 REM - BY MICHAEL O'MALLEY 50 REM A GRADE 12 "FUN" PROJECT 60 REM ************************ 100 REM 110 D$ = CHR$ (4) : REM CTRL-D 111 W = 1000 : REM 1000 WORDS ! !!!!!!!!!!!! 112 DIM W$(1000) : REM 100 WORDS 113 L = 0 : REM NUMBER OF WORDS LOADED 114 C = 0 : REM A COUNTER 115 T = 100 : REM STATUS OUTPUT COUNTER 120 GOSUB 700 : REM ERASE WORD LIST ARRAY 200 REM 201 REM ************************ 202 REM MAIN MENU 203 REM ************************ 205 TEXT : HOME 206 GOSUB 2900 : REM PRINT LINE 207 PRINT " WORDS WORTH" 208 PRINT " CROSSWORD AND SCRABBLE COMPANION V1.3" 209 PRINT " BY MICHAEL O'MALLEY" 210 GOSUB 2900 : REM PRINT LINE 211 PRINT " "L" WORDS LOADED (CAPACITY = "W")" 212 PRINT : PRINT " A. ADD A NEW WORD TO THE LIST" 213 PRINT : PRINT " S. SEARCH FOR WORD(S)" 214 PRINT : PRINT " D. DISPLAY ALL WORDS" 216 PRINT : PRINT " W. WRITE WORD LIST TO DISK" 218 PRINT : PRINT " L. LOAD WORD LIST FROM DISK" 220 PRINT : PRINT " E. ERASE WORD LIST IN MEMORY" 222 PRINT : PRINT " R. RESTORE ORIGINAL/DEFAULT WORD LIST" 223 PRINT : PRINT " Q. QUIT PROGRAM" 224 PRINT 225 PRINT " PLEASE ENTER YOUR CHOICE : "; 227 A$ = "" : INPUT A$ 230 IF A$ = "A" THEN GOSUB 500 : REM ADD A NEW WORD 232 IF A$ = "S" THEN GOSUB 300 : REM WORD SEARCH 233 IF A$ = "D" THEN GOSUB 600 : REM DISPLAY ALL WORDS 235 IF A$ = "W" THEN GOSUB 900 : REM WRITE WORDS TO DISK 240 IF A$ = "L" THEN GOSUB 800 : REM LOAD WORDS FROM DISK 250 IF A$ = "E" THEN GOSUB 700 : REM ERASE WORDS IN MEMORY 260 IF A$ = "R" THEN GOSUB 2000 : REM RESTORE WORDS IN MEMORY 270 IF A$ = "Q" THEN GOSUB 3000 : REM QUIT PROGRAM 280 IF A$ < > "A" AND A$ < > "S" AND A$ < > "D" AND A$ < > "W" AND A$ < > "L" AND A$ < > "E" AND A$ < > "R" AND A$ < > "Q" THEN PRINT : PRINT "*ERROR: INPUT MUST BE A,S,D,W,L,E,R,Q." : GOTO 225 : REM BACK TRY AGAIN ... 290 GOTO 205 : REM DISPLAY THE MENU 300 REM 301 REM ************************ 302 REM SEARCH FOR WORDS 303 REM ************************ 305 TEXT : HOME 308 PRINT : PRINT 310 IF L = 0 THEN PRINT "THERE ARE NO WORDS LOADED IN MEMORY !" : GOTO 490 312 PRINT "EXAMPLE SEARCH CRITERIA :" 313 PRINT 314 PRINT " ACT* WILL FIND ALL WORDS" 316 PRINT " STARTING WITH 'ACT'" 317 PRINT 318 PRINT " *DENT WILL FIND ALL WORDS" 320 PRINT " ENDING WITH 'DENT'" 322 PRINT : PRINT 324 PRINT "ENTER YOUR SEARCH CRITERIA : "; 325 INPUT S$ 330 IF LEN (S$) = 0 THEN PRINT : PRINT "ERROR : NO SEARCH CRITERIA ENTERED." : PRINT " SEARCH ABORTED !" : GOTO 490 334 REM IS THE LEFTMOST CHARACTER A "*" ? 335 IF LEFT$ (S$,1) = "*" THEN GOTO 400 339 REM IS THE RIGHTMOST CHARACTER A "*" ? 340 IF RIGHT$ (S$,1) = "*" THEN GOTO 450 345 REM IF NEITHER, THEN INVALID SEARCH CRITERIA 350 PRINT : PRINT "ERROR : INVALID SEARCH CRITERIA ENTERED." : PRINT " SEARCH ABORTED !" : GOTO 490 400 REM 401 REM WE ARE DOING A "*DENT" SEARCH 402 REM 403 REM LEAVE EVERYTHING AFTER THE * 405 S$ = RIGHT$ (S$, LEN (S$) - 1) 410 PRINT : PRINT 411 PRINT "FINDING ALL WORDS ENDING WITH : "S$ 412 PRINT : PRINT 415 M = 0 : REM NUMBER OF MATCHES 420 FOR I = 1 TO L 425 REM SEE IF THE WORD ENDS WITH OUR SEARCH STRING 430 IF RIGHT$ (W$(I), LEN (S$)) = S$ THEN M = M + 1 : PRINT M". "W$(I) 435 NEXT I 440 PRINT : PRINT M" MATCHES FOUND !" 446 GOTO 490 450 REM 451 REM WE ARE DOING A "ACT*" SEARCH 452 REM 453 REM LEAVE EVERYTHING BEFORE THE * 455 S$ = LEFT$ (S$, LEN (S$) - 1) 460 PRINT : PRINT 461 PRINT "FINDING ALL WORDS STARTING WITH : "S$ 462 PRINT : PRINT 465 M = 0 : REM NUMBER OF MATCHES 470 FOR I = 1 TO L 475 REM SEE IF THE WORD STARTS WITH OUR SEARCH STRING 477 IF LEFT$ (W$(I), LEN (S$)) = S$ THEN M = M + 1 : PRINT M". "W$(I) 480 NEXT I 482 PRINT : PRINT M" MATCHES FOUND !" 490 GOSUB 2800 : REM HIT ANY KEY 499 RETURN 500 REM 501 REM ************************ 502 REM ADD A NEW WORD 503 REM ************************ 505 PRINT 507 IF L > = W THEN PRINT : PRINT "WORD LIMIT ("W" WORDS) HAS BEEN REACHED." : GOTO 595 510 PRINT "ENTER THE NEW WORD : "; 515 INPUT WN$ 520 IF LEN (WN$) = 0 THEN PRINT : PRINT "ERROR : NO WORD WAS ENTERED." : GOTO 595 522 REM IF LIST IS EMPTY INSERT WORD AT THE FRONT OF THE LIST. 525 IF L = 0 THEN L = L + 1 : W$(L) = WN$ : GOTO 590 527 REM LETS SEE IF THE WORD IS ALREADY IN THE LIST 528 PRINT : PRINT "CHECK IF '"WN$"' ALREADY IN LIST ..." 529 P = 0 : C = 0 530 FOR I = 1 TO L 535 IF WN$ = W$(I) THEN P = P + 1 : REM WE HAVE A MATCH 538 C = C + 1 : IF C = T THEN PRINT I; "."; : C = 0 540 NEXT I 543 REM IF THE WORD IS ALREADY IN THE LIST, THEN SAY SO 545 IF P > 0 THEN PRINT : PRINT "WORD '"WN$"' IS ALREADY IN LIST !" : GOTO 595 548 REM OTHERWISE, LET'S ADD THE WORD TO THE END OF THE LIST 550 L = L + 1 585 W$(L) = WN$ 590 PRINT : PRINT "NEW WORD '"WN$"' ADDED TO LIST !" 595 GOSUB 2800 : REM HIT ANY KEY 599 RETURN 600 REM 601 REM ************************ 602 REM DISPLAY ALL WORDS 603 REM ************************ 605 PRINT 610 IF L = 0 THEN PRINT "THERE ARE NO WORDS LOADED IN MEMORY !" : GOTO 650 620 FOR I = 1 TO L 630 PRINT I". "W$(I) 640 NEXT I 650 GOSUB 2800 : REM HIT ANY KEY 655 PRINT L" WORDS LISTED." 699 RETURN 700 REM 701 REM ************************ 702 REM ERASE WORDS IN MEMORY 703 REM ************************ 705 PRINT : PRINT "ERASING WORDS IN MEMORY." 706 PRINT "PLEASE WAIT ..." 715 L = 0 : C = 0 720 FOR I = 1 TO W 730 W$(I) = "" 735 C = C + 1 : IF C = T THEN PRINT I; "."; : C = 0 740 NEXT I 799 RETURN 800 REM 801 REM ************************ 802 REM LOAD WORD LIST FROM DISK 803 REM ************************ 805 PRINT : PRINT "LOADING WORDS FROM DISK" 806 PRINT "PLEASE WAIT ..." 807 PRINT D$; "OPEN WORDS.DATA" 810 PRINT D$; "READ WORDS.DATA" 815 L = 0 : C = 0 817 INPUT L : REM READ THE NUMBER OF WORDS 820 FOR I = 1 TO L 830 INPUT W$(I) 840 NEXT I 850 PRINT D$; "CLOSE WORDS.DATA" 855 IF L > = W THEN PRINT : PRINT "WORD LIMIT ("W" WORDS) HAS BEEN REACHED." : GOSUB 2800 : REM HIT ANY KEY 890 PRINT : PRINT L" WORDS SAVED TO DISK !" 899 RETURN 900 REM 901 REM ************************ 902 REM WRITE WORD LIST TO DISK 903 REM ************************ 905 PRINT : PRINT "WRITING WORDS TO DISK" 906 PRINT "PLEASE WAIT ..." 907 PRINT D$; "OPEN WORDS.DATA" 910 PRINT D$; "WRITE WORDS.DATA" 915 PRINT L : REM SAVE THE NUMBER OF WORDS 920 FOR I = 1 TO L 930 PRINT W$(I) 940 NEXT I 950 PRINT D$; "CLOSE WORDS.DATA" 999 RETURN 2000 REM 2001 REM ************************ 2002 REM RESTORE WORDS IN MEMORY 2003 REM ************************ 2005 PRINT : PRINT "RESTORING WORDS IN MEMORY" 2006 PRINT "PLEASE WAIT ..." 2010 L = 0 : C = 0 2012 RESTORE 2015 FOR I = 1 TO W 2020 READ W$(I) 2025 IF W$(I) = "-999999" THEN W$(I) = "" : GOTO 2031 2027 L = L + 1 2028 C = C + 1 : IF C = T THEN PRINT I; "."; : C = 0 2030 NEXT I 2031 IF L > = W THEN PRINT : PRINT "WORD LIMIT ("W" WORDS) HAS BEEN REACHED." : GOSUB 2800 : REM HIT ANY KEY 2035 PRINT : PRINT L" WORDS RESOTRED INTO MEMORY (ARRAY) !" 2037 REM IT TOOK FOREVER TO TYPE THESE DAMN WORDS IN !!!! MIKE 2038 REM WORDS MOSTLY CAME FROM READER BOOKS FOR PRIMARY SCHOOL KIDS 2040 DATA A,ABLE,ABOUT,ACCIDENT,ACCOUNT,ACID,ACROSS,ACT,ACTIVE,ACTUAL,ADDITION,ADJUSTMENT,ADVERTISEMENT,AFTER,AGAIN,AGAINST,AGREE 2041 DATA AGREEMENT,AIR,ALL,ALMOST,AMONG,AMOUNT,AMUSEMENT,AND,ANGLE,ANGRY,ANIMAL,ANSWER,ANT,ANY,APPARATUS,APPEAL,PPLE,APPROVAL,ARCH 2042 DATA ARGUMENT,ARM,ARMY,ART,AS,AT,ATTACK,ATTEMPT,ATTENTION,ATTRACTION,AUTHORITY,AUTOMATIC,AWAKE,BABY,BACK,BAD 2043 DATA BAG,BALANCE,BALL,BAND,BASE,BASIN,BASKET,BATH,BE,BEAUTIFUL,BECAUSE,BED,BEE,BEFORE,BEHAVIOR,BELIEF,BELL,BENT 2044 DATA BERRY,BETWEEN,BIRD,BIRTH,BIT,BITE,BITTER,BLACK,BLADE,BLOOD,BLOW,BLUE,BOARD,BOAT,BODY,BOILING,BONE,BOOK,BOOT 2045 DATA BOTTLE,BOX,BOY,BRAIN,BRAKE,BRANCH,BRASS,BREAD,BREATH,BRICK,BRIDGE,BRIGHT,BROKEN,BROTHER,BROWN,BRUSH,BUCKET 2046 DATA BUILD,BUILDING,BULB,BURN,BURST,BUSINESS,BUT,BUTTER,BUTTON,BY,CAKE,CAMERA,CANVAS,CARD,CARE,CARRIAGE,CART,CAT,CAUSE 2047 DATA CERTAIN,CHAIN,CHALK,CHANCE,CHANGE,CHEAP,CHECK,CHEQUE,CHEESE,CHEMICAL,CHEST,CHIEF,CHIN,CHURCH,CIRCLE,CLEAN,CLEAR,CLOCK,CLOTH 2048 DATA CLOUD,COAL,COAT,COLD,COLLAR,COLOUR,COMB,COME,COMFORT,COMMITTEE,COMMON,COMPANY,COMPARISON,COMPETITION,COMPLETE 2049 DATA COMPLEX,CONDITION,CONNECTION,CONSCIOUS,CONTROL,COOK,COPPER,COPY,CORD,CORK,COTTON,COUGH,COUNTRY,COVER,COW,CRACK 2050 DATA CREDIT,CRIME,CRUEL,CRUSH,CRY,CUP,CURRENT,CURTAIN,CURVE,CUSHION,CUT,DAMAGE,DANGER,DARK,DAUGHTER,DAY,DEAD,DEAR 2051 DATA DEATH,DEBT,DECISION,DEEP,DEGREE,DELICATE,DEPENDENT,DESIGN,DESIRE,DESTROY,DESTRUCTION,DETAIL,DEVELOP,DEVELOPMENT,DIFFERENT 2052 DATA DIGEST,DIGESTION,DIRECT,DIRECTION,DIRTY,DISCOVER,DISCOVERY,DISCUSS,DISCUSSION,DISEASE,DISGUST,DISTANCE,DISTRIBUTION,DIVISION,DO,DOG,DOOR 2053 DATA DOUBT,DOWN,DRAIN,DRAWER,DRESS,DRESSING,DRINK,DRINKING,DRIVE,DRIVING,DROP,DRUNK,DRY,DUST,EAR,EARLY,EARTH,EAST,EDGE,EDUCATION,EFFECT,EGG 2054 DATA ELASTIC,ELECTRIC,ELECTRICITY,END,ENGINE,ENOUGH,ENSURE,EQUAL,ERROR,EVEN,EVENT,EVER,EVERY,EXAMPLE,EXCHANGE,EXIST,EXISTENCE,EXPAND,EXPANSION 2055 DATA EXPERIENCE,EXPERT,EYE,FACE,FACT,FALL,FALSE,FAMILY,FAR,FARM,FAT,FATHER,FEAR,FEATHER,FEEBLE,FEEL,FEELING,FEMALE 2056 DATA FERTILE,FICTION,FIELD,FIGHT,FINGER,FIRE,FIRST,FISH,FIXED,FLAG,FLAME,FLAT,FLIGHT,FLOOR,FLOWER,FLY,FOLD,FOOD 2057 DATA FOOLISH,FOOT,FOR,FORCE,FORK,FORM,FORWARD,FOWL,FRAME,FRAUD,FREE,FREQUENT,FRIEND,FROM,FRONT,FRUIT,FULL,FUTURE,GARDEN 2058 DATA GENERAL,GET,GIRL,GIVE,GLASS,GLOVE,GO,GOAT,GOLD,GOOD,GOVERN,GOVERNMENT,GRAIN,GRASS,GRAY,GREAT,GREEN,GREY,GRIP,GROUP 2059 DATA GROWTH,GUIDE,GUN,HAIR,HAMMER,HAND,HANGING,HAPPY,HARBOUR,HARD,HARMONY,HAT,HATE,HAVE,HE,HEAD,HEALTHY,HEARING 2060 DATA HEART,HEAT,HEAVE,HELP,HERE,HIGH,HISTORY,HOLE,HOLLOW,HOOK,HOPE,HORN,HORSE,HOSPITAL,HOUR,HOUSE,HOW,HUMOR,I,ICE,IDEA 2061 DATA IF,ILL,IMPORTANT,IMPULSE,IN,INCREASE,INDUSTRY,INK,INSECT,INSTRUCT,INSTRUMENT,INSURANCE,INTEREST,INVENT,INVENTION,IRON,ISLAND 2062 DATA JELLY,JEWEL,JOIN,JOURNEY,JUDGE,JUMP,KEEP,KETTLE,KEY,KICK,KIND,KISS,KNEE,KNIFE,KNOT,KNOWLEDGE,LAND,LANGUAGE 2063 DATA LAST,LATE,LAUGH,LAW,LEAD,LEAF,LEARN,LEARNING,LEATHER,LEFT,LEG,LEND,LENT,LET,LETTER,LEVEL,LIBRARY,LIFT,LIGHT,LIKE,LIMIT,LINE 2064 DATA LINEN,LIP,LIQUID,LIST,LITTLE,LIVING,LOCK,LONG,LOOSE,LOSS,LOSE,LOUD,LOVE,LOW,MACHINE,MAKE,MALE,MAN,MANAGER,MAP,MARK 2065 DATA MARKET,MARRIED,MASS,MATCH,MATERIAL,MATTER,MAY,MEAL,MEASURE,MEAT,MEDICAL,MEETING,MEMORY,METAL,MIDDLE,MILITARY,MILK,MIND 2066 DATA MINE,MINUTE,MIST,MIXED,MONEY,MONKEY,MONTH,MOON,MORNING,MOTHER,MOTION,MOUNT,MOUNTAIN,MOUTH,MOVE,MUCH,MUSCLE,MUSIC,NAIL 2067 DATA NAME,NARROW,NATION,NATURAL,NEAR,NECESSARY,NECK,NEED,NEEDLE,NERVE,NET,NEW,NEWS,NIGHT,NO,NOISE,NORMAL,NORTH,NOSE 2068 DATA NOT,NOTE,NOW,NUMBER,NUT,OBSERVATION,OF,OFF,OFFER,OFFICE,OIL,OLD,ON,ONLY,OPEN,OPERATION,OPINION,OPPOSITE,OR,ORANGE 2069 DATA ORDER,ORGANISE,ORGANISATION,ORNAMENT,OTHER,OUT,OVEN,OVER,OWNER,PAGE,PAIN,PAINT,PANT,PANTS,PAPER,PARALLEL,PARCEL,PART,PAST,PASTE,PAYMENT 2070 DATA PEACE,PEN,PENCIL,PERSON,PHYSICAL,PICTURE,PIG,PIN,PIPE,PLACE,PLANE,PLANT,PLATE,PLAY,PLEASE,PLEASURE,PLEASANT,PLOUGH,POCKET 2071 DATA POINT,POISON,POLISH,POLITICAL,POOR,PORTER,POSITION,POSSIBLE,POT,POTATO,POWDER,POWER,PRAY,PRESENT,PRICE,PRINT,PRISON,PRISONER,PRIVATE 2072 DATA PROBABLE,PROCESS,PRODUCE,PROFIT,PROPERTY,PROSE,PROTEST,PUBLIC,PULL,PUMP,PUNISH,PUNISHMENT,PURPOSE,PUSH,PUT,QUALITY,QUEST,QUESTION 2073 DATA QUICK,QUIET,QUITE,RAIL,RAIN,RANGE,RAT,RATE,RAY,REACTION,READ,READING,READY,REASON,RECEIPT,RECEIVE,RECORD,RED,REGRET,REGULAR 2074 DATA RELATE,RELATION,RELIGION,REPRESENT,REPRESENTATIVE,REQUEST,RESPECT,RESPECTABLE,RESPOND,RESPONSIBLE,REST,REWARD,RHYTHM,RICE,RIGHT,RING 2075 DATA RIVER,ROAD,ROD,ROLL,ROOF,ROOM,ROOT,ROUGH,ROUND,RUB,RULE,RUN,SAD,SAFE,SAIL,SALT,SAME,SAND,SANDY,SAY,SCALE,SCHOOL,SCIENCE,SCISSORS,SCREW 2076 DATA SEA,SEAT,SECOND,SECRET,SECRETARY,SEE,SEED,SEEM,SELECT,SELECTION,SELF,SEND,SENSE,SEPARATE,SERIOUS,SERVANT,SEX,SEXY,SHADE,SHAKE 2077 DATA SHAME,SHARP,SHEEP,SHELF,SHIP,SHIRT,SHOCK,SHOE,SHORT,SHUT,SIDE,SIGN,SILK,SILVER,SIMPLE,SISTER,SIZE,SKIN,SKIRT,SKY 2078 DATA SLEEP,SLIP,SLOPE,SLOW,SMALL,SMASH,SMELL,SMILE,SMOKE,SMOOTH,SNAKE,SNEEZE,SNOW,SO,SOAP,SOCIETY,SOCK,SOFT,SOLID,SOME 2079 DATA SON,SONG,SORT,SOUND,SOUP,SOUTH,SPACE,SPACIAL,SPACIOUS,SPADE,SPECIAL,SPONGE,SPOON,SPRAY,SPRING,SQUARE,STAGE,STAMP,STAR,START,STATE,STATEMENT 2080 DATA STATION,STEAL,STEAM,STEEL,STEM,STEP,STICK,STICKY,STIFF,STILL,STITCH,STOCK,STOCKING,STOMACH,STONE,STOP,STORE,STORY,STRAIGHT 2081 DATA STRANGE,STRAY,STREET,STRETCH,STRONG,STRUCTURE,SUBSTANCE,SUCH,SUDDEN,SUGAR,SUGGEST,SUGGESTION,SUMMER,SUN,SUPPORT,SURPRISE,SWEET 2082 DATA SWIM,SYSTEM,TABLE,TAIL,TAKE,TALK,TALL,TASTE,TAX,TEACH,TEACHER,TEACHING,TEAR,TENDENCY,TEST,THAN,THAT,THE,THEN,THEORY,THERE,THICK,THIN 2083 DATA THING,THIS,THORN,THOUGH,THOUGHT,THREAD,THROAT,THROUGH,THUMB,THUNDER,TICKET,TIGHT,TILL,TIME,TIN,TIRED,TO,TOE,TOGETHER 2084 DATA TOMORROW,TONGUE,TOOTH,TOP,TORN,TOUCH,TOWN,TRADE,TRAIN,TRANSPORT,TRAY,TREE,TRICK,TROUBLE,TROUSERS,TRUE,TURN,TWIST 2085 DATA UMBRELLA,UNDER,UNIT,UP,USE,VALUE,VERSE,VERY,VESSEL,VIEW,VIOLENT,VOICE,WAIT,WAITING,WALK,WALL,WAR,WARM,WASH,WASTE 2086 DATA WATCH,WATER,WAVE,WAX,WAY,WEATHER,WEEK,WEIGHT,WELL,WEST,WET,WHEEL,WHEN,WHERE,WHILE,WHILST,WHILT,WHIP,WHISTLE,WHITE,WHO,WHY 2087 DATA WIDE,WILL,WIND,WINDOW,WINE,WING,WINTER,WIRE,WISE,WITH,WOMAN,WONDER,WOOD,WOOL,WORD,WORK,WORM,WOUND,WRITE,WRITING,WRONG,WROTE 2088 DATA X-RAY,XYLOPHONE,YACHT,YAWN,YEAR,YEARN,YELLOW,YELP,YES,YESTERDAY,YODEL,YONDER,YOU,YOUNG,YOUR,YOUTH 2089 DATA ZAG,ZENITH,ZERO,ZIG,ZIP,ZOMBI,ZONE,ZOO,-999999 2099 RETURN 2800 REM 2801 REM ************************ 2802 REM HIT ANY KEY TO CONTINUE 2803 REM ************************ 2810 PRINT : PRINT 2815 PRINT " << HIT ANY KEY TO CONTINUE >> "; 2820 GET H1$ 2899 RETURN 2900 REM 2901 REM ************************ 2902 REM PRINT LINE ACROSS SCREEN 2903 REM ************************ 2905 PRINT "---------------------------------------" 2999 RETURN 3000 REM 3001 REM ************************ 3002 REM EXIT PROGRAM 3003 REM ************************ 3005 TEXT : HOME 3010 PRINT : PRINT 3015 PRINT "THANKS FOR USING WORDS WORTH" 3020 PRINT "CROSSWORD AND SCRABBLE COMPANION" 3025 PRINT : PRINT 3030 PRINT "DON'T FORGET : CONTACT MIKE O'MALLEY" 3035 PRINT " FOR PROGRAM UPDATES" 3040 PRINT : PRINT 3099 END SAVE WORDS WORTH