aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2021-12-26 20:19:38 +0000
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2021-12-26 20:19:38 +0000
commit169ed5094a76d7513d65bbb778e656d3e2eabe97 (patch)
tree9c299ebf220defb869489e2f1fb4b0a104519636
parent8327d9c0856fd2360ea54b9392b85a6a93fea2d5 (diff)
parent3a5ff1af3de70c1fdc2faf2133b56040818668eb (diff)
downloadperlweeklychallenge-club-169ed5094a76d7513d65bbb778e656d3e2eabe97.tar.gz
perlweeklychallenge-club-169ed5094a76d7513d65bbb778e656d3e2eabe97.tar.bz2
perlweeklychallenge-club-169ed5094a76d7513d65bbb778e656d3e2eabe97.zip
Merge branch 'master' of https://github.com/manwar/perlweeklychallenge-club
-rw-r--r--challenge-144/abigail/README.md21
-rw-r--r--challenge-144/abigail/awk/ch-1.awk13
-rw-r--r--challenge-144/abigail/bash/ch-1.sh11
-rw-r--r--challenge-144/abigail/basic/ch-1.bas9
-rw-r--r--challenge-144/abigail/bc/ch-1.bc10
-rw-r--r--challenge-144/abigail/befunge-93/ch-1.bf934
-rw-r--r--challenge-144/abigail/c/ch-1.c16
-rw-r--r--challenge-144/abigail/cobol/ch-1.cb14
-rw-r--r--challenge-144/abigail/csh/ch-1.csh11
-rw-r--r--challenge-144/abigail/erlang/ch-1.erl15
-rw-r--r--challenge-144/abigail/forth/ch-1.fs5
-rw-r--r--challenge-144/abigail/fortran/ch-1.f9014
-rw-r--r--challenge-144/abigail/go/ch-1.go15
-rw-r--r--challenge-144/abigail/java/ch-1.java13
-rw-r--r--challenge-144/abigail/lua/ch-1.lua11
-rw-r--r--challenge-144/abigail/m4/ch-1.m41
-rw-r--r--challenge-144/abigail/mmix/ch-1.mms18
-rw-r--r--challenge-144/abigail/node/ch-1.js11
-rw-r--r--challenge-144/abigail/ocaml/ch-1.ml9
-rw-r--r--challenge-144/abigail/pascal/ch-1.p13
-rw-r--r--challenge-144/abigail/perl/ch-1.pl33
-rw-r--r--challenge-144/abigail/perl/ch-2.pl43
-rw-r--r--challenge-144/abigail/php/ch-1.php11
-rw-r--r--challenge-144/abigail/postscript/ch-1.ps10
-rw-r--r--challenge-144/abigail/python/ch-1.py11
-rw-r--r--challenge-144/abigail/r/ch-1.r9
-rw-r--r--challenge-144/abigail/rexx/ch-1.rexx9
-rw-r--r--challenge-144/abigail/ruby/ch-1.rb11
-rw-r--r--challenge-144/abigail/scheme/ch-1.scm9
-rw-r--r--challenge-144/abigail/sed/ch-1.sed12
-rw-r--r--challenge-144/abigail/sql/ch-1.sql9
-rw-r--r--challenge-144/abigail/t/ctest.ini14
-rw-r--r--challenge-144/abigail/t/input-1-11
-rw-r--r--challenge-144/abigail/t/input-2-13
-rw-r--r--challenge-144/abigail/t/output-1-1.exp1
-rw-r--r--challenge-144/abigail/t/output-2-1.exp3
-rw-r--r--challenge-144/abigail/tcl/ch-1.tcl9
37 files changed, 432 insertions, 0 deletions
diff --git a/challenge-144/abigail/README.md b/challenge-144/abigail/README.md
index 48a5093c46..554ccda4b8 100644
--- a/challenge-144/abigail/README.md
+++ b/challenge-144/abigail/README.md
@@ -2,14 +2,35 @@
## Part 1
+* [AWK](awk/ch-1.awk)
* [Bash](bash/ch-1.sh)
+* [Basic](basic/ch-1.bas)
* [Bc](bc/ch-1.bc)
+* [Befunge-93](befunge-93/ch-1.bf93)
+* [C](c/ch-1.c)
+* [Cobol](cobol/ch-1.cb)
+* [Csh](csh/ch-1.csh)
+* [Erlang](lua/ch-1.erl)
+* [Forth](lua/ch-1.fs)
+* [Fortran](fortran/ch-1.f90)
+* [Go](go/ch-1.go)
+* [Java](java/ch-1.java)
* [Lua](lua/ch-1.lua)
+* [m4](m4/ch-1.m4)
+* [MMIX](mmix/ch-1.mms)
* [Node.js](node/ch-1.js)
+* [OCaml](ocaml/ch-1.ml)
+* [Pascal](pascal/ch-1.p)
* [Perl](perl/ch-1.pl)
+* [PHP](php/ch-1.php)
+* [PostScript](postscript/ch-1.ps)
* [Python](python/ch-1.py)
* [R](r/ch-1.r)
+* [Rexx](rexx/ch-1.rexx)
* [Ruby](ruby/ch-1.rb)
+* [Scheme](scheme/ch-1.scm)
+* [Sed](sed/ch-1.sed)
+* [SQL](sql/ch-1.sql)
* [Tcl](tcl/ch-1.tcl)
## Part 2
diff --git a/challenge-144/abigail/awk/ch-1.awk b/challenge-144/abigail/awk/ch-1.awk
new file mode 100644
index 0000000000..4f87c14c56
--- /dev/null
+++ b/challenge-144/abigail/awk/ch-1.awk
@@ -0,0 +1,13 @@
+#!/usr/bin/awk
+
+#
+# See ../README.md
+#
+
+#
+# Run as: awk -f ch-1.awk
+#
+
+BEGIN {
+ print "4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, 39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95"
+} \ No newline at end of file
diff --git a/challenge-144/abigail/bash/ch-1.sh b/challenge-144/abigail/bash/ch-1.sh
new file mode 100644
index 0000000000..3f5cc61adb
--- /dev/null
+++ b/challenge-144/abigail/bash/ch-1.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+#
+# See ../README.md
+#
+
+#
+# Run as: bash ch-1.sh
+#
+
+echo "4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, 39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95" \ No newline at end of file
diff --git a/challenge-144/abigail/basic/ch-1.bas b/challenge-144/abigail/basic/ch-1.bas
new file mode 100644
index 0000000000..ed7fc2883c
--- /dev/null
+++ b/challenge-144/abigail/basic/ch-1.bas
@@ -0,0 +1,9 @@
+010 REM
+020 REM See ../README.md
+030 REM
+
+040 REM
+050 REM Run as: basic ch-1.bas
+060 REM
+
+100 PRINT "4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, 39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95" \ No newline at end of file
diff --git a/challenge-144/abigail/bc/ch-1.bc b/challenge-144/abigail/bc/ch-1.bc
new file mode 100644
index 0000000000..a73f52903b
--- /dev/null
+++ b/challenge-144/abigail/bc/ch-1.bc
@@ -0,0 +1,10 @@
+#
+# See ../README.md
+#
+
+#
+# Run as: bc ch-1.bc
+#
+"4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, 39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95
+"
+quit \ No newline at end of file
diff --git a/challenge-144/abigail/befunge-93/ch-1.bf93 b/challenge-144/abigail/befunge-93/ch-1.bf93
new file mode 100644
index 0000000000..06001a7f07
--- /dev/null
+++ b/challenge-144/abigail/befunge-93/ch-1.bf93
@@ -0,0 +1,4 @@
+< v "77, 82, 85, 86, 87, 91, 93, 94, 95" +55
+ < v "38, 39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, "
+ < v,_@#:< "4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, "
+ > ^ \ No newline at end of file
diff --git a/challenge-144/abigail/c/ch-1.c b/challenge-144/abigail/c/ch-1.c
new file mode 100644
index 0000000000..1ed987f8dd
--- /dev/null
+++ b/challenge-144/abigail/c/ch-1.c
@@ -0,0 +1,16 @@
+# include <stdlib.h>
+# include <stdio.h>
+# include <string.h>
+
+/*
+ * See ../README.md
+ */
+
+/*
+ * Run as: cc -o ch-1.o ch-1.c; ./ch-1.o
+ */
+
+int main (void) {
+ printf ("4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, 39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95\n");
+ exit (0);
+} \ No newline at end of file
diff --git a/challenge-144/abigail/cobol/ch-1.cb b/challenge-144/abigail/cobol/ch-1.cb
new file mode 100644
index 0000000000..5cd967efda
--- /dev/null
+++ b/challenge-144/abigail/cobol/ch-1.cb
@@ -0,0 +1,14 @@
+IDENTIFICATION DIVISION.
+PROGRAM-ID. XXX.
+
+*>
+*> See ../README.md
+*>
+
+*>
+*> Run as: cobc -xF -o ch-1.o ch-1.cb; ./ch-1.o
+*>
+
+PROCEDURE DIVISION.
+ DISPLAY "4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, 39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95".
+ STOP RUN.
diff --git a/challenge-144/abigail/csh/ch-1.csh b/challenge-144/abigail/csh/ch-1.csh
new file mode 100644
index 0000000000..a1a34d3f27
--- /dev/null
+++ b/challenge-144/abigail/csh/ch-1.csh
@@ -0,0 +1,11 @@
+#!/bin/csh
+
+#
+# See ../README.md
+#
+
+#
+# Run as: csh ch-1.csh
+#
+
+echo "4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, 39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95" \ No newline at end of file
diff --git a/challenge-144/abigail/erlang/ch-1.erl b/challenge-144/abigail/erlang/ch-1.erl
new file mode 100644
index 0000000000..e7431f363b
--- /dev/null
+++ b/challenge-144/abigail/erlang/ch-1.erl
@@ -0,0 +1,15 @@
+%
+% See ../README.md
+%
+
+%
+% Run as: ln ch-1.erl ch1.erl
+% erl -compile ch1
+% erl -noshell -s ch1 main -s init stop
+%
+
+-module (ch1).
+-export ([main/0]).
+
+main () ->
+ io:fwrite ("4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, 39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95\n"). \ No newline at end of file
diff --git a/challenge-144/abigail/forth/ch-1.fs b/challenge-144/abigail/forth/ch-1.fs
new file mode 100644
index 0000000000..6b2e57e241
--- /dev/null
+++ b/challenge-144/abigail/forth/ch-1.fs
@@ -0,0 +1,5 @@
+\
+\ See ../README.md
+\
+
+.( 4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, 39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95) \ No newline at end of file
diff --git a/challenge-144/abigail/fortran/ch-1.f90 b/challenge-144/abigail/fortran/ch-1.f90
new file mode 100644
index 0000000000..3a77b4cf66
--- /dev/null
+++ b/challenge-144/abigail/fortran/ch-1.f90
@@ -0,0 +1,14 @@
+!
+! See ../README.md
+!
+
+!
+! Run as: gfortran -o ch-1.o ch-1.f90; ./ch-1.o
+!
+
+program ch1
+ implicit none
+ write (*, '(A)', advance='no') "4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, "
+ write (*, '(A)', advance='no') "34, 35, 38, 39, 46, 49, 51, 55, 57, 58, "
+ write (*, '(A)') "62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95"
+end \ No newline at end of file
diff --git a/challenge-144/abigail/go/ch-1.go b/challenge-144/abigail/go/ch-1.go
new file mode 100644
index 0000000000..2328efdc3b
--- /dev/null
+++ b/challenge-144/abigail/go/ch-1.go
@@ -0,0 +1,15 @@
+package main
+
+//
+// See ../README.md
+//
+
+//
+// Run as: go run ch-1.go
+//
+
+import "fmt"
+
+func main () {
+ fmt . Print ("4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, 39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95\n")
+} \ No newline at end of file
diff --git a/challenge-144/abigail/java/ch-1.java b/challenge-144/abigail/java/ch-1.java
new file mode 100644
index 0000000000..34b246bfe5
--- /dev/null
+++ b/challenge-144/abigail/java/ch-1.java
@@ -0,0 +1,13 @@
+//
+// See ../README.md
+//
+
+//
+// Run as: ln ch-1.java ch1.java; javac ch1; java ch1
+//
+
+public class ch1 {
+ public static void main (String [] args) {
+ System . out . print ("4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, 39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95\n");
+ }
+} \ No newline at end of file
diff --git a/challenge-144/abigail/lua/ch-1.lua b/challenge-144/abigail/lua/ch-1.lua
new file mode 100644
index 0000000000..310f260af9
--- /dev/null
+++ b/challenge-144/abigail/lua/ch-1.lua
@@ -0,0 +1,11 @@
+#!/opt/local/bin/lua
+
+--
+-- See ../README.md
+--
+
+--
+-- Run as: lua ch-1.lua
+--
+
+print ("4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, 39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95") \ No newline at end of file
diff --git a/challenge-144/abigail/m4/ch-1.m4 b/challenge-144/abigail/m4/ch-1.m4
new file mode 100644
index 0000000000..589eda7779
--- /dev/null
+++ b/challenge-144/abigail/m4/ch-1.m4
@@ -0,0 +1 @@
+4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, 39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95
diff --git a/challenge-144/abigail/mmix/ch-1.mms b/challenge-144/abigail/mmix/ch-1.mms
new file mode 100644
index 0000000000..e3e8095f46
--- /dev/null
+++ b/challenge-144/abigail/mmix/ch-1.mms
@@ -0,0 +1,18 @@
+%
+% See ../README.md
+%
+
+%
+% Run as: mmixal -o ch-1.mmo ch-1.mms; mmix -q ch-1.mmo
+%
+ LOC Data_Segment
+ GREG @
+Text BYTE "4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, "
+ BYTE "39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, "
+ BYTE "85, 86, 87, 91, 93, 94, 95",10,0
+
+ LOC #100
+
+Main LDA $255,Text
+ TRAP 0,Fputs,StdOut
+ TRAP 0,Halt,0 \ No newline at end of file
diff --git a/challenge-144/abigail/node/ch-1.js b/challenge-144/abigail/node/ch-1.js
new file mode 100644
index 0000000000..194b821605
--- /dev/null
+++ b/challenge-144/abigail/node/ch-1.js
@@ -0,0 +1,11 @@
+#!/usr/local/bin/node
+
+//
+// See ../README.md
+//
+
+//
+// Run as: node ch-1.js
+//
+
+console . log ("4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, 39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95") \ No newline at end of file
diff --git a/challenge-144/abigail/ocaml/ch-1.ml b/challenge-144/abigail/ocaml/ch-1.ml
new file mode 100644
index 0000000000..e530d76fd3
--- /dev/null
+++ b/challenge-144/abigail/ocaml/ch-1.ml
@@ -0,0 +1,9 @@
+(* *)
+(* See ../README.md *)
+(* *)
+
+(* *)
+(* Run as: ocaml ch-1.ml *)
+(* *)
+
+print_endline "4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, 39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95"; \ No newline at end of file
diff --git a/challenge-144/abigail/pascal/ch-1.p b/challenge-144/abigail/pascal/ch-1.p
new file mode 100644
index 0000000000..ce23f37768
--- /dev/null
+++ b/challenge-144/abigail/pascal/ch-1.p
@@ -0,0 +1,13 @@
+Program XXX;
+
+(* *)
+(* See ../README.md *)
+(* *)
+
+(* *)
+(* Run as: fpc -och-1.out ch-1.p; ./ch-1.out *)
+(* *)
+
+begin
+ writeln ('4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, 39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95')
+end. \ No newline at end of file
diff --git a/challenge-144/abigail/perl/ch-1.pl b/challenge-144/abigail/perl/ch-1.pl
new file mode 100644
index 0000000000..f2908f64f6
--- /dev/null
+++ b/challenge-144/abigail/perl/ch-1.pl
@@ -0,0 +1,33 @@
+#!/opt/perl/bin/perl
+
+use 5.032;
+
+use strict;
+use warnings;
+no warnings 'syntax';
+
+use experimental 'signatures';
+use experimental 'lexical_subs';
+
+#
+# See ../README.md
+#
+
+#
+# Run as: perl ch-1.pl
+#
+
+#
+# And the upteenth time in succession, we'll use Math::Prime::Util
+#
+# BBBBBBBBBBOOOOOOOOOOORRRRRRRRRRRIIIIIIIIIIINNNNNNNNNNNGGGGGGGGGG
+#
+# Besides, ANY challenge of the form "print the first N terms of an
+# OEIS sequence" is a trivial glorified hello world program.
+#
+# Semiprimes have exactly 2 factors.
+#
+
+use Math::Prime::Util qw [factor];
+
+say join ", " => grep {2 == factor $_} 1 .. 100;
diff --git a/challenge-144/abigail/perl/ch-2.pl b/challenge-144/abigail/perl/ch-2.pl
new file mode 100644
index 0000000000..d9dbb97da3
--- /dev/null
+++ b/challenge-144/abigail/perl/ch-2.pl
@@ -0,0 +1,43 @@
+#!/opt/perl/bin/perl
+
+use 5.032;
+
+use strict;
+use warnings;
+no warnings 'syntax';
+
+use experimental 'signatures';
+use experimental 'lexical_subs';
+
+use List::Util qw [min];
+
+#
+# See ../README.md
+#
+
+#
+# Run as: perl ch-2.pl < input-file
+#
+
+sub ulam ($u1, $u2) {
+ my @seen = ($u1, $u2);
+ my %sums = ($u1 + $u2, 1);
+
+ my $next;
+ while (%sums) {
+ $next = min keys %sums; # A heap saves a factor N/log N, but
+ # who cares about performance when we
+ # just want to do the first 10 numbers?
+ next if delete $sums {$next} > 1;
+ push @seen => $next;
+ return @seen if @seen >= 10;
+
+ $_ == $next || $sums {$_ + $next} ++ foreach @seen;
+ }
+}
+
+
+
+$, = ", ";
+say ulam /[0-9]+/g while <>;
+
diff --git a/challenge-144/abigail/php/ch-1.php b/challenge-144/abigail/php/ch-1.php
new file mode 100644
index 0000000000..e7477300a4
--- /dev/null
+++ b/challenge-144/abigail/php/ch-1.php
@@ -0,0 +1,11 @@
+<?php
+ //
+ // See ../README.md
+ //
+
+ //
+ // Run as: php ch-1.php
+ //
+
+ echo "4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, 39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95\n"
+?> \ No newline at end of file
diff --git a/challenge-144/abigail/postscript/ch-1.ps b/challenge-144/abigail/postscript/ch-1.ps
new file mode 100644
index 0000000000..62b38f7f97
--- /dev/null
+++ b/challenge-144/abigail/postscript/ch-1.ps
@@ -0,0 +1,10 @@
+%!PS
+%
+% See ../README.md
+%
+
+%
+% Run as: ps2ascii ch-1.ps
+%
+
+(4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, 39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95) = \ No newline at end of file
diff --git a/challenge-144/abigail/python/ch-1.py b/challenge-144/abigail/python/ch-1.py
new file mode 100644
index 0000000000..3fdd6cfa92
--- /dev/null
+++ b/challenge-144/abigail/python/ch-1.py
@@ -0,0 +1,11 @@
+#!/opt/local/bin/python
+
+#
+# See ../README.md
+#
+
+#
+# Run as: python ch-1.py
+#
+
+print ("4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, 39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95") \ No newline at end of file
diff --git a/challenge-144/abigail/r/ch-1.r b/challenge-144/abigail/r/ch-1.r
new file mode 100644
index 0000000000..4f115157d6
--- /dev/null
+++ b/challenge-144/abigail/r/ch-1.r
@@ -0,0 +1,9 @@
+#
+# See ../README.md
+#
+
+#
+# Run as: Rscript ch-1.r
+#
+
+cat ("4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, 39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95\n") \ No newline at end of file
diff --git a/challenge-144/abigail/rexx/ch-1.rexx b/challenge-144/abigail/rexx/ch-1.rexx
new file mode 100644
index 0000000000..2a1592bf01
--- /dev/null
+++ b/challenge-144/abigail/rexx/ch-1.rexx
@@ -0,0 +1,9 @@
+/*
+ * See ../README.md
+ */
+
+/*
+ * Run as: rexx ch-1.rexx
+ */
+
+say "4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, 39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95" \ No newline at end of file
diff --git a/challenge-144/abigail/ruby/ch-1.rb b/challenge-144/abigail/ruby/ch-1.rb
new file mode 100644
index 0000000000..8e4d224ff8
--- /dev/null
+++ b/challenge-144/abigail/ruby/ch-1.rb
@@ -0,0 +1,11 @@
+#!/usr/bin/ruby
+
+#
+# See ../README.md
+#
+
+#
+# Run as: ruby ch-1.rb
+#
+
+puts ("4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, 39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95"); \ No newline at end of file
diff --git a/challenge-144/abigail/scheme/ch-1.scm b/challenge-144/abigail/scheme/ch-1.scm
new file mode 100644
index 0000000000..7d9b4fa709
--- /dev/null
+++ b/challenge-144/abigail/scheme/ch-1.scm
@@ -0,0 +1,9 @@
+;;;
+;;; See ../README.md
+;;;
+
+;;;
+;;; Run as: guile --no-auto-compile ch-1.scm
+;;;
+
+(display "4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, 39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95\n") \ No newline at end of file
diff --git a/challenge-144/abigail/sed/ch-1.sed b/challenge-144/abigail/sed/ch-1.sed
new file mode 100644
index 0000000000..547316ac9f
--- /dev/null
+++ b/challenge-144/abigail/sed/ch-1.sed
@@ -0,0 +1,12 @@
+#
+# See ../README.md
+#
+
+#
+# Run as: sed -f ch-1.sed
+#
+# For each line in the input file, we write the first three
+# self-describing numbers.
+#
+
+s/.*/4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, 39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95/ \ No newline at end of file
diff --git a/challenge-144/abigail/sql/ch-1.sql b/challenge-144/abigail/sql/ch-1.sql
new file mode 100644
index 0000000000..c5df1097c5
--- /dev/null
+++ b/challenge-144/abigail/sql/ch-1.sql
@@ -0,0 +1,9 @@
+--
+-- See ../README.md
+--
+
+--
+-- Run as: sqlite3 < ch-1.sql
+--
+
+SELECT "4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, 39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95"; \ No newline at end of file
diff --git a/challenge-144/abigail/t/ctest.ini b/challenge-144/abigail/t/ctest.ini
new file mode 100644
index 0000000000..d891360049
--- /dev/null
+++ b/challenge-144/abigail/t/ctest.ini
@@ -0,0 +1,14 @@
+#
+# Configuration file for running tests, using ctest.
+# See https://github.com/Abigail/Misc/blob/master/ctest
+#
+
+[names]
+1-1 = Fixed output
+2-1 = Given Examples
+
+[1-1]
+no_input = 1
+
+[1-1/sed]
+no_input = 0
diff --git a/challenge-144/abigail/t/input-1-1 b/challenge-144/abigail/t/input-1-1
new file mode 100644
index 0000000000..8d1c8b69c3
--- /dev/null
+++ b/challenge-144/abigail/t/input-1-1
@@ -0,0 +1 @@
+
diff --git a/challenge-144/abigail/t/input-2-1 b/challenge-144/abigail/t/input-2-1
new file mode 100644
index 0000000000..61becdbf4a
--- /dev/null
+++ b/challenge-144/abigail/t/input-2-1
@@ -0,0 +1,3 @@
+1 2
+2 3
+2 5
diff --git a/challenge-144/abigail/t/output-1-1.exp b/challenge-144/abigail/t/output-1-1.exp
new file mode 100644
index 0000000000..589eda7779
--- /dev/null
+++ b/challenge-144/abigail/t/output-1-1.exp
@@ -0,0 +1 @@
+4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, 39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95
diff --git a/challenge-144/abigail/t/output-2-1.exp b/challenge-144/abigail/t/output-2-1.exp
new file mode 100644
index 0000000000..97b1a800ee
--- /dev/null
+++ b/challenge-144/abigail/t/output-2-1.exp
@@ -0,0 +1,3 @@
+1, 2, 3, 4, 6, 8, 11, 13, 16, 18
+2, 3, 5, 7, 8, 9, 13, 14, 18, 19
+2, 5, 7, 9, 11, 12, 13, 15, 19, 23
diff --git a/challenge-144/abigail/tcl/ch-1.tcl b/challenge-144/abigail/tcl/ch-1.tcl
new file mode 100644
index 0000000000..6d6cb07903
--- /dev/null
+++ b/challenge-144/abigail/tcl/ch-1.tcl
@@ -0,0 +1,9 @@
+#
+# See ../README.md
+#
+
+#
+# Run as: tclsh ch-1.tcl
+#
+
+puts "4, 6, 9, 10, 14, 15, 21, 22, 25, 26, 33, 34, 35, 38, 39, 46, 49, 51, 55, 57, 58, 62, 65, 69, 74, 77, 82, 85, 86, 87, 91, 93, 94, 95" \ No newline at end of file