aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2021-12-26 20:18:25 +0000
committerGitHub <noreply@github.com>2021-12-26 20:18:25 +0000
commit3a5ff1af3de70c1fdc2faf2133b56040818668eb (patch)
treeeb7de025e3f08a6c7a7ec75b93b20311cd749fb0
parenta2f873eb78d7edbe02640c8dad87aac8a945796b (diff)
parent55672727e94158136846b2d99c8d7576c11e1dac (diff)
downloadperlweeklychallenge-club-3a5ff1af3de70c1fdc2faf2133b56040818668eb.tar.gz
perlweeklychallenge-club-3a5ff1af3de70c1fdc2faf2133b56040818668eb.tar.bz2
perlweeklychallenge-club-3a5ff1af3de70c1fdc2faf2133b56040818668eb.zip
Merge pull request #5413 from Abigail/abigail/week-144
Abigail/week 144
-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