aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2021-08-08 15:00:57 +0100
committerGitHub <noreply@github.com>2021-08-08 15:00:57 +0100
commita9f840863e57cc67f5fd3e328f08dd6c3073c782 (patch)
tree9894bd6a69ead9183c9f069e239f5afe2b4668bc
parent01017a182fe0195cb8e2ec9163d6a0e5f45d6a59 (diff)
parent89fb3dd9028a616398e339a722d392be43a218a2 (diff)
downloadperlweeklychallenge-club-a9f840863e57cc67f5fd3e328f08dd6c3073c782.tar.gz
perlweeklychallenge-club-a9f840863e57cc67f5fd3e328f08dd6c3073c782.tar.bz2
perlweeklychallenge-club-a9f840863e57cc67f5fd3e328f08dd6c3073c782.zip
Merge pull request #4678 from Abigail/abigail/week-124
Abigail/week 124
-rw-r--r--challenge-124/abigail/README.md107
-rw-r--r--challenge-124/abigail/awk/ch-1.awk29
-rw-r--r--challenge-124/abigail/bash/ch-1.sh27
-rw-r--r--challenge-124/abigail/basic/ch-1.bas25
-rw-r--r--challenge-124/abigail/bc/ch-1.bc26
-rw-r--r--challenge-124/abigail/befunge-93/ch-1.bf9318
-rw-r--r--challenge-124/abigail/blog.txt1
-rw-r--r--challenge-124/abigail/blog1.txt1
-rw-r--r--challenge-124/abigail/c/ch-1.c32
-rw-r--r--challenge-124/abigail/cobol/ch-1.cb30
-rw-r--r--challenge-124/abigail/csh/ch-1.csh27
-rw-r--r--challenge-124/abigail/erlang/ch-1.erl31
-rw-r--r--challenge-124/abigail/forth/ch-1.fs21
-rw-r--r--challenge-124/abigail/fortran/ch-1.f9028
-rw-r--r--challenge-124/abigail/go/ch-1.go31
-rw-r--r--challenge-124/abigail/java/ch-1.java29
-rw-r--r--challenge-124/abigail/lua/ch-1.lua27
-rw-r--r--challenge-124/abigail/m4/ch-1.m417
-rw-r--r--challenge-124/abigail/mmix/ch-1.mms64
-rw-r--r--challenge-124/abigail/node/ch-1.js27
-rw-r--r--challenge-124/abigail/ocaml/ch-1.ml25
-rw-r--r--challenge-124/abigail/pascal/ch-1.p29
-rw-r--r--challenge-124/abigail/perl/ch-1.pl29
-rw-r--r--challenge-124/abigail/perl/ch-2.pl108
-rw-r--r--challenge-124/abigail/php/ch-1.php27
-rw-r--r--challenge-124/abigail/postscript/ch-1.ps26
-rw-r--r--challenge-124/abigail/python/ch-1.py27
-rw-r--r--challenge-124/abigail/python/ch-2.py49
-rw-r--r--challenge-124/abigail/r/ch-1.r25
-rw-r--r--challenge-124/abigail/rexx/ch-1.rexx25
-rw-r--r--challenge-124/abigail/ruby/ch-1.rb27
-rw-r--r--challenge-124/abigail/scheme/ch-1.scm25
-rw-r--r--challenge-124/abigail/sql/ch-1.sql25
-rw-r--r--challenge-124/abigail/t/ctest.ini12
-rw-r--r--challenge-124/abigail/t/input-1-10
-rw-r--r--challenge-124/abigail/t/input-2-12
-rw-r--r--challenge-124/abigail/t/output-1-1.exp17
-rw-r--r--challenge-124/abigail/t/output-2-1.exp2
-rw-r--r--challenge-124/abigail/tcl/ch-1.tcl25
39 files changed, 1055 insertions, 48 deletions
diff --git a/challenge-124/abigail/README.md b/challenge-124/abigail/README.md
index e71bda7e0f..c116d92523 100644
--- a/challenge-124/abigail/README.md
+++ b/challenge-124/abigail/README.md
@@ -1,84 +1,95 @@
# Solutions by Abigail
-## [Ugly Numbers][task1]
+## [Happy Women Day][task1]
-> You are given an integer `$n >= 1`.
->
-> Write a script to find the $nth element of Ugly Numbers.
->
-> > Ugly numbers are those number whose prime factors are `2`, `3` or `5`.
-> > For example, the first 10 Ugly Numbers are `1`, `2`, `3`, `4`, `5`,
-> > `6`, `8`, `9`, `10`, `12`.
+> Write a script to print the Venus Symbol, international gender symbol
+> for women. Please feel free to use any character.
-### Examples
~~~~
-Input: $n = 7
-Output: 8
-
-Input: $n = 10
-Output: 12
+ ^^^^^
+ ^ ^
+ ^ ^
+ ^ ^
+ ^ ^
+ ^ ^
+ ^ ^
+ ^ ^
+ ^ ^
+ ^ ^
+ ^^^^^
+ ^
+ ^
+ ^
+ ^^^^^
+ ^
+ ^
~~~~
### Solutions
* [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](erlang/ch-1.erl)
+* [Forth](forth/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)
+* [SQL](sql/ch-1.sql)
+* [Tcl](tcl/ch-1.tcl)
### Blog
-[Perl Weekly Challenge 123: Ugly Numbers][blog1]
+[Perl Weekly Challenge 124: Happy Women Day][blog1]
-## [Square Points][task2]
+## [Tug of War][task2]
-> You are given coordinates of four points i.e. `(x1, y1)`, `(x2, y2)`,
-> `(x3, y3)` and `(x4, y4)`.
->
-> Write a script to find out if the given four points form a square.
+> You are given a set of $n integers `(n1, n2, n3, ...)`.
+>
+> Write a script to divide the set in two subsets of `n/2` sizes each
+> so that the difference of the sum of two subsets is the least. If
+> `$n` is even then each subset must be of size `$n/2` each. In case $n
+> is odd then one subset must be `($n-1)/2` and other must be `($n+1)/2`.
### Examples
~~~~
-Input: x1 = 10, y1 = 20
- x2 = 20, y2 = 20
- x3 = 20, y3 = 10
- x4 = 10, y4 = 10
-Output: 1 as the given coordinates form a square.
+Input: Set = (10, 20, 30, 40, 50, 60, 70, 80, 90, 100)
+Output: Subset 1 = (30, 40, 60, 70, 80)
+ Subset 2 = (10, 20, 50, 90, 100)
~~~~
~~~~
-Input: x1 = 12, y1 = 24
- x2 = 16, y2 = 10
- x3 = 20, y3 = 12
- x4 = 18, y4 = 16
-Output: 0 as the given coordinates doesn't form a square.
+Input: Set = (10, -15, 20, 30, -25, 0, 5, 40, -5)
+ Subset 1 = (30, 0, 5, -5)
+ Subset 2 = (10, -15, 20, -25, 40)
~~~~
### Solutions
-* [AWK](awk/ch-2.awk)
-* [Bash](bash/ch-2.sh)
-* [bc](bc/ch-2.bc)
-* [C](c/ch-2.c)
-* [Go](go/ch-2.go)
-* [Java](java/ch-2.java)
-* [Lua](lua/ch-2.lua)
-* [Node.js](node/ch-2.js)
-* [Pascal](pascal/ch-2.p)
* [Perl](perl/ch-2.pl)
* [Python](python/ch-2.py)
-* [R](r/ch-2.r)
-* [Ruby](ruby/ch-2.rb)
-* [Scheme](scheme/ch-2.scm)
-* [Tcl](tcl/ch-2.tcl)
### Blog
-[Perl Weekly Challenge 123: Square Points][blog2]
+[Perl Weekly Challenge 124: Tug of War][blog2]
-[task1]: https://perlweeklychallenge.org/blog/perl-weekly-challenge-123/#TASK1
-[task2]: https://perlweeklychallenge.org/blog/perl-weekly-challenge-123/#TASK2
-[blog1]: https://abigail.github.io/HTML/Perl-Weekly-Challenge/week-123-1.html
-[blog2]: https://abigail.github.io/HTML/Perl-Weekly-Challenge/week-123-2.html
+[task1]: https://perlweeklychallenge.org/blog/perl-weekly-challenge-124/#TASK1
+[task2]: https://perlweeklychallenge.org/blog/perl-weekly-challenge-124/#TASK2
+[blog1]: https://abigail.github.io/HTML/Perl-Weekly-Challenge/week-124-1.html
+[blog2]: https://abigail.github.io/HTML/Perl-Weekly-Challenge/week-124-2.html
diff --git a/challenge-124/abigail/awk/ch-1.awk b/challenge-124/abigail/awk/ch-1.awk
new file mode 100644
index 0000000000..90d459b0d4
--- /dev/null
+++ b/challenge-124/abigail/awk/ch-1.awk
@@ -0,0 +1,29 @@
+#!/usr/bin/awk
+
+#
+# See ../README.md
+#
+
+#
+# Run as: awk -f ch-1.awk
+#
+
+BEGIN {
+ print " ^^^^^"
+ print " ^ ^"
+ print " ^ ^"
+ print " ^ ^"
+ print " ^ ^"
+ print " ^ ^"
+ print " ^ ^"
+ print " ^ ^"
+ print " ^ ^"
+ print " ^ ^"
+ print " ^^^^^"
+ print " ^"
+ print " ^"
+ print " ^"
+ print " ^^^^^"
+ print " ^"
+ print " ^"
+} \ No newline at end of file
diff --git a/challenge-124/abigail/bash/ch-1.sh b/challenge-124/abigail/bash/ch-1.sh
new file mode 100644
index 0000000000..683a1ac0f1
--- /dev/null
+++ b/challenge-124/abigail/bash/ch-1.sh
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+#
+# See ../README.md
+#
+
+#
+# Run as: bash ch-1.sh
+#
+
+echo " ^^^^^"
+echo " ^ ^"
+echo " ^ ^"
+echo " ^ ^"
+echo " ^ ^"
+echo " ^ ^"
+echo " ^ ^"
+echo " ^ ^"
+echo " ^ ^"
+echo " ^ ^"
+echo " ^^^^^"
+echo " ^"
+echo " ^"
+echo " ^"
+echo " ^^^^^"
+echo " ^"
+echo " ^" \ No newline at end of file
diff --git a/challenge-124/abigail/basic/ch-1.bas b/challenge-124/abigail/basic/ch-1.bas
new file mode 100644
index 0000000000..eee344ff4b
--- /dev/null
+++ b/challenge-124/abigail/basic/ch-1.bas
@@ -0,0 +1,25 @@
+010 REM
+020 REM See ../README.md
+030 REM
+
+040 REM
+050 REM Run as: basic ch-1.bas
+060 REM
+
+100 PRINT " ^^^^^"
+101 PRINT " ^ ^"
+102 PRINT " ^ ^"
+103 PRINT " ^ ^"
+104 PRINT " ^ ^"
+105 PRINT " ^ ^"
+106 PRINT " ^ ^"
+107 PRINT " ^ ^"
+108 PRINT " ^ ^"
+109 PRINT " ^ ^"
+110 PRINT " ^^^^^"
+111 PRINT " ^"
+112 PRINT " ^"
+113 PRINT " ^"
+114 PRINT " ^^^^^"
+115 PRINT " ^"
+116 PRINT " ^" \ No newline at end of file
diff --git a/challenge-124/abigail/bc/ch-1.bc b/challenge-124/abigail/bc/ch-1.bc
new file mode 100644
index 0000000000..7f41441d7f
--- /dev/null
+++ b/challenge-124/abigail/bc/ch-1.bc
@@ -0,0 +1,26 @@
+#
+# See ../README.md
+#
+
+#
+# Run as: bc ch-1.bc
+#
+" ^^^^^
+ ^ ^
+ ^ ^
+ ^ ^
+ ^ ^
+ ^ ^
+ ^ ^
+ ^ ^
+ ^ ^
+ ^ ^
+ ^^^^^
+ ^
+ ^
+ ^
+ ^^^^^
+ ^
+ ^
+"
+quit \ No newline at end of file
diff --git a/challenge-124/abigail/befunge-93/ch-1.bf93 b/challenge-124/abigail/befunge-93/ch-1.bf93
new file mode 100644
index 0000000000..f5bd23acb2
--- /dev/null
+++ b/challenge-124/abigail/befunge-93/ch-1.bf93
@@ -0,0 +1,18 @@
+55+ "^ " v
+55+ "^ " v>
+55+ "^^^^^ " v>
+55+ "^ " v>
+55+ "^ " v>
+55+ "^ " v>
+55+ "^^^^^ " v>
+55+ "^ ^ " v>
+55+ "^ ^ " v>
+55+ "^ ^ " v>
+55+ "^ ^ " v>
+55+ "^ ^ " v>
+55+ "^ ^ " v>
+55+ "^ ^ " v>
+55+ "^ ^ " v>
+55+ "^ ^ " v>
+55+ "^^^^^ "v>
+ ,_@#:<
diff --git a/challenge-124/abigail/blog.txt b/challenge-124/abigail/blog.txt
new file mode 100644
index 0000000000..c4b8793dae
--- /dev/null
+++ b/challenge-124/abigail/blog.txt
@@ -0,0 +1 @@
+https://abigail.github.io/HTML/Perl-Weekly-Challenge/week-124-1.html
diff --git a/challenge-124/abigail/blog1.txt b/challenge-124/abigail/blog1.txt
new file mode 100644
index 0000000000..0cd707908c
--- /dev/null
+++ b/challenge-124/abigail/blog1.txt
@@ -0,0 +1 @@
+https://abigail.github.io/HTML/Perl-Weekly-Challenge/week-124-2.html
diff --git a/challenge-124/abigail/c/ch-1.c b/challenge-124/abigail/c/ch-1.c
new file mode 100644
index 0000000000..c04528cd88
--- /dev/null
+++ b/challenge-124/abigail/c/ch-1.c
@@ -0,0 +1,32 @@
+# 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 (" ^^^^^\n");
+ printf (" ^ ^\n");
+ printf (" ^ ^\n");
+ printf (" ^ ^\n");
+ printf (" ^ ^\n");
+ printf (" ^ ^\n");
+ printf (" ^ ^\n");
+ printf (" ^ ^\n");
+ printf (" ^ ^\n");
+ printf (" ^ ^\n");
+ printf (" ^^^^^\n");
+ printf (" ^\n");
+ printf (" ^\n");
+ printf (" ^\n");
+ printf (" ^^^^^\n");
+ printf (" ^\n");
+ printf (" ^\n");
+ exit (0);
+} \ No newline at end of file
diff --git a/challenge-124/abigail/cobol/ch-1.cb b/challenge-124/abigail/cobol/ch-1.cb
new file mode 100644
index 0000000000..6e665d4ce4
--- /dev/null
+++ b/challenge-124/abigail/cobol/ch-1.cb
@@ -0,0 +1,30 @@
+IDENTIFICATION DIVISION.
+PROGRAM-ID. VENUS.
+
+*>
+*> See ../README.md
+*>
+
+*>
+*> Run as: cobc -xF ch-1.cb; ./ch-1
+*>
+
+PROCEDURE DIVISION.
+ DISPLAY " ^^^^^".
+ DISPLAY " ^ ^".
+ DISPLAY " ^ ^".
+ DISPLAY " ^ ^".
+ DISPLAY " ^ ^".
+ DISPLAY " ^ ^".
+ DISPLAY " ^ ^".
+ DISPLAY " ^ ^".
+ DISPLAY " ^ ^".
+ DISPLAY " ^ ^".
+ DISPLAY " ^^^^^".
+ DISPLAY " ^".
+ DISPLAY " ^".
+ DISPLAY " ^".
+ DISPLAY " ^^^^^".
+ DISPLAY " ^".
+ DISPLAY " ^".
+ STOP RUN.
diff --git a/challenge-124/abigail/csh/ch-1.csh b/challenge-124/abigail/csh/ch-1.csh
new file mode 100644
index 0000000000..453a03b2f7
--- /dev/null
+++ b/challenge-124/abigail/csh/ch-1.csh
@@ -0,0 +1,27 @@
+#!/bin/csh
+
+#
+# See ../README.md
+#
+
+#
+# Run as: csh ch-1.csh
+#
+
+echo " ^^^^^"
+echo " ^ ^"
+echo " ^ ^"
+echo " ^ ^"
+echo " ^ ^"
+echo " ^ ^"
+echo " ^ ^"
+echo " ^ ^"
+echo " ^ ^"
+echo " ^ ^"
+echo " ^^^^^"
+echo " ^"
+echo " ^"
+echo " ^"
+echo " ^^^^^"
+echo " ^"
+echo " ^" \ No newline at end of file
diff --git a/challenge-124/abigail/erlang/ch-1.erl b/challenge-124/abigail/erlang/ch-1.erl
new file mode 100644
index 0000000000..0b12117541
--- /dev/null
+++ b/challenge-124/abigail/erlang/ch-1.erl
@@ -0,0 +1,31 @@
+%
+% 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 (" ^^^^^\n"),
+ io:fwrite (" ^ ^\n"),
+ io:fwrite (" ^ ^\n"),
+ io:fwrite (" ^ ^\n"),
+ io:fwrite (" ^ ^\n"),
+ io:fwrite (" ^ ^\n"),
+ io:fwrite (" ^ ^\n"),
+ io:fwrite (" ^ ^\n"),
+ io:fwrite (" ^ ^\n"),
+ io:fwrite (" ^ ^\n"),
+ io:fwrite (" ^^^^^\n"),
+ io:fwrite (" ^\n"),
+ io:fwrite (" ^\n"),
+ io:fwrite (" ^\n"),
+ io:fwrite (" ^^^^^\n"),
+ io:fwrite (" ^\n"),
+ io:fwrite (" ^\n"). \ No newline at end of file
diff --git a/challenge-124/abigail/forth/ch-1.fs b/challenge-124/abigail/forth/ch-1.fs
new file mode 100644
index 0000000000..b7bdbafc7f
--- /dev/null
+++ b/challenge-124/abigail/forth/ch-1.fs
@@ -0,0 +1,21 @@
+\
+\ See ../README.md
+\
+
+.( ^^^^^)
+.( ^ ^)
+.( ^ ^)
+.( ^ ^)
+.( ^ ^)
+.( ^ ^)
+.( ^ ^)
+.( ^ ^)
+.( ^ ^)
+.( ^ ^)
+.( ^^^^^)
+.( ^)
+.( ^)
+.( ^)
+.( ^^^^^)
+.( ^)
+.( ^) \ No newline at end of file
diff --git a/challenge-124/abigail/fortran/ch-1.f90 b/challenge-124/abigail/fortran/ch-1.f90
new file mode 100644
index 0000000000..52f8dead50
--- /dev/null
+++ b/challenge-124/abigail/fortran/ch-1.f90
@@ -0,0 +1,28 @@
+!
+! See ../README.md
+!
+
+!
+! Run as: gfortran -o ch-1.o ch-1.f90; ./ch-1.o
+!
+
+program ch1
+ implicit none
+ write (*, *) " ^^^^^"
+ write (*, *) " ^ ^"
+ write (*, *) " ^ ^"
+ write (*, *) "^ ^"
+ write (*, *) "^ ^"
+ write (*, *) "^ ^"
+ write (*, *) "^ ^"
+ write (*, *) "^ ^"
+ write (*, *) " ^ ^"
+ write (*, *) " ^ ^"
+ write (*, *) " ^^^^^"
+ write (*, *) " ^"
+ write (*, *) " ^"
+ write (*, *) " ^"
+ write (*, *) " ^^^^^"
+ write (*, *) " ^"
+ write (*, *) " ^"
+end \ No newline at end of file
diff --git a/challenge-124/abigail/go/ch-1.go b/challenge-124/abigail/go/ch-1.go
new file mode 100644
index 0000000000..d7ccf33b7a
--- /dev/null
+++ b/challenge-124/abigail/go/ch-1.go
@@ -0,0 +1,31 @@
+package main
+
+//
+// See ../README.md
+//
+
+//
+// Run as: go run ch-1.go
+//
+
+import "fmt"
+
+func main () {
+ fmt . Print (" ^^^^^\n")
+ fmt . Print (" ^ ^\n")
+ fmt . Print (" ^ ^\n")
+ fmt . Print (" ^ ^\n")
+ fmt . Print (" ^ ^\n")
+ fmt . Print (" ^ ^\n")
+ fmt . Print (" ^ ^\n")
+ fmt . Print (" ^ ^\n")
+ fmt . Print (" ^ ^\n")
+ fmt . Print (" ^ ^\n")
+ fmt . Print (" ^^^^^\n")
+ fmt . Print (" ^\n")
+ fmt . Print (" ^\n")
+ fmt . Print (" ^\n")
+ fmt . Print (" ^^^^^\n")
+ fmt . Print (" ^\n")
+ fmt . Print (" ^\n")
+} \ No newline at end of file
diff --git a/challenge-124/abigail/java/ch-1.java b/challenge-124/abigail/java/ch-1.java
new file mode 100644
index 0000000000..93dd9df6a7
--- /dev/null
+++ b/challenge-124/abigail/java/ch-1.java
@@ -0,0 +1,29 @@
+//
+// See ../README.md
+//
+
+//
+// Run as: ln ch-1.java ch1.java; javac ch1.java; java ch1
+//
+
+public class ch1 {
+ public static void main (String [] args) {
+ System . out . print (" ^^^^^\n");
+ System . out . print (" ^ ^\n");
+ System . out . print (" ^ ^\n");
+ System . out . print (" ^ ^\n");
+ System . out . print (" ^ ^\n");
+ System . out . print (" ^ ^\n");
+ System . out . print (" ^ ^\n");
+ System . out . print (" ^ ^\n");
+ System . out . print (" ^ ^\n");
+ System . out . print (" ^ ^\n");
+ System . out . print (" ^^^^^\n");
+ System . out . print (" ^\n");
+ System . out . print (" ^\n");
+ System . out . print (" ^\n");
+ System . out . print (" ^^^^^\n");
+ System . out . print (" ^\n");
+ System . out . print (" ^\n");
+ }
+} \ No newline at end of file
diff --git a/challenge-124/abigail/lua/ch-1.lua b/challenge-124/abigail/lua/ch-1.lua
new file mode 100644
index 0000000000..f981c7be1c
--- /dev/null
+++ b/challenge-124/abigail/lua/ch-1.lua
@@ -0,0 +1,27 @@
+#!/opt/local/bin/lua
+
+--
+-- See ../README.md
+--
+
+--
+-- Run as: lua ch-1.lua
+--
+
+print (" ^^^^^")
+print (" ^ ^")
+print (" ^ ^")
+print (" ^ ^")
+print (" ^ ^")
+print (" ^ ^")
+print (" ^ ^")
+print (" ^ ^")
+print (" ^ ^")
+print (" ^ ^")
+print (" ^^^^^")
+print (" ^")
+print (" ^")
+print (" ^")
+print (" ^^^^^")
+print (" ^")
+print (" ^") \ No newline at end of file
diff --git a/challenge-124/abigail/m4/ch-1.m4 b/challenge-124/abigail/m4/ch-1.m4
new file mode 100644
index 0000000000..cc661e825a
--- /dev/null
+++ b/challenge-124/abigail/m4/ch-1.m4
@@ -0,0 +1,17 @@
+ ^^^^^
+ ^ ^
+ ^ ^
+ ^ ^
+ ^ ^
+ ^ ^
+ ^ ^
+ ^ ^
+ ^ ^
+ ^ ^
+ ^^^^^
+ ^
+ ^
+ ^
+ ^^^^^
+ ^
+ ^
diff --git a/challenge-124/abigail/mmix/ch-1.mms b/challenge-124/abigail/mmix/ch-1.mms
new file mode 100644
index 0000000000..594bd5d759
--- /dev/null
+++ b/challenge-124/abigail/mmix/ch-1.mms
@@ -0,0 +1,64 @@
+%
+% See ../README.md
+%
+
+%
+% Run as: mmixal -o ch-1.mmo ch-1.mms; mmix -q ch-1.mmo
+%
+ LOC Data_Segment
+ GREG @
+Text01 BYTE " ^^^^^",10,0
+Text02 BYTE " ^ ^",10,0
+Text03 BYTE " ^ ^",10,0
+Text04 BYTE " ^ ^",10,0
+Text05 BYTE " ^ ^",10,0
+Text06 BYTE " ^ ^",10,0
+Text07 BYTE " ^ ^",10,0
+Text08 BYTE " ^ ^",10,0
+Text09 BYTE " ^ ^",10,0
+Text10 BYTE " ^ ^",10,0
+Text11 BYTE " ^^^^^",10,0
+Text12 BYTE " ^",10,0
+Text13 BYTE " ^",10,0
+Text14 BYTE " ^",10,0
+Text15 BYTE " ^^^^^",10,0
+Text16 BYTE " ^",10,0
+Text17 BYTE " ^",10,0
+
+ LOC #100
+
+Main LDA $255,Text01
+ TRAP 0,Fputs,StdOut
+ LDA $255,Text02
+ TRAP 0,Fputs,StdOut
+ LDA $255,Text03
+ TRAP 0,Fputs,StdOut
+ LDA $255,Text04
+ TRAP 0,Fputs,StdOut
+ LDA $255,Text05
+ TRAP 0,Fputs,StdOut
+ LDA $255,Text06
+ TRAP 0,Fputs,StdOut
+ LDA $255,Text07
+ TRAP 0,Fputs,StdOut
+ LDA $255,Text08
+ TRAP 0,Fputs,StdOut
+ LDA $255,Text09
+ TRAP 0,Fputs,StdOut
+ LDA $255,Text10
+ TRAP 0,Fputs,StdOut
+ LDA $255,Text11
+ TRAP 0,Fputs,StdOut
+ LDA $255,Text12
+ TRAP 0,Fputs,StdOut
+ LDA $255,Text13
+ TRAP 0,Fputs,StdOut
+ LDA $255,Text14
+ TRAP 0,Fputs,StdOut
+ LDA $255,Text15
+ TRAP 0,Fputs,StdOut
+ LDA $255,Text16
+ TRAP 0,Fputs,StdOut
+ LDA $255,Text17
+ TRAP 0,Fputs,StdOut
+ TRAP 0,Halt,0 \ No newline at end of file
diff --git a/challenge-124/abigail/node/ch-1.js b/challenge-124/abigail/node/ch-1.js
new file mode 100644
index 0000000000..afdb369d65
--- /dev/null
+++ b/challenge-124/abigail/node/ch-1.js
@@ -0,0 +1,27 @@
+#!/usr/local/bin/node
+
+//
+// See ../README.md
+//
+
+//
+// Run as: node ch-1.js
+//
+
+console . log (" ^^^^^")
+console . log (" ^ ^")
+console . log (" ^ ^")
+console . log (" ^ ^")
+console . log (" ^ ^")
+console . log (" ^ ^")
+console . log (" ^ ^")
+console . log (" ^ ^")
+console . log (" ^ ^")
+console . log (" ^ ^")
+console . log (" ^^^^^")
+console . log (" ^")
+console . log (" ^")
+console . log (" ^")
+console . log (" ^^^^^")
+console . log (" ^")
+console . log (" ^") \ No newline at end of file
diff --git a/challenge-124/abigail/ocaml/ch-1.ml b/challenge-124/abigail/ocaml/ch-1.ml
new file mode 100644
index 0000000000..eeebeef182
--- /dev/null
+++ b/challenge-124/abigail/ocaml/ch-1.ml
@@ -0,0 +1,25 @@
+(* *)
+(* See ../README.md *)
+(* *)
+
+(* *)
+(* Run as: ocaml ch-1.ml *)
+(* *)
+
+print_endline " ^^^^^";
+print_endline " ^ ^";
+print_endline " ^ ^";
+print_endline " ^ ^";
+print_endline " ^ ^";
+print_endline " ^ ^";
+print_endline " ^ ^";
+print_endline " ^ ^";
+print_endline " ^ ^";
+print_endline " ^ ^";
+print_endline " ^^^^^";
+print_endline " ^";
+print_endline " ^";
+print_endline " ^";
+print_endline " ^^^^^";
+print_endline " ^";
+print_endline " ^"; \ No newline at end of file
diff --git a/challenge-124/abigail/pascal/ch-1.p b/challenge-124/abigail/pascal/ch-1.p
new file mode 100644
index 0000000000..61819aadaf
--- /dev/null
+++ b/challenge-124/abigail/pascal/ch-1.p
@@ -0,0 +1,29 @@
+Program XXX;
+
+(* *)
+(* See ../README.md *)
+(* *)
+
+(* *)
+(* Run as: fpc -och-1.out ch-1.p; ./ch-1.out *)
+(* *)
+
+begin
+ writeln (' ^^^^^');
+ writeln (' ^ ^');
+ writeln (' ^ ^');
+ writeln (' ^ ^');
+ writeln (' ^ ^');
+ writeln (' ^ ^');
+ writeln (' ^ ^');
+ writeln (' ^ ^');
+ writeln (' ^ ^');
+ writeln (' ^ ^');
+ writeln (' ^^^^^');
+ writeln (' ^');
+ writeln (' ^');
+ writeln (' ^');
+ writeln (' ^^^^^');
+ writeln (' ^');
+ writeln (' ^');
+end. \ No newline at end of file
diff --git a/challenge-124/abigail/perl/ch-1.pl b/challenge-124/abigail/perl/ch-1.pl
new file mode 100644
index 0000000000..138ab19026
--- /dev/null
+++ b/challenge-124/abigail/perl/ch-1.pl<