diff --git a/Conf/task.yaml b/Conf/task.yaml
index 62cf250f0d..8f8eaceb54 100644
--- a/Conf/task.yaml
+++ b/Conf/task.yaml
@@ -45,7 +45,7 @@ Averages/Simple moving average:
Balanced brackets:
Balanced ternary:
Best shuffle:
-# Binary digits:
+Binary digits:
Binary search:
Binary strings:
Bitcoin/address validation:
@@ -65,7 +65,7 @@ Bitwise operations:
Boolean values:
Box the compass:
Break OO privacy:
-# Brownian tree:
+Brownian tree:
Bulls and cows:
Bulls and cows/Player:
@@ -79,7 +79,7 @@ Call an object method:
Canny edge detector:
Carmichael 3 strong pseudoprimes:
Case-sensitivity of identifiers:
-# Catalan numbers:
+Catalan numbers:
Catmull–Clark subdivision surface:
Character codes:
Character matching:
@@ -112,7 +112,7 @@ Continued fraction/Arithmetic/Construct from rational number:
Continued fraction/Arithmetic/G(matrix NG, Contined Fraction N):
Continued fraction/Arithmetic/G(matrix NG, Contined Fraction N1, Contined Fraction N2):
Conway's Game of Life: #'
-# Copy a string:
+Copy a string:
Count in factors:
Count in octal:
Count occurrences of a substring:
@@ -152,7 +152,7 @@ Doubly-linked list/Definition:
Doubly-linked list/Element definition:
Doubly-linked list/Element insertion:
Doubly-linked list/Traversal:
-# Dragon curve:
+Dragon curve:
Draw a cuboid:
Draw a sphere:
Dutch national flag problem:
@@ -166,7 +166,7 @@ Empty string:
Enforced immutability:
Entropy:
Enumerations:
-# Environment variables:
+Environment variables:
Equilibrium index:
Ethiopian multiplication:
Euler method:
@@ -177,11 +177,11 @@ Evolutionary algorithm:
Exceptions:
Exceptions/Catch an exception thrown in a nested call:
Executable library:
-# Execute a Markov algorithm:
+Execute a Markov algorithm:
Execute a system command:
-# Execute Brain****:
+# Execute Brainf***:
Execute HQ9+:
-# Execute SNUSP:
+Execute SNUSP:
Exponentiation operator:
Extend your language:
Extreme floating point values:
@@ -219,6 +219,7 @@ Function composition:
Function definition:
Function frequency:
Function prototype:
+
Galton box animation:
Gamma function:
Generator/Exponential:
@@ -237,6 +238,7 @@ Guess the number/With feedback (player):
GUI component interaction:
GUI enabling/disabling of controls:
GUI/Maximum window dimensions:
+
Hailstone sequence:
Hamming numbers:
Handle a signal:
@@ -268,6 +270,7 @@ HTTPS:
HTTPS/Authenticated:
HTTPS/Client-authenticated:
Huffman coding:
+
I before E except after C:
Identity matrix:
Image convolution:
@@ -284,11 +287,13 @@ Interactive programming:
Introspection:
Inverted index:
Inverted syntax:
+
Jensen's Device: #'
Josephus problem:
Joystick position:
JSON:
Jump anywhere:
+
K-means++ clustering:
Kaprekar numbers:
Keyboard input/Flush the keyboard buffer:
@@ -302,6 +307,7 @@ Knapsack problem/Unbounded:
Knight's tour: #'
Knuth shuffle:
Knuth's algorithm S: #'
+
Langton's ant: #'
Largest int from concatenated ints:
Last Friday of each month:
@@ -336,6 +342,7 @@ LU decomposition:
Lucas-Lehmer test:
Luhn test of credit card numbers:
LZW compression:
+
Mad Libs:
Main step of GOST 28147-89:
Man or boy test:
@@ -375,9 +382,136 @@ Multisplit:
Mutex:
Mutual recursion:
+N-queens problem:
+Named parameters:
Narcissist:
+Nautical bell:
+Non-continuous subsequences:
+Non-decimal radices/Convert:
+Non-decimal radices/Input:
+Non-decimal radices/Output:
+Nth root:
+Null object:
+Number names:
+Number reversal game:
+Numeric error propagation:
+Numerical integration:
+Numerical integration/Gauss-Legendre Quadrature:
+
+Object serialization:
+OLE Automation:
+One of n lines in a file:
+One-dimensional cellular automata:
+OpenGL:
+Operator precedence:
+Optional parameters:
+Order two numerical lists:
+Ordered Partitions:
Ordered words:
+
+Palindrome detection:
+Pangram checker:
+Parallel calculations:
+Parametric polymorphism:
+Parametrized SQL statement:
+Parsing/RPN calculator algorithm:
+Parsing/RPN to infix conversion:
+Parsing/Shunting-yard algorithm:
+Partial function application:
+Pascal's triangle: #'
+Pascal's triangle/Puzzle: #'
+Pattern matching:
+Percentage difference between images:
+Perfect numbers:
+Permutation test:
+Permutations:
+Permutations by swapping:
+Permutations/Derangements:
Pi:
+Pick random element:
+Pig the dice game:
+Pig the dice game/Player:
+Pinstripe/Display:
+Pinstripe/Printer:
+Play recorded sounds:
+Playing cards:
+Plot coordinate pairs:
+Pointers and references:
+Polymorphic copy:
+Polymorphism:
+Polynomial long division:
+Polynomial regression:
+Power set:
+Pragmatic directives:
+Price fraction:
+Primality by trial division:
+Prime decomposition:
+Priority queue:
+Probabilistic choice:
+Problem of Apollonius:
+Program name:
+Program termination:
+Pythagorean triples:
+QR decomposition:
+Quaternion type:
+Queue/Definition:
+Queue/Usage:
Quine:
-# ROT-13:
+
+Random number generator (device):
+Random number generator (included):
+Random numbers:
+Range expansion:
+Range extraction:
+Rate counter:
+Ray-casting algorithm:
+RCRPG:
+Read a configuration file:
+Read a file line by line:
+Read a specific line from a file:
+Read entire file:
+Real constants and functions:
+Record sound:
+Reduced row echelon form:
+Regular expressions:
+Remove duplicate elements:
+Remove lines from a file:
+Rename a file:
+Rendezvous:
+Repeat a string:
+Resistor mesh:
+Respond to an unknown method call:
+Return multiple values:
+Reverse a string:
+RIPEMD-160:
+Rock-paper-scissors:
+Roman numerals/Decode:
+Roman numerals/Encode:
+Roots of a function:
+Roots of a quadratic function:
+Roots of unity:
+Rosetta Code/Count examples:
+Rosetta Code/Find unimplemented tasks:
+Rosetta Code/Fix code tags:
+Rosetta Code/Rank languages by popularity:
+Rot-13:
+Run-length encoding:
+Runtime evaluation:
+Runtime evaluation/In an environment:
+S-Expressions:
+Safe addition:
+Same Fringe:
+Scope modifiers:
+Scope/Function names and labels:
Search a list:
+Secure temporary file:
+SEDOLs:
+Self-describing numbers:
+Self-referential sequence:
+Semordnilap:
+Send an unknown method call:
+Send email:
+Sequence of non-squares:
+Set:
+Set consolidation:
+Set of real numbers:
diff --git a/Lang/0815/Binary-digits b/Lang/0815/Binary-digits
new file mode 120000
index 0000000000..ee1bc56cd8
--- /dev/null
+++ b/Lang/0815/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/0815
\ No newline at end of file
diff --git a/Lang/0815/Reverse-a-string b/Lang/0815/Reverse-a-string
new file mode 120000
index 0000000000..cb23149222
--- /dev/null
+++ b/Lang/0815/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/0815
\ No newline at end of file
diff --git a/Lang/4DOS-Batch/Repeat-a-string b/Lang/4DOS-Batch/Repeat-a-string
new file mode 120000
index 0000000000..d139b535a6
--- /dev/null
+++ b/Lang/4DOS-Batch/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/4DOS-Batch
\ No newline at end of file
diff --git a/Lang/6502-Assembly/Rot-13 b/Lang/6502-Assembly/Rot-13
new file mode 120000
index 0000000000..5079a0110e
--- /dev/null
+++ b/Lang/6502-Assembly/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/6502-Assembly
\ No newline at end of file
diff --git a/Lang/6800-Assembly/Loops-Infinite b/Lang/6800-Assembly/Loops-Infinite
new file mode 120000
index 0000000000..6472f52bec
--- /dev/null
+++ b/Lang/6800-Assembly/Loops-Infinite
@@ -0,0 +1 @@
+../../Task/Loops-Infinite/6800-Assembly
\ No newline at end of file
diff --git a/Lang/ABAP/Copy-a-string b/Lang/ABAP/Copy-a-string
new file mode 120000
index 0000000000..51fdfcbf7e
--- /dev/null
+++ b/Lang/ABAP/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/ABAP
\ No newline at end of file
diff --git a/Lang/ABAP/Permutations b/Lang/ABAP/Permutations
new file mode 120000
index 0000000000..57d6e0bfcc
--- /dev/null
+++ b/Lang/ABAP/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/ABAP
\ No newline at end of file
diff --git a/Lang/ABAP/Prime-decomposition b/Lang/ABAP/Prime-decomposition
new file mode 120000
index 0000000000..9f2456b94c
--- /dev/null
+++ b/Lang/ABAP/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/ABAP
\ No newline at end of file
diff --git a/Lang/ACL2/Arbitrary-precision-integers--included- b/Lang/ACL2/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..588067f7e4
--- /dev/null
+++ b/Lang/ACL2/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/ACL2
\ No newline at end of file
diff --git a/Lang/ACL2/Arbitrary-precision-integers-included b/Lang/ACL2/Arbitrary-precision-integers-included
deleted file mode 120000
index ef5de56eee..0000000000
--- a/Lang/ACL2/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/ACL2
\ No newline at end of file
diff --git a/Lang/ACL2/Binary-digits b/Lang/ACL2/Binary-digits
new file mode 120000
index 0000000000..721cfcd2d8
--- /dev/null
+++ b/Lang/ACL2/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/ACL2
\ No newline at end of file
diff --git a/Lang/ACL2/Non-decimal-radices-Convert b/Lang/ACL2/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..c74f90fe34
--- /dev/null
+++ b/Lang/ACL2/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/ACL2
\ No newline at end of file
diff --git a/Lang/ACL2/One-dimensional-cellular-automata b/Lang/ACL2/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..382b92e7f4
--- /dev/null
+++ b/Lang/ACL2/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/ACL2
\ No newline at end of file
diff --git a/Lang/ACL2/Palindrome-detection b/Lang/ACL2/Palindrome-detection
new file mode 120000
index 0000000000..f4901eec14
--- /dev/null
+++ b/Lang/ACL2/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/ACL2
\ No newline at end of file
diff --git a/Lang/ACL2/Pangram-checker b/Lang/ACL2/Pangram-checker
new file mode 120000
index 0000000000..3df7f0e509
--- /dev/null
+++ b/Lang/ACL2/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/ACL2
\ No newline at end of file
diff --git a/Lang/ACL2/Pick-random-element b/Lang/ACL2/Pick-random-element
new file mode 120000
index 0000000000..bd3f7b445f
--- /dev/null
+++ b/Lang/ACL2/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/ACL2
\ No newline at end of file
diff --git a/Lang/ACL2/Playing-cards b/Lang/ACL2/Playing-cards
new file mode 120000
index 0000000000..ddc300d72d
--- /dev/null
+++ b/Lang/ACL2/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/ACL2
\ No newline at end of file
diff --git a/Lang/ACL2/Primality-by-trial-division b/Lang/ACL2/Primality-by-trial-division
new file mode 120000
index 0000000000..59771e79a9
--- /dev/null
+++ b/Lang/ACL2/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/ACL2
\ No newline at end of file
diff --git a/Lang/ACL2/Prime-decomposition b/Lang/ACL2/Prime-decomposition
new file mode 120000
index 0000000000..c8bdffa820
--- /dev/null
+++ b/Lang/ACL2/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/ACL2
\ No newline at end of file
diff --git a/Lang/ACL2/Queue-Definition b/Lang/ACL2/Queue-Definition
new file mode 120000
index 0000000000..64fc118f23
--- /dev/null
+++ b/Lang/ACL2/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/ACL2
\ No newline at end of file
diff --git a/Lang/ACL2/Real-constants-and-functions b/Lang/ACL2/Real-constants-and-functions
new file mode 120000
index 0000000000..63718ed6a5
--- /dev/null
+++ b/Lang/ACL2/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/ACL2
\ No newline at end of file
diff --git a/Lang/ACL2/Remove-duplicate-elements b/Lang/ACL2/Remove-duplicate-elements
new file mode 120000
index 0000000000..2faa993053
--- /dev/null
+++ b/Lang/ACL2/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/ACL2
\ No newline at end of file
diff --git a/Lang/ACL2/Return-multiple-values b/Lang/ACL2/Return-multiple-values
new file mode 120000
index 0000000000..c9d1cda416
--- /dev/null
+++ b/Lang/ACL2/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/ACL2
\ No newline at end of file
diff --git a/Lang/ACL2/Reverse-a-string b/Lang/ACL2/Reverse-a-string
new file mode 120000
index 0000000000..9470bad754
--- /dev/null
+++ b/Lang/ACL2/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/ACL2
\ No newline at end of file
diff --git a/Lang/ACL2/Rot-13 b/Lang/ACL2/Rot-13
new file mode 120000
index 0000000000..f6198eed91
--- /dev/null
+++ b/Lang/ACL2/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/ACL2
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Binary-digits b/Lang/ALGOL-68/Binary-digits
new file mode 120000
index 0000000000..886e1a195a
--- /dev/null
+++ b/Lang/ALGOL-68/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Calendar---for-real-programmers b/Lang/ALGOL-68/Calendar---for-real-programmers
new file mode 120000
index 0000000000..58b7604557
--- /dev/null
+++ b/Lang/ALGOL-68/Calendar---for-real-programmers
@@ -0,0 +1 @@
+../../Task/Calendar---for-real-programmers/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Calendar-for-real-programmers b/Lang/ALGOL-68/Calendar-for-real-programmers
deleted file mode 120000
index 4cf5bc4e24..0000000000
--- a/Lang/ALGOL-68/Calendar-for-real-programmers
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Calendar-for-real-programmers/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Copy-a-string b/Lang/ALGOL-68/Copy-a-string
new file mode 120000
index 0000000000..a2fc36bb1c
--- /dev/null
+++ b/Lang/ALGOL-68/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Dragon-curve b/Lang/ALGOL-68/Dragon-curve
new file mode 120000
index 0000000000..71e4e4d832
--- /dev/null
+++ b/Lang/ALGOL-68/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Environment-variables b/Lang/ALGOL-68/Environment-variables
new file mode 120000
index 0000000000..b0c582f062
--- /dev/null
+++ b/Lang/ALGOL-68/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/N-queens-problem b/Lang/ALGOL-68/N-queens-problem
new file mode 120000
index 0000000000..37885ee4a5
--- /dev/null
+++ b/Lang/ALGOL-68/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Named-parameters b/Lang/ALGOL-68/Named-parameters
new file mode 120000
index 0000000000..126dc876c6
--- /dev/null
+++ b/Lang/ALGOL-68/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Non-continuous-subsequences b/Lang/ALGOL-68/Non-continuous-subsequences
new file mode 120000
index 0000000000..9fc6809c13
--- /dev/null
+++ b/Lang/ALGOL-68/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Non-decimal-radices-Convert b/Lang/ALGOL-68/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..c578144e4e
--- /dev/null
+++ b/Lang/ALGOL-68/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Non-decimal-radices-Input b/Lang/ALGOL-68/Non-decimal-radices-Input
new file mode 120000
index 0000000000..ee7fa65f16
--- /dev/null
+++ b/Lang/ALGOL-68/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Non-decimal-radices-Output b/Lang/ALGOL-68/Non-decimal-radices-Output
new file mode 120000
index 0000000000..f6111fa9fd
--- /dev/null
+++ b/Lang/ALGOL-68/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Nth-root b/Lang/ALGOL-68/Nth-root
new file mode 120000
index 0000000000..21867b399d
--- /dev/null
+++ b/Lang/ALGOL-68/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Null-object b/Lang/ALGOL-68/Null-object
new file mode 120000
index 0000000000..2df32d1b9c
--- /dev/null
+++ b/Lang/ALGOL-68/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Number-names b/Lang/ALGOL-68/Number-names
new file mode 120000
index 0000000000..4df416b8bb
--- /dev/null
+++ b/Lang/ALGOL-68/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Numerical-integration b/Lang/ALGOL-68/Numerical-integration
new file mode 120000
index 0000000000..a686210e29
--- /dev/null
+++ b/Lang/ALGOL-68/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Object-serialization b/Lang/ALGOL-68/Object-serialization
new file mode 120000
index 0000000000..aa5ea19023
--- /dev/null
+++ b/Lang/ALGOL-68/Object-serialization
@@ -0,0 +1 @@
+../../Task/Object-serialization/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/One-dimensional-cellular-automata b/Lang/ALGOL-68/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..ed6e05e6aa
--- /dev/null
+++ b/Lang/ALGOL-68/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Palindrome-detection b/Lang/ALGOL-68/Palindrome-detection
new file mode 120000
index 0000000000..ed92040599
--- /dev/null
+++ b/Lang/ALGOL-68/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Pangram-checker b/Lang/ALGOL-68/Pangram-checker
new file mode 120000
index 0000000000..a6c10328ed
--- /dev/null
+++ b/Lang/ALGOL-68/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Partial-function-application b/Lang/ALGOL-68/Partial-function-application
new file mode 120000
index 0000000000..a80c00a4ce
--- /dev/null
+++ b/Lang/ALGOL-68/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Pascals-triangle b/Lang/ALGOL-68/Pascals-triangle
new file mode 120000
index 0000000000..241f3fe5e0
--- /dev/null
+++ b/Lang/ALGOL-68/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Pascals-triangle-Puzzle b/Lang/ALGOL-68/Pascals-triangle-Puzzle
new file mode 120000
index 0000000000..1f0605e194
--- /dev/null
+++ b/Lang/ALGOL-68/Pascals-triangle-Puzzle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle-Puzzle/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Perfect-numbers b/Lang/ALGOL-68/Perfect-numbers
new file mode 120000
index 0000000000..ab96e87e47
--- /dev/null
+++ b/Lang/ALGOL-68/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Permutations b/Lang/ALGOL-68/Permutations
new file mode 120000
index 0000000000..807ed65b6e
--- /dev/null
+++ b/Lang/ALGOL-68/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Playing-cards b/Lang/ALGOL-68/Playing-cards
new file mode 120000
index 0000000000..d0c292a772
--- /dev/null
+++ b/Lang/ALGOL-68/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Plot-coordinate-pairs b/Lang/ALGOL-68/Plot-coordinate-pairs
new file mode 120000
index 0000000000..fb29e0a296
--- /dev/null
+++ b/Lang/ALGOL-68/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Pointers-and-references b/Lang/ALGOL-68/Pointers-and-references
new file mode 120000
index 0000000000..5eb347f314
--- /dev/null
+++ b/Lang/ALGOL-68/Pointers-and-references
@@ -0,0 +1 @@
+../../Task/Pointers-and-references/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Polynomial-regression b/Lang/ALGOL-68/Polynomial-regression
new file mode 120000
index 0000000000..d45b7c656c
--- /dev/null
+++ b/Lang/ALGOL-68/Polynomial-regression
@@ -0,0 +1 @@
+../../Task/Polynomial-regression/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Power-set b/Lang/ALGOL-68/Power-set
new file mode 120000
index 0000000000..52a4d0fbd6
--- /dev/null
+++ b/Lang/ALGOL-68/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Pragmatic-directives b/Lang/ALGOL-68/Pragmatic-directives
new file mode 120000
index 0000000000..7ce8bff9f9
--- /dev/null
+++ b/Lang/ALGOL-68/Pragmatic-directives
@@ -0,0 +1 @@
+../../Task/Pragmatic-directives/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Price-fraction b/Lang/ALGOL-68/Price-fraction
new file mode 120000
index 0000000000..b08625b69a
--- /dev/null
+++ b/Lang/ALGOL-68/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Primality-by-trial-division b/Lang/ALGOL-68/Primality-by-trial-division
new file mode 120000
index 0000000000..c1766b1eab
--- /dev/null
+++ b/Lang/ALGOL-68/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Prime-decomposition b/Lang/ALGOL-68/Prime-decomposition
new file mode 120000
index 0000000000..488051810c
--- /dev/null
+++ b/Lang/ALGOL-68/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Probabilistic-choice b/Lang/ALGOL-68/Probabilistic-choice
new file mode 120000
index 0000000000..d8a5bc6506
--- /dev/null
+++ b/Lang/ALGOL-68/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Program-termination b/Lang/ALGOL-68/Program-termination
new file mode 120000
index 0000000000..dd87a29f57
--- /dev/null
+++ b/Lang/ALGOL-68/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Quaternion-type b/Lang/ALGOL-68/Quaternion-type
new file mode 120000
index 0000000000..9934ee409f
--- /dev/null
+++ b/Lang/ALGOL-68/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Random-number-generator--included- b/Lang/ALGOL-68/Random-number-generator--included-
new file mode 120000
index 0000000000..e6483bc15e
--- /dev/null
+++ b/Lang/ALGOL-68/Random-number-generator--included-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--included-/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Random-numbers b/Lang/ALGOL-68/Random-numbers
new file mode 120000
index 0000000000..8cf9e25de3
--- /dev/null
+++ b/Lang/ALGOL-68/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Range-expansion b/Lang/ALGOL-68/Range-expansion
new file mode 120000
index 0000000000..455967a550
--- /dev/null
+++ b/Lang/ALGOL-68/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Range-extraction b/Lang/ALGOL-68/Range-extraction
new file mode 120000
index 0000000000..2d7e949313
--- /dev/null
+++ b/Lang/ALGOL-68/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Read-a-file-line-by-line b/Lang/ALGOL-68/Read-a-file-line-by-line
new file mode 120000
index 0000000000..50d4e32164
--- /dev/null
+++ b/Lang/ALGOL-68/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Read-entire-file b/Lang/ALGOL-68/Read-entire-file
new file mode 120000
index 0000000000..121ce2c341
--- /dev/null
+++ b/Lang/ALGOL-68/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Real-constants-and-functions b/Lang/ALGOL-68/Real-constants-and-functions
new file mode 120000
index 0000000000..95f5636760
--- /dev/null
+++ b/Lang/ALGOL-68/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Reduced-row-echelon-form b/Lang/ALGOL-68/Reduced-row-echelon-form
new file mode 120000
index 0000000000..d4b8773c3c
--- /dev/null
+++ b/Lang/ALGOL-68/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Regular-expressions b/Lang/ALGOL-68/Regular-expressions
new file mode 120000
index 0000000000..a1d7d37848
--- /dev/null
+++ b/Lang/ALGOL-68/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Rename-a-file b/Lang/ALGOL-68/Rename-a-file
new file mode 120000
index 0000000000..7172e98588
--- /dev/null
+++ b/Lang/ALGOL-68/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Repeat-a-string b/Lang/ALGOL-68/Repeat-a-string
new file mode 120000
index 0000000000..b7a0cf5099
--- /dev/null
+++ b/Lang/ALGOL-68/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Reverse-a-string b/Lang/ALGOL-68/Reverse-a-string
new file mode 120000
index 0000000000..b306fb2362
--- /dev/null
+++ b/Lang/ALGOL-68/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Roman-numerals-Decode b/Lang/ALGOL-68/Roman-numerals-Decode
new file mode 120000
index 0000000000..2c69475d77
--- /dev/null
+++ b/Lang/ALGOL-68/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Roman-numerals-Encode b/Lang/ALGOL-68/Roman-numerals-Encode
new file mode 120000
index 0000000000..82fb61c06e
--- /dev/null
+++ b/Lang/ALGOL-68/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Roots-of-a-function b/Lang/ALGOL-68/Roots-of-a-function
new file mode 120000
index 0000000000..7742ce8527
--- /dev/null
+++ b/Lang/ALGOL-68/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Roots-of-a-quadratic-function b/Lang/ALGOL-68/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..57df0bd40c
--- /dev/null
+++ b/Lang/ALGOL-68/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Roots-of-unity b/Lang/ALGOL-68/Roots-of-unity
new file mode 120000
index 0000000000..78720d8df5
--- /dev/null
+++ b/Lang/ALGOL-68/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Rosetta-Code-Rank-languages-by-popularity b/Lang/ALGOL-68/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..65acf74bf3
--- /dev/null
+++ b/Lang/ALGOL-68/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Rot-13 b/Lang/ALGOL-68/Rot-13
new file mode 120000
index 0000000000..9e325bec18
--- /dev/null
+++ b/Lang/ALGOL-68/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Run-length-encoding b/Lang/ALGOL-68/Run-length-encoding
new file mode 120000
index 0000000000..c6d7b91c5b
--- /dev/null
+++ b/Lang/ALGOL-68/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Runtime-evaluation b/Lang/ALGOL-68/Runtime-evaluation
new file mode 120000
index 0000000000..5cd647f4b4
--- /dev/null
+++ b/Lang/ALGOL-68/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Runtime-evaluation-In-an-environment b/Lang/ALGOL-68/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..aac0a36bb9
--- /dev/null
+++ b/Lang/ALGOL-68/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/SEDOLs b/Lang/ALGOL-68/SEDOLs
new file mode 120000
index 0000000000..01cf86de6d
--- /dev/null
+++ b/Lang/ALGOL-68/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-68/Sequence-of-non-squares b/Lang/ALGOL-68/Sequence-of-non-squares
new file mode 120000
index 0000000000..3e550fe839
--- /dev/null
+++ b/Lang/ALGOL-68/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/ALGOL-68
\ No newline at end of file
diff --git a/Lang/ALGOL-W/Roman-numerals-Encode b/Lang/ALGOL-W/Roman-numerals-Encode
new file mode 120000
index 0000000000..d58d98a607
--- /dev/null
+++ b/Lang/ALGOL-W/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/ALGOL-W
\ No newline at end of file
diff --git a/Lang/ANTLR/Parsing-RPN-calculator-algorithm b/Lang/ANTLR/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..eab07bd5c0
--- /dev/null
+++ b/Lang/ANTLR/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/ANTLR
\ No newline at end of file
diff --git a/Lang/ANTLR/Roman-numerals-Decode b/Lang/ANTLR/Roman-numerals-Decode
new file mode 120000
index 0000000000..436a478965
--- /dev/null
+++ b/Lang/ANTLR/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/ANTLR
\ No newline at end of file
diff --git a/Lang/APL/Pangram-checker b/Lang/APL/Pangram-checker
new file mode 120000
index 0000000000..cfe41fd966
--- /dev/null
+++ b/Lang/APL/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/APL
\ No newline at end of file
diff --git a/Lang/APL/Pascals-triangle b/Lang/APL/Pascals-triangle
new file mode 120000
index 0000000000..71bd4ebcce
--- /dev/null
+++ b/Lang/APL/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/APL
\ No newline at end of file
diff --git a/Lang/APL/Run-length-encoding b/Lang/APL/Run-length-encoding
new file mode 120000
index 0000000000..daa7375650
--- /dev/null
+++ b/Lang/APL/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/APL
\ No newline at end of file
diff --git a/Lang/ATS/Return-multiple-values b/Lang/ATS/Return-multiple-values
new file mode 120000
index 0000000000..f1583eda6e
--- /dev/null
+++ b/Lang/ATS/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/ATS
\ No newline at end of file
diff --git a/Lang/AWK/Binary-digits b/Lang/AWK/Binary-digits
new file mode 120000
index 0000000000..f73e73035b
--- /dev/null
+++ b/Lang/AWK/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Catalan-numbers b/Lang/AWK/Catalan-numbers
new file mode 120000
index 0000000000..9b2e9dc5d4
--- /dev/null
+++ b/Lang/AWK/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Copy-a-string b/Lang/AWK/Copy-a-string
new file mode 120000
index 0000000000..d0772ffb60
--- /dev/null
+++ b/Lang/AWK/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Environment-variables b/Lang/AWK/Environment-variables
new file mode 120000
index 0000000000..51f4f4853e
--- /dev/null
+++ b/Lang/AWK/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Non-decimal-radices-Convert b/Lang/AWK/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..417df49352
--- /dev/null
+++ b/Lang/AWK/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Non-decimal-radices-Output b/Lang/AWK/Non-decimal-radices-Output
new file mode 120000
index 0000000000..a58f26ac0e
--- /dev/null
+++ b/Lang/AWK/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Nth-root b/Lang/AWK/Nth-root
new file mode 120000
index 0000000000..ce462ded60
--- /dev/null
+++ b/Lang/AWK/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Number-names b/Lang/AWK/Number-names
new file mode 120000
index 0000000000..80ddb739a8
--- /dev/null
+++ b/Lang/AWK/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Number-reversal-game b/Lang/AWK/Number-reversal-game
new file mode 120000
index 0000000000..c0cf049887
--- /dev/null
+++ b/Lang/AWK/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/AWK
\ No newline at end of file
diff --git a/Lang/AWK/One-dimensional-cellular-automata b/Lang/AWK/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..065a82d630
--- /dev/null
+++ b/Lang/AWK/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Palindrome-detection b/Lang/AWK/Palindrome-detection
new file mode 120000
index 0000000000..27febd5f39
--- /dev/null
+++ b/Lang/AWK/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Pangram-checker b/Lang/AWK/Pangram-checker
new file mode 120000
index 0000000000..ed25e3adaa
--- /dev/null
+++ b/Lang/AWK/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Parsing-RPN-to-infix-conversion b/Lang/AWK/Parsing-RPN-to-infix-conversion
new file mode 120000
index 0000000000..1736ee9ed2
--- /dev/null
+++ b/Lang/AWK/Parsing-RPN-to-infix-conversion
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-to-infix-conversion/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Pascals-triangle b/Lang/AWK/Pascals-triangle
new file mode 120000
index 0000000000..4e9cdcda86
--- /dev/null
+++ b/Lang/AWK/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Perfect-numbers b/Lang/AWK/Perfect-numbers
new file mode 120000
index 0000000000..be88f5b024
--- /dev/null
+++ b/Lang/AWK/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Price-fraction b/Lang/AWK/Price-fraction
new file mode 120000
index 0000000000..606f5b6ed6
--- /dev/null
+++ b/Lang/AWK/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Primality-by-trial-division b/Lang/AWK/Primality-by-trial-division
new file mode 120000
index 0000000000..3c46d98749
--- /dev/null
+++ b/Lang/AWK/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Prime-decomposition b/Lang/AWK/Prime-decomposition
new file mode 120000
index 0000000000..41b36a56c4
--- /dev/null
+++ b/Lang/AWK/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Probabilistic-choice b/Lang/AWK/Probabilistic-choice
new file mode 120000
index 0000000000..939cee9162
--- /dev/null
+++ b/Lang/AWK/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Program-termination b/Lang/AWK/Program-termination
new file mode 120000
index 0000000000..07e9ff40a4
--- /dev/null
+++ b/Lang/AWK/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Queue-Definition b/Lang/AWK/Queue-Definition
new file mode 120000
index 0000000000..e8d85677d6
--- /dev/null
+++ b/Lang/AWK/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Random-numbers b/Lang/AWK/Random-numbers
new file mode 120000
index 0000000000..6eed7b3250
--- /dev/null
+++ b/Lang/AWK/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Range-extraction b/Lang/AWK/Range-extraction
new file mode 120000
index 0000000000..7e13730e9f
--- /dev/null
+++ b/Lang/AWK/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Read-a-file-line-by-line b/Lang/AWK/Read-a-file-line-by-line
new file mode 120000
index 0000000000..27729a380f
--- /dev/null
+++ b/Lang/AWK/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Read-a-specific-line-from-a-file b/Lang/AWK/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..0836cec516
--- /dev/null
+++ b/Lang/AWK/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Read-entire-file b/Lang/AWK/Read-entire-file
new file mode 120000
index 0000000000..f0ebe7c559
--- /dev/null
+++ b/Lang/AWK/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Real-constants-and-functions b/Lang/AWK/Real-constants-and-functions
new file mode 120000
index 0000000000..5ed8d7860e
--- /dev/null
+++ b/Lang/AWK/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Regular-expressions b/Lang/AWK/Regular-expressions
new file mode 120000
index 0000000000..8de084eec6
--- /dev/null
+++ b/Lang/AWK/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Remove-duplicate-elements b/Lang/AWK/Remove-duplicate-elements
new file mode 120000
index 0000000000..ca47bc12dc
--- /dev/null
+++ b/Lang/AWK/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Remove-lines-from-a-file b/Lang/AWK/Remove-lines-from-a-file
new file mode 120000
index 0000000000..01ece2fc1d
--- /dev/null
+++ b/Lang/AWK/Remove-lines-from-a-file
@@ -0,0 +1 @@
+../../Task/Remove-lines-from-a-file/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Rename-a-file b/Lang/AWK/Rename-a-file
new file mode 120000
index 0000000000..22238d75f7
--- /dev/null
+++ b/Lang/AWK/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Repeat-a-string b/Lang/AWK/Repeat-a-string
new file mode 120000
index 0000000000..a27eb46675
--- /dev/null
+++ b/Lang/AWK/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Reverse-a-string b/Lang/AWK/Reverse-a-string
new file mode 120000
index 0000000000..eb5ee88f74
--- /dev/null
+++ b/Lang/AWK/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Roman-numerals-Decode b/Lang/AWK/Roman-numerals-Decode
new file mode 120000
index 0000000000..11eaa14e20
--- /dev/null
+++ b/Lang/AWK/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Roman-numerals-Encode b/Lang/AWK/Roman-numerals-Encode
new file mode 120000
index 0000000000..2bcc60ee9a
--- /dev/null
+++ b/Lang/AWK/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Rosetta-Code-Rank-languages-by-popularity b/Lang/AWK/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..c0bfd6a30c
--- /dev/null
+++ b/Lang/AWK/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Rot-13 b/Lang/AWK/Rot-13
new file mode 120000
index 0000000000..1fe0465526
--- /dev/null
+++ b/Lang/AWK/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Run-length-encoding b/Lang/AWK/Run-length-encoding
new file mode 120000
index 0000000000..805c870f7f
--- /dev/null
+++ b/Lang/AWK/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/AWK
\ No newline at end of file
diff --git a/Lang/AWK/SEDOLs b/Lang/AWK/SEDOLs
new file mode 120000
index 0000000000..c3647e97ce
--- /dev/null
+++ b/Lang/AWK/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Scope-Function-names-and-labels b/Lang/AWK/Scope-Function-names-and-labels
new file mode 120000
index 0000000000..fc1411aba5
--- /dev/null
+++ b/Lang/AWK/Scope-Function-names-and-labels
@@ -0,0 +1 @@
+../../Task/Scope-Function-names-and-labels/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Self-describing-numbers b/Lang/AWK/Self-describing-numbers
new file mode 120000
index 0000000000..a73b22cf1f
--- /dev/null
+++ b/Lang/AWK/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Semordnilap b/Lang/AWK/Semordnilap
new file mode 120000
index 0000000000..fd5bdb62b4
--- /dev/null
+++ b/Lang/AWK/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/AWK
\ No newline at end of file
diff --git a/Lang/AWK/Sequence-of-non-squares b/Lang/AWK/Sequence-of-non-squares
new file mode 120000
index 0000000000..83bbb31d43
--- /dev/null
+++ b/Lang/AWK/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/AWK
\ No newline at end of file
diff --git a/Lang/ActionScript/Copy-a-string b/Lang/ActionScript/Copy-a-string
new file mode 120000
index 0000000000..1e5d522f1d
--- /dev/null
+++ b/Lang/ActionScript/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/ActionScript
\ No newline at end of file
diff --git a/Lang/ActionScript/Null-object b/Lang/ActionScript/Null-object
new file mode 120000
index 0000000000..0adb420195
--- /dev/null
+++ b/Lang/ActionScript/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/ActionScript
\ No newline at end of file
diff --git a/Lang/ActionScript/Numerical-integration b/Lang/ActionScript/Numerical-integration
new file mode 120000
index 0000000000..bb4fe1f5f0
--- /dev/null
+++ b/Lang/ActionScript/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/ActionScript
\ No newline at end of file
diff --git a/Lang/ActionScript/Palindrome-detection b/Lang/ActionScript/Palindrome-detection
new file mode 120000
index 0000000000..e1cf574cb6
--- /dev/null
+++ b/Lang/ActionScript/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/ActionScript
\ No newline at end of file
diff --git a/Lang/ActionScript/Pangram-checker b/Lang/ActionScript/Pangram-checker
new file mode 120000
index 0000000000..e82c8c349d
--- /dev/null
+++ b/Lang/ActionScript/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/ActionScript
\ No newline at end of file
diff --git a/Lang/ActionScript/Polymorphism b/Lang/ActionScript/Polymorphism
new file mode 120000
index 0000000000..c09ce692d9
--- /dev/null
+++ b/Lang/ActionScript/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/ActionScript
\ No newline at end of file
diff --git a/Lang/ActionScript/Primality-by-trial-division b/Lang/ActionScript/Primality-by-trial-division
new file mode 120000
index 0000000000..b8ecd14f74
--- /dev/null
+++ b/Lang/ActionScript/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/ActionScript
\ No newline at end of file
diff --git a/Lang/ActionScript/Real-constants-and-functions b/Lang/ActionScript/Real-constants-and-functions
new file mode 120000
index 0000000000..6c1c9ead5b
--- /dev/null
+++ b/Lang/ActionScript/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/ActionScript
\ No newline at end of file
diff --git a/Lang/ActionScript/Reduced-row-echelon-form b/Lang/ActionScript/Reduced-row-echelon-form
new file mode 120000
index 0000000000..85000c2553
--- /dev/null
+++ b/Lang/ActionScript/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/ActionScript
\ No newline at end of file
diff --git a/Lang/ActionScript/Repeat-a-string b/Lang/ActionScript/Repeat-a-string
new file mode 120000
index 0000000000..f7023af293
--- /dev/null
+++ b/Lang/ActionScript/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/ActionScript
\ No newline at end of file
diff --git a/Lang/ActionScript/Reverse-a-string b/Lang/ActionScript/Reverse-a-string
new file mode 120000
index 0000000000..09754db4e9
--- /dev/null
+++ b/Lang/ActionScript/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/ActionScript
\ No newline at end of file
diff --git a/Lang/ActionScript/Roman-numerals-Encode b/Lang/ActionScript/Roman-numerals-Encode
new file mode 120000
index 0000000000..ebcfbad491
--- /dev/null
+++ b/Lang/ActionScript/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/ActionScript
\ No newline at end of file
diff --git a/Lang/ActionScript/SEDOLs b/Lang/ActionScript/SEDOLs
new file mode 120000
index 0000000000..1d622e636e
--- /dev/null
+++ b/Lang/ActionScript/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/ActionScript
\ No newline at end of file
diff --git a/Lang/Ada/Arbitrary-precision-integers--included- b/Lang/Ada/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..4969036683
--- /dev/null
+++ b/Lang/Ada/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Arbitrary-precision-integers-included b/Lang/Ada/Arbitrary-precision-integers-included
deleted file mode 120000
index eb30af14b8..0000000000
--- a/Lang/Ada/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Binary-digits b/Lang/Ada/Binary-digits
new file mode 120000
index 0000000000..b66c883c51
--- /dev/null
+++ b/Lang/Ada/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Calendar---for-real-programmers b/Lang/Ada/Calendar---for-real-programmers
new file mode 120000
index 0000000000..61ff6f00d1
--- /dev/null
+++ b/Lang/Ada/Calendar---for-real-programmers
@@ -0,0 +1 @@
+../../Task/Calendar---for-real-programmers/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Calendar-for-real-programmers b/Lang/Ada/Calendar-for-real-programmers
deleted file mode 120000
index b080290260..0000000000
--- a/Lang/Ada/Calendar-for-real-programmers
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Calendar-for-real-programmers/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Catalan-numbers b/Lang/Ada/Catalan-numbers
new file mode 120000
index 0000000000..7666ca32b8
--- /dev/null
+++ b/Lang/Ada/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Copy-a-string b/Lang/Ada/Copy-a-string
new file mode 120000
index 0000000000..80d578fb02
--- /dev/null
+++ b/Lang/Ada/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Environment-variables b/Lang/Ada/Environment-variables
new file mode 120000
index 0000000000..d00121f314
--- /dev/null
+++ b/Lang/Ada/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Execute-a-Markov-algorithm b/Lang/Ada/Execute-a-Markov-algorithm
new file mode 120000
index 0000000000..7595888790
--- /dev/null
+++ b/Lang/Ada/Execute-a-Markov-algorithm
@@ -0,0 +1 @@
+../../Task/Execute-a-Markov-algorithm/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Guess-the-number-With-feedback--player- b/Lang/Ada/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..b8e9515770
--- /dev/null
+++ b/Lang/Ada/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Guess-the-number-With-feedback-player b/Lang/Ada/Guess-the-number-With-feedback-player
deleted file mode 120000
index b0baf7b5c4..0000000000
--- a/Lang/Ada/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/Ada
\ No newline at end of file
diff --git a/Lang/Ada/N-queens-problem b/Lang/Ada/N-queens-problem
new file mode 120000
index 0000000000..467af7baa8
--- /dev/null
+++ b/Lang/Ada/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Named-parameters b/Lang/Ada/Named-parameters
new file mode 120000
index 0000000000..f6009aa4c5
--- /dev/null
+++ b/Lang/Ada/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Non-continuous-subsequences b/Lang/Ada/Non-continuous-subsequences
new file mode 120000
index 0000000000..d198f23b06
--- /dev/null
+++ b/Lang/Ada/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Non-decimal-radices-Convert b/Lang/Ada/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..dcbb360f24
--- /dev/null
+++ b/Lang/Ada/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Non-decimal-radices-Input b/Lang/Ada/Non-decimal-radices-Input
new file mode 120000
index 0000000000..8cbacfc987
--- /dev/null
+++ b/Lang/Ada/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Non-decimal-radices-Output b/Lang/Ada/Non-decimal-radices-Output
new file mode 120000
index 0000000000..81817ba28e
--- /dev/null
+++ b/Lang/Ada/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Nth-root b/Lang/Ada/Nth-root
new file mode 120000
index 0000000000..bc9b1980a6
--- /dev/null
+++ b/Lang/Ada/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Null-object b/Lang/Ada/Null-object
new file mode 120000
index 0000000000..223032d63f
--- /dev/null
+++ b/Lang/Ada/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Number-names b/Lang/Ada/Number-names
new file mode 120000
index 0000000000..86430d03cf
--- /dev/null
+++ b/Lang/Ada/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Number-reversal-game b/Lang/Ada/Number-reversal-game
new file mode 120000
index 0000000000..6053a15210
--- /dev/null
+++ b/Lang/Ada/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Numeric-error-propagation b/Lang/Ada/Numeric-error-propagation
new file mode 120000
index 0000000000..674d814f30
--- /dev/null
+++ b/Lang/Ada/Numeric-error-propagation
@@ -0,0 +1 @@
+../../Task/Numeric-error-propagation/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Numerical-integration b/Lang/Ada/Numerical-integration
new file mode 120000
index 0000000000..ef9144bb20
--- /dev/null
+++ b/Lang/Ada/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Object-serialization b/Lang/Ada/Object-serialization
new file mode 120000
index 0000000000..7f9f463828
--- /dev/null
+++ b/Lang/Ada/Object-serialization
@@ -0,0 +1 @@
+../../Task/Object-serialization/Ada
\ No newline at end of file
diff --git a/Lang/Ada/One-dimensional-cellular-automata b/Lang/Ada/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..5fe5f2771c
--- /dev/null
+++ b/Lang/Ada/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Ada
\ No newline at end of file
diff --git a/Lang/Ada/One-of-n-lines-in-a-file b/Lang/Ada/One-of-n-lines-in-a-file
new file mode 120000
index 0000000000..c1564e642b
--- /dev/null
+++ b/Lang/Ada/One-of-n-lines-in-a-file
@@ -0,0 +1 @@
+../../Task/One-of-n-lines-in-a-file/Ada
\ No newline at end of file
diff --git a/Lang/Ada/OpenGL b/Lang/Ada/OpenGL
new file mode 120000
index 0000000000..7536a5219f
--- /dev/null
+++ b/Lang/Ada/OpenGL
@@ -0,0 +1 @@
+../../Task/OpenGL/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Optional-parameters b/Lang/Ada/Optional-parameters
new file mode 120000
index 0000000000..0d01830af6
--- /dev/null
+++ b/Lang/Ada/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Order-two-numerical-lists b/Lang/Ada/Order-two-numerical-lists
new file mode 120000
index 0000000000..5e393657d4
--- /dev/null
+++ b/Lang/Ada/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Ordered-Partitions b/Lang/Ada/Ordered-Partitions
new file mode 120000
index 0000000000..9537e83e37
--- /dev/null
+++ b/Lang/Ada/Ordered-Partitions
@@ -0,0 +1 @@
+../../Task/Ordered-Partitions/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Palindrome-detection b/Lang/Ada/Palindrome-detection
new file mode 120000
index 0000000000..f5174a2b8c
--- /dev/null
+++ b/Lang/Ada/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Pangram-checker b/Lang/Ada/Pangram-checker
new file mode 120000
index 0000000000..5141d787d7
--- /dev/null
+++ b/Lang/Ada/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Parallel-calculations b/Lang/Ada/Parallel-calculations
new file mode 120000
index 0000000000..6c069eeb5c
--- /dev/null
+++ b/Lang/Ada/Parallel-calculations
@@ -0,0 +1 @@
+../../Task/Parallel-calculations/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Parametric-polymorphism b/Lang/Ada/Parametric-polymorphism
new file mode 120000
index 0000000000..860bc3e1af
--- /dev/null
+++ b/Lang/Ada/Parametric-polymorphism
@@ -0,0 +1 @@
+../../Task/Parametric-polymorphism/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Parametrized-SQL-statement b/Lang/Ada/Parametrized-SQL-statement
new file mode 120000
index 0000000000..d33077e909
--- /dev/null
+++ b/Lang/Ada/Parametrized-SQL-statement
@@ -0,0 +1 @@
+../../Task/Parametrized-SQL-statement/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Parsing-RPN-calculator-algorithm b/Lang/Ada/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..09732747ee
--- /dev/null
+++ b/Lang/Ada/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Parsing-RPN-to-infix-conversion b/Lang/Ada/Parsing-RPN-to-infix-conversion
new file mode 120000
index 0000000000..3e3f3e02de
--- /dev/null
+++ b/Lang/Ada/Parsing-RPN-to-infix-conversion
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-to-infix-conversion/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Partial-function-application b/Lang/Ada/Partial-function-application
new file mode 120000
index 0000000000..1a1451052d
--- /dev/null
+++ b/Lang/Ada/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Pascals-triangle b/Lang/Ada/Pascals-triangle
new file mode 120000
index 0000000000..1e2016557e
--- /dev/null
+++ b/Lang/Ada/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Pascals-triangle-Puzzle b/Lang/Ada/Pascals-triangle-Puzzle
new file mode 120000
index 0000000000..42f0f32476
--- /dev/null
+++ b/Lang/Ada/Pascals-triangle-Puzzle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle-Puzzle/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Percentage-difference-between-images b/Lang/Ada/Percentage-difference-between-images
new file mode 120000
index 0000000000..ec82206d93
--- /dev/null
+++ b/Lang/Ada/Percentage-difference-between-images
@@ -0,0 +1 @@
+../../Task/Percentage-difference-between-images/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Perfect-numbers b/Lang/Ada/Perfect-numbers
new file mode 120000
index 0000000000..dea8f55219
--- /dev/null
+++ b/Lang/Ada/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Permutation-test b/Lang/Ada/Permutation-test
new file mode 120000
index 0000000000..90e09ccb88
--- /dev/null
+++ b/Lang/Ada/Permutation-test
@@ -0,0 +1 @@
+../../Task/Permutation-test/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Permutations b/Lang/Ada/Permutations
new file mode 120000
index 0000000000..56a6cc344c
--- /dev/null
+++ b/Lang/Ada/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Permutations-Derangements b/Lang/Ada/Permutations-Derangements
new file mode 120000
index 0000000000..3d2089a14f
--- /dev/null
+++ b/Lang/Ada/Permutations-Derangements
@@ -0,0 +1 @@
+../../Task/Permutations-Derangements/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Pick-random-element b/Lang/Ada/Pick-random-element
new file mode 120000
index 0000000000..6b82a9c9b3
--- /dev/null
+++ b/Lang/Ada/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Pig-the-dice-game b/Lang/Ada/Pig-the-dice-game
new file mode 120000
index 0000000000..7bd09b8282
--- /dev/null
+++ b/Lang/Ada/Pig-the-dice-game
@@ -0,0 +1 @@
+../../Task/Pig-the-dice-game/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Pig-the-dice-game-Player b/Lang/Ada/Pig-the-dice-game-Player
new file mode 120000
index 0000000000..2bdf3af188
--- /dev/null
+++ b/Lang/Ada/Pig-the-dice-game-Player
@@ -0,0 +1 @@
+../../Task/Pig-the-dice-game-Player/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Plot-coordinate-pairs b/Lang/Ada/Plot-coordinate-pairs
new file mode 120000
index 0000000000..bdec79837f
--- /dev/null
+++ b/Lang/Ada/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Pointers-and-references b/Lang/Ada/Pointers-and-references
new file mode 120000
index 0000000000..4c2e870cd0
--- /dev/null
+++ b/Lang/Ada/Pointers-and-references
@@ -0,0 +1 @@
+../../Task/Pointers-and-references/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Polymorphic-copy b/Lang/Ada/Polymorphic-copy
new file mode 120000
index 0000000000..a081f5c9f1
--- /dev/null
+++ b/Lang/Ada/Polymorphic-copy
@@ -0,0 +1 @@
+../../Task/Polymorphic-copy/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Polymorphism b/Lang/Ada/Polymorphism
new file mode 120000
index 0000000000..028f1aa8d3
--- /dev/null
+++ b/Lang/Ada/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Polynomial-long-division b/Lang/Ada/Polynomial-long-division
new file mode 120000
index 0000000000..b2d1e3ab4b
--- /dev/null
+++ b/Lang/Ada/Polynomial-long-division
@@ -0,0 +1 @@
+../../Task/Polynomial-long-division/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Polynomial-regression b/Lang/Ada/Polynomial-regression
new file mode 120000
index 0000000000..2a28ff6762
--- /dev/null
+++ b/Lang/Ada/Polynomial-regression
@@ -0,0 +1 @@
+../../Task/Polynomial-regression/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Power-set b/Lang/Ada/Power-set
new file mode 120000
index 0000000000..4bdb725d64
--- /dev/null
+++ b/Lang/Ada/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Price-fraction b/Lang/Ada/Price-fraction
new file mode 120000
index 0000000000..9576eded0b
--- /dev/null
+++ b/Lang/Ada/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Primality-by-trial-division b/Lang/Ada/Primality-by-trial-division
new file mode 120000
index 0000000000..a064480d90
--- /dev/null
+++ b/Lang/Ada/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Prime-decomposition b/Lang/Ada/Prime-decomposition
new file mode 120000
index 0000000000..793bd45fe5
--- /dev/null
+++ b/Lang/Ada/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Priority-queue b/Lang/Ada/Priority-queue
new file mode 120000
index 0000000000..b53d970b11
--- /dev/null
+++ b/Lang/Ada/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Probabilistic-choice b/Lang/Ada/Probabilistic-choice
new file mode 120000
index 0000000000..b2d7e2a541
--- /dev/null
+++ b/Lang/Ada/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Problem-of-Apollonius b/Lang/Ada/Problem-of-Apollonius
new file mode 120000
index 0000000000..f802966eb1
--- /dev/null
+++ b/Lang/Ada/Problem-of-Apollonius
@@ -0,0 +1 @@
+../../Task/Problem-of-Apollonius/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Program-name b/Lang/Ada/Program-name
new file mode 120000
index 0000000000..7ce8a4c4fa
--- /dev/null
+++ b/Lang/Ada/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Program-termination b/Lang/Ada/Program-termination
new file mode 120000
index 0000000000..9e39fee49d
--- /dev/null
+++ b/Lang/Ada/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Pythagorean-triples b/Lang/Ada/Pythagorean-triples
new file mode 120000
index 0000000000..0a0e6b12d6
--- /dev/null
+++ b/Lang/Ada/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/Ada
\ No newline at end of file
diff --git a/Lang/Ada/QR-decomposition b/Lang/Ada/QR-decomposition
new file mode 120000
index 0000000000..253a49731e
--- /dev/null
+++ b/Lang/Ada/QR-decomposition
@@ -0,0 +1 @@
+../../Task/QR-decomposition/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Quaternion-type b/Lang/Ada/Quaternion-type
new file mode 120000
index 0000000000..9dc0eab94d
--- /dev/null
+++ b/Lang/Ada/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Queue-Definition b/Lang/Ada/Queue-Definition
new file mode 120000
index 0000000000..6d03f468c9
--- /dev/null
+++ b/Lang/Ada/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Queue-Usage b/Lang/Ada/Queue-Usage
new file mode 120000
index 0000000000..1aa44fbc66
--- /dev/null
+++ b/Lang/Ada/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Random-number-generator--device- b/Lang/Ada/Random-number-generator--device-
new file mode 120000
index 0000000000..5b4ecbfc50
--- /dev/null
+++ b/Lang/Ada/Random-number-generator--device-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--device-/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Random-numbers b/Lang/Ada/Random-numbers
new file mode 120000
index 0000000000..c7e0926aa3
--- /dev/null
+++ b/Lang/Ada/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Range-expansion b/Lang/Ada/Range-expansion
new file mode 120000
index 0000000000..b9da586039
--- /dev/null
+++ b/Lang/Ada/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Range-extraction b/Lang/Ada/Range-extraction
new file mode 120000
index 0000000000..4f54699fc6
--- /dev/null
+++ b/Lang/Ada/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Rate-counter b/Lang/Ada/Rate-counter
new file mode 120000
index 0000000000..3665ff0b72
--- /dev/null
+++ b/Lang/Ada/Rate-counter
@@ -0,0 +1 @@
+../../Task/Rate-counter/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Ray-casting-algorithm b/Lang/Ada/Ray-casting-algorithm
new file mode 120000
index 0000000000..3869ab9db9
--- /dev/null
+++ b/Lang/Ada/Ray-casting-algorithm
@@ -0,0 +1 @@
+../../Task/Ray-casting-algorithm/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Read-a-configuration-file b/Lang/Ada/Read-a-configuration-file
new file mode 120000
index 0000000000..a9ec6e54c2
--- /dev/null
+++ b/Lang/Ada/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Read-a-file-line-by-line b/Lang/Ada/Read-a-file-line-by-line
new file mode 120000
index 0000000000..25db09890f
--- /dev/null
+++ b/Lang/Ada/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Read-a-specific-line-from-a-file b/Lang/Ada/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..5e85c1456d
--- /dev/null
+++ b/Lang/Ada/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Read-entire-file b/Lang/Ada/Read-entire-file
new file mode 120000
index 0000000000..0309797467
--- /dev/null
+++ b/Lang/Ada/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Real-constants-and-functions b/Lang/Ada/Real-constants-and-functions
new file mode 120000
index 0000000000..9d90ee66cf
--- /dev/null
+++ b/Lang/Ada/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Reduced-row-echelon-form b/Lang/Ada/Reduced-row-echelon-form
new file mode 120000
index 0000000000..d9c5983b7c
--- /dev/null
+++ b/Lang/Ada/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Regular-expressions b/Lang/Ada/Regular-expressions
new file mode 120000
index 0000000000..6ccdf5025f
--- /dev/null
+++ b/Lang/Ada/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Remove-duplicate-elements b/Lang/Ada/Remove-duplicate-elements
new file mode 120000
index 0000000000..8b18c4e27e
--- /dev/null
+++ b/Lang/Ada/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Remove-lines-from-a-file b/Lang/Ada/Remove-lines-from-a-file
new file mode 120000
index 0000000000..1d1465a5d3
--- /dev/null
+++ b/Lang/Ada/Remove-lines-from-a-file
@@ -0,0 +1 @@
+../../Task/Remove-lines-from-a-file/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Rename-a-file b/Lang/Ada/Rename-a-file
new file mode 120000
index 0000000000..83071c4454
--- /dev/null
+++ b/Lang/Ada/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Rendezvous b/Lang/Ada/Rendezvous
new file mode 120000
index 0000000000..9a113ac3ce
--- /dev/null
+++ b/Lang/Ada/Rendezvous
@@ -0,0 +1 @@
+../../Task/Rendezvous/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Repeat-a-string b/Lang/Ada/Repeat-a-string
new file mode 120000
index 0000000000..533831ea6a
--- /dev/null
+++ b/Lang/Ada/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Resistor-mesh b/Lang/Ada/Resistor-mesh
new file mode 120000
index 0000000000..ba163b7f46
--- /dev/null
+++ b/Lang/Ada/Resistor-mesh
@@ -0,0 +1 @@
+../../Task/Resistor-mesh/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Return-multiple-values b/Lang/Ada/Return-multiple-values
new file mode 120000
index 0000000000..eb87094fa6
--- /dev/null
+++ b/Lang/Ada/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Reverse-a-string b/Lang/Ada/Reverse-a-string
new file mode 120000
index 0000000000..6aaf0b262c
--- /dev/null
+++ b/Lang/Ada/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Rock-paper-scissors b/Lang/Ada/Rock-paper-scissors
new file mode 120000
index 0000000000..c797994415
--- /dev/null
+++ b/Lang/Ada/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Roman-numerals-Decode b/Lang/Ada/Roman-numerals-Decode
new file mode 120000
index 0000000000..9cbbc51645
--- /dev/null
+++ b/Lang/Ada/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Roman-numerals-Encode b/Lang/Ada/Roman-numerals-Encode
new file mode 120000
index 0000000000..011610ed64
--- /dev/null
+++ b/Lang/Ada/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Roots-of-a-function b/Lang/Ada/Roots-of-a-function
new file mode 120000
index 0000000000..e189b68118
--- /dev/null
+++ b/Lang/Ada/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Roots-of-a-quadratic-function b/Lang/Ada/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..e244932738
--- /dev/null
+++ b/Lang/Ada/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Roots-of-unity b/Lang/Ada/Roots-of-unity
new file mode 120000
index 0000000000..677e9e06fb
--- /dev/null
+++ b/Lang/Ada/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Rosetta-Code-Count-examples b/Lang/Ada/Rosetta-Code-Count-examples
new file mode 120000
index 0000000000..a912071c5c
--- /dev/null
+++ b/Lang/Ada/Rosetta-Code-Count-examples
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Count-examples/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Rosetta-Code-Find-unimplemented-tasks b/Lang/Ada/Rosetta-Code-Find-unimplemented-tasks
new file mode 120000
index 0000000000..8441e9c78f
--- /dev/null
+++ b/Lang/Ada/Rosetta-Code-Find-unimplemented-tasks
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Find-unimplemented-tasks/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Rosetta-Code-Rank-languages-by-popularity b/Lang/Ada/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..14bfc6c8b8
--- /dev/null
+++ b/Lang/Ada/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Rot-13 b/Lang/Ada/Rot-13
new file mode 120000
index 0000000000..9e00a778b8
--- /dev/null
+++ b/Lang/Ada/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Run-length-encoding b/Lang/Ada/Run-length-encoding
new file mode 120000
index 0000000000..3a61a6ea58
--- /dev/null
+++ b/Lang/Ada/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Ada
\ No newline at end of file
diff --git a/Lang/Ada/S-Expressions b/Lang/Ada/S-Expressions
new file mode 120000
index 0000000000..1ac2de7dbf
--- /dev/null
+++ b/Lang/Ada/S-Expressions
@@ -0,0 +1 @@
+../../Task/S-Expressions/Ada
\ No newline at end of file
diff --git a/Lang/Ada/SEDOLs b/Lang/Ada/SEDOLs
new file mode 120000
index 0000000000..b4c4706fad
--- /dev/null
+++ b/Lang/Ada/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Safe-addition b/Lang/Ada/Safe-addition
new file mode 120000
index 0000000000..ab92196079
--- /dev/null
+++ b/Lang/Ada/Safe-addition
@@ -0,0 +1 @@
+../../Task/Safe-addition/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Same-Fringe b/Lang/Ada/Same-Fringe
new file mode 120000
index 0000000000..7d0b781ab4
--- /dev/null
+++ b/Lang/Ada/Same-Fringe
@@ -0,0 +1 @@
+../../Task/Same-Fringe/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Scope-modifiers b/Lang/Ada/Scope-modifiers
new file mode 120000
index 0000000000..70fc3cd6ad
--- /dev/null
+++ b/Lang/Ada/Scope-modifiers
@@ -0,0 +1 @@
+../../Task/Scope-modifiers/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Secure-temporary-file b/Lang/Ada/Secure-temporary-file
new file mode 120000
index 0000000000..7d339b379d
--- /dev/null
+++ b/Lang/Ada/Secure-temporary-file
@@ -0,0 +1 @@
+../../Task/Secure-temporary-file/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Self-describing-numbers b/Lang/Ada/Self-describing-numbers
new file mode 120000
index 0000000000..d60d248551
--- /dev/null
+++ b/Lang/Ada/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Self-referential-sequence b/Lang/Ada/Self-referential-sequence
new file mode 120000
index 0000000000..0309a4f24e
--- /dev/null
+++ b/Lang/Ada/Self-referential-sequence
@@ -0,0 +1 @@
+../../Task/Self-referential-sequence/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Semordnilap b/Lang/Ada/Semordnilap
new file mode 120000
index 0000000000..260b1bd01a
--- /dev/null
+++ b/Lang/Ada/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Send-email b/Lang/Ada/Send-email
new file mode 120000
index 0000000000..aeb1607964
--- /dev/null
+++ b/Lang/Ada/Send-email
@@ -0,0 +1 @@
+../../Task/Send-email/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Sequence-of-non-squares b/Lang/Ada/Sequence-of-non-squares
new file mode 120000
index 0000000000..4bf9d09cc5
--- /dev/null
+++ b/Lang/Ada/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Set b/Lang/Ada/Set
new file mode 120000
index 0000000000..225fb8c4b4
--- /dev/null
+++ b/Lang/Ada/Set
@@ -0,0 +1 @@
+../../Task/Set/Ada
\ No newline at end of file
diff --git a/Lang/Ada/Set-consolidation b/Lang/Ada/Set-consolidation
new file mode 120000
index 0000000000..b390fb5d77
--- /dev/null
+++ b/Lang/Ada/Set-consolidation
@@ -0,0 +1 @@
+../../Task/Set-consolidation/Ada
\ No newline at end of file
diff --git a/Lang/Agda2/Reverse-a-string b/Lang/Agda2/Reverse-a-string
new file mode 120000
index 0000000000..07d789c153
--- /dev/null
+++ b/Lang/Agda2/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Agda2
\ No newline at end of file
diff --git a/Lang/Aikido/Polymorphic-copy b/Lang/Aikido/Polymorphic-copy
new file mode 120000
index 0000000000..8fc3e18c73
--- /dev/null
+++ b/Lang/Aikido/Polymorphic-copy
@@ -0,0 +1 @@
+../../Task/Polymorphic-copy/Aikido
\ No newline at end of file
diff --git a/Lang/Aikido/Polymorphism b/Lang/Aikido/Polymorphism
new file mode 120000
index 0000000000..a94c883944
--- /dev/null
+++ b/Lang/Aikido/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/Aikido
\ No newline at end of file
diff --git a/Lang/Aime/Pick-random-element b/Lang/Aime/Pick-random-element
new file mode 120000
index 0000000000..799fbabee7
--- /dev/null
+++ b/Lang/Aime/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Aime
\ No newline at end of file
diff --git a/Lang/Aime/Range-extraction b/Lang/Aime/Range-extraction
new file mode 120000
index 0000000000..0e7a96a840
--- /dev/null
+++ b/Lang/Aime/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/Aime
\ No newline at end of file
diff --git a/Lang/Aime/Read-a-file-line-by-line b/Lang/Aime/Read-a-file-line-by-line
new file mode 120000
index 0000000000..cf67487f19
--- /dev/null
+++ b/Lang/Aime/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Aime
\ No newline at end of file
diff --git a/Lang/Aime/Read-a-specific-line-from-a-file b/Lang/Aime/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..8a350fde5c
--- /dev/null
+++ b/Lang/Aime/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/Aime
\ No newline at end of file
diff --git a/Lang/Alore/Arbitrary-precision-integers--included- b/Lang/Alore/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..2c9c09033a
--- /dev/null
+++ b/Lang/Alore/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Alore
\ No newline at end of file
diff --git a/Lang/Alore/Arbitrary-precision-integers-included b/Lang/Alore/Arbitrary-precision-integers-included
deleted file mode 120000
index bff88f0ead..0000000000
--- a/Lang/Alore/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Alore
\ No newline at end of file
diff --git a/Lang/AmigaE/Null-object b/Lang/AmigaE/Null-object
new file mode 120000
index 0000000000..36729e8e82
--- /dev/null
+++ b/Lang/AmigaE/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/AmigaE
\ No newline at end of file
diff --git a/Lang/AppleScript/Named-parameters b/Lang/AppleScript/Named-parameters
new file mode 120000
index 0000000000..8008935b66
--- /dev/null
+++ b/Lang/AppleScript/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/AppleScript
\ No newline at end of file
diff --git a/Lang/AppleScript/Null-object b/Lang/AppleScript/Null-object
new file mode 120000
index 0000000000..12d18e6f8c
--- /dev/null
+++ b/Lang/AppleScript/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/AppleScript
\ No newline at end of file
diff --git a/Lang/AppleScript/Optional-parameters b/Lang/AppleScript/Optional-parameters
new file mode 120000
index 0000000000..d150a6436a
--- /dev/null
+++ b/Lang/AppleScript/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/AppleScript
\ No newline at end of file
diff --git a/Lang/AppleScript/Program-termination b/Lang/AppleScript/Program-termination
new file mode 120000
index 0000000000..b110b48c95
--- /dev/null
+++ b/Lang/AppleScript/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/AppleScript
\ No newline at end of file
diff --git a/Lang/AppleScript/Queue-Usage b/Lang/AppleScript/Queue-Usage
new file mode 120000
index 0000000000..e6d070c342
--- /dev/null
+++ b/Lang/AppleScript/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/AppleScript
\ No newline at end of file
diff --git a/Lang/AppleScript/Regular-expressions b/Lang/AppleScript/Regular-expressions
new file mode 120000
index 0000000000..f5d0a9bb54
--- /dev/null
+++ b/Lang/AppleScript/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/AppleScript
\ No newline at end of file
diff --git a/Lang/AppleScript/Remove-duplicate-elements b/Lang/AppleScript/Remove-duplicate-elements
new file mode 120000
index 0000000000..320d1e80ce
--- /dev/null
+++ b/Lang/AppleScript/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/AppleScript
\ No newline at end of file
diff --git a/Lang/AppleScript/Repeat-a-string b/Lang/AppleScript/Repeat-a-string
new file mode 120000
index 0000000000..9547499570
--- /dev/null
+++ b/Lang/AppleScript/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/AppleScript
\ No newline at end of file
diff --git a/Lang/AppleScript/Reverse-a-string b/Lang/AppleScript/Reverse-a-string
new file mode 120000
index 0000000000..d5b5559d21
--- /dev/null
+++ b/Lang/AppleScript/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/AppleScript
\ No newline at end of file
diff --git a/Lang/AppleScript/Rot-13 b/Lang/AppleScript/Rot-13
new file mode 120000
index 0000000000..5d7b9f65d1
--- /dev/null
+++ b/Lang/AppleScript/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/AppleScript
\ No newline at end of file
diff --git a/Lang/Argile/Regular-expressions b/Lang/Argile/Regular-expressions
new file mode 120000
index 0000000000..598eda2627
--- /dev/null
+++ b/Lang/Argile/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Argile
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Binary-digits b/Lang/AutoHotkey/Binary-digits
new file mode 120000
index 0000000000..f82ac66730
--- /dev/null
+++ b/Lang/AutoHotkey/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Brownian-tree b/Lang/AutoHotkey/Brownian-tree
new file mode 120000
index 0000000000..65264efd19
--- /dev/null
+++ b/Lang/AutoHotkey/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Catalan-numbers b/Lang/AutoHotkey/Catalan-numbers
new file mode 120000
index 0000000000..210848c169
--- /dev/null
+++ b/Lang/AutoHotkey/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Copy-a-string b/Lang/AutoHotkey/Copy-a-string
new file mode 120000
index 0000000000..95f53586b8
--- /dev/null
+++ b/Lang/AutoHotkey/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Environment-variables b/Lang/AutoHotkey/Environment-variables
new file mode 120000
index 0000000000..8f3247f1a9
--- /dev/null
+++ b/Lang/AutoHotkey/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Execute-a-Markov-algorithm b/Lang/AutoHotkey/Execute-a-Markov-algorithm
new file mode 120000
index 0000000000..862ee10b83
--- /dev/null
+++ b/Lang/AutoHotkey/Execute-a-Markov-algorithm
@@ -0,0 +1 @@
+../../Task/Execute-a-Markov-algorithm/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Guess-the-number-With-feedback--player- b/Lang/AutoHotkey/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..c6e4c18c22
--- /dev/null
+++ b/Lang/AutoHotkey/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Guess-the-number-With-feedback-player b/Lang/AutoHotkey/Guess-the-number-With-feedback-player
deleted file mode 120000
index 092a1b33f7..0000000000
--- a/Lang/AutoHotkey/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/N-queens-problem b/Lang/AutoHotkey/N-queens-problem
new file mode 120000
index 0000000000..987f80cfe5
--- /dev/null
+++ b/Lang/AutoHotkey/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Named-parameters b/Lang/AutoHotkey/Named-parameters
new file mode 120000
index 0000000000..faab81be63
--- /dev/null
+++ b/Lang/AutoHotkey/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Non-continuous-subsequences b/Lang/AutoHotkey/Non-continuous-subsequences
new file mode 120000
index 0000000000..373fe67834
--- /dev/null
+++ b/Lang/AutoHotkey/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Non-decimal-radices-Convert b/Lang/AutoHotkey/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..61cdc9543d
--- /dev/null
+++ b/Lang/AutoHotkey/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Non-decimal-radices-Output b/Lang/AutoHotkey/Non-decimal-radices-Output
new file mode 120000
index 0000000000..6177fabcab
--- /dev/null
+++ b/Lang/AutoHotkey/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Nth-root b/Lang/AutoHotkey/Nth-root
new file mode 120000
index 0000000000..9c806b4396
--- /dev/null
+++ b/Lang/AutoHotkey/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Null-object b/Lang/AutoHotkey/Null-object
new file mode 120000
index 0000000000..9eb5dcd8bc
--- /dev/null
+++ b/Lang/AutoHotkey/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Number-names b/Lang/AutoHotkey/Number-names
new file mode 120000
index 0000000000..93ee55e76a
--- /dev/null
+++ b/Lang/AutoHotkey/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Number-reversal-game b/Lang/AutoHotkey/Number-reversal-game
new file mode 120000
index 0000000000..5ddef878c4
--- /dev/null
+++ b/Lang/AutoHotkey/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Numerical-integration b/Lang/AutoHotkey/Numerical-integration
new file mode 120000
index 0000000000..5978191ad1
--- /dev/null
+++ b/Lang/AutoHotkey/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/OLE-Automation b/Lang/AutoHotkey/OLE-Automation
new file mode 120000
index 0000000000..205ede6fdb
--- /dev/null
+++ b/Lang/AutoHotkey/OLE-Automation
@@ -0,0 +1 @@
+../../Task/OLE-Automation/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/One-dimensional-cellular-automata b/Lang/AutoHotkey/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..db5da84b57
--- /dev/null
+++ b/Lang/AutoHotkey/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/One-of-n-lines-in-a-file b/Lang/AutoHotkey/One-of-n-lines-in-a-file
new file mode 120000
index 0000000000..1e87d6166c
--- /dev/null
+++ b/Lang/AutoHotkey/One-of-n-lines-in-a-file
@@ -0,0 +1 @@
+../../Task/One-of-n-lines-in-a-file/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/OpenGL b/Lang/AutoHotkey/OpenGL
new file mode 120000
index 0000000000..cdad2bf2f4
--- /dev/null
+++ b/Lang/AutoHotkey/OpenGL
@@ -0,0 +1 @@
+../../Task/OpenGL/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Optional-parameters b/Lang/AutoHotkey/Optional-parameters
new file mode 120000
index 0000000000..d5a5458c88
--- /dev/null
+++ b/Lang/AutoHotkey/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Order-two-numerical-lists b/Lang/AutoHotkey/Order-two-numerical-lists
new file mode 120000
index 0000000000..c3a6ca6909
--- /dev/null
+++ b/Lang/AutoHotkey/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Palindrome-detection b/Lang/AutoHotkey/Palindrome-detection
new file mode 120000
index 0000000000..9f36378ff2
--- /dev/null
+++ b/Lang/AutoHotkey/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Pangram-checker b/Lang/AutoHotkey/Pangram-checker
new file mode 120000
index 0000000000..6e92353f9b
--- /dev/null
+++ b/Lang/AutoHotkey/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Parsing-RPN-calculator-algorithm b/Lang/AutoHotkey/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..9d5be1bb8b
--- /dev/null
+++ b/Lang/AutoHotkey/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Parsing-RPN-to-infix-conversion b/Lang/AutoHotkey/Parsing-RPN-to-infix-conversion
new file mode 120000
index 0000000000..03fcff132b
--- /dev/null
+++ b/Lang/AutoHotkey/Parsing-RPN-to-infix-conversion
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-to-infix-conversion/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Parsing-Shunting-yard-algorithm b/Lang/AutoHotkey/Parsing-Shunting-yard-algorithm
new file mode 120000
index 0000000000..77efba61eb
--- /dev/null
+++ b/Lang/AutoHotkey/Parsing-Shunting-yard-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-Shunting-yard-algorithm/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Pascals-triangle b/Lang/AutoHotkey/Pascals-triangle
new file mode 120000
index 0000000000..be7dc04020
--- /dev/null
+++ b/Lang/AutoHotkey/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Pascals-triangle-Puzzle b/Lang/AutoHotkey/Pascals-triangle-Puzzle
new file mode 120000
index 0000000000..e36b666a91
--- /dev/null
+++ b/Lang/AutoHotkey/Pascals-triangle-Puzzle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle-Puzzle/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Percentage-difference-between-images b/Lang/AutoHotkey/Percentage-difference-between-images
new file mode 120000
index 0000000000..5538667d67
--- /dev/null
+++ b/Lang/AutoHotkey/Percentage-difference-between-images
@@ -0,0 +1 @@
+../../Task/Percentage-difference-between-images/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Perfect-numbers b/Lang/AutoHotkey/Perfect-numbers
new file mode 120000
index 0000000000..7f48cc1e21
--- /dev/null
+++ b/Lang/AutoHotkey/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Permutations b/Lang/AutoHotkey/Permutations
new file mode 120000
index 0000000000..7c9eac16f7
--- /dev/null
+++ b/Lang/AutoHotkey/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Permutations-Derangements b/Lang/AutoHotkey/Permutations-Derangements
new file mode 120000
index 0000000000..a212df37a9
--- /dev/null
+++ b/Lang/AutoHotkey/Permutations-Derangements
@@ -0,0 +1 @@
+../../Task/Permutations-Derangements/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Pick-random-element b/Lang/AutoHotkey/Pick-random-element
new file mode 120000
index 0000000000..7c8683b24e
--- /dev/null
+++ b/Lang/AutoHotkey/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Pinstripe-Display b/Lang/AutoHotkey/Pinstripe-Display
new file mode 120000
index 0000000000..2476a2de2a
--- /dev/null
+++ b/Lang/AutoHotkey/Pinstripe-Display
@@ -0,0 +1 @@
+../../Task/Pinstripe-Display/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Play-recorded-sounds b/Lang/AutoHotkey/Play-recorded-sounds
new file mode 120000
index 0000000000..03085a9d27
--- /dev/null
+++ b/Lang/AutoHotkey/Play-recorded-sounds
@@ -0,0 +1 @@
+../../Task/Play-recorded-sounds/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Playing-cards b/Lang/AutoHotkey/Playing-cards
new file mode 120000
index 0000000000..689d000895
--- /dev/null
+++ b/Lang/AutoHotkey/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Pointers-and-references b/Lang/AutoHotkey/Pointers-and-references
new file mode 120000
index 0000000000..2eae8ca8a3
--- /dev/null
+++ b/Lang/AutoHotkey/Pointers-and-references
@@ -0,0 +1 @@
+../../Task/Pointers-and-references/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Power-set b/Lang/AutoHotkey/Power-set
new file mode 120000
index 0000000000..6fa8d1b498
--- /dev/null
+++ b/Lang/AutoHotkey/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Price-fraction b/Lang/AutoHotkey/Price-fraction
new file mode 120000
index 0000000000..1ffc1ea777
--- /dev/null
+++ b/Lang/AutoHotkey/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Primality-by-trial-division b/Lang/AutoHotkey/Primality-by-trial-division
new file mode 120000
index 0000000000..7372eff5ec
--- /dev/null
+++ b/Lang/AutoHotkey/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Prime-decomposition b/Lang/AutoHotkey/Prime-decomposition
new file mode 120000
index 0000000000..1ef7b5a1c7
--- /dev/null
+++ b/Lang/AutoHotkey/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Probabilistic-choice b/Lang/AutoHotkey/Probabilistic-choice
new file mode 120000
index 0000000000..af5361e86c
--- /dev/null
+++ b/Lang/AutoHotkey/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Program-name b/Lang/AutoHotkey/Program-name
new file mode 120000
index 0000000000..ed957e113d
--- /dev/null
+++ b/Lang/AutoHotkey/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Program-termination b/Lang/AutoHotkey/Program-termination
new file mode 120000
index 0000000000..e0b34c344a
--- /dev/null
+++ b/Lang/AutoHotkey/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Queue-Definition b/Lang/AutoHotkey/Queue-Definition
new file mode 120000
index 0000000000..a302e69826
--- /dev/null
+++ b/Lang/AutoHotkey/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Queue-Usage b/Lang/AutoHotkey/Queue-Usage
new file mode 120000
index 0000000000..7dde1ad2da
--- /dev/null
+++ b/Lang/AutoHotkey/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Random-numbers b/Lang/AutoHotkey/Random-numbers
new file mode 120000
index 0000000000..2e085c5f29
--- /dev/null
+++ b/Lang/AutoHotkey/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Range-expansion b/Lang/AutoHotkey/Range-expansion
new file mode 120000
index 0000000000..d942361140
--- /dev/null
+++ b/Lang/AutoHotkey/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Range-extraction b/Lang/AutoHotkey/Range-extraction
new file mode 120000
index 0000000000..e07c8e01e4
--- /dev/null
+++ b/Lang/AutoHotkey/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Ray-casting-algorithm b/Lang/AutoHotkey/Ray-casting-algorithm
new file mode 120000
index 0000000000..587edacdfc
--- /dev/null
+++ b/Lang/AutoHotkey/Ray-casting-algorithm
@@ -0,0 +1 @@
+../../Task/Ray-casting-algorithm/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Read-a-configuration-file b/Lang/AutoHotkey/Read-a-configuration-file
new file mode 120000
index 0000000000..22aaa3d3a6
--- /dev/null
+++ b/Lang/AutoHotkey/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Read-a-file-line-by-line b/Lang/AutoHotkey/Read-a-file-line-by-line
new file mode 120000
index 0000000000..4268c9ce21
--- /dev/null
+++ b/Lang/AutoHotkey/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Read-a-specific-line-from-a-file b/Lang/AutoHotkey/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..e3088a5654
--- /dev/null
+++ b/Lang/AutoHotkey/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Read-entire-file b/Lang/AutoHotkey/Read-entire-file
new file mode 120000
index 0000000000..c5636a28e0
--- /dev/null
+++ b/Lang/AutoHotkey/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Real-constants-and-functions b/Lang/AutoHotkey/Real-constants-and-functions
new file mode 120000
index 0000000000..b3424771eb
--- /dev/null
+++ b/Lang/AutoHotkey/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Regular-expressions b/Lang/AutoHotkey/Regular-expressions
new file mode 120000
index 0000000000..f18d0946f6
--- /dev/null
+++ b/Lang/AutoHotkey/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Remove-duplicate-elements b/Lang/AutoHotkey/Remove-duplicate-elements
new file mode 120000
index 0000000000..0440ba3e68
--- /dev/null
+++ b/Lang/AutoHotkey/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Remove-lines-from-a-file b/Lang/AutoHotkey/Remove-lines-from-a-file
new file mode 120000
index 0000000000..b65d7ad918
--- /dev/null
+++ b/Lang/AutoHotkey/Remove-lines-from-a-file
@@ -0,0 +1 @@
+../../Task/Remove-lines-from-a-file/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Rename-a-file b/Lang/AutoHotkey/Rename-a-file
new file mode 120000
index 0000000000..e0c12f81ba
--- /dev/null
+++ b/Lang/AutoHotkey/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Rendezvous b/Lang/AutoHotkey/Rendezvous
new file mode 120000
index 0000000000..4313c55941
--- /dev/null
+++ b/Lang/AutoHotkey/Rendezvous
@@ -0,0 +1 @@
+../../Task/Rendezvous/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Repeat-a-string b/Lang/AutoHotkey/Repeat-a-string
new file mode 120000
index 0000000000..b07baf9f12
--- /dev/null
+++ b/Lang/AutoHotkey/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Return-multiple-values b/Lang/AutoHotkey/Return-multiple-values
new file mode 120000
index 0000000000..f7227e0bec
--- /dev/null
+++ b/Lang/AutoHotkey/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Reverse-a-string b/Lang/AutoHotkey/Reverse-a-string
new file mode 120000
index 0000000000..9f4a2a3362
--- /dev/null
+++ b/Lang/AutoHotkey/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Rock-paper-scissors b/Lang/AutoHotkey/Rock-paper-scissors
new file mode 120000
index 0000000000..51f5814571
--- /dev/null
+++ b/Lang/AutoHotkey/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Roman-numerals-Decode b/Lang/AutoHotkey/Roman-numerals-Decode
new file mode 120000
index 0000000000..fa8da59936
--- /dev/null
+++ b/Lang/AutoHotkey/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Roman-numerals-Encode b/Lang/AutoHotkey/Roman-numerals-Encode
new file mode 120000
index 0000000000..04618afe0d
--- /dev/null
+++ b/Lang/AutoHotkey/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Roots-of-a-function b/Lang/AutoHotkey/Roots-of-a-function
new file mode 120000
index 0000000000..62bf07667b
--- /dev/null
+++ b/Lang/AutoHotkey/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Roots-of-a-quadratic-function b/Lang/AutoHotkey/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..dfee0ebf14
--- /dev/null
+++ b/Lang/AutoHotkey/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Roots-of-unity b/Lang/AutoHotkey/Roots-of-unity
new file mode 120000
index 0000000000..2c8fd73566
--- /dev/null
+++ b/Lang/AutoHotkey/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Rosetta-Code-Count-examples b/Lang/AutoHotkey/Rosetta-Code-Count-examples
new file mode 120000
index 0000000000..0b1de8c223
--- /dev/null
+++ b/Lang/AutoHotkey/Rosetta-Code-Count-examples
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Count-examples/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Rosetta-Code-Find-unimplemented-tasks b/Lang/AutoHotkey/Rosetta-Code-Find-unimplemented-tasks
new file mode 120000
index 0000000000..2c382bcd56
--- /dev/null
+++ b/Lang/AutoHotkey/Rosetta-Code-Find-unimplemented-tasks
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Find-unimplemented-tasks/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Rosetta-Code-Fix-code-tags b/Lang/AutoHotkey/Rosetta-Code-Fix-code-tags
new file mode 120000
index 0000000000..f8b80906f9
--- /dev/null
+++ b/Lang/AutoHotkey/Rosetta-Code-Fix-code-tags
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Fix-code-tags/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Rosetta-Code-Rank-languages-by-popularity b/Lang/AutoHotkey/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..d43899a9ae
--- /dev/null
+++ b/Lang/AutoHotkey/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Rot-13 b/Lang/AutoHotkey/Rot-13
new file mode 120000
index 0000000000..856daebd10
--- /dev/null
+++ b/Lang/AutoHotkey/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Run-length-encoding b/Lang/AutoHotkey/Run-length-encoding
new file mode 120000
index 0000000000..17ed7cb591
--- /dev/null
+++ b/Lang/AutoHotkey/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Runtime-evaluation b/Lang/AutoHotkey/Runtime-evaluation
new file mode 120000
index 0000000000..557fabe9e2
--- /dev/null
+++ b/Lang/AutoHotkey/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Runtime-evaluation-In-an-environment b/Lang/AutoHotkey/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..7c25d1fae0
--- /dev/null
+++ b/Lang/AutoHotkey/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/SEDOLs b/Lang/AutoHotkey/SEDOLs
new file mode 120000
index 0000000000..0417cf6208
--- /dev/null
+++ b/Lang/AutoHotkey/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Scope-modifiers b/Lang/AutoHotkey/Scope-modifiers
new file mode 120000
index 0000000000..f741f4cd86
--- /dev/null
+++ b/Lang/AutoHotkey/Scope-modifiers
@@ -0,0 +1 @@
+../../Task/Scope-modifiers/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Self-describing-numbers b/Lang/AutoHotkey/Self-describing-numbers
new file mode 120000
index 0000000000..5690ab287f
--- /dev/null
+++ b/Lang/AutoHotkey/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Self-referential-sequence b/Lang/AutoHotkey/Self-referential-sequence
new file mode 120000
index 0000000000..2008a31bab
--- /dev/null
+++ b/Lang/AutoHotkey/Self-referential-sequence
@@ -0,0 +1 @@
+../../Task/Self-referential-sequence/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Send-an-unknown-method-call b/Lang/AutoHotkey/Send-an-unknown-method-call
new file mode 120000
index 0000000000..4eedd6f077
--- /dev/null
+++ b/Lang/AutoHotkey/Send-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Send-an-unknown-method-call/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Send-email b/Lang/AutoHotkey/Send-email
new file mode 120000
index 0000000000..312ded9491
--- /dev/null
+++ b/Lang/AutoHotkey/Send-email
@@ -0,0 +1 @@
+../../Task/Send-email/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoHotkey/Sequence-of-non-squares b/Lang/AutoHotkey/Sequence-of-non-squares
new file mode 120000
index 0000000000..6cf31321a2
--- /dev/null
+++ b/Lang/AutoHotkey/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/AutoHotkey
\ No newline at end of file
diff --git a/Lang/AutoIt/Binary-digits b/Lang/AutoIt/Binary-digits
new file mode 120000
index 0000000000..4b4f4a7dea
--- /dev/null
+++ b/Lang/AutoIt/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/AutoIt
\ No newline at end of file
diff --git a/Lang/AutoIt/Copy-a-string b/Lang/AutoIt/Copy-a-string
new file mode 120000
index 0000000000..e4e98649cc
--- /dev/null
+++ b/Lang/AutoIt/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/AutoIt
\ No newline at end of file
diff --git a/Lang/AutoIt/Nth-root b/Lang/AutoIt/Nth-root
new file mode 120000
index 0000000000..08e148af4d
--- /dev/null
+++ b/Lang/AutoIt/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/AutoIt
\ No newline at end of file
diff --git a/Lang/AutoIt/Palindrome-detection b/Lang/AutoIt/Palindrome-detection
new file mode 120000
index 0000000000..1448389ff2
--- /dev/null
+++ b/Lang/AutoIt/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/AutoIt
\ No newline at end of file
diff --git a/Lang/AutoIt/Pangram-checker b/Lang/AutoIt/Pangram-checker
new file mode 120000
index 0000000000..6dfc204833
--- /dev/null
+++ b/Lang/AutoIt/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/AutoIt
\ No newline at end of file
diff --git a/Lang/AutoIt/Program-termination b/Lang/AutoIt/Program-termination
new file mode 120000
index 0000000000..f0c2f8acf7
--- /dev/null
+++ b/Lang/AutoIt/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/AutoIt
\ No newline at end of file
diff --git a/Lang/AutoIt/Reduced-row-echelon-form b/Lang/AutoIt/Reduced-row-echelon-form
new file mode 120000
index 0000000000..33ba1d8e6b
--- /dev/null
+++ b/Lang/AutoIt/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/AutoIt
\ No newline at end of file
diff --git a/Lang/AutoIt/Return-multiple-values b/Lang/AutoIt/Return-multiple-values
new file mode 120000
index 0000000000..d675cf94b7
--- /dev/null
+++ b/Lang/AutoIt/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/AutoIt
\ No newline at end of file
diff --git a/Lang/AutoIt/Reverse-a-string b/Lang/AutoIt/Reverse-a-string
new file mode 120000
index 0000000000..1ee04e545e
--- /dev/null
+++ b/Lang/AutoIt/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/AutoIt
\ No newline at end of file
diff --git a/Lang/AutoIt/Rock-paper-scissors b/Lang/AutoIt/Rock-paper-scissors
new file mode 120000
index 0000000000..6815095866
--- /dev/null
+++ b/Lang/AutoIt/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/AutoIt
\ No newline at end of file
diff --git a/Lang/Axiom/Perfect-numbers b/Lang/Axiom/Perfect-numbers
new file mode 120000
index 0000000000..c1f54cf977
--- /dev/null
+++ b/Lang/Axiom/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Axiom
\ No newline at end of file
diff --git a/Lang/Axiom/Priority-queue b/Lang/Axiom/Priority-queue
new file mode 120000
index 0000000000..5d9f21b4a0
--- /dev/null
+++ b/Lang/Axiom/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/Axiom
\ No newline at end of file
diff --git a/Lang/Axiom/QR-decomposition b/Lang/Axiom/QR-decomposition
new file mode 120000
index 0000000000..77ea3c68f5
--- /dev/null
+++ b/Lang/Axiom/QR-decomposition
@@ -0,0 +1 @@
+../../Task/QR-decomposition/Axiom
\ No newline at end of file
diff --git a/Lang/Axiom/Roots-of-a-function b/Lang/Axiom/Roots-of-a-function
new file mode 120000
index 0000000000..a630e654a4
--- /dev/null
+++ b/Lang/Axiom/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/Axiom
\ No newline at end of file
diff --git a/Lang/BASIC/Catalan-numbers b/Lang/BASIC/Catalan-numbers
new file mode 120000
index 0000000000..1e1e81b82d
--- /dev/null
+++ b/Lang/BASIC/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Dragon-curve b/Lang/BASIC/Dragon-curve
new file mode 120000
index 0000000000..1191756bec
--- /dev/null
+++ b/Lang/BASIC/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Environment-variables b/Lang/BASIC/Environment-variables
new file mode 120000
index 0000000000..d5f5eb8ae8
--- /dev/null
+++ b/Lang/BASIC/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Nth-root b/Lang/BASIC/Nth-root
new file mode 120000
index 0000000000..23ce85836b
--- /dev/null
+++ b/Lang/BASIC/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Number-names b/Lang/BASIC/Number-names
new file mode 120000
index 0000000000..f0ccc76437
--- /dev/null
+++ b/Lang/BASIC/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Number-reversal-game b/Lang/BASIC/Number-reversal-game
new file mode 120000
index 0000000000..728ed8c834
--- /dev/null
+++ b/Lang/BASIC/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Numerical-integration b/Lang/BASIC/Numerical-integration
new file mode 120000
index 0000000000..a08768abea
--- /dev/null
+++ b/Lang/BASIC/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/One-dimensional-cellular-automata b/Lang/BASIC/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..91d5b5ff5e
--- /dev/null
+++ b/Lang/BASIC/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/One-of-n-lines-in-a-file b/Lang/BASIC/One-of-n-lines-in-a-file
new file mode 120000
index 0000000000..43bd377078
--- /dev/null
+++ b/Lang/BASIC/One-of-n-lines-in-a-file
@@ -0,0 +1 @@
+../../Task/One-of-n-lines-in-a-file/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Palindrome-detection b/Lang/BASIC/Palindrome-detection
new file mode 120000
index 0000000000..7de6221ded
--- /dev/null
+++ b/Lang/BASIC/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Pangram-checker b/Lang/BASIC/Pangram-checker
new file mode 120000
index 0000000000..4e6c524734
--- /dev/null
+++ b/Lang/BASIC/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Pascals-triangle b/Lang/BASIC/Pascals-triangle
new file mode 120000
index 0000000000..e11fa2a0da
--- /dev/null
+++ b/Lang/BASIC/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Perfect-numbers b/Lang/BASIC/Perfect-numbers
new file mode 120000
index 0000000000..424b901ed5
--- /dev/null
+++ b/Lang/BASIC/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Pick-random-element b/Lang/BASIC/Pick-random-element
new file mode 120000
index 0000000000..03127d5751
--- /dev/null
+++ b/Lang/BASIC/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Playing-cards b/Lang/BASIC/Playing-cards
new file mode 120000
index 0000000000..2f679dabf3
--- /dev/null
+++ b/Lang/BASIC/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Pragmatic-directives b/Lang/BASIC/Pragmatic-directives
new file mode 120000
index 0000000000..8603f1d11b
--- /dev/null
+++ b/Lang/BASIC/Pragmatic-directives
@@ -0,0 +1 @@
+../../Task/Pragmatic-directives/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Price-fraction b/Lang/BASIC/Price-fraction
new file mode 120000
index 0000000000..53b90426c7
--- /dev/null
+++ b/Lang/BASIC/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Primality-by-trial-division b/Lang/BASIC/Primality-by-trial-division
new file mode 120000
index 0000000000..25cccd2a41
--- /dev/null
+++ b/Lang/BASIC/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Program-name b/Lang/BASIC/Program-name
new file mode 120000
index 0000000000..2130a9a393
--- /dev/null
+++ b/Lang/BASIC/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Program-termination b/Lang/BASIC/Program-termination
new file mode 120000
index 0000000000..c80698fb7d
--- /dev/null
+++ b/Lang/BASIC/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Read-a-file-line-by-line b/Lang/BASIC/Read-a-file-line-by-line
new file mode 120000
index 0000000000..09dc7bc7eb
--- /dev/null
+++ b/Lang/BASIC/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Read-entire-file b/Lang/BASIC/Read-entire-file
new file mode 120000
index 0000000000..f642cce00d
--- /dev/null
+++ b/Lang/BASIC/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Real-constants-and-functions b/Lang/BASIC/Real-constants-and-functions
new file mode 120000
index 0000000000..4a33788afd
--- /dev/null
+++ b/Lang/BASIC/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Rename-a-file b/Lang/BASIC/Rename-a-file
new file mode 120000
index 0000000000..67cad936ab
--- /dev/null
+++ b/Lang/BASIC/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Reverse-a-string b/Lang/BASIC/Reverse-a-string
new file mode 120000
index 0000000000..db5bd211b7
--- /dev/null
+++ b/Lang/BASIC/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Rock-paper-scissors b/Lang/BASIC/Rock-paper-scissors
new file mode 120000
index 0000000000..65db5ee962
--- /dev/null
+++ b/Lang/BASIC/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Roman-numerals-Encode b/Lang/BASIC/Roman-numerals-Encode
new file mode 120000
index 0000000000..03d174bfc9
--- /dev/null
+++ b/Lang/BASIC/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Roots-of-unity b/Lang/BASIC/Roots-of-unity
new file mode 120000
index 0000000000..86585e3d3b
--- /dev/null
+++ b/Lang/BASIC/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Rot-13 b/Lang/BASIC/Rot-13
new file mode 120000
index 0000000000..37a240fe69
--- /dev/null
+++ b/Lang/BASIC/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Run-length-encoding b/Lang/BASIC/Run-length-encoding
new file mode 120000
index 0000000000..94cdebf397
--- /dev/null
+++ b/Lang/BASIC/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Runtime-evaluation b/Lang/BASIC/Runtime-evaluation
new file mode 120000
index 0000000000..514e2c0c78
--- /dev/null
+++ b/Lang/BASIC/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/SEDOLs b/Lang/BASIC/SEDOLs
new file mode 120000
index 0000000000..935e26eb0f
--- /dev/null
+++ b/Lang/BASIC/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Scope-Function-names-and-labels b/Lang/BASIC/Scope-Function-names-and-labels
new file mode 120000
index 0000000000..ed650b0fe8
--- /dev/null
+++ b/Lang/BASIC/Scope-Function-names-and-labels
@@ -0,0 +1 @@
+../../Task/Scope-Function-names-and-labels/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Self-describing-numbers b/Lang/BASIC/Self-describing-numbers
new file mode 120000
index 0000000000..c99106ea5d
--- /dev/null
+++ b/Lang/BASIC/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC/Sequence-of-non-squares b/Lang/BASIC/Sequence-of-non-squares
new file mode 120000
index 0000000000..aec7603ce0
--- /dev/null
+++ b/Lang/BASIC/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/BASIC
\ No newline at end of file
diff --git a/Lang/BASIC256/Dragon-curve b/Lang/BASIC256/Dragon-curve
new file mode 120000
index 0000000000..d82766ccbf
--- /dev/null
+++ b/Lang/BASIC256/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/BASIC256
\ No newline at end of file
diff --git a/Lang/BASIC256/Roman-numerals-Encode b/Lang/BASIC256/Roman-numerals-Encode
new file mode 120000
index 0000000000..775bf55371
--- /dev/null
+++ b/Lang/BASIC256/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/BASIC256
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Binary-digits b/Lang/BBC-BASIC/Binary-digits
new file mode 120000
index 0000000000..767a5ed929
--- /dev/null
+++ b/Lang/BBC-BASIC/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Brownian-tree b/Lang/BBC-BASIC/Brownian-tree
new file mode 120000
index 0000000000..16b91aeac6
--- /dev/null
+++ b/Lang/BBC-BASIC/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Calendar---for-real-programmers b/Lang/BBC-BASIC/Calendar---for-real-programmers
new file mode 120000
index 0000000000..501af7834b
--- /dev/null
+++ b/Lang/BBC-BASIC/Calendar---for-real-programmers
@@ -0,0 +1 @@
+../../Task/Calendar---for-real-programmers/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Calendar-for-real-programmers b/Lang/BBC-BASIC/Calendar-for-real-programmers
deleted file mode 120000
index e970caf6e2..0000000000
--- a/Lang/BBC-BASIC/Calendar-for-real-programmers
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Calendar-for-real-programmers/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Catalan-numbers b/Lang/BBC-BASIC/Catalan-numbers
new file mode 120000
index 0000000000..eee6e61b43
--- /dev/null
+++ b/Lang/BBC-BASIC/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Copy-a-string b/Lang/BBC-BASIC/Copy-a-string
new file mode 120000
index 0000000000..8d37bd1027
--- /dev/null
+++ b/Lang/BBC-BASIC/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Dragon-curve b/Lang/BBC-BASIC/Dragon-curve
new file mode 120000
index 0000000000..c32fc448e1
--- /dev/null
+++ b/Lang/BBC-BASIC/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Environment-variables b/Lang/BBC-BASIC/Environment-variables
new file mode 120000
index 0000000000..4ccd386c44
--- /dev/null
+++ b/Lang/BBC-BASIC/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Execute-a-Markov-algorithm b/Lang/BBC-BASIC/Execute-a-Markov-algorithm
new file mode 120000
index 0000000000..c469a50283
--- /dev/null
+++ b/Lang/BBC-BASIC/Execute-a-Markov-algorithm
@@ -0,0 +1 @@
+../../Task/Execute-a-Markov-algorithm/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Guess-the-number-With-feedback--player- b/Lang/BBC-BASIC/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..9232b18ddb
--- /dev/null
+++ b/Lang/BBC-BASIC/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Guess-the-number-With-feedback-player b/Lang/BBC-BASIC/Guess-the-number-With-feedback-player
deleted file mode 120000
index 58dd634194..0000000000
--- a/Lang/BBC-BASIC/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/N-queens-problem b/Lang/BBC-BASIC/N-queens-problem
new file mode 120000
index 0000000000..ce108c0d65
--- /dev/null
+++ b/Lang/BBC-BASIC/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Non-continuous-subsequences b/Lang/BBC-BASIC/Non-continuous-subsequences
new file mode 120000
index 0000000000..4153eb48f1
--- /dev/null
+++ b/Lang/BBC-BASIC/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Non-decimal-radices-Convert b/Lang/BBC-BASIC/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..3a2e0708e0
--- /dev/null
+++ b/Lang/BBC-BASIC/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Non-decimal-radices-Input b/Lang/BBC-BASIC/Non-decimal-radices-Input
new file mode 120000
index 0000000000..e4caeec6d8
--- /dev/null
+++ b/Lang/BBC-BASIC/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Non-decimal-radices-Output b/Lang/BBC-BASIC/Non-decimal-radices-Output
new file mode 120000
index 0000000000..beb6f64157
--- /dev/null
+++ b/Lang/BBC-BASIC/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Nth-root b/Lang/BBC-BASIC/Nth-root
new file mode 120000
index 0000000000..2e52f27c21
--- /dev/null
+++ b/Lang/BBC-BASIC/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Null-object b/Lang/BBC-BASIC/Null-object
new file mode 120000
index 0000000000..7327acb9d3
--- /dev/null
+++ b/Lang/BBC-BASIC/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Number-names b/Lang/BBC-BASIC/Number-names
new file mode 120000
index 0000000000..4acd6e6d6e
--- /dev/null
+++ b/Lang/BBC-BASIC/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Number-reversal-game b/Lang/BBC-BASIC/Number-reversal-game
new file mode 120000
index 0000000000..e137d164f8
--- /dev/null
+++ b/Lang/BBC-BASIC/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Numerical-integration b/Lang/BBC-BASIC/Numerical-integration
new file mode 120000
index 0000000000..cbc1e5906a
--- /dev/null
+++ b/Lang/BBC-BASIC/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/One-dimensional-cellular-automata b/Lang/BBC-BASIC/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..3abbae033f
--- /dev/null
+++ b/Lang/BBC-BASIC/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/One-of-n-lines-in-a-file b/Lang/BBC-BASIC/One-of-n-lines-in-a-file
new file mode 120000
index 0000000000..70e0298c3b
--- /dev/null
+++ b/Lang/BBC-BASIC/One-of-n-lines-in-a-file
@@ -0,0 +1 @@
+../../Task/One-of-n-lines-in-a-file/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/OpenGL b/Lang/BBC-BASIC/OpenGL
new file mode 120000
index 0000000000..4f619ab614
--- /dev/null
+++ b/Lang/BBC-BASIC/OpenGL
@@ -0,0 +1 @@
+../../Task/OpenGL/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Optional-parameters b/Lang/BBC-BASIC/Optional-parameters
new file mode 120000
index 0000000000..41a38375a7
--- /dev/null
+++ b/Lang/BBC-BASIC/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Order-two-numerical-lists b/Lang/BBC-BASIC/Order-two-numerical-lists
new file mode 120000
index 0000000000..365b55927e
--- /dev/null
+++ b/Lang/BBC-BASIC/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Ordered-Partitions b/Lang/BBC-BASIC/Ordered-Partitions
new file mode 120000
index 0000000000..50a8f7b8d5
--- /dev/null
+++ b/Lang/BBC-BASIC/Ordered-Partitions
@@ -0,0 +1 @@
+../../Task/Ordered-Partitions/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Palindrome-detection b/Lang/BBC-BASIC/Palindrome-detection
new file mode 120000
index 0000000000..cf813cdb4f
--- /dev/null
+++ b/Lang/BBC-BASIC/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Pangram-checker b/Lang/BBC-BASIC/Pangram-checker
new file mode 120000
index 0000000000..cb0ae12b2c
--- /dev/null
+++ b/Lang/BBC-BASIC/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Parsing-RPN-calculator-algorithm b/Lang/BBC-BASIC/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..3e6a10095a
--- /dev/null
+++ b/Lang/BBC-BASIC/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Partial-function-application b/Lang/BBC-BASIC/Partial-function-application
new file mode 120000
index 0000000000..553e1bc175
--- /dev/null
+++ b/Lang/BBC-BASIC/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Pascals-triangle b/Lang/BBC-BASIC/Pascals-triangle
new file mode 120000
index 0000000000..e50c8153e8
--- /dev/null
+++ b/Lang/BBC-BASIC/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Pascals-triangle-Puzzle b/Lang/BBC-BASIC/Pascals-triangle-Puzzle
new file mode 120000
index 0000000000..cf208e492c
--- /dev/null
+++ b/Lang/BBC-BASIC/Pascals-triangle-Puzzle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle-Puzzle/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Percentage-difference-between-images b/Lang/BBC-BASIC/Percentage-difference-between-images
new file mode 120000
index 0000000000..a85195d14f
--- /dev/null
+++ b/Lang/BBC-BASIC/Percentage-difference-between-images
@@ -0,0 +1 @@
+../../Task/Percentage-difference-between-images/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Perfect-numbers b/Lang/BBC-BASIC/Perfect-numbers
new file mode 120000
index 0000000000..5734f2c9fc
--- /dev/null
+++ b/Lang/BBC-BASIC/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Permutation-test b/Lang/BBC-BASIC/Permutation-test
new file mode 120000
index 0000000000..861b7da89a
--- /dev/null
+++ b/Lang/BBC-BASIC/Permutation-test
@@ -0,0 +1 @@
+../../Task/Permutation-test/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Permutations b/Lang/BBC-BASIC/Permutations
new file mode 120000
index 0000000000..e13bc4060d
--- /dev/null
+++ b/Lang/BBC-BASIC/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Permutations-Derangements b/Lang/BBC-BASIC/Permutations-Derangements
new file mode 120000
index 0000000000..62dee59161
--- /dev/null
+++ b/Lang/BBC-BASIC/Permutations-Derangements
@@ -0,0 +1 @@
+../../Task/Permutations-Derangements/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Permutations-by-swapping b/Lang/BBC-BASIC/Permutations-by-swapping
new file mode 120000
index 0000000000..843298979d
--- /dev/null
+++ b/Lang/BBC-BASIC/Permutations-by-swapping
@@ -0,0 +1 @@
+../../Task/Permutations-by-swapping/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Pick-random-element b/Lang/BBC-BASIC/Pick-random-element
new file mode 120000
index 0000000000..b072feb170
--- /dev/null
+++ b/Lang/BBC-BASIC/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Pinstripe-Display b/Lang/BBC-BASIC/Pinstripe-Display
new file mode 120000
index 0000000000..12732b2f73
--- /dev/null
+++ b/Lang/BBC-BASIC/Pinstripe-Display
@@ -0,0 +1 @@
+../../Task/Pinstripe-Display/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Pinstripe-Printer b/Lang/BBC-BASIC/Pinstripe-Printer
new file mode 120000
index 0000000000..d8f60cd2af
--- /dev/null
+++ b/Lang/BBC-BASIC/Pinstripe-Printer
@@ -0,0 +1 @@
+../../Task/Pinstripe-Printer/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Play-recorded-sounds b/Lang/BBC-BASIC/Play-recorded-sounds
new file mode 120000
index 0000000000..84047adba6
--- /dev/null
+++ b/Lang/BBC-BASIC/Play-recorded-sounds
@@ -0,0 +1 @@
+../../Task/Play-recorded-sounds/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Playing-cards b/Lang/BBC-BASIC/Playing-cards
new file mode 120000
index 0000000000..d8390afffc
--- /dev/null
+++ b/Lang/BBC-BASIC/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Plot-coordinate-pairs b/Lang/BBC-BASIC/Plot-coordinate-pairs
new file mode 120000
index 0000000000..d04aad36e2
--- /dev/null
+++ b/Lang/BBC-BASIC/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Pointers-and-references b/Lang/BBC-BASIC/Pointers-and-references
new file mode 120000
index 0000000000..1f9df88529
--- /dev/null
+++ b/Lang/BBC-BASIC/Pointers-and-references
@@ -0,0 +1 @@
+../../Task/Pointers-and-references/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Polymorphic-copy b/Lang/BBC-BASIC/Polymorphic-copy
new file mode 120000
index 0000000000..81238ea3bb
--- /dev/null
+++ b/Lang/BBC-BASIC/Polymorphic-copy
@@ -0,0 +1 @@
+../../Task/Polymorphic-copy/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Polymorphism b/Lang/BBC-BASIC/Polymorphism
new file mode 120000
index 0000000000..78bbe38d66
--- /dev/null
+++ b/Lang/BBC-BASIC/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Polynomial-long-division b/Lang/BBC-BASIC/Polynomial-long-division
new file mode 120000
index 0000000000..22e595d634
--- /dev/null
+++ b/Lang/BBC-BASIC/Polynomial-long-division
@@ -0,0 +1 @@
+../../Task/Polynomial-long-division/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Polynomial-regression b/Lang/BBC-BASIC/Polynomial-regression
new file mode 120000
index 0000000000..7eb885333b
--- /dev/null
+++ b/Lang/BBC-BASIC/Polynomial-regression
@@ -0,0 +1 @@
+../../Task/Polynomial-regression/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Power-set b/Lang/BBC-BASIC/Power-set
new file mode 120000
index 0000000000..19e1bd2f40
--- /dev/null
+++ b/Lang/BBC-BASIC/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Price-fraction b/Lang/BBC-BASIC/Price-fraction
new file mode 120000
index 0000000000..bf6d6bc67f
--- /dev/null
+++ b/Lang/BBC-BASIC/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Primality-by-trial-division b/Lang/BBC-BASIC/Primality-by-trial-division
new file mode 120000
index 0000000000..62a45bd063
--- /dev/null
+++ b/Lang/BBC-BASIC/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Probabilistic-choice b/Lang/BBC-BASIC/Probabilistic-choice
new file mode 120000
index 0000000000..d92a29ba7f
--- /dev/null
+++ b/Lang/BBC-BASIC/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Problem-of-Apollonius b/Lang/BBC-BASIC/Problem-of-Apollonius
new file mode 120000
index 0000000000..5df24cd34e
--- /dev/null
+++ b/Lang/BBC-BASIC/Problem-of-Apollonius
@@ -0,0 +1 @@
+../../Task/Problem-of-Apollonius/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Program-name b/Lang/BBC-BASIC/Program-name
new file mode 120000
index 0000000000..2b24ae8a78
--- /dev/null
+++ b/Lang/BBC-BASIC/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Program-termination b/Lang/BBC-BASIC/Program-termination
new file mode 120000
index 0000000000..345bcfc43b
--- /dev/null
+++ b/Lang/BBC-BASIC/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Pythagorean-triples b/Lang/BBC-BASIC/Pythagorean-triples
new file mode 120000
index 0000000000..0422351ba9
--- /dev/null
+++ b/Lang/BBC-BASIC/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/QR-decomposition b/Lang/BBC-BASIC/QR-decomposition
new file mode 120000
index 0000000000..85d7fa286e
--- /dev/null
+++ b/Lang/BBC-BASIC/QR-decomposition
@@ -0,0 +1 @@
+../../Task/QR-decomposition/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Quaternion-type b/Lang/BBC-BASIC/Quaternion-type
new file mode 120000
index 0000000000..018816057d
--- /dev/null
+++ b/Lang/BBC-BASIC/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Queue-Definition b/Lang/BBC-BASIC/Queue-Definition
new file mode 120000
index 0000000000..26ea9bf575
--- /dev/null
+++ b/Lang/BBC-BASIC/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Queue-Usage b/Lang/BBC-BASIC/Queue-Usage
new file mode 120000
index 0000000000..ece362aee6
--- /dev/null
+++ b/Lang/BBC-BASIC/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Random-number-generator--device- b/Lang/BBC-BASIC/Random-number-generator--device-
new file mode 120000
index 0000000000..445c8bb958
--- /dev/null
+++ b/Lang/BBC-BASIC/Random-number-generator--device-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--device-/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Random-numbers b/Lang/BBC-BASIC/Random-numbers
new file mode 120000
index 0000000000..d0b9a8ea62
--- /dev/null
+++ b/Lang/BBC-BASIC/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Range-expansion b/Lang/BBC-BASIC/Range-expansion
new file mode 120000
index 0000000000..923ea8638d
--- /dev/null
+++ b/Lang/BBC-BASIC/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Range-extraction b/Lang/BBC-BASIC/Range-extraction
new file mode 120000
index 0000000000..b4afdc75fe
--- /dev/null
+++ b/Lang/BBC-BASIC/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Rate-counter b/Lang/BBC-BASIC/Rate-counter
new file mode 120000
index 0000000000..bc08c62289
--- /dev/null
+++ b/Lang/BBC-BASIC/Rate-counter
@@ -0,0 +1 @@
+../../Task/Rate-counter/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Read-a-configuration-file b/Lang/BBC-BASIC/Read-a-configuration-file
new file mode 120000
index 0000000000..36ad33a4c3
--- /dev/null
+++ b/Lang/BBC-BASIC/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Read-a-file-line-by-line b/Lang/BBC-BASIC/Read-a-file-line-by-line
new file mode 120000
index 0000000000..6422dffa39
--- /dev/null
+++ b/Lang/BBC-BASIC/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Read-a-specific-line-from-a-file b/Lang/BBC-BASIC/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..7207e39081
--- /dev/null
+++ b/Lang/BBC-BASIC/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Read-entire-file b/Lang/BBC-BASIC/Read-entire-file
new file mode 120000
index 0000000000..6e5865e802
--- /dev/null
+++ b/Lang/BBC-BASIC/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Real-constants-and-functions b/Lang/BBC-BASIC/Real-constants-and-functions
new file mode 120000
index 0000000000..cd8f1f7f86
--- /dev/null
+++ b/Lang/BBC-BASIC/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Record-sound b/Lang/BBC-BASIC/Record-sound
new file mode 120000
index 0000000000..b9c513198a
--- /dev/null
+++ b/Lang/BBC-BASIC/Record-sound
@@ -0,0 +1 @@
+../../Task/Record-sound/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Reduced-row-echelon-form b/Lang/BBC-BASIC/Reduced-row-echelon-form
new file mode 120000
index 0000000000..387c49ae78
--- /dev/null
+++ b/Lang/BBC-BASIC/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Regular-expressions b/Lang/BBC-BASIC/Regular-expressions
new file mode 120000
index 0000000000..9d2703847b
--- /dev/null
+++ b/Lang/BBC-BASIC/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Remove-duplicate-elements b/Lang/BBC-BASIC/Remove-duplicate-elements
new file mode 120000
index 0000000000..72d6105297
--- /dev/null
+++ b/Lang/BBC-BASIC/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Rename-a-file b/Lang/BBC-BASIC/Rename-a-file
new file mode 120000
index 0000000000..86bff85733
--- /dev/null
+++ b/Lang/BBC-BASIC/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Repeat-a-string b/Lang/BBC-BASIC/Repeat-a-string
new file mode 120000
index 0000000000..6854a2c3fa
--- /dev/null
+++ b/Lang/BBC-BASIC/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Resistor-mesh b/Lang/BBC-BASIC/Resistor-mesh
new file mode 120000
index 0000000000..a221ed2739
--- /dev/null
+++ b/Lang/BBC-BASIC/Resistor-mesh
@@ -0,0 +1 @@
+../../Task/Resistor-mesh/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Return-multiple-values b/Lang/BBC-BASIC/Return-multiple-values
new file mode 120000
index 0000000000..44a723b0da
--- /dev/null
+++ b/Lang/BBC-BASIC/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Reverse-a-string b/Lang/BBC-BASIC/Reverse-a-string
new file mode 120000
index 0000000000..dd5b697faf
--- /dev/null
+++ b/Lang/BBC-BASIC/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Rock-paper-scissors b/Lang/BBC-BASIC/Rock-paper-scissors
new file mode 120000
index 0000000000..1e8e193ee3
--- /dev/null
+++ b/Lang/BBC-BASIC/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Roman-numerals-Decode b/Lang/BBC-BASIC/Roman-numerals-Decode
new file mode 120000
index 0000000000..d2063495e5
--- /dev/null
+++ b/Lang/BBC-BASIC/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Roman-numerals-Encode b/Lang/BBC-BASIC/Roman-numerals-Encode
new file mode 120000
index 0000000000..4067998660
--- /dev/null
+++ b/Lang/BBC-BASIC/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Roots-of-a-function b/Lang/BBC-BASIC/Roots-of-a-function
new file mode 120000
index 0000000000..7ba06fd923
--- /dev/null
+++ b/Lang/BBC-BASIC/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Roots-of-a-quadratic-function b/Lang/BBC-BASIC/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..b514fd9b3d
--- /dev/null
+++ b/Lang/BBC-BASIC/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Roots-of-unity b/Lang/BBC-BASIC/Roots-of-unity
new file mode 120000
index 0000000000..17e5cd8f9c
--- /dev/null
+++ b/Lang/BBC-BASIC/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Rosetta-Code-Count-examples b/Lang/BBC-BASIC/Rosetta-Code-Count-examples
new file mode 120000
index 0000000000..db9da8adf4
--- /dev/null
+++ b/Lang/BBC-BASIC/Rosetta-Code-Count-examples
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Count-examples/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Rosetta-Code-Rank-languages-by-popularity b/Lang/BBC-BASIC/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..fe97f2d5e6
--- /dev/null
+++ b/Lang/BBC-BASIC/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Rot-13 b/Lang/BBC-BASIC/Rot-13
new file mode 120000
index 0000000000..2801656db0
--- /dev/null
+++ b/Lang/BBC-BASIC/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Run-length-encoding b/Lang/BBC-BASIC/Run-length-encoding
new file mode 120000
index 0000000000..c5bb019f8a
--- /dev/null
+++ b/Lang/BBC-BASIC/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Runtime-evaluation b/Lang/BBC-BASIC/Runtime-evaluation
new file mode 120000
index 0000000000..8fd4b98879
--- /dev/null
+++ b/Lang/BBC-BASIC/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Runtime-evaluation-In-an-environment b/Lang/BBC-BASIC/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..01736bac8d
--- /dev/null
+++ b/Lang/BBC-BASIC/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/SEDOLs b/Lang/BBC-BASIC/SEDOLs
new file mode 120000
index 0000000000..727528b2c5
--- /dev/null
+++ b/Lang/BBC-BASIC/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Scope-modifiers b/Lang/BBC-BASIC/Scope-modifiers
new file mode 120000
index 0000000000..1147492904
--- /dev/null
+++ b/Lang/BBC-BASIC/Scope-modifiers
@@ -0,0 +1 @@
+../../Task/Scope-modifiers/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Secure-temporary-file b/Lang/BBC-BASIC/Secure-temporary-file
new file mode 120000
index 0000000000..8abf444e7c
--- /dev/null
+++ b/Lang/BBC-BASIC/Secure-temporary-file
@@ -0,0 +1 @@
+../../Task/Secure-temporary-file/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Self-describing-numbers b/Lang/BBC-BASIC/Self-describing-numbers
new file mode 120000
index 0000000000..926be0d546
--- /dev/null
+++ b/Lang/BBC-BASIC/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Self-referential-sequence b/Lang/BBC-BASIC/Self-referential-sequence
new file mode 120000
index 0000000000..35afb7d294
--- /dev/null
+++ b/Lang/BBC-BASIC/Self-referential-sequence
@@ -0,0 +1 @@
+../../Task/Self-referential-sequence/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Semordnilap b/Lang/BBC-BASIC/Semordnilap
new file mode 120000
index 0000000000..73a3e1d407
--- /dev/null
+++ b/Lang/BBC-BASIC/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Send-email b/Lang/BBC-BASIC/Send-email
new file mode 120000
index 0000000000..51b520e00d
--- /dev/null
+++ b/Lang/BBC-BASIC/Send-email
@@ -0,0 +1 @@
+../../Task/Send-email/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Sequence-of-non-squares b/Lang/BBC-BASIC/Sequence-of-non-squares
new file mode 120000
index 0000000000..edc4c24756
--- /dev/null
+++ b/Lang/BBC-BASIC/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BBC-BASIC/Set b/Lang/BBC-BASIC/Set
new file mode 120000
index 0000000000..5f5dd7044e
--- /dev/null
+++ b/Lang/BBC-BASIC/Set
@@ -0,0 +1 @@
+../../Task/Set/BBC-BASIC
\ No newline at end of file
diff --git a/Lang/BCPL/N-queens-problem b/Lang/BCPL/N-queens-problem
new file mode 120000
index 0000000000..f11d295e71
--- /dev/null
+++ b/Lang/BCPL/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/BCPL
\ No newline at end of file
diff --git a/Lang/Babel/Null-object b/Lang/Babel/Null-object
new file mode 120000
index 0000000000..1f85849de6
--- /dev/null
+++ b/Lang/Babel/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Babel
\ No newline at end of file
diff --git a/Lang/Babel/Repeat-a-string b/Lang/Babel/Repeat-a-string
new file mode 120000
index 0000000000..5a6c89fd41
--- /dev/null
+++ b/Lang/Babel/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Babel
\ No newline at end of file
diff --git a/Lang/Babel/Reverse-a-string b/Lang/Babel/Reverse-a-string
new file mode 120000
index 0000000000..0122853504
--- /dev/null
+++ b/Lang/Babel/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Babel
\ No newline at end of file
diff --git a/Lang/Batch-File/Binary-digits b/Lang/Batch-File/Binary-digits
new file mode 120000
index 0000000000..fa65fd272c
--- /dev/null
+++ b/Lang/Batch-File/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Copy-a-string b/Lang/Batch-File/Copy-a-string
new file mode 120000
index 0000000000..2e446c5346
--- /dev/null
+++ b/Lang/Batch-File/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Environment-variables b/Lang/Batch-File/Environment-variables
new file mode 120000
index 0000000000..91da886a1d
--- /dev/null
+++ b/Lang/Batch-File/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Program-termination b/Lang/Batch-File/Program-termination
new file mode 120000
index 0000000000..c5b6be8fc9
--- /dev/null
+++ b/Lang/Batch-File/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Queue-Definition b/Lang/Batch-File/Queue-Definition
new file mode 120000
index 0000000000..fa4a33da54
--- /dev/null
+++ b/Lang/Batch-File/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Rename-a-file b/Lang/Batch-File/Rename-a-file
new file mode 120000
index 0000000000..976a99af20
--- /dev/null
+++ b/Lang/Batch-File/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Repeat-a-string b/Lang/Batch-File/Repeat-a-string
new file mode 120000
index 0000000000..df5e29a5a2
--- /dev/null
+++ b/Lang/Batch-File/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Batch-File
\ No newline at end of file
diff --git a/Lang/Batch-File/Reverse-a-string b/Lang/Batch-File/Reverse-a-string
new file mode 120000
index 0000000000..914c556d27
--- /dev/null
+++ b/Lang/Batch-File/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Batch-File
\ No newline at end of file
diff --git a/Lang/Bc/Sequence-of-non-squares b/Lang/Bc/Sequence-of-non-squares
new file mode 120000
index 0000000000..1f7910be60
--- /dev/null
+++ b/Lang/Bc/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Bc
\ No newline at end of file
diff --git a/Lang/Befunge/One-dimensional-cellular-automata b/Lang/Befunge/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..8c33d6e667
--- /dev/null
+++ b/Lang/Befunge/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Befunge
\ No newline at end of file
diff --git a/Lang/Befunge/Palindrome-detection b/Lang/Befunge/Palindrome-detection
new file mode 120000
index 0000000000..e8a3c3aaa6
--- /dev/null
+++ b/Lang/Befunge/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Befunge
\ No newline at end of file
diff --git a/Lang/Befunge/Prime-decomposition b/Lang/Befunge/Prime-decomposition
new file mode 120000
index 0000000000..b400ed2cc9
--- /dev/null
+++ b/Lang/Befunge/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Befunge
\ No newline at end of file
diff --git a/Lang/Befunge/Reverse-a-string b/Lang/Befunge/Reverse-a-string
new file mode 120000
index 0000000000..36b6da604c
--- /dev/null
+++ b/Lang/Befunge/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Befunge
\ No newline at end of file
diff --git a/Lang/Befunge/Rot-13 b/Lang/Befunge/Rot-13
new file mode 120000
index 0000000000..1f18a4d251
--- /dev/null
+++ b/Lang/Befunge/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Befunge
\ No newline at end of file
diff --git a/Lang/Bracmat/Arbitrary-precision-integers--included- b/Lang/Bracmat/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..f14f76e169
--- /dev/null
+++ b/Lang/Bracmat/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Arbitrary-precision-integers-included b/Lang/Bracmat/Arbitrary-precision-integers-included
deleted file mode 120000
index 1f1f97afa1..0000000000
--- a/Lang/Bracmat/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Catalan-numbers b/Lang/Bracmat/Catalan-numbers
new file mode 120000
index 0000000000..d1ee0fabc1
--- /dev/null
+++ b/Lang/Bracmat/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Copy-a-string b/Lang/Bracmat/Copy-a-string
new file mode 120000
index 0000000000..90ab4c7209
--- /dev/null
+++ b/Lang/Bracmat/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Non-continuous-subsequences b/Lang/Bracmat/Non-continuous-subsequences
new file mode 120000
index 0000000000..524e71ca8d
--- /dev/null
+++ b/Lang/Bracmat/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Non-decimal-radices-Convert b/Lang/Bracmat/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..d65f856d05
--- /dev/null
+++ b/Lang/Bracmat/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/One-dimensional-cellular-automata b/Lang/Bracmat/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..68b20c9c4e
--- /dev/null
+++ b/Lang/Bracmat/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Order-two-numerical-lists b/Lang/Bracmat/Order-two-numerical-lists
new file mode 120000
index 0000000000..6b003efed4
--- /dev/null
+++ b/Lang/Bracmat/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Pangram-checker b/Lang/Bracmat/Pangram-checker
new file mode 120000
index 0000000000..0cb819c8fb
--- /dev/null
+++ b/Lang/Bracmat/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Pascals-triangle b/Lang/Bracmat/Pascals-triangle
new file mode 120000
index 0000000000..1cf05e0337
--- /dev/null
+++ b/Lang/Bracmat/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Pattern-matching b/Lang/Bracmat/Pattern-matching
new file mode 120000
index 0000000000..5fba24acd8
--- /dev/null
+++ b/Lang/Bracmat/Pattern-matching
@@ -0,0 +1 @@
+../../Task/Pattern-matching/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Perfect-numbers b/Lang/Bracmat/Perfect-numbers
new file mode 120000
index 0000000000..7de3f646ab
--- /dev/null
+++ b/Lang/Bracmat/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Permutations b/Lang/Bracmat/Permutations
new file mode 120000
index 0000000000..29a91c8382
--- /dev/null
+++ b/Lang/Bracmat/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Price-fraction b/Lang/Bracmat/Price-fraction
new file mode 120000
index 0000000000..e1d18e5b14
--- /dev/null
+++ b/Lang/Bracmat/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Primality-by-trial-division b/Lang/Bracmat/Primality-by-trial-division
new file mode 120000
index 0000000000..0e57da56c5
--- /dev/null
+++ b/Lang/Bracmat/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Pythagorean-triples b/Lang/Bracmat/Pythagorean-triples
new file mode 120000
index 0000000000..1aa971a8d2
--- /dev/null
+++ b/Lang/Bracmat/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Range-expansion b/Lang/Bracmat/Range-expansion
new file mode 120000
index 0000000000..e234cea43d
--- /dev/null
+++ b/Lang/Bracmat/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Range-extraction b/Lang/Bracmat/Range-extraction
new file mode 120000
index 0000000000..0c5121636d
--- /dev/null
+++ b/Lang/Bracmat/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Regular-expressions b/Lang/Bracmat/Regular-expressions
new file mode 120000
index 0000000000..9ba4537bbd
--- /dev/null
+++ b/Lang/Bracmat/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Remove-duplicate-elements b/Lang/Bracmat/Remove-duplicate-elements
new file mode 120000
index 0000000000..80a9984e10
--- /dev/null
+++ b/Lang/Bracmat/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Rename-a-file b/Lang/Bracmat/Rename-a-file
new file mode 120000
index 0000000000..b87c760e8c
--- /dev/null
+++ b/Lang/Bracmat/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Repeat-a-string b/Lang/Bracmat/Repeat-a-string
new file mode 120000
index 0000000000..2bc314783c
--- /dev/null
+++ b/Lang/Bracmat/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Return-multiple-values b/Lang/Bracmat/Return-multiple-values
new file mode 120000
index 0000000000..5b2425413f
--- /dev/null
+++ b/Lang/Bracmat/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Reverse-a-string b/Lang/Bracmat/Reverse-a-string
new file mode 120000
index 0000000000..cfb8a05385
--- /dev/null
+++ b/Lang/Bracmat/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Roman-numerals-Decode b/Lang/Bracmat/Roman-numerals-Decode
new file mode 120000
index 0000000000..fde9ba86c9
--- /dev/null
+++ b/Lang/Bracmat/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Roman-numerals-Encode b/Lang/Bracmat/Roman-numerals-Encode
new file mode 120000
index 0000000000..9ca079c100
--- /dev/null
+++ b/Lang/Bracmat/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Run-length-encoding b/Lang/Bracmat/Run-length-encoding
new file mode 120000
index 0000000000..4c2f5d32cf
--- /dev/null
+++ b/Lang/Bracmat/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Self-referential-sequence b/Lang/Bracmat/Self-referential-sequence
new file mode 120000
index 0000000000..2bffa9ceba
--- /dev/null
+++ b/Lang/Bracmat/Self-referential-sequence
@@ -0,0 +1 @@
+../../Task/Self-referential-sequence/Bracmat
\ No newline at end of file
diff --git a/Lang/Bracmat/Set-consolidation b/Lang/Bracmat/Set-consolidation
new file mode 120000
index 0000000000..6809cdb82c
--- /dev/null
+++ b/Lang/Bracmat/Set-consolidation
@@ -0,0 +1 @@
+../../Task/Set-consolidation/Bracmat
\ No newline at end of file
diff --git a/Lang/Brainf---/Binary-digits b/Lang/Brainf---/Binary-digits
new file mode 120000
index 0000000000..96d66a9df1
--- /dev/null
+++ b/Lang/Brainf---/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Brainf---
\ No newline at end of file
diff --git a/Lang/Brainf---/Read-entire-file b/Lang/Brainf---/Read-entire-file
new file mode 120000
index 0000000000..6f24320011
--- /dev/null
+++ b/Lang/Brainf---/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Brainf---
\ No newline at end of file
diff --git a/Lang/Brainf---/Repeat-a-string b/Lang/Brainf---/Repeat-a-string
new file mode 120000
index 0000000000..8d52726f9e
--- /dev/null
+++ b/Lang/Brainf---/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Brainf---
\ No newline at end of file
diff --git a/Lang/Brainf---/Reverse-a-string b/Lang/Brainf---/Reverse-a-string
new file mode 120000
index 0000000000..765e21e4fd
--- /dev/null
+++ b/Lang/Brainf---/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Brainf---
\ No newline at end of file
diff --git a/Lang/Brat/Catalan-numbers b/Lang/Brat/Catalan-numbers
new file mode 120000
index 0000000000..09a2f098ae
--- /dev/null
+++ b/Lang/Brat/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Brat
\ No newline at end of file
diff --git a/Lang/Brat/Number-reversal-game b/Lang/Brat/Number-reversal-game
new file mode 120000
index 0000000000..976634c646
--- /dev/null
+++ b/Lang/Brat/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/Brat
\ No newline at end of file
diff --git a/Lang/Brat/Pangram-checker b/Lang/Brat/Pangram-checker
new file mode 120000
index 0000000000..05d65939dc
--- /dev/null
+++ b/Lang/Brat/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Brat
\ No newline at end of file
diff --git a/Lang/Brat/Read-a-file-line-by-line b/Lang/Brat/Read-a-file-line-by-line
new file mode 120000
index 0000000000..f4bd92b1a8
--- /dev/null
+++ b/Lang/Brat/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Brat
\ No newline at end of file
diff --git a/Lang/Brat/Read-entire-file b/Lang/Brat/Read-entire-file
new file mode 120000
index 0000000000..b2ddb6cb63
--- /dev/null
+++ b/Lang/Brat/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Brat
\ No newline at end of file
diff --git a/Lang/Brat/Remove-duplicate-elements b/Lang/Brat/Remove-duplicate-elements
new file mode 120000
index 0000000000..1781b72ad7
--- /dev/null
+++ b/Lang/Brat/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Brat
\ No newline at end of file
diff --git a/Lang/Brat/Repeat-a-string b/Lang/Brat/Repeat-a-string
new file mode 120000
index 0000000000..709dbd0c6b
--- /dev/null
+++ b/Lang/Brat/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Brat
\ No newline at end of file
diff --git a/Lang/Brat/Respond-to-an-unknown-method-call b/Lang/Brat/Respond-to-an-unknown-method-call
new file mode 120000
index 0000000000..f97d973465
--- /dev/null
+++ b/Lang/Brat/Respond-to-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Respond-to-an-unknown-method-call/Brat
\ No newline at end of file
diff --git a/Lang/Brat/Reverse-a-string b/Lang/Brat/Reverse-a-string
new file mode 120000
index 0000000000..165996674c
--- /dev/null
+++ b/Lang/Brat/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Brat
\ No newline at end of file
diff --git a/Lang/Burlesque/Binary-digits b/Lang/Burlesque/Binary-digits
new file mode 120000
index 0000000000..f00c734fb6
--- /dev/null
+++ b/Lang/Burlesque/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Burlesque
\ No newline at end of file
diff --git a/Lang/Burlesque/Palindrome-detection b/Lang/Burlesque/Palindrome-detection
new file mode 120000
index 0000000000..075b2cde4d
--- /dev/null
+++ b/Lang/Burlesque/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Burlesque
\ No newline at end of file
diff --git a/Lang/Burlesque/Pascals-triangle b/Lang/Burlesque/Pascals-triangle
new file mode 120000
index 0000000000..f33b4fe418
--- /dev/null
+++ b/Lang/Burlesque/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Burlesque
\ No newline at end of file
diff --git a/Lang/Burlesque/Pick-random-element b/Lang/Burlesque/Pick-random-element
new file mode 120000
index 0000000000..d43072c2c2
--- /dev/null
+++ b/Lang/Burlesque/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Burlesque
\ No newline at end of file
diff --git a/Lang/Burlesque/Power-set b/Lang/Burlesque/Power-set
new file mode 120000
index 0000000000..9e2e943410
--- /dev/null
+++ b/Lang/Burlesque/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Burlesque
\ No newline at end of file
diff --git a/Lang/Burlesque/Primality-by-trial-division b/Lang/Burlesque/Primality-by-trial-division
new file mode 120000
index 0000000000..52b6b13400
--- /dev/null
+++ b/Lang/Burlesque/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Burlesque
\ No newline at end of file
diff --git a/Lang/Burlesque/Prime-decomposition b/Lang/Burlesque/Prime-decomposition
new file mode 120000
index 0000000000..8c469fa660
--- /dev/null
+++ b/Lang/Burlesque/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Burlesque
\ No newline at end of file
diff --git a/Lang/Burlesque/Repeat-a-string b/Lang/Burlesque/Repeat-a-string
new file mode 120000
index 0000000000..bc47b0fd0e
--- /dev/null
+++ b/Lang/Burlesque/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Burlesque
\ No newline at end of file
diff --git a/Lang/Burlesque/Reverse-a-string b/Lang/Burlesque/Reverse-a-string
new file mode 120000
index 0000000000..73d7d78728
--- /dev/null
+++ b/Lang/Burlesque/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Burlesque
\ No newline at end of file
diff --git a/Lang/Burlesque/Rot-13 b/Lang/Burlesque/Rot-13
new file mode 120000
index 0000000000..ec6ce4b7d1
--- /dev/null
+++ b/Lang/Burlesque/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Burlesque
\ No newline at end of file
diff --git a/Lang/Burlesque/Run-length-encoding b/Lang/Burlesque/Run-length-encoding
new file mode 120000
index 0000000000..fed06749aa
--- /dev/null
+++ b/Lang/Burlesque/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Burlesque
\ No newline at end of file
diff --git a/Lang/Burlesque/Runtime-evaluation b/Lang/Burlesque/Runtime-evaluation
new file mode 120000
index 0000000000..21653fcf0e
--- /dev/null
+++ b/Lang/Burlesque/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/Burlesque
\ No newline at end of file
diff --git a/Lang/Burlesque/Sequence-of-non-squares b/Lang/Burlesque/Sequence-of-non-squares
new file mode 120000
index 0000000000..f0e55cb1bd
--- /dev/null
+++ b/Lang/Burlesque/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Burlesque
\ No newline at end of file
diff --git a/Lang/C++/Binary-digits b/Lang/C++/Binary-digits
new file mode 120000
index 0000000000..4c4efe1ef0
--- /dev/null
+++ b/Lang/C++/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/C++
\ No newline at end of file
diff --git a/Lang/C++/Catalan-numbers b/Lang/C++/Catalan-numbers
new file mode 120000
index 0000000000..7133711e19
--- /dev/null
+++ b/Lang/C++/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/C++
\ No newline at end of file
diff --git a/Lang/C++/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N b/Lang/C++/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N
deleted file mode 120000
index db20267163..0000000000
--- a/Lang/C++/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N/C++
\ No newline at end of file
diff --git a/Lang/C++/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N- b/Lang/C++/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-
new file mode 120000
index 0000000000..880c338eb0
--- /dev/null
+++ b/Lang/C++/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-/C++
\ No newline at end of file
diff --git a/Lang/C++/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2 b/Lang/C++/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2
deleted file mode 120000
index dcff703dc9..0000000000
--- a/Lang/C++/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2/C++
\ No newline at end of file
diff --git a/Lang/C++/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2- b/Lang/C++/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2-
new file mode 120000
index 0000000000..5e07fbbb71
--- /dev/null
+++ b/Lang/C++/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2-
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2-/C++
\ No newline at end of file
diff --git a/Lang/C++/Copy-a-string b/Lang/C++/Copy-a-string
new file mode 120000
index 0000000000..a190e3bfae
--- /dev/null
+++ b/Lang/C++/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/C++
\ No newline at end of file
diff --git a/Lang/C++/Environment-variables b/Lang/C++/Environment-variables
new file mode 120000
index 0000000000..b2ee939a9f
--- /dev/null
+++ b/Lang/C++/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/C++
\ No newline at end of file
diff --git a/Lang/C++/Execute-a-Markov-algorithm b/Lang/C++/Execute-a-Markov-algorithm
new file mode 120000
index 0000000000..116103d7b8
--- /dev/null
+++ b/Lang/C++/Execute-a-Markov-algorithm
@@ -0,0 +1 @@
+../../Task/Execute-a-Markov-algorithm/C++
\ No newline at end of file
diff --git a/Lang/C++/Guess-the-number-With-feedback--player- b/Lang/C++/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..7017528b35
--- /dev/null
+++ b/Lang/C++/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/C++
\ No newline at end of file
diff --git a/Lang/C++/Guess-the-number-With-feedback-player b/Lang/C++/Guess-the-number-With-feedback-player
deleted file mode 120000
index 7cfb075480..0000000000
--- a/Lang/C++/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/C++
\ No newline at end of file
diff --git a/Lang/C++/Named-parameters b/Lang/C++/Named-parameters
new file mode 120000
index 0000000000..8a704a4613
--- /dev/null
+++ b/Lang/C++/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/C++
\ No newline at end of file
diff --git a/Lang/C++/Non-decimal-radices-Convert b/Lang/C++/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..89e1bc8c21
--- /dev/null
+++ b/Lang/C++/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/C++
\ No newline at end of file
diff --git a/Lang/C++/Non-decimal-radices-Input b/Lang/C++/Non-decimal-radices-Input
new file mode 120000
index 0000000000..86b5f543a9
--- /dev/null
+++ b/Lang/C++/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/C++
\ No newline at end of file
diff --git a/Lang/C++/Non-decimal-radices-Output b/Lang/C++/Non-decimal-radices-Output
new file mode 120000
index 0000000000..975a713d40
--- /dev/null
+++ b/Lang/C++/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/C++
\ No newline at end of file
diff --git a/Lang/C++/Nth-root b/Lang/C++/Nth-root
new file mode 120000
index 0000000000..2d00c0c7d9
--- /dev/null
+++ b/Lang/C++/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/C++
\ No newline at end of file
diff --git a/Lang/C++/Null-object b/Lang/C++/Null-object
new file mode 120000
index 0000000000..71329df685
--- /dev/null
+++ b/Lang/C++/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/C++
\ No newline at end of file
diff --git a/Lang/C++/Number-names b/Lang/C++/Number-names
new file mode 120000
index 0000000000..7ff92df008
--- /dev/null
+++ b/Lang/C++/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/C++
\ No newline at end of file
diff --git a/Lang/C++/Number-reversal-game b/Lang/C++/Number-reversal-game
new file mode 120000
index 0000000000..6f16e0609d
--- /dev/null
+++ b/Lang/C++/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/C++
\ No newline at end of file
diff --git a/Lang/C++/Numerical-integration b/Lang/C++/Numerical-integration
new file mode 120000
index 0000000000..363e828dcb
--- /dev/null
+++ b/Lang/C++/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/C++
\ No newline at end of file
diff --git a/Lang/C++/Object-serialization b/Lang/C++/Object-serialization
new file mode 120000
index 0000000000..9c653956e4
--- /dev/null
+++ b/Lang/C++/Object-serialization
@@ -0,0 +1 @@
+../../Task/Object-serialization/C++
\ No newline at end of file
diff --git a/Lang/C++/One-dimensional-cellular-automata b/Lang/C++/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..c5da9a9449
--- /dev/null
+++ b/Lang/C++/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/C++
\ No newline at end of file
diff --git a/Lang/C++/One-of-n-lines-in-a-file b/Lang/C++/One-of-n-lines-in-a-file
new file mode 120000
index 0000000000..693f874f93
--- /dev/null
+++ b/Lang/C++/One-of-n-lines-in-a-file
@@ -0,0 +1 @@
+../../Task/One-of-n-lines-in-a-file/C++
\ No newline at end of file
diff --git a/Lang/C++/Optional-parameters b/Lang/C++/Optional-parameters
new file mode 120000
index 0000000000..e13f0fda77
--- /dev/null
+++ b/Lang/C++/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/C++
\ No newline at end of file
diff --git a/Lang/C++/Order-two-numerical-lists b/Lang/C++/Order-two-numerical-lists
new file mode 120000
index 0000000000..a010c3f525
--- /dev/null
+++ b/Lang/C++/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/C++
\ No newline at end of file
diff --git a/Lang/C++/Palindrome-detection b/Lang/C++/Palindrome-detection
new file mode 120000
index 0000000000..a29451113b
--- /dev/null
+++ b/Lang/C++/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/C++
\ No newline at end of file
diff --git a/Lang/C++/Pangram-checker b/Lang/C++/Pangram-checker
new file mode 120000
index 0000000000..9b07811025
--- /dev/null
+++ b/Lang/C++/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/C++
\ No newline at end of file
diff --git a/Lang/C++/Parallel-calculations b/Lang/C++/Parallel-calculations
new file mode 120000
index 0000000000..62cffef510
--- /dev/null
+++ b/Lang/C++/Parallel-calculations
@@ -0,0 +1 @@
+../../Task/Parallel-calculations/C++
\ No newline at end of file
diff --git a/Lang/C++/Parametric-polymorphism b/Lang/C++/Parametric-polymorphism
new file mode 120000
index 0000000000..9a5567b356
--- /dev/null
+++ b/Lang/C++/Parametric-polymorphism
@@ -0,0 +1 @@
+../../Task/Parametric-polymorphism/C++
\ No newline at end of file
diff --git a/Lang/C++/Parsing-RPN-calculator-algorithm b/Lang/C++/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..732f1a6a97
--- /dev/null
+++ b/Lang/C++/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/C++
\ No newline at end of file
diff --git a/Lang/C++/Partial-function-application b/Lang/C++/Partial-function-application
new file mode 120000
index 0000000000..722dbd82e2
--- /dev/null
+++ b/Lang/C++/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/C++
\ No newline at end of file
diff --git a/Lang/C++/Pascals-triangle b/Lang/C++/Pascals-triangle
new file mode 120000
index 0000000000..69e2c42758
--- /dev/null
+++ b/Lang/C++/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/C++
\ No newline at end of file
diff --git a/Lang/C++/Percentage-difference-between-images b/Lang/C++/Percentage-difference-between-images
new file mode 120000
index 0000000000..2087e1f950
--- /dev/null
+++ b/Lang/C++/Percentage-difference-between-images
@@ -0,0 +1 @@
+../../Task/Percentage-difference-between-images/C++
\ No newline at end of file
diff --git a/Lang/C++/Perfect-numbers b/Lang/C++/Perfect-numbers
new file mode 120000
index 0000000000..2cebdbe96a
--- /dev/null
+++ b/Lang/C++/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/C++
\ No newline at end of file
diff --git a/Lang/C++/Permutations b/Lang/C++/Permutations
new file mode 120000
index 0000000000..55c1e367db
--- /dev/null
+++ b/Lang/C++/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/C++
\ No newline at end of file
diff --git a/Lang/C++/Playing-cards b/Lang/C++/Playing-cards
new file mode 120000
index 0000000000..aa2fb23471
--- /dev/null
+++ b/Lang/C++/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/C++
\ No newline at end of file
diff --git a/Lang/C++/Polymorphic-copy b/Lang/C++/Polymorphic-copy
new file mode 120000
index 0000000000..987059721b
--- /dev/null
+++ b/Lang/C++/Polymorphic-copy
@@ -0,0 +1 @@
+../../Task/Polymorphic-copy/C++
\ No newline at end of file
diff --git a/Lang/C++/Polymorphism b/Lang/C++/Polymorphism
new file mode 120000
index 0000000000..afea8b9eb3
--- /dev/null
+++ b/Lang/C++/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/C++
\ No newline at end of file
diff --git a/Lang/C++/Polynomial-long-division b/Lang/C++/Polynomial-long-division
new file mode 120000
index 0000000000..aac66f1d55
--- /dev/null
+++ b/Lang/C++/Polynomial-long-division
@@ -0,0 +1 @@
+../../Task/Polynomial-long-division/C++
\ No newline at end of file
diff --git a/Lang/C++/Power-set b/Lang/C++/Power-set
new file mode 120000
index 0000000000..7555c2bbf9
--- /dev/null
+++ b/Lang/C++/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/C++
\ No newline at end of file
diff --git a/Lang/C++/Price-fraction b/Lang/C++/Price-fraction
new file mode 120000
index 0000000000..1f7ad2b111
--- /dev/null
+++ b/Lang/C++/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/C++
\ No newline at end of file
diff --git a/Lang/C++/Primality-by-trial-division b/Lang/C++/Primality-by-trial-division
new file mode 120000
index 0000000000..312a6a70db
--- /dev/null
+++ b/Lang/C++/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/C++
\ No newline at end of file
diff --git a/Lang/C++/Prime-decomposition b/Lang/C++/Prime-decomposition
new file mode 120000
index 0000000000..1b7df68c75
--- /dev/null
+++ b/Lang/C++/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/C++
\ No newline at end of file
diff --git a/Lang/C++/Priority-queue b/Lang/C++/Priority-queue
new file mode 120000
index 0000000000..67da312b13
--- /dev/null
+++ b/Lang/C++/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/C++
\ No newline at end of file
diff --git a/Lang/C++/Probabilistic-choice b/Lang/C++/Probabilistic-choice
new file mode 120000
index 0000000000..904e754918
--- /dev/null
+++ b/Lang/C++/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/C++
\ No newline at end of file
diff --git a/Lang/C++/Program-name b/Lang/C++/Program-name
new file mode 120000
index 0000000000..b23c86f664
--- /dev/null
+++ b/Lang/C++/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/C++
\ No newline at end of file
diff --git a/Lang/C++/Program-termination b/Lang/C++/Program-termination
new file mode 120000
index 0000000000..5e4b665e42
--- /dev/null
+++ b/Lang/C++/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/C++
\ No newline at end of file
diff --git a/Lang/C++/Quaternion-type b/Lang/C++/Quaternion-type
new file mode 120000
index 0000000000..053fd1142a
--- /dev/null
+++ b/Lang/C++/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/C++
\ No newline at end of file
diff --git a/Lang/C++/Queue-Definition b/Lang/C++/Queue-Definition
new file mode 120000
index 0000000000..15f26b723e
--- /dev/null
+++ b/Lang/C++/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/C++
\ No newline at end of file
diff --git a/Lang/C++/Queue-Usage b/Lang/C++/Queue-Usage
new file mode 120000
index 0000000000..8b0f779a62
--- /dev/null
+++ b/Lang/C++/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/C++
\ No newline at end of file
diff --git a/Lang/C++/Random-numbers b/Lang/C++/Random-numbers
new file mode 120000
index 0000000000..f61731c8c2
--- /dev/null
+++ b/Lang/C++/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/C++
\ No newline at end of file
diff --git a/Lang/C++/Range-expansion b/Lang/C++/Range-expansion
new file mode 120000
index 0000000000..633a304f4e
--- /dev/null
+++ b/Lang/C++/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/C++
\ No newline at end of file
diff --git a/Lang/C++/Range-extraction b/Lang/C++/Range-extraction
new file mode 120000
index 0000000000..fde051eed7
--- /dev/null
+++ b/Lang/C++/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/C++
\ No newline at end of file
diff --git a/Lang/C++/Rate-counter b/Lang/C++/Rate-counter
new file mode 120000
index 0000000000..8698f5f46b
--- /dev/null
+++ b/Lang/C++/Rate-counter
@@ -0,0 +1 @@
+../../Task/Rate-counter/C++
\ No newline at end of file
diff --git a/Lang/C++/Read-a-configuration-file b/Lang/C++/Read-a-configuration-file
new file mode 120000
index 0000000000..fb4377b5fa
--- /dev/null
+++ b/Lang/C++/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/C++
\ No newline at end of file
diff --git a/Lang/C++/Read-a-file-line-by-line b/Lang/C++/Read-a-file-line-by-line
new file mode 120000
index 0000000000..2ec24bfd11
--- /dev/null
+++ b/Lang/C++/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/C++
\ No newline at end of file
diff --git a/Lang/C++/Read-entire-file b/Lang/C++/Read-entire-file
new file mode 120000
index 0000000000..697e252fe9
--- /dev/null
+++ b/Lang/C++/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/C++
\ No newline at end of file
diff --git a/Lang/C++/Real-constants-and-functions b/Lang/C++/Real-constants-and-functions
new file mode 120000
index 0000000000..8d1aeb5ea2
--- /dev/null
+++ b/Lang/C++/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/C++
\ No newline at end of file
diff --git a/Lang/C++/Reduced-row-echelon-form b/Lang/C++/Reduced-row-echelon-form
new file mode 120000
index 0000000000..2e42f1fcb1
--- /dev/null
+++ b/Lang/C++/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/C++
\ No newline at end of file
diff --git a/Lang/C++/Regular-expressions b/Lang/C++/Regular-expressions
new file mode 120000
index 0000000000..b11606b2ef
--- /dev/null
+++ b/Lang/C++/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/C++
\ No newline at end of file
diff --git a/Lang/C++/Remove-duplicate-elements b/Lang/C++/Remove-duplicate-elements
new file mode 120000
index 0000000000..8f30683ab0
--- /dev/null
+++ b/Lang/C++/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/C++
\ No newline at end of file
diff --git a/Lang/C++/Remove-lines-from-a-file b/Lang/C++/Remove-lines-from-a-file
new file mode 120000
index 0000000000..ed5228177c
--- /dev/null
+++ b/Lang/C++/Remove-lines-from-a-file
@@ -0,0 +1 @@
+../../Task/Remove-lines-from-a-file/C++
\ No newline at end of file
diff --git a/Lang/C++/Rename-a-file b/Lang/C++/Rename-a-file
new file mode 120000
index 0000000000..67aa6cab9a
--- /dev/null
+++ b/Lang/C++/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/C++
\ No newline at end of file
diff --git a/Lang/C++/Repeat-a-string b/Lang/C++/Repeat-a-string
new file mode 120000
index 0000000000..1b443871db
--- /dev/null
+++ b/Lang/C++/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/C++
\ No newline at end of file
diff --git a/Lang/C++/Respond-to-an-unknown-method-call b/Lang/C++/Respond-to-an-unknown-method-call
new file mode 120000
index 0000000000..729ad39644
--- /dev/null
+++ b/Lang/C++/Respond-to-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Respond-to-an-unknown-method-call/C++
\ No newline at end of file
diff --git a/Lang/C++/Return-multiple-values b/Lang/C++/Return-multiple-values
new file mode 120000
index 0000000000..721704ebb2
--- /dev/null
+++ b/Lang/C++/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/C++
\ No newline at end of file
diff --git a/Lang/C++/Reverse-a-string b/Lang/C++/Reverse-a-string
new file mode 120000
index 0000000000..a9b89b0338
--- /dev/null
+++ b/Lang/C++/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/C++
\ No newline at end of file
diff --git a/Lang/C++/Rock-paper-scissors b/Lang/C++/Rock-paper-scissors
new file mode 120000
index 0000000000..a951aba2f1
--- /dev/null
+++ b/Lang/C++/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/C++
\ No newline at end of file
diff --git a/Lang/C++/Roman-numerals-Decode b/Lang/C++/Roman-numerals-Decode
new file mode 120000
index 0000000000..9b9287db7b
--- /dev/null
+++ b/Lang/C++/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/C++
\ No newline at end of file
diff --git a/Lang/C++/Roman-numerals-Encode b/Lang/C++/Roman-numerals-Encode
new file mode 120000
index 0000000000..46f0422e74
--- /dev/null
+++ b/Lang/C++/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/C++
\ No newline at end of file
diff --git a/Lang/C++/Roots-of-a-function b/Lang/C++/Roots-of-a-function
new file mode 120000
index 0000000000..8e16377d49
--- /dev/null
+++ b/Lang/C++/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/C++
\ No newline at end of file
diff --git a/Lang/C++/Roots-of-a-quadratic-function b/Lang/C++/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..cd213a4bcd
--- /dev/null
+++ b/Lang/C++/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/C++
\ No newline at end of file
diff --git a/Lang/C++/Roots-of-unity b/Lang/C++/Roots-of-unity
new file mode 120000
index 0000000000..90ef7954e2
--- /dev/null
+++ b/Lang/C++/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/C++
\ No newline at end of file
diff --git a/Lang/C++/Rosetta-Code-Rank-languages-by-popularity b/Lang/C++/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..2989c4c31e
--- /dev/null
+++ b/Lang/C++/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/C++
\ No newline at end of file
diff --git a/Lang/C++/Rot-13 b/Lang/C++/Rot-13
new file mode 120000
index 0000000000..a0426842ad
--- /dev/null
+++ b/Lang/C++/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/C++
\ No newline at end of file
diff --git a/Lang/C++/Run-length-encoding b/Lang/C++/Run-length-encoding
new file mode 120000
index 0000000000..71b286b493
--- /dev/null
+++ b/Lang/C++/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/C++
\ No newline at end of file
diff --git a/Lang/C++/SEDOLs b/Lang/C++/SEDOLs
new file mode 120000
index 0000000000..bf8c9763e3
--- /dev/null
+++ b/Lang/C++/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/C++
\ No newline at end of file
diff --git a/Lang/C++/Semordnilap b/Lang/C++/Semordnilap
new file mode 120000
index 0000000000..0655152d9a
--- /dev/null
+++ b/Lang/C++/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/C++
\ No newline at end of file
diff --git a/Lang/C++/Send-email b/Lang/C++/Send-email
new file mode 120000
index 0000000000..fb7a7cc0b0
--- /dev/null
+++ b/Lang/C++/Send-email
@@ -0,0 +1 @@
+../../Task/Send-email/C++
\ No newline at end of file
diff --git a/Lang/C++/Sequence-of-non-squares b/Lang/C++/Sequence-of-non-squares
new file mode 120000
index 0000000000..e4dddfdcb4
--- /dev/null
+++ b/Lang/C++/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/C++
\ No newline at end of file
diff --git a/Lang/C++/Set b/Lang/C++/Set
new file mode 120000
index 0000000000..88b3cee7a7
--- /dev/null
+++ b/Lang/C++/Set
@@ -0,0 +1 @@
+../../Task/Set/C++
\ No newline at end of file
diff --git a/Lang/C-sharp/Arbitrary-precision-integers--included- b/Lang/C-sharp/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..e9bedb7cb7
--- /dev/null
+++ b/Lang/C-sharp/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Arbitrary-precision-integers-included b/Lang/C-sharp/Arbitrary-precision-integers-included
deleted file mode 120000
index 31bcb5946e..0000000000
--- a/Lang/C-sharp/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/One-dimensional-cellular-automata b/Lang/C-sharp/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..b4d7bf29d7
--- /dev/null
+++ b/Lang/C-sharp/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Partial-function-application b/Lang/C-sharp/Partial-function-application
new file mode 120000
index 0000000000..47eaba67ae
--- /dev/null
+++ b/Lang/C-sharp/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Polynomial-regression b/Lang/C-sharp/Polynomial-regression
new file mode 120000
index 0000000000..e0fef468e4
--- /dev/null
+++ b/Lang/C-sharp/Polynomial-regression
@@ -0,0 +1 @@
+../../Task/Polynomial-regression/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Quaternion-type b/Lang/C-sharp/Quaternion-type
new file mode 120000
index 0000000000..53c4bd6185
--- /dev/null
+++ b/Lang/C-sharp/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Queue-Definition b/Lang/C-sharp/Queue-Definition
new file mode 120000
index 0000000000..1052856d6c
--- /dev/null
+++ b/Lang/C-sharp/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Queue-Usage b/Lang/C-sharp/Queue-Usage
new file mode 120000
index 0000000000..699aefe778
--- /dev/null
+++ b/Lang/C-sharp/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Random-number-generator--device- b/Lang/C-sharp/Random-number-generator--device-
new file mode 120000
index 0000000000..b95bc0959c
--- /dev/null
+++ b/Lang/C-sharp/Random-number-generator--device-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--device-/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Random-numbers b/Lang/C-sharp/Random-numbers
new file mode 120000
index 0000000000..6adca58d67
--- /dev/null
+++ b/Lang/C-sharp/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Range-extraction b/Lang/C-sharp/Range-extraction
new file mode 120000
index 0000000000..cf2985c99c
--- /dev/null
+++ b/Lang/C-sharp/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Read-a-file-line-by-line b/Lang/C-sharp/Read-a-file-line-by-line
new file mode 120000
index 0000000000..8a62edf17e
--- /dev/null
+++ b/Lang/C-sharp/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Read-a-specific-line-from-a-file b/Lang/C-sharp/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..25823f8132
--- /dev/null
+++ b/Lang/C-sharp/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Read-entire-file b/Lang/C-sharp/Read-entire-file
new file mode 120000
index 0000000000..d9c2b7d9fa
--- /dev/null
+++ b/Lang/C-sharp/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Real-constants-and-functions b/Lang/C-sharp/Real-constants-and-functions
new file mode 120000
index 0000000000..a421c0a239
--- /dev/null
+++ b/Lang/C-sharp/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Regular-expressions b/Lang/C-sharp/Regular-expressions
new file mode 120000
index 0000000000..3746fb2dc9
--- /dev/null
+++ b/Lang/C-sharp/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Remove-duplicate-elements b/Lang/C-sharp/Remove-duplicate-elements
new file mode 120000
index 0000000000..b45a34c6af
--- /dev/null
+++ b/Lang/C-sharp/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Rename-a-file b/Lang/C-sharp/Rename-a-file
new file mode 120000
index 0000000000..55f359fca7
--- /dev/null
+++ b/Lang/C-sharp/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Repeat-a-string b/Lang/C-sharp/Repeat-a-string
new file mode 120000
index 0000000000..d9e9dce863
--- /dev/null
+++ b/Lang/C-sharp/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/C-sharp
\ No newline at end of file
diff --git a/Lang/C-sharp/Set-of-real-numbers b/Lang/C-sharp/Set-of-real-numbers
new file mode 120000
index 0000000000..7071ac26f2
--- /dev/null
+++ b/Lang/C-sharp/Set-of-real-numbers
@@ -0,0 +1 @@
+../../Task/Set-of-real-numbers/C-sharp
\ No newline at end of file
diff --git a/Lang/C/Arbitrary-precision-integers--included- b/Lang/C/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..16e09813d0
--- /dev/null
+++ b/Lang/C/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/C
\ No newline at end of file
diff --git a/Lang/C/Arbitrary-precision-integers-included b/Lang/C/Arbitrary-precision-integers-included
deleted file mode 120000
index d8ca326673..0000000000
--- a/Lang/C/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/C
\ No newline at end of file
diff --git a/Lang/C/Binary-digits b/Lang/C/Binary-digits
new file mode 120000
index 0000000000..c8cc102a41
--- /dev/null
+++ b/Lang/C/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/C
\ No newline at end of file
diff --git a/Lang/C/Brownian-tree b/Lang/C/Brownian-tree
new file mode 120000
index 0000000000..001c00ce81
--- /dev/null
+++ b/Lang/C/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/C
\ No newline at end of file
diff --git a/Lang/C/Catalan-numbers b/Lang/C/Catalan-numbers
new file mode 120000
index 0000000000..95f525bb6d
--- /dev/null
+++ b/Lang/C/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/C
\ No newline at end of file
diff --git a/Lang/C/Copy-a-string b/Lang/C/Copy-a-string
new file mode 120000
index 0000000000..0dae64bfda
--- /dev/null
+++ b/Lang/C/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/C
\ No newline at end of file
diff --git a/Lang/C/Dragon-curve b/Lang/C/Dragon-curve
new file mode 120000
index 0000000000..3edeb4f8d3
--- /dev/null
+++ b/Lang/C/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/C
\ No newline at end of file
diff --git a/Lang/C/Environment-variables b/Lang/C/Environment-variables
new file mode 120000
index 0000000000..25d9f46770
--- /dev/null
+++ b/Lang/C/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/C
\ No newline at end of file
diff --git a/Lang/C/Execute-a-Markov-algorithm b/Lang/C/Execute-a-Markov-algorithm
new file mode 120000
index 0000000000..9e820d01e7
--- /dev/null
+++ b/Lang/C/Execute-a-Markov-algorithm
@@ -0,0 +1 @@
+../../Task/Execute-a-Markov-algorithm/C
\ No newline at end of file
diff --git a/Lang/C/Guess-the-number-With-feedback--player- b/Lang/C/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..144725d1c8
--- /dev/null
+++ b/Lang/C/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/C
\ No newline at end of file
diff --git a/Lang/C/Guess-the-number-With-feedback-player b/Lang/C/Guess-the-number-With-feedback-player
deleted file mode 120000
index 9c42d1c8d0..0000000000
--- a/Lang/C/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/C
\ No newline at end of file
diff --git a/Lang/C/N-queens-problem b/Lang/C/N-queens-problem
new file mode 120000
index 0000000000..694a64b2de
--- /dev/null
+++ b/Lang/C/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/C
\ No newline at end of file
diff --git a/Lang/C/Named-parameters b/Lang/C/Named-parameters
new file mode 120000
index 0000000000..8f33c75a62
--- /dev/null
+++ b/Lang/C/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/C
\ No newline at end of file
diff --git a/Lang/C/Non-continuous-subsequences b/Lang/C/Non-continuous-subsequences
new file mode 120000
index 0000000000..cf8d47e7a6
--- /dev/null
+++ b/Lang/C/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/C
\ No newline at end of file
diff --git a/Lang/C/Non-decimal-radices-Convert b/Lang/C/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..001852a43b
--- /dev/null
+++ b/Lang/C/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/C
\ No newline at end of file
diff --git a/Lang/C/Non-decimal-radices-Input b/Lang/C/Non-decimal-radices-Input
new file mode 120000
index 0000000000..8d46245f41
--- /dev/null
+++ b/Lang/C/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/C
\ No newline at end of file
diff --git a/Lang/C/Non-decimal-radices-Output b/Lang/C/Non-decimal-radices-Output
new file mode 120000
index 0000000000..6bbdd92fdf
--- /dev/null
+++ b/Lang/C/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/C
\ No newline at end of file
diff --git a/Lang/C/Nth-root b/Lang/C/Nth-root
new file mode 120000
index 0000000000..d2fccbd279
--- /dev/null
+++ b/Lang/C/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/C
\ No newline at end of file
diff --git a/Lang/C/Null-object b/Lang/C/Null-object
new file mode 120000
index 0000000000..5bd46a323e
--- /dev/null
+++ b/Lang/C/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/C
\ No newline at end of file
diff --git a/Lang/C/Number-names b/Lang/C/Number-names
new file mode 120000
index 0000000000..49e267f21b
--- /dev/null
+++ b/Lang/C/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/C
\ No newline at end of file
diff --git a/Lang/C/Number-reversal-game b/Lang/C/Number-reversal-game
new file mode 120000
index 0000000000..c80f6f34ea
--- /dev/null
+++ b/Lang/C/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/C
\ No newline at end of file
diff --git a/Lang/C/Numeric-error-propagation b/Lang/C/Numeric-error-propagation
new file mode 120000
index 0000000000..a5fe522b57
--- /dev/null
+++ b/Lang/C/Numeric-error-propagation
@@ -0,0 +1 @@
+../../Task/Numeric-error-propagation/C
\ No newline at end of file
diff --git a/Lang/C/Numerical-integration b/Lang/C/Numerical-integration
new file mode 120000
index 0000000000..fe8cc58cba
--- /dev/null
+++ b/Lang/C/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/C
\ No newline at end of file
diff --git a/Lang/C/Numerical-integration-Gauss-Legendre-Quadrature b/Lang/C/Numerical-integration-Gauss-Legendre-Quadrature
new file mode 120000
index 0000000000..05bc4bbda7
--- /dev/null
+++ b/Lang/C/Numerical-integration-Gauss-Legendre-Quadrature
@@ -0,0 +1 @@
+../../Task/Numerical-integration-Gauss-Legendre-Quadrature/C
\ No newline at end of file
diff --git a/Lang/C/One-dimensional-cellular-automata b/Lang/C/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..013cd67fa4
--- /dev/null
+++ b/Lang/C/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/C
\ No newline at end of file
diff --git a/Lang/C/One-of-n-lines-in-a-file b/Lang/C/One-of-n-lines-in-a-file
new file mode 120000
index 0000000000..797335c774
--- /dev/null
+++ b/Lang/C/One-of-n-lines-in-a-file
@@ -0,0 +1 @@
+../../Task/One-of-n-lines-in-a-file/C
\ No newline at end of file
diff --git a/Lang/C/OpenGL b/Lang/C/OpenGL
new file mode 120000
index 0000000000..b8ed83bbd9
--- /dev/null
+++ b/Lang/C/OpenGL
@@ -0,0 +1 @@
+../../Task/OpenGL/C
\ No newline at end of file
diff --git a/Lang/C/Optional-parameters b/Lang/C/Optional-parameters
new file mode 120000
index 0000000000..985ab68c2c
--- /dev/null
+++ b/Lang/C/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/C
\ No newline at end of file
diff --git a/Lang/C/Order-two-numerical-lists b/Lang/C/Order-two-numerical-lists
new file mode 120000
index 0000000000..8dfa9d7e66
--- /dev/null
+++ b/Lang/C/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/C
\ No newline at end of file
diff --git a/Lang/C/Ordered-Partitions b/Lang/C/Ordered-Partitions
new file mode 120000
index 0000000000..a86063403b
--- /dev/null
+++ b/Lang/C/Ordered-Partitions
@@ -0,0 +1 @@
+../../Task/Ordered-Partitions/C
\ No newline at end of file
diff --git a/Lang/C/Palindrome-detection b/Lang/C/Palindrome-detection
new file mode 120000
index 0000000000..f6828b7d70
--- /dev/null
+++ b/Lang/C/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/C
\ No newline at end of file
diff --git a/Lang/C/Pangram-checker b/Lang/C/Pangram-checker
new file mode 120000
index 0000000000..980fb1cf68
--- /dev/null
+++ b/Lang/C/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/C
\ No newline at end of file
diff --git a/Lang/C/Parallel-calculations b/Lang/C/Parallel-calculations
new file mode 120000
index 0000000000..72904889ae
--- /dev/null
+++ b/Lang/C/Parallel-calculations
@@ -0,0 +1 @@
+../../Task/Parallel-calculations/C
\ No newline at end of file
diff --git a/Lang/C/Parametric-polymorphism b/Lang/C/Parametric-polymorphism
new file mode 120000
index 0000000000..48ce1196a9
--- /dev/null
+++ b/Lang/C/Parametric-polymorphism
@@ -0,0 +1 @@
+../../Task/Parametric-polymorphism/C
\ No newline at end of file
diff --git a/Lang/C/Parsing-RPN-calculator-algorithm b/Lang/C/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..622dfa55d5
--- /dev/null
+++ b/Lang/C/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/C
\ No newline at end of file
diff --git a/Lang/C/Parsing-Shunting-yard-algorithm b/Lang/C/Parsing-Shunting-yard-algorithm
new file mode 120000
index 0000000000..1a67f3409a
--- /dev/null
+++ b/Lang/C/Parsing-Shunting-yard-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-Shunting-yard-algorithm/C
\ No newline at end of file
diff --git a/Lang/C/Partial-function-application b/Lang/C/Partial-function-application
new file mode 120000
index 0000000000..b1ee36ecec
--- /dev/null
+++ b/Lang/C/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/C
\ No newline at end of file
diff --git a/Lang/C/Pascals-triangle b/Lang/C/Pascals-triangle
new file mode 120000
index 0000000000..ba5aef532d
--- /dev/null
+++ b/Lang/C/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/C
\ No newline at end of file
diff --git a/Lang/C/Pascals-triangle-Puzzle b/Lang/C/Pascals-triangle-Puzzle
new file mode 120000
index 0000000000..89c5126606
--- /dev/null
+++ b/Lang/C/Pascals-triangle-Puzzle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle-Puzzle/C
\ No newline at end of file
diff --git a/Lang/C/Percentage-difference-between-images b/Lang/C/Percentage-difference-between-images
new file mode 120000
index 0000000000..efe1a18565
--- /dev/null
+++ b/Lang/C/Percentage-difference-between-images
@@ -0,0 +1 @@
+../../Task/Percentage-difference-between-images/C
\ No newline at end of file
diff --git a/Lang/C/Perfect-numbers b/Lang/C/Perfect-numbers
new file mode 120000
index 0000000000..67f4f421d1
--- /dev/null
+++ b/Lang/C/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/C
\ No newline at end of file
diff --git a/Lang/C/Permutation-test b/Lang/C/Permutation-test
new file mode 120000
index 0000000000..eacec90495
--- /dev/null
+++ b/Lang/C/Permutation-test
@@ -0,0 +1 @@
+../../Task/Permutation-test/C
\ No newline at end of file
diff --git a/Lang/C/Permutations b/Lang/C/Permutations
new file mode 120000
index 0000000000..de95e22bef
--- /dev/null
+++ b/Lang/C/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/C
\ No newline at end of file
diff --git a/Lang/C/Permutations-Derangements b/Lang/C/Permutations-Derangements
new file mode 120000
index 0000000000..3ff4785afa
--- /dev/null
+++ b/Lang/C/Permutations-Derangements
@@ -0,0 +1 @@
+../../Task/Permutations-Derangements/C
\ No newline at end of file
diff --git a/Lang/C/Pick-random-element b/Lang/C/Pick-random-element
new file mode 120000
index 0000000000..7a501c1a8d
--- /dev/null
+++ b/Lang/C/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/C
\ No newline at end of file
diff --git a/Lang/C/Playing-cards b/Lang/C/Playing-cards
new file mode 120000
index 0000000000..159c808d37
--- /dev/null
+++ b/Lang/C/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/C
\ No newline at end of file
diff --git a/Lang/C/Plot-coordinate-pairs b/Lang/C/Plot-coordinate-pairs
new file mode 120000
index 0000000000..c649099132
--- /dev/null
+++ b/Lang/C/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/C
\ No newline at end of file
diff --git a/Lang/C/Polymorphic-copy b/Lang/C/Polymorphic-copy
new file mode 120000
index 0000000000..a9d90b2ccf
--- /dev/null
+++ b/Lang/C/Polymorphic-copy
@@ -0,0 +1 @@
+../../Task/Polymorphic-copy/C
\ No newline at end of file
diff --git a/Lang/C/Polynomial-long-division b/Lang/C/Polynomial-long-division
new file mode 120000
index 0000000000..8f35177d30
--- /dev/null
+++ b/Lang/C/Polynomial-long-division
@@ -0,0 +1 @@
+../../Task/Polynomial-long-division/C
\ No newline at end of file
diff --git a/Lang/C/Polynomial-regression b/Lang/C/Polynomial-regression
new file mode 120000
index 0000000000..5ecf76f232
--- /dev/null
+++ b/Lang/C/Polynomial-regression
@@ -0,0 +1 @@
+../../Task/Polynomial-regression/C
\ No newline at end of file
diff --git a/Lang/C/Power-set b/Lang/C/Power-set
new file mode 120000
index 0000000000..43cfb47ccc
--- /dev/null
+++ b/Lang/C/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/C
\ No newline at end of file
diff --git a/Lang/C/Price-fraction b/Lang/C/Price-fraction
new file mode 120000
index 0000000000..3eae9550ae
--- /dev/null
+++ b/Lang/C/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/C
\ No newline at end of file
diff --git a/Lang/C/Primality-by-trial-division b/Lang/C/Primality-by-trial-division
new file mode 120000
index 0000000000..cbb10072ab
--- /dev/null
+++ b/Lang/C/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/C
\ No newline at end of file
diff --git a/Lang/C/Prime-decomposition b/Lang/C/Prime-decomposition
new file mode 120000
index 0000000000..a61d8294a6
--- /dev/null
+++ b/Lang/C/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/C
\ No newline at end of file
diff --git a/Lang/C/Priority-queue b/Lang/C/Priority-queue
new file mode 120000
index 0000000000..cc1cd4dfc7
--- /dev/null
+++ b/Lang/C/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/C
\ No newline at end of file
diff --git a/Lang/C/Probabilistic-choice b/Lang/C/Probabilistic-choice
new file mode 120000
index 0000000000..0fbe265148
--- /dev/null
+++ b/Lang/C/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/C
\ No newline at end of file
diff --git a/Lang/C/Problem-of-Apollonius b/Lang/C/Problem-of-Apollonius
new file mode 120000
index 0000000000..dc4f10e2a1
--- /dev/null
+++ b/Lang/C/Problem-of-Apollonius
@@ -0,0 +1 @@
+../../Task/Problem-of-Apollonius/C
\ No newline at end of file
diff --git a/Lang/C/Program-name b/Lang/C/Program-name
new file mode 120000
index 0000000000..3000d69906
--- /dev/null
+++ b/Lang/C/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/C
\ No newline at end of file
diff --git a/Lang/C/Program-termination b/Lang/C/Program-termination
new file mode 120000
index 0000000000..6ac5f91b56
--- /dev/null
+++ b/Lang/C/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/C
\ No newline at end of file
diff --git a/Lang/C/Pythagorean-triples b/Lang/C/Pythagorean-triples
new file mode 120000
index 0000000000..d30392eb25
--- /dev/null
+++ b/Lang/C/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/C
\ No newline at end of file
diff --git a/Lang/C/QR-decomposition b/Lang/C/QR-decomposition
new file mode 120000
index 0000000000..d7306be816
--- /dev/null
+++ b/Lang/C/QR-decomposition
@@ -0,0 +1 @@
+../../Task/QR-decomposition/C
\ No newline at end of file
diff --git a/Lang/C/Quaternion-type b/Lang/C/Quaternion-type
new file mode 120000
index 0000000000..25d9910755
--- /dev/null
+++ b/Lang/C/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/C
\ No newline at end of file
diff --git a/Lang/C/Queue-Definition b/Lang/C/Queue-Definition
new file mode 120000
index 0000000000..fab51c1a91
--- /dev/null
+++ b/Lang/C/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/C
\ No newline at end of file
diff --git a/Lang/C/Queue-Usage b/Lang/C/Queue-Usage
new file mode 120000
index 0000000000..d9ac2fbc76
--- /dev/null
+++ b/Lang/C/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/C
\ No newline at end of file
diff --git a/Lang/C/Random-number-generator--device- b/Lang/C/Random-number-generator--device-
new file mode 120000
index 0000000000..8bd3df339d
--- /dev/null
+++ b/Lang/C/Random-number-generator--device-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--device-/C
\ No newline at end of file
diff --git a/Lang/C/Random-number-generator--included- b/Lang/C/Random-number-generator--included-
new file mode 120000
index 0000000000..bdbcca09ff
--- /dev/null
+++ b/Lang/C/Random-number-generator--included-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--included-/C
\ No newline at end of file
diff --git a/Lang/C/Random-numbers b/Lang/C/Random-numbers
new file mode 120000
index 0000000000..adb1fd689f
--- /dev/null
+++ b/Lang/C/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/C
\ No newline at end of file
diff --git a/Lang/C/Range-expansion b/Lang/C/Range-expansion
new file mode 120000
index 0000000000..1140d72f24
--- /dev/null
+++ b/Lang/C/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/C
\ No newline at end of file
diff --git a/Lang/C/Range-extraction b/Lang/C/Range-extraction
new file mode 120000
index 0000000000..b352b73e46
--- /dev/null
+++ b/Lang/C/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/C
\ No newline at end of file
diff --git a/Lang/C/Rate-counter b/Lang/C/Rate-counter
new file mode 120000
index 0000000000..f05a5eea54
--- /dev/null
+++ b/Lang/C/Rate-counter
@@ -0,0 +1 @@
+../../Task/Rate-counter/C
\ No newline at end of file
diff --git a/Lang/C/Ray-casting-algorithm b/Lang/C/Ray-casting-algorithm
new file mode 120000
index 0000000000..5a359ab93c
--- /dev/null
+++ b/Lang/C/Ray-casting-algorithm
@@ -0,0 +1 @@
+../../Task/Ray-casting-algorithm/C
\ No newline at end of file
diff --git a/Lang/C/Read-a-file-line-by-line b/Lang/C/Read-a-file-line-by-line
new file mode 120000
index 0000000000..be1c0c246d
--- /dev/null
+++ b/Lang/C/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/C
\ No newline at end of file
diff --git a/Lang/C/Read-a-specific-line-from-a-file b/Lang/C/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..6b137ae5e4
--- /dev/null
+++ b/Lang/C/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/C
\ No newline at end of file
diff --git a/Lang/C/Read-entire-file b/Lang/C/Read-entire-file
new file mode 120000
index 0000000000..b337c72f3d
--- /dev/null
+++ b/Lang/C/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/C
\ No newline at end of file
diff --git a/Lang/C/Real-constants-and-functions b/Lang/C/Real-constants-and-functions
new file mode 120000
index 0000000000..f58a6884a9
--- /dev/null
+++ b/Lang/C/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/C
\ No newline at end of file
diff --git a/Lang/C/Record-sound b/Lang/C/Record-sound
new file mode 120000
index 0000000000..0c81d8bdcc
--- /dev/null
+++ b/Lang/C/Record-sound
@@ -0,0 +1 @@
+../../Task/Record-sound/C
\ No newline at end of file
diff --git a/Lang/C/Reduced-row-echelon-form b/Lang/C/Reduced-row-echelon-form
new file mode 120000
index 0000000000..6ddd3a0741
--- /dev/null
+++ b/Lang/C/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/C
\ No newline at end of file
diff --git a/Lang/C/Regular-expressions b/Lang/C/Regular-expressions
new file mode 120000
index 0000000000..58a2b89042
--- /dev/null
+++ b/Lang/C/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/C
\ No newline at end of file
diff --git a/Lang/C/Remove-duplicate-elements b/Lang/C/Remove-duplicate-elements
new file mode 120000
index 0000000000..6a8bfd3c18
--- /dev/null
+++ b/Lang/C/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/C
\ No newline at end of file
diff --git a/Lang/C/Remove-lines-from-a-file b/Lang/C/Remove-lines-from-a-file
new file mode 120000
index 0000000000..ed3acb2aa7
--- /dev/null
+++ b/Lang/C/Remove-lines-from-a-file
@@ -0,0 +1 @@
+../../Task/Remove-lines-from-a-file/C
\ No newline at end of file
diff --git a/Lang/C/Rename-a-file b/Lang/C/Rename-a-file
new file mode 120000
index 0000000000..beca9f058c
--- /dev/null
+++ b/Lang/C/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/C
\ No newline at end of file
diff --git a/Lang/C/Rendezvous b/Lang/C/Rendezvous
new file mode 120000
index 0000000000..88860d357a
--- /dev/null
+++ b/Lang/C/Rendezvous
@@ -0,0 +1 @@
+../../Task/Rendezvous/C
\ No newline at end of file
diff --git a/Lang/C/Repeat-a-string b/Lang/C/Repeat-a-string
new file mode 120000
index 0000000000..f74b4942ea
--- /dev/null
+++ b/Lang/C/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/C
\ No newline at end of file
diff --git a/Lang/C/Resistor-mesh b/Lang/C/Resistor-mesh
new file mode 120000
index 0000000000..0219d7c6ed
--- /dev/null
+++ b/Lang/C/Resistor-mesh
@@ -0,0 +1 @@
+../../Task/Resistor-mesh/C
\ No newline at end of file
diff --git a/Lang/C/Return-multiple-values b/Lang/C/Return-multiple-values
new file mode 120000
index 0000000000..599bccc39d
--- /dev/null
+++ b/Lang/C/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/C
\ No newline at end of file
diff --git a/Lang/C/Reverse-a-string b/Lang/C/Reverse-a-string
new file mode 120000
index 0000000000..2c6847db9e
--- /dev/null
+++ b/Lang/C/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/C
\ No newline at end of file
diff --git a/Lang/C/Rock-paper-scissors b/Lang/C/Rock-paper-scissors
new file mode 120000
index 0000000000..0719225ea9
--- /dev/null
+++ b/Lang/C/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/C
\ No newline at end of file
diff --git a/Lang/C/Roman-numerals-Decode b/Lang/C/Roman-numerals-Decode
new file mode 120000
index 0000000000..783df6549b
--- /dev/null
+++ b/Lang/C/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/C
\ No newline at end of file
diff --git a/Lang/C/Roman-numerals-Encode b/Lang/C/Roman-numerals-Encode
new file mode 120000
index 0000000000..9fe23f6358
--- /dev/null
+++ b/Lang/C/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/C
\ No newline at end of file
diff --git a/Lang/C/Roots-of-a-function b/Lang/C/Roots-of-a-function
new file mode 120000
index 0000000000..c27d8accc4
--- /dev/null
+++ b/Lang/C/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/C
\ No newline at end of file
diff --git a/Lang/C/Roots-of-a-quadratic-function b/Lang/C/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..bf0bfa2766
--- /dev/null
+++ b/Lang/C/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/C
\ No newline at end of file
diff --git a/Lang/C/Roots-of-unity b/Lang/C/Roots-of-unity
new file mode 120000
index 0000000000..e4cf222f32
--- /dev/null
+++ b/Lang/C/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/C
\ No newline at end of file
diff --git a/Lang/C/Rosetta-Code-Rank-languages-by-popularity b/Lang/C/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..51e3f632cf
--- /dev/null
+++ b/Lang/C/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/C
\ No newline at end of file
diff --git a/Lang/C/Rot-13 b/Lang/C/Rot-13
new file mode 120000
index 0000000000..387bcc3945
--- /dev/null
+++ b/Lang/C/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/C
\ No newline at end of file
diff --git a/Lang/C/Run-length-encoding b/Lang/C/Run-length-encoding
new file mode 120000
index 0000000000..f434b52f0e
--- /dev/null
+++ b/Lang/C/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/C
\ No newline at end of file
diff --git a/Lang/C/S-Expressions b/Lang/C/S-Expressions
new file mode 120000
index 0000000000..aba050c661
--- /dev/null
+++ b/Lang/C/S-Expressions
@@ -0,0 +1 @@
+../../Task/S-Expressions/C
\ No newline at end of file
diff --git a/Lang/C/SEDOLs b/Lang/C/SEDOLs
new file mode 120000
index 0000000000..c44dbd8434
--- /dev/null
+++ b/Lang/C/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/C
\ No newline at end of file
diff --git a/Lang/C/Safe-addition b/Lang/C/Safe-addition
new file mode 120000
index 0000000000..0e41e2203e
--- /dev/null
+++ b/Lang/C/Safe-addition
@@ -0,0 +1 @@
+../../Task/Safe-addition/C
\ No newline at end of file
diff --git a/Lang/C/Same-Fringe b/Lang/C/Same-Fringe
new file mode 120000
index 0000000000..20876461a1
--- /dev/null
+++ b/Lang/C/Same-Fringe
@@ -0,0 +1 @@
+../../Task/Same-Fringe/C
\ No newline at end of file
diff --git a/Lang/C/Scope-modifiers b/Lang/C/Scope-modifiers
new file mode 120000
index 0000000000..d9a541266d
--- /dev/null
+++ b/Lang/C/Scope-modifiers
@@ -0,0 +1 @@
+../../Task/Scope-modifiers/C
\ No newline at end of file
diff --git a/Lang/C/Secure-temporary-file b/Lang/C/Secure-temporary-file
new file mode 120000
index 0000000000..e77b0e7b47
--- /dev/null
+++ b/Lang/C/Secure-temporary-file
@@ -0,0 +1 @@
+../../Task/Secure-temporary-file/C
\ No newline at end of file
diff --git a/Lang/C/Self-describing-numbers b/Lang/C/Self-describing-numbers
new file mode 120000
index 0000000000..96a8cb7a96
--- /dev/null
+++ b/Lang/C/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/C
\ No newline at end of file
diff --git a/Lang/C/Self-referential-sequence b/Lang/C/Self-referential-sequence
new file mode 120000
index 0000000000..c53e6eb6fb
--- /dev/null
+++ b/Lang/C/Self-referential-sequence
@@ -0,0 +1 @@
+../../Task/Self-referential-sequence/C
\ No newline at end of file
diff --git a/Lang/C/Semordnilap b/Lang/C/Semordnilap
new file mode 120000
index 0000000000..f3458d850c
--- /dev/null
+++ b/Lang/C/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/C
\ No newline at end of file
diff --git a/Lang/C/Sequence-of-non-squares b/Lang/C/Sequence-of-non-squares
new file mode 120000
index 0000000000..17bda2b2df
--- /dev/null
+++ b/Lang/C/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/C
\ No newline at end of file
diff --git a/Lang/C/Set b/Lang/C/Set
new file mode 120000
index 0000000000..d2c78f9f33
--- /dev/null
+++ b/Lang/C/Set
@@ -0,0 +1 @@
+../../Task/Set/C
\ No newline at end of file
diff --git a/Lang/C/Set-consolidation b/Lang/C/Set-consolidation
new file mode 120000
index 0000000000..ee42aa01e5
--- /dev/null
+++ b/Lang/C/Set-consolidation
@@ -0,0 +1 @@
+../../Task/Set-consolidation/C
\ No newline at end of file
diff --git a/Lang/CMake/Primality-by-trial-division b/Lang/CMake/Primality-by-trial-division
new file mode 120000
index 0000000000..e4b66aaa6e
--- /dev/null
+++ b/Lang/CMake/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/CMake
\ No newline at end of file
diff --git a/Lang/CMake/Random-number-generator--included- b/Lang/CMake/Random-number-generator--included-
new file mode 120000
index 0000000000..81a5af9dd3
--- /dev/null
+++ b/Lang/CMake/Random-number-generator--included-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--included-/CMake
\ No newline at end of file
diff --git a/Lang/CMake/Read-entire-file b/Lang/CMake/Read-entire-file
new file mode 120000
index 0000000000..36899b43e1
--- /dev/null
+++ b/Lang/CMake/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/CMake
\ No newline at end of file
diff --git a/Lang/CMake/Return-multiple-values b/Lang/CMake/Return-multiple-values
new file mode 120000
index 0000000000..5b14768de1
--- /dev/null
+++ b/Lang/CMake/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/CMake
\ No newline at end of file
diff --git a/Lang/COBOL/Binary-digits b/Lang/COBOL/Binary-digits
new file mode 120000
index 0000000000..7cfec1d54d
--- /dev/null
+++ b/Lang/COBOL/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/One-dimensional-cellular-automata b/Lang/COBOL/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..a766c55613
--- /dev/null
+++ b/Lang/COBOL/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Primality-by-trial-division b/Lang/COBOL/Primality-by-trial-division
new file mode 120000
index 0000000000..3595516589
--- /dev/null
+++ b/Lang/COBOL/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/COBOL
\ No newline at end of file
diff --git a/Lang/COBOL/Reverse-a-string b/Lang/COBOL/Reverse-a-string
new file mode 120000
index 0000000000..9c676cdd46
--- /dev/null
+++ b/Lang/COBOL/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/COBOL
\ No newline at end of file
diff --git a/Lang/Cache-ObjectScript/Non-decimal-radices-Convert b/Lang/Cache-ObjectScript/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..1074d9540e
--- /dev/null
+++ b/Lang/Cache-ObjectScript/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/Cache-ObjectScript
\ No newline at end of file
diff --git a/Lang/Cache-ObjectScript/Rosetta-Code-Rank-languages-by-popularity b/Lang/Cache-ObjectScript/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..06bfcd3121
--- /dev/null
+++ b/Lang/Cache-ObjectScript/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/Cache-ObjectScript
\ No newline at end of file
diff --git a/Lang/Clean/Parametric-polymorphism b/Lang/Clean/Parametric-polymorphism
new file mode 120000
index 0000000000..ba5346c564
--- /dev/null
+++ b/Lang/Clean/Parametric-polymorphism
@@ -0,0 +1 @@
+../../Task/Parametric-polymorphism/Clean
\ No newline at end of file
diff --git a/Lang/Clipper/Price-fraction b/Lang/Clipper/Price-fraction
new file mode 120000
index 0000000000..150cf9cfb9
--- /dev/null
+++ b/Lang/Clipper/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/Clipper
\ No newline at end of file
diff --git a/Lang/Clojure/Arbitrary-precision-integers--included- b/Lang/Clojure/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..16490bf815
--- /dev/null
+++ b/Lang/Clojure/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Arbitrary-precision-integers-included b/Lang/Clojure/Arbitrary-precision-integers-included
deleted file mode 120000
index d219fdc615..0000000000
--- a/Lang/Clojure/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Binary-digits b/Lang/Clojure/Binary-digits
new file mode 120000
index 0000000000..b8fd55cc03
--- /dev/null
+++ b/Lang/Clojure/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Catalan-numbers b/Lang/Clojure/Catalan-numbers
new file mode 120000
index 0000000000..02383d2687
--- /dev/null
+++ b/Lang/Clojure/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Copy-a-string b/Lang/Clojure/Copy-a-string
new file mode 120000
index 0000000000..ebbcf4db75
--- /dev/null
+++ b/Lang/Clojure/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Environment-variables b/Lang/Clojure/Environment-variables
new file mode 120000
index 0000000000..92e021637b
--- /dev/null
+++ b/Lang/Clojure/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Guess-the-number-With-feedback--player- b/Lang/Clojure/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..3ff7c33b9e
--- /dev/null
+++ b/Lang/Clojure/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Guess-the-number-With-feedback-player b/Lang/Clojure/Guess-the-number-With-feedback-player
deleted file mode 120000
index 4336a484b4..0000000000
--- a/Lang/Clojure/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/N-queens-problem b/Lang/Clojure/N-queens-problem
new file mode 120000
index 0000000000..d4ca32d1f6
--- /dev/null
+++ b/Lang/Clojure/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Named-parameters b/Lang/Clojure/Named-parameters
new file mode 120000
index 0000000000..ddcb9b17b0
--- /dev/null
+++ b/Lang/Clojure/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Non-continuous-subsequences b/Lang/Clojure/Non-continuous-subsequences
new file mode 120000
index 0000000000..0f77f8ba73
--- /dev/null
+++ b/Lang/Clojure/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Non-decimal-radices-Output b/Lang/Clojure/Non-decimal-radices-Output
new file mode 120000
index 0000000000..4b373d665b
--- /dev/null
+++ b/Lang/Clojure/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Null-object b/Lang/Clojure/Null-object
new file mode 120000
index 0000000000..5450430f09
--- /dev/null
+++ b/Lang/Clojure/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Number-names b/Lang/Clojure/Number-names
new file mode 120000
index 0000000000..2db3f0de61
--- /dev/null
+++ b/Lang/Clojure/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Number-reversal-game b/Lang/Clojure/Number-reversal-game
new file mode 120000
index 0000000000..6c8134fc6e
--- /dev/null
+++ b/Lang/Clojure/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/One-dimensional-cellular-automata b/Lang/Clojure/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..38db04a93c
--- /dev/null
+++ b/Lang/Clojure/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/OpenGL b/Lang/Clojure/OpenGL
new file mode 120000
index 0000000000..cc70ea216e
--- /dev/null
+++ b/Lang/Clojure/OpenGL
@@ -0,0 +1 @@
+../../Task/OpenGL/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Optional-parameters b/Lang/Clojure/Optional-parameters
new file mode 120000
index 0000000000..f7ace168d2
--- /dev/null
+++ b/Lang/Clojure/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Palindrome-detection b/Lang/Clojure/Palindrome-detection
new file mode 120000
index 0000000000..be22b04019
--- /dev/null
+++ b/Lang/Clojure/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Pangram-checker b/Lang/Clojure/Pangram-checker
new file mode 120000
index 0000000000..a979eb7dfb
--- /dev/null
+++ b/Lang/Clojure/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Parallel-calculations b/Lang/Clojure/Parallel-calculations
new file mode 120000
index 0000000000..06c9129583
--- /dev/null
+++ b/Lang/Clojure/Parallel-calculations
@@ -0,0 +1 @@
+../../Task/Parallel-calculations/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Parsing-RPN-calculator-algorithm b/Lang/Clojure/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..065ac59356
--- /dev/null
+++ b/Lang/Clojure/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Partial-function-application b/Lang/Clojure/Partial-function-application
new file mode 120000
index 0000000000..393699bf20
--- /dev/null
+++ b/Lang/Clojure/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Pascals-triangle b/Lang/Clojure/Pascals-triangle
new file mode 120000
index 0000000000..ac6a496c39
--- /dev/null
+++ b/Lang/Clojure/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Pascals-triangle-Puzzle b/Lang/Clojure/Pascals-triangle-Puzzle
new file mode 120000
index 0000000000..4277b0b2ce
--- /dev/null
+++ b/Lang/Clojure/Pascals-triangle-Puzzle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle-Puzzle/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Perfect-numbers b/Lang/Clojure/Perfect-numbers
new file mode 120000
index 0000000000..9613cdc05d
--- /dev/null
+++ b/Lang/Clojure/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Permutations b/Lang/Clojure/Permutations
new file mode 120000
index 0000000000..83788054e8
--- /dev/null
+++ b/Lang/Clojure/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Pick-random-element b/Lang/Clojure/Pick-random-element
new file mode 120000
index 0000000000..c091d536f7
--- /dev/null
+++ b/Lang/Clojure/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Playing-cards b/Lang/Clojure/Playing-cards
new file mode 120000
index 0000000000..1567e4a160
--- /dev/null
+++ b/Lang/Clojure/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Polymorphism b/Lang/Clojure/Polymorphism
new file mode 120000
index 0000000000..fb577f3af8
--- /dev/null
+++ b/Lang/Clojure/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Power-set b/Lang/Clojure/Power-set
new file mode 120000
index 0000000000..b98d4cde36
--- /dev/null
+++ b/Lang/Clojure/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Primality-by-trial-division b/Lang/Clojure/Primality-by-trial-division
new file mode 120000
index 0000000000..a18411b71e
--- /dev/null
+++ b/Lang/Clojure/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Prime-decomposition b/Lang/Clojure/Prime-decomposition
new file mode 120000
index 0000000000..d21c05edf7
--- /dev/null
+++ b/Lang/Clojure/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Probabilistic-choice b/Lang/Clojure/Probabilistic-choice
new file mode 120000
index 0000000000..9705cad905
--- /dev/null
+++ b/Lang/Clojure/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Program-name b/Lang/Clojure/Program-name
new file mode 120000
index 0000000000..31f467c266
--- /dev/null
+++ b/Lang/Clojure/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Program-termination b/Lang/Clojure/Program-termination
new file mode 120000
index 0000000000..5cee44a422
--- /dev/null
+++ b/Lang/Clojure/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Queue-Definition b/Lang/Clojure/Queue-Definition
new file mode 120000
index 0000000000..da0bb87210
--- /dev/null
+++ b/Lang/Clojure/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Queue-Usage b/Lang/Clojure/Queue-Usage
new file mode 120000
index 0000000000..91cf77e13c
--- /dev/null
+++ b/Lang/Clojure/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Random-numbers b/Lang/Clojure/Random-numbers
new file mode 120000
index 0000000000..c79b0a7c64
--- /dev/null
+++ b/Lang/Clojure/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Range-expansion b/Lang/Clojure/Range-expansion
new file mode 120000
index 0000000000..963438df98
--- /dev/null
+++ b/Lang/Clojure/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Read-a-file-line-by-line b/Lang/Clojure/Read-a-file-line-by-line
new file mode 120000
index 0000000000..47b5ce0510
--- /dev/null
+++ b/Lang/Clojure/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Read-entire-file b/Lang/Clojure/Read-entire-file
new file mode 120000
index 0000000000..f34fea0ddc
--- /dev/null
+++ b/Lang/Clojure/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Real-constants-and-functions b/Lang/Clojure/Real-constants-and-functions
new file mode 120000
index 0000000000..bbccc69fcf
--- /dev/null
+++ b/Lang/Clojure/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Regular-expressions b/Lang/Clojure/Regular-expressions
new file mode 120000
index 0000000000..86cd0759b8
--- /dev/null
+++ b/Lang/Clojure/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Remove-duplicate-elements b/Lang/Clojure/Remove-duplicate-elements
new file mode 120000
index 0000000000..6fa8b670e8
--- /dev/null
+++ b/Lang/Clojure/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Rename-a-file b/Lang/Clojure/Rename-a-file
new file mode 120000
index 0000000000..07aa410d9b
--- /dev/null
+++ b/Lang/Clojure/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Repeat-a-string b/Lang/Clojure/Repeat-a-string
new file mode 120000
index 0000000000..00c000fa48
--- /dev/null
+++ b/Lang/Clojure/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Return-multiple-values b/Lang/Clojure/Return-multiple-values
new file mode 120000
index 0000000000..2c4be510fa
--- /dev/null
+++ b/Lang/Clojure/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Reverse-a-string b/Lang/Clojure/Reverse-a-string
new file mode 120000
index 0000000000..d3f175bff4
--- /dev/null
+++ b/Lang/Clojure/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Roman-numerals-Decode b/Lang/Clojure/Roman-numerals-Decode
new file mode 120000
index 0000000000..2fb15c18cd
--- /dev/null
+++ b/Lang/Clojure/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Roman-numerals-Encode b/Lang/Clojure/Roman-numerals-Encode
new file mode 120000
index 0000000000..4dd66bc048
--- /dev/null
+++ b/Lang/Clojure/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Roots-of-a-function b/Lang/Clojure/Roots-of-a-function
new file mode 120000
index 0000000000..17acd31c24
--- /dev/null
+++ b/Lang/Clojure/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Rosetta-Code-Count-examples b/Lang/Clojure/Rosetta-Code-Count-examples
new file mode 120000
index 0000000000..cad7ce809d
--- /dev/null
+++ b/Lang/Clojure/Rosetta-Code-Count-examples
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Count-examples/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Rot-13 b/Lang/Clojure/Rot-13
new file mode 120000
index 0000000000..1337355da3
--- /dev/null
+++ b/Lang/Clojure/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Run-length-encoding b/Lang/Clojure/Run-length-encoding
new file mode 120000
index 0000000000..77c3c3f377
--- /dev/null
+++ b/Lang/Clojure/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Secure-temporary-file b/Lang/Clojure/Secure-temporary-file
new file mode 120000
index 0000000000..2e274a4816
--- /dev/null
+++ b/Lang/Clojure/Secure-temporary-file
@@ -0,0 +1 @@
+../../Task/Secure-temporary-file/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Sequence-of-non-squares b/Lang/Clojure/Sequence-of-non-squares
new file mode 120000
index 0000000000..e211f89c6a
--- /dev/null
+++ b/Lang/Clojure/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Clojure
\ No newline at end of file
diff --git a/Lang/Clojure/Set b/Lang/Clojure/Set
new file mode 120000
index 0000000000..238f2d8a4b
--- /dev/null
+++ b/Lang/Clojure/Set
@@ -0,0 +1 @@
+../../Task/Set/Clojure
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Binary-digits b/Lang/CoffeeScript/Binary-digits
new file mode 120000
index 0000000000..fb776816d4
--- /dev/null
+++ b/Lang/CoffeeScript/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Environment-variables b/Lang/CoffeeScript/Environment-variables
new file mode 120000
index 0000000000..118beab5c2
--- /dev/null
+++ b/Lang/CoffeeScript/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/N-queens-problem b/Lang/CoffeeScript/N-queens-problem
new file mode 120000
index 0000000000..722fe2c93d
--- /dev/null
+++ b/Lang/CoffeeScript/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Non-continuous-subsequences b/Lang/CoffeeScript/Non-continuous-subsequences
new file mode 120000
index 0000000000..03c3850c14
--- /dev/null
+++ b/Lang/CoffeeScript/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Nth-root b/Lang/CoffeeScript/Nth-root
new file mode 120000
index 0000000000..e0eee7aa0c
--- /dev/null
+++ b/Lang/CoffeeScript/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Number-names b/Lang/CoffeeScript/Number-names
new file mode 120000
index 0000000000..b0c9560175
--- /dev/null
+++ b/Lang/CoffeeScript/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Numerical-integration b/Lang/CoffeeScript/Numerical-integration
new file mode 120000
index 0000000000..aa928cee85
--- /dev/null
+++ b/Lang/CoffeeScript/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/One-dimensional-cellular-automata b/Lang/CoffeeScript/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..87a40b2f39
--- /dev/null
+++ b/Lang/CoffeeScript/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Palindrome-detection b/Lang/CoffeeScript/Palindrome-detection
new file mode 120000
index 0000000000..0859ecbb36
--- /dev/null
+++ b/Lang/CoffeeScript/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Pangram-checker b/Lang/CoffeeScript/Pangram-checker
new file mode 120000
index 0000000000..5c1052a4cb
--- /dev/null
+++ b/Lang/CoffeeScript/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Partial-function-application b/Lang/CoffeeScript/Partial-function-application
new file mode 120000
index 0000000000..700bcf9644
--- /dev/null
+++ b/Lang/CoffeeScript/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Pascals-triangle b/Lang/CoffeeScript/Pascals-triangle
new file mode 120000
index 0000000000..5e07e4d117
--- /dev/null
+++ b/Lang/CoffeeScript/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Perfect-numbers b/Lang/CoffeeScript/Perfect-numbers
new file mode 120000
index 0000000000..fe5feadc4b
--- /dev/null
+++ b/Lang/CoffeeScript/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Permutations b/Lang/CoffeeScript/Permutations
new file mode 120000
index 0000000000..36768476fc
--- /dev/null
+++ b/Lang/CoffeeScript/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Pick-random-element b/Lang/CoffeeScript/Pick-random-element
new file mode 120000
index 0000000000..952b3925e4
--- /dev/null
+++ b/Lang/CoffeeScript/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Power-set b/Lang/CoffeeScript/Power-set
new file mode 120000
index 0000000000..c53817daa6
--- /dev/null
+++ b/Lang/CoffeeScript/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Primality-by-trial-division b/Lang/CoffeeScript/Primality-by-trial-division
new file mode 120000
index 0000000000..d2f7c65868
--- /dev/null
+++ b/Lang/CoffeeScript/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Priority-queue b/Lang/CoffeeScript/Priority-queue
new file mode 120000
index 0000000000..8c71f97ac6
--- /dev/null
+++ b/Lang/CoffeeScript/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Problem-of-Apollonius b/Lang/CoffeeScript/Problem-of-Apollonius
new file mode 120000
index 0000000000..71f5fc82a0
--- /dev/null
+++ b/Lang/CoffeeScript/Problem-of-Apollonius
@@ -0,0 +1 @@
+../../Task/Problem-of-Apollonius/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Pythagorean-triples b/Lang/CoffeeScript/Pythagorean-triples
new file mode 120000
index 0000000000..1367183c61
--- /dev/null
+++ b/Lang/CoffeeScript/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Queue-Definition b/Lang/CoffeeScript/Queue-Definition
new file mode 120000
index 0000000000..5579727178
--- /dev/null
+++ b/Lang/CoffeeScript/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Queue-Usage b/Lang/CoffeeScript/Queue-Usage
new file mode 120000
index 0000000000..85b38d76d0
--- /dev/null
+++ b/Lang/CoffeeScript/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Ray-casting-algorithm b/Lang/CoffeeScript/Ray-casting-algorithm
new file mode 120000
index 0000000000..bdc9116d2a
--- /dev/null
+++ b/Lang/CoffeeScript/Ray-casting-algorithm
@@ -0,0 +1 @@
+../../Task/Ray-casting-algorithm/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Read-a-file-line-by-line b/Lang/CoffeeScript/Read-a-file-line-by-line
new file mode 120000
index 0000000000..2a684e610f
--- /dev/null
+++ b/Lang/CoffeeScript/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Reverse-a-string b/Lang/CoffeeScript/Reverse-a-string
new file mode 120000
index 0000000000..780e79389e
--- /dev/null
+++ b/Lang/CoffeeScript/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Roman-numerals-Decode b/Lang/CoffeeScript/Roman-numerals-Decode
new file mode 120000
index 0000000000..23d08cd7b3
--- /dev/null
+++ b/Lang/CoffeeScript/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Roman-numerals-Encode b/Lang/CoffeeScript/Roman-numerals-Encode
new file mode 120000
index 0000000000..e841fdb71b
--- /dev/null
+++ b/Lang/CoffeeScript/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Roots-of-a-function b/Lang/CoffeeScript/Roots-of-a-function
new file mode 120000
index 0000000000..44ba9a4d61
--- /dev/null
+++ b/Lang/CoffeeScript/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Roots-of-unity b/Lang/CoffeeScript/Roots-of-unity
new file mode 120000
index 0000000000..af66ab2bc6
--- /dev/null
+++ b/Lang/CoffeeScript/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Run-length-encoding b/Lang/CoffeeScript/Run-length-encoding
new file mode 120000
index 0000000000..365fd6b8b3
--- /dev/null
+++ b/Lang/CoffeeScript/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/S-Expressions b/Lang/CoffeeScript/S-Expressions
new file mode 120000
index 0000000000..fc67b06581
--- /dev/null
+++ b/Lang/CoffeeScript/S-Expressions
@@ -0,0 +1 @@
+../../Task/S-Expressions/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Self-referential-sequence b/Lang/CoffeeScript/Self-referential-sequence
new file mode 120000
index 0000000000..479153c164
--- /dev/null
+++ b/Lang/CoffeeScript/Self-referential-sequence
@@ -0,0 +1 @@
+../../Task/Self-referential-sequence/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Sequence-of-non-squares b/Lang/CoffeeScript/Sequence-of-non-squares
new file mode 120000
index 0000000000..843bd8f03d
--- /dev/null
+++ b/Lang/CoffeeScript/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/CoffeeScript
\ No newline at end of file
diff --git a/Lang/CoffeeScript/Set b/Lang/CoffeeScript/Set
new file mode 120000
index 0000000000..687fc10cf1
--- /dev/null
+++ b/Lang/CoffeeScript/Set
@@ -0,0 +1 @@
+../../Task/Set/CoffeeScript
\ No newline at end of file
diff --git a/Lang/ColdFusion/Copy-a-string b/Lang/ColdFusion/Copy-a-string
new file mode 120000
index 0000000000..458846b864
--- /dev/null
+++ b/Lang/ColdFusion/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/ColdFusion
\ No newline at end of file
diff --git a/Lang/ColdFusion/Power-set b/Lang/ColdFusion/Power-set
new file mode 120000
index 0000000000..d0f7a4e6c3
--- /dev/null
+++ b/Lang/ColdFusion/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/ColdFusion
\ No newline at end of file
diff --git a/Lang/ColdFusion/Reverse-a-string b/Lang/ColdFusion/Reverse-a-string
new file mode 120000
index 0000000000..a1b6065a2b
--- /dev/null
+++ b/Lang/ColdFusion/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/ColdFusion
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Arbitrary-precision-integers--included- b/Lang/Common-Lisp/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..237bfddfb7
--- /dev/null
+++ b/Lang/Common-Lisp/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Arbitrary-precision-integers-included b/Lang/Common-Lisp/Arbitrary-precision-integers-included
deleted file mode 120000
index c00b9cf409..0000000000
--- a/Lang/Common-Lisp/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Binary-digits b/Lang/Common-Lisp/Binary-digits
new file mode 120000
index 0000000000..4eefc14eab
--- /dev/null
+++ b/Lang/Common-Lisp/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Catalan-numbers b/Lang/Common-Lisp/Catalan-numbers
new file mode 120000
index 0000000000..7666c4a58a
--- /dev/null
+++ b/Lang/Common-Lisp/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Copy-a-string b/Lang/Common-Lisp/Copy-a-string
new file mode 120000
index 0000000000..8de65345e4
--- /dev/null
+++ b/Lang/Common-Lisp/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Dragon-curve b/Lang/Common-Lisp/Dragon-curve
new file mode 120000
index 0000000000..2fdb37a591
--- /dev/null
+++ b/Lang/Common-Lisp/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Environment-variables b/Lang/Common-Lisp/Environment-variables
new file mode 120000
index 0000000000..24c22ac60c
--- /dev/null
+++ b/Lang/Common-Lisp/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/N-queens-problem b/Lang/Common-Lisp/N-queens-problem
new file mode 120000
index 0000000000..7dfb2ae7e9
--- /dev/null
+++ b/Lang/Common-Lisp/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Named-parameters b/Lang/Common-Lisp/Named-parameters
new file mode 120000
index 0000000000..1a64ca17b8
--- /dev/null
+++ b/Lang/Common-Lisp/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Non-continuous-subsequences b/Lang/Common-Lisp/Non-continuous-subsequences
new file mode 120000
index 0000000000..bf6267c484
--- /dev/null
+++ b/Lang/Common-Lisp/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Non-decimal-radices-Convert b/Lang/Common-Lisp/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..c8d6209f5d
--- /dev/null
+++ b/Lang/Common-Lisp/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Non-decimal-radices-Input b/Lang/Common-Lisp/Non-decimal-radices-Input
new file mode 120000
index 0000000000..2705d80403
--- /dev/null
+++ b/Lang/Common-Lisp/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Non-decimal-radices-Output b/Lang/Common-Lisp/Non-decimal-radices-Output
new file mode 120000
index 0000000000..8aed6ea4c9
--- /dev/null
+++ b/Lang/Common-Lisp/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Nth-root b/Lang/Common-Lisp/Nth-root
new file mode 120000
index 0000000000..e795a292f9
--- /dev/null
+++ b/Lang/Common-Lisp/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Null-object b/Lang/Common-Lisp/Null-object
new file mode 120000
index 0000000000..f42db5bf4a
--- /dev/null
+++ b/Lang/Common-Lisp/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Number-names b/Lang/Common-Lisp/Number-names
new file mode 120000
index 0000000000..8d89fd9688
--- /dev/null
+++ b/Lang/Common-Lisp/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Number-reversal-game b/Lang/Common-Lisp/Number-reversal-game
new file mode 120000
index 0000000000..9ea45a0d05
--- /dev/null
+++ b/Lang/Common-Lisp/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Numerical-integration b/Lang/Common-Lisp/Numerical-integration
new file mode 120000
index 0000000000..0b6ee48924
--- /dev/null
+++ b/Lang/Common-Lisp/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Numerical-integration-Gauss-Legendre-Quadrature b/Lang/Common-Lisp/Numerical-integration-Gauss-Legendre-Quadrature
new file mode 120000
index 0000000000..4cbe7fa8be
--- /dev/null
+++ b/Lang/Common-Lisp/Numerical-integration-Gauss-Legendre-Quadrature
@@ -0,0 +1 @@
+../../Task/Numerical-integration-Gauss-Legendre-Quadrature/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Object-serialization b/Lang/Common-Lisp/Object-serialization
new file mode 120000
index 0000000000..2fc8a03fd2
--- /dev/null
+++ b/Lang/Common-Lisp/Object-serialization
@@ -0,0 +1 @@
+../../Task/Object-serialization/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/One-dimensional-cellular-automata b/Lang/Common-Lisp/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..a69e5b2122
--- /dev/null
+++ b/Lang/Common-Lisp/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Optional-parameters b/Lang/Common-Lisp/Optional-parameters
new file mode 120000
index 0000000000..81f8ad199b
--- /dev/null
+++ b/Lang/Common-Lisp/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Order-two-numerical-lists b/Lang/Common-Lisp/Order-two-numerical-lists
new file mode 120000
index 0000000000..fc69ccd155
--- /dev/null
+++ b/Lang/Common-Lisp/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Ordered-Partitions b/Lang/Common-Lisp/Ordered-Partitions
new file mode 120000
index 0000000000..5874b7bfb2
--- /dev/null
+++ b/Lang/Common-Lisp/Ordered-Partitions
@@ -0,0 +1 @@
+../../Task/Ordered-Partitions/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Palindrome-detection b/Lang/Common-Lisp/Palindrome-detection
new file mode 120000
index 0000000000..1d5a95a197
--- /dev/null
+++ b/Lang/Common-Lisp/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Pangram-checker b/Lang/Common-Lisp/Pangram-checker
new file mode 120000
index 0000000000..611593193d
--- /dev/null
+++ b/Lang/Common-Lisp/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Parametric-polymorphism b/Lang/Common-Lisp/Parametric-polymorphism
new file mode 120000
index 0000000000..5af9c5edc1
--- /dev/null
+++ b/Lang/Common-Lisp/Parametric-polymorphism
@@ -0,0 +1 @@
+../../Task/Parametric-polymorphism/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Partial-function-application b/Lang/Common-Lisp/Partial-function-application
new file mode 120000
index 0000000000..2d72c82acf
--- /dev/null
+++ b/Lang/Common-Lisp/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Pascals-triangle b/Lang/Common-Lisp/Pascals-triangle
new file mode 120000
index 0000000000..66efca307d
--- /dev/null
+++ b/Lang/Common-Lisp/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Pattern-matching b/Lang/Common-Lisp/Pattern-matching
new file mode 120000
index 0000000000..676da6b380
--- /dev/null
+++ b/Lang/Common-Lisp/Pattern-matching
@@ -0,0 +1 @@
+../../Task/Pattern-matching/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Percentage-difference-between-images b/Lang/Common-Lisp/Percentage-difference-between-images
new file mode 120000
index 0000000000..aff1b36528
--- /dev/null
+++ b/Lang/Common-Lisp/Percentage-difference-between-images
@@ -0,0 +1 @@
+../../Task/Percentage-difference-between-images/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Perfect-numbers b/Lang/Common-Lisp/Perfect-numbers
new file mode 120000
index 0000000000..46d98f4577
--- /dev/null
+++ b/Lang/Common-Lisp/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Permutation-test b/Lang/Common-Lisp/Permutation-test
new file mode 120000
index 0000000000..aaa95d4a03
--- /dev/null
+++ b/Lang/Common-Lisp/Permutation-test
@@ -0,0 +1 @@
+../../Task/Permutation-test/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Permutations b/Lang/Common-Lisp/Permutations
new file mode 120000
index 0000000000..2a60cd0b83
--- /dev/null
+++ b/Lang/Common-Lisp/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Pig-the-dice-game b/Lang/Common-Lisp/Pig-the-dice-game
new file mode 120000
index 0000000000..1536d34952
--- /dev/null
+++ b/Lang/Common-Lisp/Pig-the-dice-game
@@ -0,0 +1 @@
+../../Task/Pig-the-dice-game/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Playing-cards b/Lang/Common-Lisp/Playing-cards
new file mode 120000
index 0000000000..9b93bf93e4
--- /dev/null
+++ b/Lang/Common-Lisp/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Polymorphic-copy b/Lang/Common-Lisp/Polymorphic-copy
new file mode 120000
index 0000000000..b19bf50774
--- /dev/null
+++ b/Lang/Common-Lisp/Polymorphic-copy
@@ -0,0 +1 @@
+../../Task/Polymorphic-copy/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Polymorphism b/Lang/Common-Lisp/Polymorphism
new file mode 120000
index 0000000000..989989f612
--- /dev/null
+++ b/Lang/Common-Lisp/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Polynomial-long-division b/Lang/Common-Lisp/Polynomial-long-division
new file mode 120000
index 0000000000..e71d469861
--- /dev/null
+++ b/Lang/Common-Lisp/Polynomial-long-division
@@ -0,0 +1 @@
+../../Task/Polynomial-long-division/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Polynomial-regression b/Lang/Common-Lisp/Polynomial-regression
new file mode 120000
index 0000000000..688a322ed2
--- /dev/null
+++ b/Lang/Common-Lisp/Polynomial-regression
@@ -0,0 +1 @@
+../../Task/Polynomial-regression/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Power-set b/Lang/Common-Lisp/Power-set
new file mode 120000
index 0000000000..bc85ec1b54
--- /dev/null
+++ b/Lang/Common-Lisp/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Primality-by-trial-division b/Lang/Common-Lisp/Primality-by-trial-division
new file mode 120000
index 0000000000..070ad5fc17
--- /dev/null
+++ b/Lang/Common-Lisp/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Prime-decomposition b/Lang/Common-Lisp/Prime-decomposition
new file mode 120000
index 0000000000..64746725b7
--- /dev/null
+++ b/Lang/Common-Lisp/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Probabilistic-choice b/Lang/Common-Lisp/Probabilistic-choice
new file mode 120000
index 0000000000..d192e22abc
--- /dev/null
+++ b/Lang/Common-Lisp/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Program-name b/Lang/Common-Lisp/Program-name
new file mode 120000
index 0000000000..ced983dfcc
--- /dev/null
+++ b/Lang/Common-Lisp/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Program-termination b/Lang/Common-Lisp/Program-termination
new file mode 120000
index 0000000000..c7477bb58d
--- /dev/null
+++ b/Lang/Common-Lisp/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Pythagorean-triples b/Lang/Common-Lisp/Pythagorean-triples
new file mode 120000
index 0000000000..0d60ca8a3d
--- /dev/null
+++ b/Lang/Common-Lisp/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/QR-decomposition b/Lang/Common-Lisp/QR-decomposition
new file mode 120000
index 0000000000..c98abfb989
--- /dev/null
+++ b/Lang/Common-Lisp/QR-decomposition
@@ -0,0 +1 @@
+../../Task/QR-decomposition/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Queue-Definition b/Lang/Common-Lisp/Queue-Definition
new file mode 120000
index 0000000000..1430a5146a
--- /dev/null
+++ b/Lang/Common-Lisp/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Queue-Usage b/Lang/Common-Lisp/Queue-Usage
new file mode 120000
index 0000000000..163ad5e095
--- /dev/null
+++ b/Lang/Common-Lisp/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Random-numbers b/Lang/Common-Lisp/Random-numbers
new file mode 120000
index 0000000000..41ef49736c
--- /dev/null
+++ b/Lang/Common-Lisp/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Range-expansion b/Lang/Common-Lisp/Range-expansion
new file mode 120000
index 0000000000..7515794887
--- /dev/null
+++ b/Lang/Common-Lisp/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Range-extraction b/Lang/Common-Lisp/Range-extraction
new file mode 120000
index 0000000000..7420286ff1
--- /dev/null
+++ b/Lang/Common-Lisp/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Rate-counter b/Lang/Common-Lisp/Rate-counter
new file mode 120000
index 0000000000..78750d933e
--- /dev/null
+++ b/Lang/Common-Lisp/Rate-counter
@@ -0,0 +1 @@
+../../Task/Rate-counter/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Ray-casting-algorithm b/Lang/Common-Lisp/Ray-casting-algorithm
new file mode 120000
index 0000000000..171fcbbd69
--- /dev/null
+++ b/Lang/Common-Lisp/Ray-casting-algorithm
@@ -0,0 +1 @@
+../../Task/Ray-casting-algorithm/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Read-a-file-line-by-line b/Lang/Common-Lisp/Read-a-file-line-by-line
new file mode 120000
index 0000000000..d909b90caf
--- /dev/null
+++ b/Lang/Common-Lisp/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Read-a-specific-line-from-a-file b/Lang/Common-Lisp/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..87eeef2863
--- /dev/null
+++ b/Lang/Common-Lisp/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Read-entire-file b/Lang/Common-Lisp/Read-entire-file
new file mode 120000
index 0000000000..fe0e90ccce
--- /dev/null
+++ b/Lang/Common-Lisp/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Real-constants-and-functions b/Lang/Common-Lisp/Real-constants-and-functions
new file mode 120000
index 0000000000..74e244ef11
--- /dev/null
+++ b/Lang/Common-Lisp/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Reduced-row-echelon-form b/Lang/Common-Lisp/Reduced-row-echelon-form
new file mode 120000
index 0000000000..88b82d89d4
--- /dev/null
+++ b/Lang/Common-Lisp/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Regular-expressions b/Lang/Common-Lisp/Regular-expressions
new file mode 120000
index 0000000000..04bda99cd0
--- /dev/null
+++ b/Lang/Common-Lisp/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Remove-duplicate-elements b/Lang/Common-Lisp/Remove-duplicate-elements
new file mode 120000
index 0000000000..a1d84195b8
--- /dev/null
+++ b/Lang/Common-Lisp/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Remove-lines-from-a-file b/Lang/Common-Lisp/Remove-lines-from-a-file
new file mode 120000
index 0000000000..bef85c8efc
--- /dev/null
+++ b/Lang/Common-Lisp/Remove-lines-from-a-file
@@ -0,0 +1 @@
+../../Task/Remove-lines-from-a-file/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Rename-a-file b/Lang/Common-Lisp/Rename-a-file
new file mode 120000
index 0000000000..b00a7ce2c6
--- /dev/null
+++ b/Lang/Common-Lisp/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Repeat-a-string b/Lang/Common-Lisp/Repeat-a-string
new file mode 120000
index 0000000000..7de10ce508
--- /dev/null
+++ b/Lang/Common-Lisp/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Respond-to-an-unknown-method-call b/Lang/Common-Lisp/Respond-to-an-unknown-method-call
new file mode 120000
index 0000000000..07eef7bbf6
--- /dev/null
+++ b/Lang/Common-Lisp/Respond-to-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Respond-to-an-unknown-method-call/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Return-multiple-values b/Lang/Common-Lisp/Return-multiple-values
new file mode 120000
index 0000000000..972128f9b3
--- /dev/null
+++ b/Lang/Common-Lisp/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Reverse-a-string b/Lang/Common-Lisp/Reverse-a-string
new file mode 120000
index 0000000000..abcba4d9e7
--- /dev/null
+++ b/Lang/Common-Lisp/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Roman-numerals-Decode b/Lang/Common-Lisp/Roman-numerals-Decode
new file mode 120000
index 0000000000..db59bab999
--- /dev/null
+++ b/Lang/Common-Lisp/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Roman-numerals-Encode b/Lang/Common-Lisp/Roman-numerals-Encode
new file mode 120000
index 0000000000..81b18da8d8
--- /dev/null
+++ b/Lang/Common-Lisp/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Roots-of-a-function b/Lang/Common-Lisp/Roots-of-a-function
new file mode 120000
index 0000000000..c7dea6e803
--- /dev/null
+++ b/Lang/Common-Lisp/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Roots-of-a-quadratic-function b/Lang/Common-Lisp/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..95cb146fd3
--- /dev/null
+++ b/Lang/Common-Lisp/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Roots-of-unity b/Lang/Common-Lisp/Roots-of-unity
new file mode 120000
index 0000000000..85491ac55b
--- /dev/null
+++ b/Lang/Common-Lisp/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Rot-13 b/Lang/Common-Lisp/Rot-13
new file mode 120000
index 0000000000..ad7cd240c4
--- /dev/null
+++ b/Lang/Common-Lisp/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Run-length-encoding b/Lang/Common-Lisp/Run-length-encoding
new file mode 120000
index 0000000000..bf3192eee3
--- /dev/null
+++ b/Lang/Common-Lisp/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Runtime-evaluation b/Lang/Common-Lisp/Runtime-evaluation
new file mode 120000
index 0000000000..53392ac7b2
--- /dev/null
+++ b/Lang/Common-Lisp/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Runtime-evaluation-In-an-environment b/Lang/Common-Lisp/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..36745187fa
--- /dev/null
+++ b/Lang/Common-Lisp/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/S-Expressions b/Lang/Common-Lisp/S-Expressions
new file mode 120000
index 0000000000..5bf0d253be
--- /dev/null
+++ b/Lang/Common-Lisp/S-Expressions
@@ -0,0 +1 @@
+../../Task/S-Expressions/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/SEDOLs b/Lang/Common-Lisp/SEDOLs
new file mode 120000
index 0000000000..34aef57aa7
--- /dev/null
+++ b/Lang/Common-Lisp/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Scope-modifiers b/Lang/Common-Lisp/Scope-modifiers
new file mode 120000
index 0000000000..9322a0d459
--- /dev/null
+++ b/Lang/Common-Lisp/Scope-modifiers
@@ -0,0 +1 @@
+../../Task/Scope-modifiers/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Self-referential-sequence b/Lang/Common-Lisp/Self-referential-sequence
new file mode 120000
index 0000000000..e9d81a6c69
--- /dev/null
+++ b/Lang/Common-Lisp/Self-referential-sequence
@@ -0,0 +1 @@
+../../Task/Self-referential-sequence/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Sequence-of-non-squares b/Lang/Common-Lisp/Sequence-of-non-squares
new file mode 120000
index 0000000000..30e212b39d
--- /dev/null
+++ b/Lang/Common-Lisp/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Common-Lisp/Set b/Lang/Common-Lisp/Set
new file mode 120000
index 0000000000..317ae8b293
--- /dev/null
+++ b/Lang/Common-Lisp/Set
@@ -0,0 +1 @@
+../../Task/Set/Common-Lisp
\ No newline at end of file
diff --git a/Lang/Component-Pascal/Null-object b/Lang/Component-Pascal/Null-object
new file mode 120000
index 0000000000..6408b516dd
--- /dev/null
+++ b/Lang/Component-Pascal/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Component-Pascal
\ No newline at end of file
diff --git a/Lang/Curry/N-queens-problem b/Lang/Curry/N-queens-problem
new file mode 120000
index 0000000000..99bbab08c7
--- /dev/null
+++ b/Lang/Curry/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Curry
\ No newline at end of file
diff --git a/Lang/D/Arbitrary-precision-integers--included- b/Lang/D/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..64743471b8
--- /dev/null
+++ b/Lang/D/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/D
\ No newline at end of file
diff --git a/Lang/D/Arbitrary-precision-integers-included b/Lang/D/Arbitrary-precision-integers-included
deleted file mode 120000
index cb46f2eae2..0000000000
--- a/Lang/D/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/D
\ No newline at end of file
diff --git a/Lang/D/Binary-digits b/Lang/D/Binary-digits
new file mode 120000
index 0000000000..24c3192c83
--- /dev/null
+++ b/Lang/D/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/D
\ No newline at end of file
diff --git a/Lang/D/Brownian-tree b/Lang/D/Brownian-tree
new file mode 120000
index 0000000000..97e433d17b
--- /dev/null
+++ b/Lang/D/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/D
\ No newline at end of file
diff --git a/Lang/D/Catalan-numbers b/Lang/D/Catalan-numbers
new file mode 120000
index 0000000000..9ad0253800
--- /dev/null
+++ b/Lang/D/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/D
\ No newline at end of file
diff --git a/Lang/D/Copy-a-string b/Lang/D/Copy-a-string
new file mode 120000
index 0000000000..7445f561b4
--- /dev/null
+++ b/Lang/D/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/D
\ No newline at end of file
diff --git a/Lang/D/Dragon-curve b/Lang/D/Dragon-curve
new file mode 120000
index 0000000000..59a1bb2b71
--- /dev/null
+++ b/Lang/D/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/D
\ No newline at end of file
diff --git a/Lang/D/Environment-variables b/Lang/D/Environment-variables
new file mode 120000
index 0000000000..6cb3494f35
--- /dev/null
+++ b/Lang/D/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/D
\ No newline at end of file
diff --git a/Lang/D/Execute-a-Markov-algorithm b/Lang/D/Execute-a-Markov-algorithm
new file mode 120000
index 0000000000..ddf8825a21
--- /dev/null
+++ b/Lang/D/Execute-a-Markov-algorithm
@@ -0,0 +1 @@
+../../Task/Execute-a-Markov-algorithm/D
\ No newline at end of file
diff --git a/Lang/D/Guess-the-number-With-feedback--player- b/Lang/D/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..696b162806
--- /dev/null
+++ b/Lang/D/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/D
\ No newline at end of file
diff --git a/Lang/D/Guess-the-number-With-feedback-player b/Lang/D/Guess-the-number-With-feedback-player
deleted file mode 120000
index 2b6db6ea5b..0000000000
--- a/Lang/D/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/D
\ No newline at end of file
diff --git a/Lang/D/N-queens-problem b/Lang/D/N-queens-problem
new file mode 120000
index 0000000000..b56fd7e221
--- /dev/null
+++ b/Lang/D/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/D
\ No newline at end of file
diff --git a/Lang/D/Nautical-bell b/Lang/D/Nautical-bell
new file mode 120000
index 0000000000..9efaa0f0f8
--- /dev/null
+++ b/Lang/D/Nautical-bell
@@ -0,0 +1 @@
+../../Task/Nautical-bell/D
\ No newline at end of file
diff --git a/Lang/D/Non-continuous-subsequences b/Lang/D/Non-continuous-subsequences
new file mode 120000
index 0000000000..a77ccbc43e
--- /dev/null
+++ b/Lang/D/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/D
\ No newline at end of file
diff --git a/Lang/D/Non-decimal-radices-Convert b/Lang/D/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..5e4252efc8
--- /dev/null
+++ b/Lang/D/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/D
\ No newline at end of file
diff --git a/Lang/D/Non-decimal-radices-Input b/Lang/D/Non-decimal-radices-Input
new file mode 120000
index 0000000000..61eb592709
--- /dev/null
+++ b/Lang/D/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/D
\ No newline at end of file
diff --git a/Lang/D/Non-decimal-radices-Output b/Lang/D/Non-decimal-radices-Output
new file mode 120000
index 0000000000..04cc58ba49
--- /dev/null
+++ b/Lang/D/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/D
\ No newline at end of file
diff --git a/Lang/D/Nth-root b/Lang/D/Nth-root
new file mode 120000
index 0000000000..42940be18f
--- /dev/null
+++ b/Lang/D/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/D
\ No newline at end of file
diff --git a/Lang/D/Null-object b/Lang/D/Null-object
new file mode 120000
index 0000000000..4dc41d2c96
--- /dev/null
+++ b/Lang/D/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/D
\ No newline at end of file
diff --git a/Lang/D/Number-names b/Lang/D/Number-names
new file mode 120000
index 0000000000..6048541f4a
--- /dev/null
+++ b/Lang/D/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/D
\ No newline at end of file
diff --git a/Lang/D/Number-reversal-game b/Lang/D/Number-reversal-game
new file mode 120000
index 0000000000..7acb6c699e
--- /dev/null
+++ b/Lang/D/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/D
\ No newline at end of file
diff --git a/Lang/D/Numeric-error-propagation b/Lang/D/Numeric-error-propagation
new file mode 120000
index 0000000000..7d9436049a
--- /dev/null
+++ b/Lang/D/Numeric-error-propagation
@@ -0,0 +1 @@
+../../Task/Numeric-error-propagation/D
\ No newline at end of file
diff --git a/Lang/D/Numerical-integration b/Lang/D/Numerical-integration
new file mode 120000
index 0000000000..f6db75a6de
--- /dev/null
+++ b/Lang/D/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/D
\ No newline at end of file
diff --git a/Lang/D/Numerical-integration-Gauss-Legendre-Quadrature b/Lang/D/Numerical-integration-Gauss-Legendre-Quadrature
new file mode 120000
index 0000000000..d19af6e59d
--- /dev/null
+++ b/Lang/D/Numerical-integration-Gauss-Legendre-Quadrature
@@ -0,0 +1 @@
+../../Task/Numerical-integration-Gauss-Legendre-Quadrature/D
\ No newline at end of file
diff --git a/Lang/D/Object-serialization b/Lang/D/Object-serialization
new file mode 120000
index 0000000000..6e045f3cf3
--- /dev/null
+++ b/Lang/D/Object-serialization
@@ -0,0 +1 @@
+../../Task/Object-serialization/D
\ No newline at end of file
diff --git a/Lang/D/One-dimensional-cellular-automata b/Lang/D/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..524134dbe1
--- /dev/null
+++ b/Lang/D/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/D
\ No newline at end of file
diff --git a/Lang/D/One-of-n-lines-in-a-file b/Lang/D/One-of-n-lines-in-a-file
new file mode 120000
index 0000000000..678ee54e3c
--- /dev/null
+++ b/Lang/D/One-of-n-lines-in-a-file
@@ -0,0 +1 @@
+../../Task/One-of-n-lines-in-a-file/D
\ No newline at end of file
diff --git a/Lang/D/OpenGL b/Lang/D/OpenGL
new file mode 120000
index 0000000000..2efbd160e1
--- /dev/null
+++ b/Lang/D/OpenGL
@@ -0,0 +1 @@
+../../Task/OpenGL/D
\ No newline at end of file
diff --git a/Lang/D/Optional-parameters b/Lang/D/Optional-parameters
new file mode 120000
index 0000000000..606ff6a1b2
--- /dev/null
+++ b/Lang/D/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/D
\ No newline at end of file
diff --git a/Lang/D/Order-two-numerical-lists b/Lang/D/Order-two-numerical-lists
new file mode 120000
index 0000000000..acfb4d1f5d
--- /dev/null
+++ b/Lang/D/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/D
\ No newline at end of file
diff --git a/Lang/D/Ordered-Partitions b/Lang/D/Ordered-Partitions
new file mode 120000
index 0000000000..c51ba88279
--- /dev/null
+++ b/Lang/D/Ordered-Partitions
@@ -0,0 +1 @@
+../../Task/Ordered-Partitions/D
\ No newline at end of file
diff --git a/Lang/D/Palindrome-detection b/Lang/D/Palindrome-detection
new file mode 120000
index 0000000000..158d6e3202
--- /dev/null
+++ b/Lang/D/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/D
\ No newline at end of file
diff --git a/Lang/D/Pangram-checker b/Lang/D/Pangram-checker
new file mode 120000
index 0000000000..39151d54b6
--- /dev/null
+++ b/Lang/D/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/D
\ No newline at end of file
diff --git a/Lang/D/Parallel-calculations b/Lang/D/Parallel-calculations
new file mode 120000
index 0000000000..41b28cd425
--- /dev/null
+++ b/Lang/D/Parallel-calculations
@@ -0,0 +1 @@
+../../Task/Parallel-calculations/D
\ No newline at end of file
diff --git a/Lang/D/Parametric-polymorphism b/Lang/D/Parametric-polymorphism
new file mode 120000
index 0000000000..c6a6174655
--- /dev/null
+++ b/Lang/D/Parametric-polymorphism
@@ -0,0 +1 @@
+../../Task/Parametric-polymorphism/D
\ No newline at end of file
diff --git a/Lang/D/Parsing-RPN-calculator-algorithm b/Lang/D/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..48adc8a3e2
--- /dev/null
+++ b/Lang/D/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/D
\ No newline at end of file
diff --git a/Lang/D/Parsing-RPN-to-infix-conversion b/Lang/D/Parsing-RPN-to-infix-conversion
new file mode 120000
index 0000000000..fcd0d42b1d
--- /dev/null
+++ b/Lang/D/Parsing-RPN-to-infix-conversion
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-to-infix-conversion/D
\ No newline at end of file
diff --git a/Lang/D/Partial-function-application b/Lang/D/Partial-function-application
new file mode 120000
index 0000000000..5d16fd90ab
--- /dev/null
+++ b/Lang/D/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/D
\ No newline at end of file
diff --git a/Lang/D/Pascals-triangle b/Lang/D/Pascals-triangle
new file mode 120000
index 0000000000..6474061817
--- /dev/null
+++ b/Lang/D/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/D
\ No newline at end of file
diff --git a/Lang/D/Pascals-triangle-Puzzle b/Lang/D/Pascals-triangle-Puzzle
new file mode 120000
index 0000000000..f1e095cfaf
--- /dev/null
+++ b/Lang/D/Pascals-triangle-Puzzle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle-Puzzle/D
\ No newline at end of file
diff --git a/Lang/D/Percentage-difference-between-images b/Lang/D/Percentage-difference-between-images
new file mode 120000
index 0000000000..74b984ff00
--- /dev/null
+++ b/Lang/D/Percentage-difference-between-images
@@ -0,0 +1 @@
+../../Task/Percentage-difference-between-images/D
\ No newline at end of file
diff --git a/Lang/D/Perfect-numbers b/Lang/D/Perfect-numbers
new file mode 120000
index 0000000000..d8d42b4274
--- /dev/null
+++ b/Lang/D/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/D
\ No newline at end of file
diff --git a/Lang/D/Permutation-test b/Lang/D/Permutation-test
new file mode 120000
index 0000000000..f53d0e8e84
--- /dev/null
+++ b/Lang/D/Permutation-test
@@ -0,0 +1 @@
+../../Task/Permutation-test/D
\ No newline at end of file
diff --git a/Lang/D/Permutations b/Lang/D/Permutations
new file mode 120000
index 0000000000..8c892ddcdf
--- /dev/null
+++ b/Lang/D/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/D
\ No newline at end of file
diff --git a/Lang/D/Permutations-Derangements b/Lang/D/Permutations-Derangements
new file mode 120000
index 0000000000..debdffaf2e
--- /dev/null
+++ b/Lang/D/Permutations-Derangements
@@ -0,0 +1 @@
+../../Task/Permutations-Derangements/D
\ No newline at end of file
diff --git a/Lang/D/Permutations-by-swapping b/Lang/D/Permutations-by-swapping
new file mode 120000
index 0000000000..857de516e5
--- /dev/null
+++ b/Lang/D/Permutations-by-swapping
@@ -0,0 +1 @@
+../../Task/Permutations-by-swapping/D
\ No newline at end of file
diff --git a/Lang/D/Pick-random-element b/Lang/D/Pick-random-element
new file mode 120000
index 0000000000..3059f82418
--- /dev/null
+++ b/Lang/D/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/D
\ No newline at end of file
diff --git a/Lang/D/Pig-the-dice-game b/Lang/D/Pig-the-dice-game
new file mode 120000
index 0000000000..a4c1a812e5
--- /dev/null
+++ b/Lang/D/Pig-the-dice-game
@@ -0,0 +1 @@
+../../Task/Pig-the-dice-game/D
\ No newline at end of file
diff --git a/Lang/D/Playing-cards b/Lang/D/Playing-cards
new file mode 120000
index 0000000000..85df4b5899
--- /dev/null
+++ b/Lang/D/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/D
\ No newline at end of file
diff --git a/Lang/D/Pointers-and-references b/Lang/D/Pointers-and-references
new file mode 120000
index 0000000000..e63448b0f5
--- /dev/null
+++ b/Lang/D/Pointers-and-references
@@ -0,0 +1 @@
+../../Task/Pointers-and-references/D
\ No newline at end of file
diff --git a/Lang/D/Polymorphic-copy b/Lang/D/Polymorphic-copy
new file mode 120000
index 0000000000..3129e6b4f6
--- /dev/null
+++ b/Lang/D/Polymorphic-copy
@@ -0,0 +1 @@
+../../Task/Polymorphic-copy/D
\ No newline at end of file
diff --git a/Lang/D/Polymorphism b/Lang/D/Polymorphism
new file mode 120000
index 0000000000..b92b3acb0a
--- /dev/null
+++ b/Lang/D/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/D
\ No newline at end of file
diff --git a/Lang/D/Polynomial-long-division b/Lang/D/Polynomial-long-division
new file mode 120000
index 0000000000..3f29d4d793
--- /dev/null
+++ b/Lang/D/Polynomial-long-division
@@ -0,0 +1 @@
+../../Task/Polynomial-long-division/D
\ No newline at end of file
diff --git a/Lang/D/Power-set b/Lang/D/Power-set
new file mode 120000
index 0000000000..d424b05fde
--- /dev/null
+++ b/Lang/D/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/D
\ No newline at end of file
diff --git a/Lang/D/Price-fraction b/Lang/D/Price-fraction
new file mode 120000
index 0000000000..cc84a74074
--- /dev/null
+++ b/Lang/D/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/D
\ No newline at end of file
diff --git a/Lang/D/Primality-by-trial-division b/Lang/D/Primality-by-trial-division
new file mode 120000
index 0000000000..5a353f5e26
--- /dev/null
+++ b/Lang/D/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/D
\ No newline at end of file
diff --git a/Lang/D/Prime-decomposition b/Lang/D/Prime-decomposition
new file mode 120000
index 0000000000..ec48d9c3e8
--- /dev/null
+++ b/Lang/D/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/D
\ No newline at end of file
diff --git a/Lang/D/Priority-queue b/Lang/D/Priority-queue
new file mode 120000
index 0000000000..3349b4a529
--- /dev/null
+++ b/Lang/D/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/D
\ No newline at end of file
diff --git a/Lang/D/Probabilistic-choice b/Lang/D/Probabilistic-choice
new file mode 120000
index 0000000000..8e8b2a41e6
--- /dev/null
+++ b/Lang/D/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/D
\ No newline at end of file
diff --git a/Lang/D/Problem-of-Apollonius b/Lang/D/Problem-of-Apollonius
new file mode 120000
index 0000000000..1fe441077b
--- /dev/null
+++ b/Lang/D/Problem-of-Apollonius
@@ -0,0 +1 @@
+../../Task/Problem-of-Apollonius/D
\ No newline at end of file
diff --git a/Lang/D/Program-name b/Lang/D/Program-name
new file mode 120000
index 0000000000..78ec43cc6f
--- /dev/null
+++ b/Lang/D/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/D
\ No newline at end of file
diff --git a/Lang/D/Pythagorean-triples b/Lang/D/Pythagorean-triples
new file mode 120000
index 0000000000..149effd30a
--- /dev/null
+++ b/Lang/D/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/D
\ No newline at end of file
diff --git a/Lang/D/QR-decomposition b/Lang/D/QR-decomposition
new file mode 120000
index 0000000000..f710f1c8b8
--- /dev/null
+++ b/Lang/D/QR-decomposition
@@ -0,0 +1 @@
+../../Task/QR-decomposition/D
\ No newline at end of file
diff --git a/Lang/D/Quaternion-type b/Lang/D/Quaternion-type
new file mode 120000
index 0000000000..4703070a3f
--- /dev/null
+++ b/Lang/D/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/D
\ No newline at end of file
diff --git a/Lang/D/Queue-Usage b/Lang/D/Queue-Usage
new file mode 120000
index 0000000000..c1bcea11ea
--- /dev/null
+++ b/Lang/D/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/D
\ No newline at end of file
diff --git a/Lang/D/RIPEMD-160 b/Lang/D/RIPEMD-160
new file mode 120000
index 0000000000..c7472267ac
--- /dev/null
+++ b/Lang/D/RIPEMD-160
@@ -0,0 +1 @@
+../../Task/RIPEMD-160/D
\ No newline at end of file
diff --git a/Lang/D/Random-numbers b/Lang/D/Random-numbers
new file mode 120000
index 0000000000..5be9cc8963
--- /dev/null
+++ b/Lang/D/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/D
\ No newline at end of file
diff --git a/Lang/D/Range-expansion b/Lang/D/Range-expansion
new file mode 120000
index 0000000000..452492b8fb
--- /dev/null
+++ b/Lang/D/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/D
\ No newline at end of file
diff --git a/Lang/D/Range-extraction b/Lang/D/Range-extraction
new file mode 120000
index 0000000000..33a6804ad7
--- /dev/null
+++ b/Lang/D/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/D
\ No newline at end of file
diff --git a/Lang/D/Ray-casting-algorithm b/Lang/D/Ray-casting-algorithm
new file mode 120000
index 0000000000..df09da36fd
--- /dev/null
+++ b/Lang/D/Ray-casting-algorithm
@@ -0,0 +1 @@
+../../Task/Ray-casting-algorithm/D
\ No newline at end of file
diff --git a/Lang/D/Read-a-configuration-file b/Lang/D/Read-a-configuration-file
new file mode 120000
index 0000000000..2ebfec2a58
--- /dev/null
+++ b/Lang/D/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/D
\ No newline at end of file
diff --git a/Lang/D/Read-a-file-line-by-line b/Lang/D/Read-a-file-line-by-line
new file mode 120000
index 0000000000..bb285e515f
--- /dev/null
+++ b/Lang/D/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/D
\ No newline at end of file
diff --git a/Lang/D/Read-a-specific-line-from-a-file b/Lang/D/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..2680bd9d5e
--- /dev/null
+++ b/Lang/D/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/D
\ No newline at end of file
diff --git a/Lang/D/Read-entire-file b/Lang/D/Read-entire-file
new file mode 120000
index 0000000000..7bc481ddfa
--- /dev/null
+++ b/Lang/D/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/D
\ No newline at end of file
diff --git a/Lang/D/Real-constants-and-functions b/Lang/D/Real-constants-and-functions
new file mode 120000
index 0000000000..18c57ba11b
--- /dev/null
+++ b/Lang/D/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/D
\ No newline at end of file
diff --git a/Lang/D/Reduced-row-echelon-form b/Lang/D/Reduced-row-echelon-form
new file mode 120000
index 0000000000..a43d76c31b
--- /dev/null
+++ b/Lang/D/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/D
\ No newline at end of file
diff --git a/Lang/D/Regular-expressions b/Lang/D/Regular-expressions
new file mode 120000
index 0000000000..b4a3b7dedd
--- /dev/null
+++ b/Lang/D/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/D
\ No newline at end of file
diff --git a/Lang/D/Remove-duplicate-elements b/Lang/D/Remove-duplicate-elements
new file mode 120000
index 0000000000..ad0a77f4f8
--- /dev/null
+++ b/Lang/D/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/D
\ No newline at end of file
diff --git a/Lang/D/Remove-lines-from-a-file b/Lang/D/Remove-lines-from-a-file
new file mode 120000
index 0000000000..d712f77628
--- /dev/null
+++ b/Lang/D/Remove-lines-from-a-file
@@ -0,0 +1 @@
+../../Task/Remove-lines-from-a-file/D
\ No newline at end of file
diff --git a/Lang/D/Rename-a-file b/Lang/D/Rename-a-file
new file mode 120000
index 0000000000..31c91b8277
--- /dev/null
+++ b/Lang/D/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/D
\ No newline at end of file
diff --git a/Lang/D/Repeat-a-string b/Lang/D/Repeat-a-string
new file mode 120000
index 0000000000..77569cfda7
--- /dev/null
+++ b/Lang/D/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/D
\ No newline at end of file
diff --git a/Lang/D/Resistor-mesh b/Lang/D/Resistor-mesh
new file mode 120000
index 0000000000..3585faaffb
--- /dev/null
+++ b/Lang/D/Resistor-mesh
@@ -0,0 +1 @@
+../../Task/Resistor-mesh/D
\ No newline at end of file
diff --git a/Lang/D/Respond-to-an-unknown-method-call b/Lang/D/Respond-to-an-unknown-method-call
new file mode 120000
index 0000000000..09ecb2d83a
--- /dev/null
+++ b/Lang/D/Respond-to-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Respond-to-an-unknown-method-call/D
\ No newline at end of file
diff --git a/Lang/D/Return-multiple-values b/Lang/D/Return-multiple-values
new file mode 120000
index 0000000000..bd3ed7b5a0
--- /dev/null
+++ b/Lang/D/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/D
\ No newline at end of file
diff --git a/Lang/D/Reverse-a-string b/Lang/D/Reverse-a-string
new file mode 120000
index 0000000000..3c0243b5da
--- /dev/null
+++ b/Lang/D/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/D
\ No newline at end of file
diff --git a/Lang/D/Rock-paper-scissors b/Lang/D/Rock-paper-scissors
new file mode 120000
index 0000000000..62c346288a
--- /dev/null
+++ b/Lang/D/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/D
\ No newline at end of file
diff --git a/Lang/D/Roman-numerals-Decode b/Lang/D/Roman-numerals-Decode
new file mode 120000
index 0000000000..e969f2e834
--- /dev/null
+++ b/Lang/D/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/D
\ No newline at end of file
diff --git a/Lang/D/Roman-numerals-Encode b/Lang/D/Roman-numerals-Encode
new file mode 120000
index 0000000000..64861fb0c8
--- /dev/null
+++ b/Lang/D/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/D
\ No newline at end of file
diff --git a/Lang/D/Roots-of-a-function b/Lang/D/Roots-of-a-function
new file mode 120000
index 0000000000..a071830b90
--- /dev/null
+++ b/Lang/D/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/D
\ No newline at end of file
diff --git a/Lang/D/Roots-of-a-quadratic-function b/Lang/D/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..51a8e461a4
--- /dev/null
+++ b/Lang/D/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/D
\ No newline at end of file
diff --git a/Lang/D/Roots-of-unity b/Lang/D/Roots-of-unity
new file mode 120000
index 0000000000..a63fc152fb
--- /dev/null
+++ b/Lang/D/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/D
\ No newline at end of file
diff --git a/Lang/D/Rosetta-Code-Count-examples b/Lang/D/Rosetta-Code-Count-examples
new file mode 120000
index 0000000000..978bf02a59
--- /dev/null
+++ b/Lang/D/Rosetta-Code-Count-examples
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Count-examples/D
\ No newline at end of file
diff --git a/Lang/D/Rosetta-Code-Rank-languages-by-popularity b/Lang/D/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..cf792155f1
--- /dev/null
+++ b/Lang/D/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/D
\ No newline at end of file
diff --git a/Lang/D/Rot-13 b/Lang/D/Rot-13
new file mode 120000
index 0000000000..ac0d9b028d
--- /dev/null
+++ b/Lang/D/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/D
\ No newline at end of file
diff --git a/Lang/D/Run-length-encoding b/Lang/D/Run-length-encoding
new file mode 120000
index 0000000000..b4fb45f53d
--- /dev/null
+++ b/Lang/D/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/D
\ No newline at end of file
diff --git a/Lang/D/S-Expressions b/Lang/D/S-Expressions
new file mode 120000
index 0000000000..433e2bdadd
--- /dev/null
+++ b/Lang/D/S-Expressions
@@ -0,0 +1 @@
+../../Task/S-Expressions/D
\ No newline at end of file
diff --git a/Lang/D/SEDOLs b/Lang/D/SEDOLs
new file mode 120000
index 0000000000..781db2b725
--- /dev/null
+++ b/Lang/D/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/D
\ No newline at end of file
diff --git a/Lang/D/Same-Fringe b/Lang/D/Same-Fringe
new file mode 120000
index 0000000000..ddc4826fc5
--- /dev/null
+++ b/Lang/D/Same-Fringe
@@ -0,0 +1 @@
+../../Task/Same-Fringe/D
\ No newline at end of file
diff --git a/Lang/D/Secure-temporary-file b/Lang/D/Secure-temporary-file
new file mode 120000
index 0000000000..e00a5e8d3b
--- /dev/null
+++ b/Lang/D/Secure-temporary-file
@@ -0,0 +1 @@
+../../Task/Secure-temporary-file/D
\ No newline at end of file
diff --git a/Lang/D/Self-describing-numbers b/Lang/D/Self-describing-numbers
new file mode 120000
index 0000000000..a263a68cb3
--- /dev/null
+++ b/Lang/D/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/D
\ No newline at end of file
diff --git a/Lang/D/Self-referential-sequence b/Lang/D/Self-referential-sequence
new file mode 120000
index 0000000000..e466b86e08
--- /dev/null
+++ b/Lang/D/Self-referential-sequence
@@ -0,0 +1 @@
+../../Task/Self-referential-sequence/D
\ No newline at end of file
diff --git a/Lang/D/Semordnilap b/Lang/D/Semordnilap
new file mode 120000
index 0000000000..49701f8986
--- /dev/null
+++ b/Lang/D/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/D
\ No newline at end of file
diff --git a/Lang/D/Send-email b/Lang/D/Send-email
new file mode 120000
index 0000000000..55371889da
--- /dev/null
+++ b/Lang/D/Send-email
@@ -0,0 +1 @@
+../../Task/Send-email/D
\ No newline at end of file
diff --git a/Lang/D/Sequence-of-non-squares b/Lang/D/Sequence-of-non-squares
new file mode 120000
index 0000000000..393da70dd6
--- /dev/null
+++ b/Lang/D/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/D
\ No newline at end of file
diff --git a/Lang/D/Set b/Lang/D/Set
new file mode 120000
index 0000000000..8fee5843cd
--- /dev/null
+++ b/Lang/D/Set
@@ -0,0 +1 @@
+../../Task/Set/D
\ No newline at end of file
diff --git a/Lang/D/Set-consolidation b/Lang/D/Set-consolidation
new file mode 120000
index 0000000000..fafb6b7b30
--- /dev/null
+++ b/Lang/D/Set-consolidation
@@ -0,0 +1 @@
+../../Task/Set-consolidation/D
\ No newline at end of file
diff --git a/Lang/D/Set-of-real-numbers b/Lang/D/Set-of-real-numbers
new file mode 120000
index 0000000000..954cdba281
--- /dev/null
+++ b/Lang/D/Set-of-real-numbers
@@ -0,0 +1 @@
+../../Task/Set-of-real-numbers/D
\ No newline at end of file
diff --git a/Lang/DCL/Rename-a-file b/Lang/DCL/Rename-a-file
new file mode 120000
index 0000000000..2970d51697
--- /dev/null
+++ b/Lang/DCL/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/DCL
\ No newline at end of file
diff --git a/Lang/DWScript/One-dimensional-cellular-automata b/Lang/DWScript/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..33390e69dd
--- /dev/null
+++ b/Lang/DWScript/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/DWScript
\ No newline at end of file
diff --git a/Lang/DWScript/Pascals-triangle b/Lang/DWScript/Pascals-triangle
new file mode 120000
index 0000000000..8cc6960e19
--- /dev/null
+++ b/Lang/DWScript/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/DWScript
\ No newline at end of file
diff --git a/Lang/DWScript/Random-numbers b/Lang/DWScript/Random-numbers
new file mode 120000
index 0000000000..3783d5b2d8
--- /dev/null
+++ b/Lang/DWScript/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/DWScript
\ No newline at end of file
diff --git a/Lang/DWScript/Range-extraction b/Lang/DWScript/Range-extraction
new file mode 120000
index 0000000000..69f57ec2d2
--- /dev/null
+++ b/Lang/DWScript/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/DWScript
\ No newline at end of file
diff --git a/Lang/DWScript/Repeat-a-string b/Lang/DWScript/Repeat-a-string
new file mode 120000
index 0000000000..8b4604bee2
--- /dev/null
+++ b/Lang/DWScript/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/DWScript
\ No newline at end of file
diff --git a/Lang/DWScript/Roman-numerals-Encode b/Lang/DWScript/Roman-numerals-Encode
new file mode 120000
index 0000000000..7fceaef287
--- /dev/null
+++ b/Lang/DWScript/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/DWScript
\ No newline at end of file
diff --git a/Lang/DWScript/Roots-of-a-function b/Lang/DWScript/Roots-of-a-function
new file mode 120000
index 0000000000..daeecba113
--- /dev/null
+++ b/Lang/DWScript/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/DWScript
\ No newline at end of file
diff --git a/Lang/Dart/Binary-digits b/Lang/Dart/Binary-digits
new file mode 120000
index 0000000000..dc30bdf71c
--- /dev/null
+++ b/Lang/Dart/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Dart
\ No newline at end of file
diff --git a/Lang/Dart/N-queens-problem b/Lang/Dart/N-queens-problem
new file mode 120000
index 0000000000..6963f2a6a3
--- /dev/null
+++ b/Lang/Dart/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Program-name b/Lang/Dart/Program-name
new file mode 120000
index 0000000000..3c30bb6497
--- /dev/null
+++ b/Lang/Dart/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Dart
\ No newline at end of file
diff --git a/Lang/Dart/Reverse-a-string b/Lang/Dart/Reverse-a-string
new file mode 120000
index 0000000000..91a8046aec
--- /dev/null
+++ b/Lang/Dart/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Dart
\ No newline at end of file
diff --git a/Lang/Deja-Vu/Pick-random-element b/Lang/Deja-Vu/Pick-random-element
new file mode 120000
index 0000000000..9c44f19b50
--- /dev/null
+++ b/Lang/Deja-Vu/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Deja-Vu
\ No newline at end of file
diff --git a/Lang/Deja-Vu/Random-number-generator--included- b/Lang/Deja-Vu/Random-number-generator--included-
new file mode 120000
index 0000000000..a5b1906acd
--- /dev/null
+++ b/Lang/Deja-Vu/Random-number-generator--included-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--included-/Deja-Vu
\ No newline at end of file
diff --git a/Lang/Delphi/Binary-digits b/Lang/Delphi/Binary-digits
new file mode 120000
index 0000000000..2de73fb8f1
--- /dev/null
+++ b/Lang/Delphi/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Brownian-tree b/Lang/Delphi/Brownian-tree
new file mode 120000
index 0000000000..f883f8a640
--- /dev/null
+++ b/Lang/Delphi/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Copy-a-string b/Lang/Delphi/Copy-a-string
new file mode 120000
index 0000000000..82e4de7a56
--- /dev/null
+++ b/Lang/Delphi/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Environment-variables b/Lang/Delphi/Environment-variables
new file mode 120000
index 0000000000..20a22a5c56
--- /dev/null
+++ b/Lang/Delphi/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Nth-root b/Lang/Delphi/Nth-root
new file mode 120000
index 0000000000..2fcfcdb141
--- /dev/null
+++ b/Lang/Delphi/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Null-object b/Lang/Delphi/Null-object
new file mode 120000
index 0000000000..a462111bc3
--- /dev/null
+++ b/Lang/Delphi/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Palindrome-detection b/Lang/Delphi/Palindrome-detection
new file mode 120000
index 0000000000..aeb9b5d356
--- /dev/null
+++ b/Lang/Delphi/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Pangram-checker b/Lang/Delphi/Pangram-checker
new file mode 120000
index 0000000000..c6748ba788
--- /dev/null
+++ b/Lang/Delphi/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Permutations b/Lang/Delphi/Permutations
new file mode 120000
index 0000000000..d0d28cd252
--- /dev/null
+++ b/Lang/Delphi/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Play-recorded-sounds b/Lang/Delphi/Play-recorded-sounds
new file mode 120000
index 0000000000..62fa5c4518
--- /dev/null
+++ b/Lang/Delphi/Play-recorded-sounds
@@ -0,0 +1 @@
+../../Task/Play-recorded-sounds/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Playing-cards b/Lang/Delphi/Playing-cards
new file mode 120000
index 0000000000..37fbb3695e
--- /dev/null
+++ b/Lang/Delphi/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Polymorphism b/Lang/Delphi/Polymorphism
new file mode 120000
index 0000000000..21c0184097
--- /dev/null
+++ b/Lang/Delphi/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Primality-by-trial-division b/Lang/Delphi/Primality-by-trial-division
new file mode 120000
index 0000000000..a14b672fc5
--- /dev/null
+++ b/Lang/Delphi/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Program-name b/Lang/Delphi/Program-name
new file mode 120000
index 0000000000..91b5404125
--- /dev/null
+++ b/Lang/Delphi/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Program-termination b/Lang/Delphi/Program-termination
new file mode 120000
index 0000000000..1c8399d9da
--- /dev/null
+++ b/Lang/Delphi/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Quaternion-type b/Lang/Delphi/Quaternion-type
new file mode 120000
index 0000000000..fe804d3654
--- /dev/null
+++ b/Lang/Delphi/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Queue-Usage b/Lang/Delphi/Queue-Usage
new file mode 120000
index 0000000000..754a3898b2
--- /dev/null
+++ b/Lang/Delphi/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Random-numbers b/Lang/Delphi/Random-numbers
new file mode 120000
index 0000000000..1010bf4a6f
--- /dev/null
+++ b/Lang/Delphi/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Read-a-file-line-by-line b/Lang/Delphi/Read-a-file-line-by-line
new file mode 120000
index 0000000000..fd18060f80
--- /dev/null
+++ b/Lang/Delphi/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Read-entire-file b/Lang/Delphi/Read-entire-file
new file mode 120000
index 0000000000..dec7cff2be
--- /dev/null
+++ b/Lang/Delphi/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Real-constants-and-functions b/Lang/Delphi/Real-constants-and-functions
new file mode 120000
index 0000000000..e227a82fda
--- /dev/null
+++ b/Lang/Delphi/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Remove-duplicate-elements b/Lang/Delphi/Remove-duplicate-elements
new file mode 120000
index 0000000000..4417a3c791
--- /dev/null
+++ b/Lang/Delphi/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Rename-a-file b/Lang/Delphi/Rename-a-file
new file mode 120000
index 0000000000..a5e10c5f72
--- /dev/null
+++ b/Lang/Delphi/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Repeat-a-string b/Lang/Delphi/Repeat-a-string
new file mode 120000
index 0000000000..f91d72c7a3
--- /dev/null
+++ b/Lang/Delphi/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Return-multiple-values b/Lang/Delphi/Return-multiple-values
new file mode 120000
index 0000000000..b899cfcbe8
--- /dev/null
+++ b/Lang/Delphi/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Reverse-a-string b/Lang/Delphi/Reverse-a-string
new file mode 120000
index 0000000000..360074c9a1
--- /dev/null
+++ b/Lang/Delphi/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Roman-numerals-Decode b/Lang/Delphi/Roman-numerals-Decode
new file mode 120000
index 0000000000..6e8975ced1
--- /dev/null
+++ b/Lang/Delphi/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Roman-numerals-Encode b/Lang/Delphi/Roman-numerals-Encode
new file mode 120000
index 0000000000..e312c888a0
--- /dev/null
+++ b/Lang/Delphi/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Scope-modifiers b/Lang/Delphi/Scope-modifiers
new file mode 120000
index 0000000000..d99a6aa53d
--- /dev/null
+++ b/Lang/Delphi/Scope-modifiers
@@ -0,0 +1 @@
+../../Task/Scope-modifiers/Delphi
\ No newline at end of file
diff --git a/Lang/Delphi/Send-email b/Lang/Delphi/Send-email
new file mode 120000
index 0000000000..998bd30874
--- /dev/null
+++ b/Lang/Delphi/Send-email
@@ -0,0 +1 @@
+../../Task/Send-email/Delphi
\ No newline at end of file
diff --git a/Lang/E/Arbitrary-precision-integers--included- b/Lang/E/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..d64134e27e
--- /dev/null
+++ b/Lang/E/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/E
\ No newline at end of file
diff --git a/Lang/E/Arbitrary-precision-integers-included b/Lang/E/Arbitrary-precision-integers-included
deleted file mode 120000
index fa66ba3bae..0000000000
--- a/Lang/E/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/E
\ No newline at end of file
diff --git a/Lang/E/Environment-variables b/Lang/E/Environment-variables
new file mode 120000
index 0000000000..d930498a5d
--- /dev/null
+++ b/Lang/E/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/E
\ No newline at end of file
diff --git a/Lang/E/Named-parameters b/Lang/E/Named-parameters
new file mode 120000
index 0000000000..9cf2a24d97
--- /dev/null
+++ b/Lang/E/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/E
\ No newline at end of file
diff --git a/Lang/E/Non-decimal-radices-Convert b/Lang/E/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..584f712733
--- /dev/null
+++ b/Lang/E/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/E
\ No newline at end of file
diff --git a/Lang/E/Non-decimal-radices-Input b/Lang/E/Non-decimal-radices-Input
new file mode 120000
index 0000000000..52c7c4520c
--- /dev/null
+++ b/Lang/E/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/E
\ No newline at end of file
diff --git a/Lang/E/Non-decimal-radices-Output b/Lang/E/Non-decimal-radices-Output
new file mode 120000
index 0000000000..21981c1bda
--- /dev/null
+++ b/Lang/E/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/E
\ No newline at end of file
diff --git a/Lang/E/Nth-root b/Lang/E/Nth-root
new file mode 120000
index 0000000000..61bc48d2cd
--- /dev/null
+++ b/Lang/E/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/E
\ No newline at end of file
diff --git a/Lang/E/Null-object b/Lang/E/Null-object
new file mode 120000
index 0000000000..d0de97a8e3
--- /dev/null
+++ b/Lang/E/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/E
\ No newline at end of file
diff --git a/Lang/E/Numerical-integration b/Lang/E/Numerical-integration
new file mode 120000
index 0000000000..6848306646
--- /dev/null
+++ b/Lang/E/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/E
\ No newline at end of file
diff --git a/Lang/E/Object-serialization b/Lang/E/Object-serialization
new file mode 120000
index 0000000000..23af7b1394
--- /dev/null
+++ b/Lang/E/Object-serialization
@@ -0,0 +1 @@
+../../Task/Object-serialization/E
\ No newline at end of file
diff --git a/Lang/E/One-dimensional-cellular-automata b/Lang/E/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..4331081907
--- /dev/null
+++ b/Lang/E/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/E
\ No newline at end of file
diff --git a/Lang/E/Optional-parameters b/Lang/E/Optional-parameters
new file mode 120000
index 0000000000..46e9a16901
--- /dev/null
+++ b/Lang/E/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/E
\ No newline at end of file
diff --git a/Lang/E/Palindrome-detection b/Lang/E/Palindrome-detection
new file mode 120000
index 0000000000..a07188d6d1
--- /dev/null
+++ b/Lang/E/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/E
\ No newline at end of file
diff --git a/Lang/E/Pangram-checker b/Lang/E/Pangram-checker
new file mode 120000
index 0000000000..a13483fc6d
--- /dev/null
+++ b/Lang/E/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/E
\ No newline at end of file
diff --git a/Lang/E/Parametric-polymorphism b/Lang/E/Parametric-polymorphism
new file mode 120000
index 0000000000..712e9d1438
--- /dev/null
+++ b/Lang/E/Parametric-polymorphism
@@ -0,0 +1 @@
+../../Task/Parametric-polymorphism/E
\ No newline at end of file
diff --git a/Lang/E/Partial-function-application b/Lang/E/Partial-function-application
new file mode 120000
index 0000000000..bd8d843832
--- /dev/null
+++ b/Lang/E/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/E
\ No newline at end of file
diff --git a/Lang/E/Pascals-triangle b/Lang/E/Pascals-triangle
new file mode 120000
index 0000000000..0e22a1a1b9
--- /dev/null
+++ b/Lang/E/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/E
\ No newline at end of file
diff --git a/Lang/E/Percentage-difference-between-images b/Lang/E/Percentage-difference-between-images
new file mode 120000
index 0000000000..a52c57d253
--- /dev/null
+++ b/Lang/E/Percentage-difference-between-images
@@ -0,0 +1 @@
+../../Task/Percentage-difference-between-images/E
\ No newline at end of file
diff --git a/Lang/E/Perfect-numbers b/Lang/E/Perfect-numbers
new file mode 120000
index 0000000000..32d3b05c46
--- /dev/null
+++ b/Lang/E/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/E
\ No newline at end of file
diff --git a/Lang/E/Polymorphic-copy b/Lang/E/Polymorphic-copy
new file mode 120000
index 0000000000..42784f0171
--- /dev/null
+++ b/Lang/E/Polymorphic-copy
@@ -0,0 +1 @@
+../../Task/Polymorphic-copy/E
\ No newline at end of file
diff --git a/Lang/E/Polymorphism b/Lang/E/Polymorphism
new file mode 120000
index 0000000000..67a2acdb1e
--- /dev/null
+++ b/Lang/E/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/E
\ No newline at end of file
diff --git a/Lang/E/Polynomial-long-division b/Lang/E/Polynomial-long-division
new file mode 120000
index 0000000000..e9ad34623e
--- /dev/null
+++ b/Lang/E/Polynomial-long-division
@@ -0,0 +1 @@
+../../Task/Polynomial-long-division/E
\ No newline at end of file
diff --git a/Lang/E/Power-set b/Lang/E/Power-set
new file mode 120000
index 0000000000..ec9ad8f4dd
--- /dev/null
+++ b/Lang/E/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/E
\ No newline at end of file
diff --git a/Lang/E/Primality-by-trial-division b/Lang/E/Primality-by-trial-division
new file mode 120000
index 0000000000..6e3fbdb532
--- /dev/null
+++ b/Lang/E/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/E
\ No newline at end of file
diff --git a/Lang/E/Prime-decomposition b/Lang/E/Prime-decomposition
new file mode 120000
index 0000000000..4cdf5c8bb9
--- /dev/null
+++ b/Lang/E/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/E
\ No newline at end of file
diff --git a/Lang/E/Probabilistic-choice b/Lang/E/Probabilistic-choice
new file mode 120000
index 0000000000..540ea2fc85
--- /dev/null
+++ b/Lang/E/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/E
\ No newline at end of file
diff --git a/Lang/E/Program-termination b/Lang/E/Program-termination
new file mode 120000
index 0000000000..8d7164f192
--- /dev/null
+++ b/Lang/E/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/E
\ No newline at end of file
diff --git a/Lang/E/Quaternion-type b/Lang/E/Quaternion-type
new file mode 120000
index 0000000000..ecc55ca8a4
--- /dev/null
+++ b/Lang/E/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/E
\ No newline at end of file
diff --git a/Lang/E/Queue-Definition b/Lang/E/Queue-Definition
new file mode 120000
index 0000000000..37140c527c
--- /dev/null
+++ b/Lang/E/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/E
\ No newline at end of file
diff --git a/Lang/E/Queue-Usage b/Lang/E/Queue-Usage
new file mode 120000
index 0000000000..bf6a0465be
--- /dev/null
+++ b/Lang/E/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/E
\ No newline at end of file
diff --git a/Lang/E/Random-numbers b/Lang/E/Random-numbers
new file mode 120000
index 0000000000..820dd930b5
--- /dev/null
+++ b/Lang/E/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/E
\ No newline at end of file
diff --git a/Lang/E/Range-extraction b/Lang/E/Range-extraction
new file mode 120000
index 0000000000..fd629a18d7
--- /dev/null
+++ b/Lang/E/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/E
\ No newline at end of file
diff --git a/Lang/E/Rate-counter b/Lang/E/Rate-counter
new file mode 120000
index 0000000000..1ec6148aba
--- /dev/null
+++ b/Lang/E/Rate-counter
@@ -0,0 +1 @@
+../../Task/Rate-counter/E
\ No newline at end of file
diff --git a/Lang/E/Read-entire-file b/Lang/E/Read-entire-file
new file mode 120000
index 0000000000..5770032c99
--- /dev/null
+++ b/Lang/E/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/E
\ No newline at end of file
diff --git a/Lang/E/Real-constants-and-functions b/Lang/E/Real-constants-and-functions
new file mode 120000
index 0000000000..6a7b16da23
--- /dev/null
+++ b/Lang/E/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/E
\ No newline at end of file
diff --git a/Lang/E/Remove-duplicate-elements b/Lang/E/Remove-duplicate-elements
new file mode 120000
index 0000000000..9b1542e6ec
--- /dev/null
+++ b/Lang/E/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/E
\ No newline at end of file
diff --git a/Lang/E/Rename-a-file b/Lang/E/Rename-a-file
new file mode 120000
index 0000000000..a14000045b
--- /dev/null
+++ b/Lang/E/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/E
\ No newline at end of file
diff --git a/Lang/E/Repeat-a-string b/Lang/E/Repeat-a-string
new file mode 120000
index 0000000000..f9103d2f30
--- /dev/null
+++ b/Lang/E/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/E
\ No newline at end of file
diff --git a/Lang/E/Respond-to-an-unknown-method-call b/Lang/E/Respond-to-an-unknown-method-call
new file mode 120000
index 0000000000..8270aac23a
--- /dev/null
+++ b/Lang/E/Respond-to-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Respond-to-an-unknown-method-call/E
\ No newline at end of file
diff --git a/Lang/E/Reverse-a-string b/Lang/E/Reverse-a-string
new file mode 120000
index 0000000000..c7c587444d
--- /dev/null
+++ b/Lang/E/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/E
\ No newline at end of file
diff --git a/Lang/E/Rot-13 b/Lang/E/Rot-13
new file mode 120000
index 0000000000..2348456aab
--- /dev/null
+++ b/Lang/E/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/E
\ No newline at end of file
diff --git a/Lang/E/Run-length-encoding b/Lang/E/Run-length-encoding
new file mode 120000
index 0000000000..8c640b0d58
--- /dev/null
+++ b/Lang/E/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/E
\ No newline at end of file
diff --git a/Lang/E/Runtime-evaluation b/Lang/E/Runtime-evaluation
new file mode 120000
index 0000000000..4048972348
--- /dev/null
+++ b/Lang/E/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/E
\ No newline at end of file
diff --git a/Lang/E/Runtime-evaluation-In-an-environment b/Lang/E/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..d742442197
--- /dev/null
+++ b/Lang/E/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/E
\ No newline at end of file
diff --git a/Lang/E/SEDOLs b/Lang/E/SEDOLs
new file mode 120000
index 0000000000..f87f846ed7
--- /dev/null
+++ b/Lang/E/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/E
\ No newline at end of file
diff --git a/Lang/E/Safe-addition b/Lang/E/Safe-addition
new file mode 120000
index 0000000000..9283f66703
--- /dev/null
+++ b/Lang/E/Safe-addition
@@ -0,0 +1 @@
+../../Task/Safe-addition/E
\ No newline at end of file
diff --git a/Lang/E/Send-an-unknown-method-call b/Lang/E/Send-an-unknown-method-call
new file mode 120000
index 0000000000..a520bd519d
--- /dev/null
+++ b/Lang/E/Send-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Send-an-unknown-method-call/E
\ No newline at end of file
diff --git a/Lang/EGL/Reverse-a-string b/Lang/EGL/Reverse-a-string
new file mode 120000
index 0000000000..a1ae5b4800
--- /dev/null
+++ b/Lang/EGL/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/EGL
\ No newline at end of file
diff --git a/Lang/EGL/Rosetta-Code-Count-examples b/Lang/EGL/Rosetta-Code-Count-examples
new file mode 120000
index 0000000000..03b7618460
--- /dev/null
+++ b/Lang/EGL/Rosetta-Code-Count-examples
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Count-examples/EGL
\ No newline at end of file
diff --git a/Lang/Eiffel/Environment-variables b/Lang/Eiffel/Environment-variables
new file mode 120000
index 0000000000..fd4c5a6aaf
--- /dev/null
+++ b/Lang/Eiffel/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Eiffel
\ No newline at end of file
diff --git a/Lang/Eiffel/Polymorphism b/Lang/Eiffel/Polymorphism
new file mode 120000
index 0000000000..bbbd235ccd
--- /dev/null
+++ b/Lang/Eiffel/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/Eiffel
\ No newline at end of file
diff --git a/Lang/Eiffel/Random-numbers b/Lang/Eiffel/Random-numbers
new file mode 120000
index 0000000000..6ba0ed4d34
--- /dev/null
+++ b/Lang/Eiffel/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Eiffel
\ No newline at end of file
diff --git a/Lang/Eiffel/Reverse-a-string b/Lang/Eiffel/Reverse-a-string
new file mode 120000
index 0000000000..01180e8b3d
--- /dev/null
+++ b/Lang/Eiffel/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Eiffel
\ No newline at end of file
diff --git a/Lang/Ela/Order-two-numerical-lists b/Lang/Ela/Order-two-numerical-lists
new file mode 120000
index 0000000000..96428b19a6
--- /dev/null
+++ b/Lang/Ela/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/Ela
\ No newline at end of file
diff --git a/Lang/Ela/Palindrome-detection b/Lang/Ela/Palindrome-detection
new file mode 120000
index 0000000000..731aac6d1f
--- /dev/null
+++ b/Lang/Ela/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Ela
\ No newline at end of file
diff --git a/Lang/Ela/Parsing-RPN-calculator-algorithm b/Lang/Ela/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..720bbb26ee
--- /dev/null
+++ b/Lang/Ela/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/Ela
\ No newline at end of file
diff --git a/Lang/Ela/Polymorphism b/Lang/Ela/Polymorphism
new file mode 120000
index 0000000000..b498270e1d
--- /dev/null
+++ b/Lang/Ela/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/Ela
\ No newline at end of file
diff --git a/Lang/Ela/Scope-modifiers b/Lang/Ela/Scope-modifiers
new file mode 120000
index 0000000000..d6ceac85f1
--- /dev/null
+++ b/Lang/Ela/Scope-modifiers
@@ -0,0 +1 @@
+../../Task/Scope-modifiers/Ela
\ No newline at end of file
diff --git a/Lang/Ela/Set-consolidation b/Lang/Ela/Set-consolidation
new file mode 120000
index 0000000000..57a755877a
--- /dev/null
+++ b/Lang/Ela/Set-consolidation
@@ -0,0 +1 @@
+../../Task/Set-consolidation/Ela
\ No newline at end of file
diff --git a/Lang/Elena/Binary-digits b/Lang/Elena/Binary-digits
new file mode 120000
index 0000000000..451d5a94b9
--- /dev/null
+++ b/Lang/Elena/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Elena
\ No newline at end of file
diff --git a/Lang/Elisa/Queue-Definition b/Lang/Elisa/Queue-Definition
new file mode 120000
index 0000000000..ebfb6cc3fc
--- /dev/null
+++ b/Lang/Elisa/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Elisa
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Arbitrary-precision-integers--included- b/Lang/Emacs-Lisp/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..fce95352a8
--- /dev/null
+++ b/Lang/Emacs-Lisp/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Arbitrary-precision-integers-included b/Lang/Emacs-Lisp/Arbitrary-precision-integers-included
deleted file mode 120000
index 4d9c0aa09a..0000000000
--- a/Lang/Emacs-Lisp/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Dragon-curve b/Lang/Emacs-Lisp/Dragon-curve
new file mode 120000
index 0000000000..00a00783bf
--- /dev/null
+++ b/Lang/Emacs-Lisp/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Environment-variables b/Lang/Emacs-Lisp/Environment-variables
new file mode 120000
index 0000000000..900c543508
--- /dev/null
+++ b/Lang/Emacs-Lisp/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Program-name b/Lang/Emacs-Lisp/Program-name
new file mode 120000
index 0000000000..009e8b6796
--- /dev/null
+++ b/Lang/Emacs-Lisp/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Reverse-a-string b/Lang/Emacs-Lisp/Reverse-a-string
new file mode 120000
index 0000000000..668b7df53e
--- /dev/null
+++ b/Lang/Emacs-Lisp/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Roman-numerals-Decode b/Lang/Emacs-Lisp/Roman-numerals-Decode
new file mode 120000
index 0000000000..1b5d8b84e6
--- /dev/null
+++ b/Lang/Emacs-Lisp/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Emacs-Lisp/Roman-numerals-Encode b/Lang/Emacs-Lisp/Roman-numerals-Encode
new file mode 120000
index 0000000000..30f68dbc6c
--- /dev/null
+++ b/Lang/Emacs-Lisp/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Emacs-Lisp
\ No newline at end of file
diff --git a/Lang/Erlang/Arbitrary-precision-integers--included- b/Lang/Erlang/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..da7fbfe094
--- /dev/null
+++ b/Lang/Erlang/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Arbitrary-precision-integers-included b/Lang/Erlang/Arbitrary-precision-integers-included
deleted file mode 120000
index cd2d4cb2a3..0000000000
--- a/Lang/Erlang/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Binary-digits b/Lang/Erlang/Binary-digits
new file mode 120000
index 0000000000..f7fc1607df
--- /dev/null
+++ b/Lang/Erlang/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Catalan-numbers b/Lang/Erlang/Catalan-numbers
new file mode 120000
index 0000000000..5ff640aa24
--- /dev/null
+++ b/Lang/Erlang/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Copy-a-string b/Lang/Erlang/Copy-a-string
new file mode 120000
index 0000000000..1ad4e9e00e
--- /dev/null
+++ b/Lang/Erlang/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Nth-root b/Lang/Erlang/Nth-root
new file mode 120000
index 0000000000..7a6700df3d
--- /dev/null
+++ b/Lang/Erlang/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/One-dimensional-cellular-automata b/Lang/Erlang/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..1a1ed60a0c
--- /dev/null
+++ b/Lang/Erlang/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Palindrome-detection b/Lang/Erlang/Palindrome-detection
new file mode 120000
index 0000000000..5bdc6562fb
--- /dev/null
+++ b/Lang/Erlang/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Pangram-checker b/Lang/Erlang/Pangram-checker
new file mode 120000
index 0000000000..f6136de715
--- /dev/null
+++ b/Lang/Erlang/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Pascals-triangle b/Lang/Erlang/Pascals-triangle
new file mode 120000
index 0000000000..770c874a64
--- /dev/null
+++ b/Lang/Erlang/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Perfect-numbers b/Lang/Erlang/Perfect-numbers
new file mode 120000
index 0000000000..ee57fc09d2
--- /dev/null
+++ b/Lang/Erlang/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Permutations b/Lang/Erlang/Permutations
new file mode 120000
index 0000000000..f0556936e3
--- /dev/null
+++ b/Lang/Erlang/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Power-set b/Lang/Erlang/Power-set
new file mode 120000
index 0000000000..0d7a564ecf
--- /dev/null
+++ b/Lang/Erlang/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Price-fraction b/Lang/Erlang/Price-fraction
new file mode 120000
index 0000000000..06eba06456
--- /dev/null
+++ b/Lang/Erlang/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Primality-by-trial-division b/Lang/Erlang/Primality-by-trial-division
new file mode 120000
index 0000000000..3ce761da16
--- /dev/null
+++ b/Lang/Erlang/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Prime-decomposition b/Lang/Erlang/Prime-decomposition
new file mode 120000
index 0000000000..5a3f83648f
--- /dev/null
+++ b/Lang/Erlang/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Program-name b/Lang/Erlang/Program-name
new file mode 120000
index 0000000000..20b9813b9f
--- /dev/null
+++ b/Lang/Erlang/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Pythagorean-triples b/Lang/Erlang/Pythagorean-triples
new file mode 120000
index 0000000000..c3af61fc99
--- /dev/null
+++ b/Lang/Erlang/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Queue-Definition b/Lang/Erlang/Queue-Definition
new file mode 120000
index 0000000000..1c9e4890ba
--- /dev/null
+++ b/Lang/Erlang/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Queue-Usage b/Lang/Erlang/Queue-Usage
new file mode 120000
index 0000000000..f3dc213729
--- /dev/null
+++ b/Lang/Erlang/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Random-number-generator--included- b/Lang/Erlang/Random-number-generator--included-
new file mode 120000
index 0000000000..9ee85f8f67
--- /dev/null
+++ b/Lang/Erlang/Random-number-generator--included-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--included-/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Random-numbers b/Lang/Erlang/Random-numbers
new file mode 120000
index 0000000000..fbdd08d5f0
--- /dev/null
+++ b/Lang/Erlang/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Read-entire-file b/Lang/Erlang/Read-entire-file
new file mode 120000
index 0000000000..7519a4c540
--- /dev/null
+++ b/Lang/Erlang/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Regular-expressions b/Lang/Erlang/Regular-expressions
new file mode 120000
index 0000000000..87ea56367b
--- /dev/null
+++ b/Lang/Erlang/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Remove-duplicate-elements b/Lang/Erlang/Remove-duplicate-elements
new file mode 120000
index 0000000000..5c9db41dda
--- /dev/null
+++ b/Lang/Erlang/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Rename-a-file b/Lang/Erlang/Rename-a-file
new file mode 120000
index 0000000000..05a8287bb4
--- /dev/null
+++ b/Lang/Erlang/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Repeat-a-string b/Lang/Erlang/Repeat-a-string
new file mode 120000
index 0000000000..6270e8ad0e
--- /dev/null
+++ b/Lang/Erlang/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Reverse-a-string b/Lang/Erlang/Reverse-a-string
new file mode 120000
index 0000000000..4ccb7d2fe0
--- /dev/null
+++ b/Lang/Erlang/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Rock-paper-scissors b/Lang/Erlang/Rock-paper-scissors
new file mode 120000
index 0000000000..9375a7a3b0
--- /dev/null
+++ b/Lang/Erlang/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Roman-numerals-Encode b/Lang/Erlang/Roman-numerals-Encode
new file mode 120000
index 0000000000..8a7b42749a
--- /dev/null
+++ b/Lang/Erlang/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Rosetta-Code-Count-examples b/Lang/Erlang/Rosetta-Code-Count-examples
new file mode 120000
index 0000000000..7b2911eb3e
--- /dev/null
+++ b/Lang/Erlang/Rosetta-Code-Count-examples
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Count-examples/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Rot-13 b/Lang/Erlang/Rot-13
new file mode 120000
index 0000000000..3c8ca12501
--- /dev/null
+++ b/Lang/Erlang/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Run-length-encoding b/Lang/Erlang/Run-length-encoding
new file mode 120000
index 0000000000..e57b990adb
--- /dev/null
+++ b/Lang/Erlang/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Runtime-evaluation b/Lang/Erlang/Runtime-evaluation
new file mode 120000
index 0000000000..7f5780c5a0
--- /dev/null
+++ b/Lang/Erlang/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/Erlang
\ No newline at end of file
diff --git a/Lang/Erlang/Self-describing-numbers b/Lang/Erlang/Self-describing-numbers
new file mode 120000
index 0000000000..4330ad047a
--- /dev/null
+++ b/Lang/Erlang/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/Erlang
\ No newline at end of file
diff --git a/Lang/Euler-Math-Toolbox/Random-numbers b/Lang/Euler-Math-Toolbox/Random-numbers
new file mode 120000
index 0000000000..8ec1e7cdea
--- /dev/null
+++ b/Lang/Euler-Math-Toolbox/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Euler-Math-Toolbox
\ No newline at end of file
diff --git a/Lang/Euler-Math-Toolbox/Resistor-mesh b/Lang/Euler-Math-Toolbox/Resistor-mesh
new file mode 120000
index 0000000000..eec40a4686
--- /dev/null
+++ b/Lang/Euler-Math-Toolbox/Resistor-mesh
@@ -0,0 +1 @@
+../../Task/Resistor-mesh/Euler-Math-Toolbox
\ No newline at end of file
diff --git a/Lang/Euler-Math-Toolbox/Reverse-a-string b/Lang/Euler-Math-Toolbox/Reverse-a-string
new file mode 120000
index 0000000000..bd5cb2bd2e
--- /dev/null
+++ b/Lang/Euler-Math-Toolbox/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Euler-Math-Toolbox
\ No newline at end of file
diff --git a/Lang/Euphoria/Binary-digits b/Lang/Euphoria/Binary-digits
new file mode 120000
index 0000000000..07179efaee
--- /dev/null
+++ b/Lang/Euphoria/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Catalan-numbers b/Lang/Euphoria/Catalan-numbers
new file mode 120000
index 0000000000..e6432c2170
--- /dev/null
+++ b/Lang/Euphoria/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Copy-a-string b/Lang/Euphoria/Copy-a-string
new file mode 120000
index 0000000000..692c744012
--- /dev/null
+++ b/Lang/Euphoria/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Environment-variables b/Lang/Euphoria/Environment-variables
new file mode 120000
index 0000000000..2f65c52720
--- /dev/null
+++ b/Lang/Euphoria/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Guess-the-number-With-feedback--player- b/Lang/Euphoria/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..1b05132483
--- /dev/null
+++ b/Lang/Euphoria/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Guess-the-number-With-feedback-player b/Lang/Euphoria/Guess-the-number-With-feedback-player
deleted file mode 120000
index 808118f582..0000000000
--- a/Lang/Euphoria/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Non-decimal-radices-Convert b/Lang/Euphoria/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..4559bdea51
--- /dev/null
+++ b/Lang/Euphoria/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Non-decimal-radices-Output b/Lang/Euphoria/Non-decimal-radices-Output
new file mode 120000
index 0000000000..1dcc061966
--- /dev/null
+++ b/Lang/Euphoria/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Number-names b/Lang/Euphoria/Number-names
new file mode 120000
index 0000000000..607b3ad71a
--- /dev/null
+++ b/Lang/Euphoria/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Number-reversal-game b/Lang/Euphoria/Number-reversal-game
new file mode 120000
index 0000000000..918691ea72
--- /dev/null
+++ b/Lang/Euphoria/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Numerical-integration b/Lang/Euphoria/Numerical-integration
new file mode 120000
index 0000000000..d459c44193
--- /dev/null
+++ b/Lang/Euphoria/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/One-dimensional-cellular-automata b/Lang/Euphoria/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..6325bd4881
--- /dev/null
+++ b/Lang/Euphoria/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/One-of-n-lines-in-a-file b/Lang/Euphoria/One-of-n-lines-in-a-file
new file mode 120000
index 0000000000..c5cb261855
--- /dev/null
+++ b/Lang/Euphoria/One-of-n-lines-in-a-file
@@ -0,0 +1 @@
+../../Task/One-of-n-lines-in-a-file/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Palindrome-detection b/Lang/Euphoria/Palindrome-detection
new file mode 120000
index 0000000000..217f021016
--- /dev/null
+++ b/Lang/Euphoria/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Pascals-triangle b/Lang/Euphoria/Pascals-triangle
new file mode 120000
index 0000000000..6f7808aa74
--- /dev/null
+++ b/Lang/Euphoria/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Permutations b/Lang/Euphoria/Permutations
new file mode 120000
index 0000000000..5a37219314
--- /dev/null
+++ b/Lang/Euphoria/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Pick-random-element b/Lang/Euphoria/Pick-random-element
new file mode 120000
index 0000000000..3163dbc1a7
--- /dev/null
+++ b/Lang/Euphoria/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Price-fraction b/Lang/Euphoria/Price-fraction
new file mode 120000
index 0000000000..2c081598e4
--- /dev/null
+++ b/Lang/Euphoria/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Primality-by-trial-division b/Lang/Euphoria/Primality-by-trial-division
new file mode 120000
index 0000000000..c402d766b6
--- /dev/null
+++ b/Lang/Euphoria/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Probabilistic-choice b/Lang/Euphoria/Probabilistic-choice
new file mode 120000
index 0000000000..838b4e9402
--- /dev/null
+++ b/Lang/Euphoria/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Program-name b/Lang/Euphoria/Program-name
new file mode 120000
index 0000000000..e0701c6415
--- /dev/null
+++ b/Lang/Euphoria/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Pythagorean-triples b/Lang/Euphoria/Pythagorean-triples
new file mode 120000
index 0000000000..b2e3f200d3
--- /dev/null
+++ b/Lang/Euphoria/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Quaternion-type b/Lang/Euphoria/Quaternion-type
new file mode 120000
index 0000000000..aedb6b51e1
--- /dev/null
+++ b/Lang/Euphoria/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Random-numbers b/Lang/Euphoria/Random-numbers
new file mode 120000
index 0000000000..6860bcd6ad
--- /dev/null
+++ b/Lang/Euphoria/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Range-extraction b/Lang/Euphoria/Range-extraction
new file mode 120000
index 0000000000..a6c7b5a453
--- /dev/null
+++ b/Lang/Euphoria/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Read-a-file-line-by-line b/Lang/Euphoria/Read-a-file-line-by-line
new file mode 120000
index 0000000000..db9d99d1f6
--- /dev/null
+++ b/Lang/Euphoria/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Read-entire-file b/Lang/Euphoria/Read-entire-file
new file mode 120000
index 0000000000..a605da5605
--- /dev/null
+++ b/Lang/Euphoria/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Reduced-row-echelon-form b/Lang/Euphoria/Reduced-row-echelon-form
new file mode 120000
index 0000000000..9106afa15b
--- /dev/null
+++ b/Lang/Euphoria/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Remove-duplicate-elements b/Lang/Euphoria/Remove-duplicate-elements
new file mode 120000
index 0000000000..814682f118
--- /dev/null
+++ b/Lang/Euphoria/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Repeat-a-string b/Lang/Euphoria/Repeat-a-string
new file mode 120000
index 0000000000..5de5fa7597
--- /dev/null
+++ b/Lang/Euphoria/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Return-multiple-values b/Lang/Euphoria/Return-multiple-values
new file mode 120000
index 0000000000..769cacd04d
--- /dev/null
+++ b/Lang/Euphoria/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Reverse-a-string b/Lang/Euphoria/Reverse-a-string
new file mode 120000
index 0000000000..5d5ba1c3bf
--- /dev/null
+++ b/Lang/Euphoria/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Rock-paper-scissors b/Lang/Euphoria/Rock-paper-scissors
new file mode 120000
index 0000000000..d1a713bb58
--- /dev/null
+++ b/Lang/Euphoria/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Roman-numerals-Decode b/Lang/Euphoria/Roman-numerals-Decode
new file mode 120000
index 0000000000..5832088083
--- /dev/null
+++ b/Lang/Euphoria/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Roman-numerals-Encode b/Lang/Euphoria/Roman-numerals-Encode
new file mode 120000
index 0000000000..c5ab4ba62a
--- /dev/null
+++ b/Lang/Euphoria/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Rot-13 b/Lang/Euphoria/Rot-13
new file mode 120000
index 0000000000..472ca2c904
--- /dev/null
+++ b/Lang/Euphoria/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Run-length-encoding b/Lang/Euphoria/Run-length-encoding
new file mode 120000
index 0000000000..0b5df368f6
--- /dev/null
+++ b/Lang/Euphoria/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Euphoria
\ No newline at end of file
diff --git a/Lang/Euphoria/Sequence-of-non-squares b/Lang/Euphoria/Sequence-of-non-squares
new file mode 120000
index 0000000000..b7863f4d1b
--- /dev/null
+++ b/Lang/Euphoria/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Euphoria
\ No newline at end of file
diff --git a/Lang/FALSE/Perfect-numbers b/Lang/FALSE/Perfect-numbers
new file mode 120000
index 0000000000..c7ca715132
--- /dev/null
+++ b/Lang/FALSE/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/FALSE
\ No newline at end of file
diff --git a/Lang/FALSE/Primality-by-trial-division b/Lang/FALSE/Primality-by-trial-division
new file mode 120000
index 0000000000..ba40fb42c4
--- /dev/null
+++ b/Lang/FALSE/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/FALSE
\ No newline at end of file
diff --git a/Lang/FALSE/Prime-decomposition b/Lang/FALSE/Prime-decomposition
new file mode 120000
index 0000000000..b28f4c1319
--- /dev/null
+++ b/Lang/FALSE/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/FALSE
\ No newline at end of file
diff --git a/Lang/FALSE/Return-multiple-values b/Lang/FALSE/Return-multiple-values
new file mode 120000
index 0000000000..d8a52433b9
--- /dev/null
+++ b/Lang/FALSE/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/FALSE
\ No newline at end of file
diff --git a/Lang/FALSE/Roman-numerals-Encode b/Lang/FALSE/Roman-numerals-Encode
new file mode 120000
index 0000000000..9c63f72d5e
--- /dev/null
+++ b/Lang/FALSE/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/FALSE
\ No newline at end of file
diff --git a/Lang/FALSE/Rot-13 b/Lang/FALSE/Rot-13
new file mode 120000
index 0000000000..c08e1692ca
--- /dev/null
+++ b/Lang/FALSE/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/FALSE
\ No newline at end of file
diff --git a/Lang/FALSE/Run-length-encoding b/Lang/FALSE/Run-length-encoding
new file mode 120000
index 0000000000..b4ff3b3979
--- /dev/null
+++ b/Lang/FALSE/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/FALSE
\ No newline at end of file
diff --git a/Lang/FBSL/Reverse-a-string b/Lang/FBSL/Reverse-a-string
new file mode 120000
index 0000000000..f0e0947be7
--- /dev/null
+++ b/Lang/FBSL/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/FBSL
\ No newline at end of file
diff --git a/Lang/Factor/Arbitrary-precision-integers--included- b/Lang/Factor/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..66907e3901
--- /dev/null
+++ b/Lang/Factor/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Arbitrary-precision-integers-included b/Lang/Factor/Arbitrary-precision-integers-included
deleted file mode 120000
index ddb3ab07e8..0000000000
--- a/Lang/Factor/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Binary-digits b/Lang/Factor/Binary-digits
new file mode 120000
index 0000000000..1a57d46b51
--- /dev/null
+++ b/Lang/Factor/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Catalan-numbers b/Lang/Factor/Catalan-numbers
new file mode 120000
index 0000000000..f2b1d7db1b
--- /dev/null
+++ b/Lang/Factor/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Copy-a-string b/Lang/Factor/Copy-a-string
new file mode 120000
index 0000000000..d0db9d7d8a
--- /dev/null
+++ b/Lang/Factor/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Dragon-curve b/Lang/Factor/Dragon-curve
new file mode 120000
index 0000000000..c326dd5a0d
--- /dev/null
+++ b/Lang/Factor/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Environment-variables b/Lang/Factor/Environment-variables
new file mode 120000
index 0000000000..d02097cf79
--- /dev/null
+++ b/Lang/Factor/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Factor
\ No newline at end of file
diff --git a/Lang/Factor/N-queens-problem b/Lang/Factor/N-queens-problem
new file mode 120000
index 0000000000..baf4608870
--- /dev/null
+++ b/Lang/Factor/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Non-decimal-radices-Convert b/Lang/Factor/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..4cf1dcda9c
--- /dev/null
+++ b/Lang/Factor/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Non-decimal-radices-Input b/Lang/Factor/Non-decimal-radices-Input
new file mode 120000
index 0000000000..8a1775aa0f
--- /dev/null
+++ b/Lang/Factor/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Non-decimal-radices-Output b/Lang/Factor/Non-decimal-radices-Output
new file mode 120000
index 0000000000..1e5aa1667d
--- /dev/null
+++ b/Lang/Factor/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Null-object b/Lang/Factor/Null-object
new file mode 120000
index 0000000000..2e11c43a87
--- /dev/null
+++ b/Lang/Factor/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Number-reversal-game b/Lang/Factor/Number-reversal-game
new file mode 120000
index 0000000000..04adfbdec0
--- /dev/null
+++ b/Lang/Factor/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/Factor
\ No newline at end of file
diff --git a/Lang/Factor/One-dimensional-cellular-automata b/Lang/Factor/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..24d3aac764
--- /dev/null
+++ b/Lang/Factor/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Factor
\ No newline at end of file
diff --git a/Lang/Factor/One-of-n-lines-in-a-file b/Lang/Factor/One-of-n-lines-in-a-file
new file mode 120000
index 0000000000..9abdbf34a1
--- /dev/null
+++ b/Lang/Factor/One-of-n-lines-in-a-file
@@ -0,0 +1 @@
+../../Task/One-of-n-lines-in-a-file/Factor
\ No newline at end of file
diff --git a/Lang/Factor/OpenGL b/Lang/Factor/OpenGL
new file mode 120000
index 0000000000..113dff4390
--- /dev/null
+++ b/Lang/Factor/OpenGL
@@ -0,0 +1 @@
+../../Task/OpenGL/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Palindrome-detection b/Lang/Factor/Palindrome-detection
new file mode 120000
index 0000000000..6cf330d0d7
--- /dev/null
+++ b/Lang/Factor/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Pangram-checker b/Lang/Factor/Pangram-checker
new file mode 120000
index 0000000000..7624608a3e
--- /dev/null
+++ b/Lang/Factor/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Pascals-triangle b/Lang/Factor/Pascals-triangle
new file mode 120000
index 0000000000..4b0888b3f2
--- /dev/null
+++ b/Lang/Factor/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Perfect-numbers b/Lang/Factor/Perfect-numbers
new file mode 120000
index 0000000000..97eba0a9cd
--- /dev/null
+++ b/Lang/Factor/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Pick-random-element b/Lang/Factor/Pick-random-element
new file mode 120000
index 0000000000..43cb1fab26
--- /dev/null
+++ b/Lang/Factor/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Polymorphic-copy b/Lang/Factor/Polymorphic-copy
new file mode 120000
index 0000000000..7c9fa470cd
--- /dev/null
+++ b/Lang/Factor/Polymorphic-copy
@@ -0,0 +1 @@
+../../Task/Polymorphic-copy/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Polymorphism b/Lang/Factor/Polymorphism
new file mode 120000
index 0000000000..6da82bcd89
--- /dev/null
+++ b/Lang/Factor/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Power-set b/Lang/Factor/Power-set
new file mode 120000
index 0000000000..75af12b6c5
--- /dev/null
+++ b/Lang/Factor/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Primality-by-trial-division b/Lang/Factor/Primality-by-trial-division
new file mode 120000
index 0000000000..129068e226
--- /dev/null
+++ b/Lang/Factor/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Prime-decomposition b/Lang/Factor/Prime-decomposition
new file mode 120000
index 0000000000..c022022af1
--- /dev/null
+++ b/Lang/Factor/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Priority-queue b/Lang/Factor/Priority-queue
new file mode 120000
index 0000000000..6347ad711a
--- /dev/null
+++ b/Lang/Factor/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Probabilistic-choice b/Lang/Factor/Probabilistic-choice
new file mode 120000
index 0000000000..9b1cc3eda1
--- /dev/null
+++ b/Lang/Factor/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Program-name b/Lang/Factor/Program-name
new file mode 120000
index 0000000000..2ee88e0f81
--- /dev/null
+++ b/Lang/Factor/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Pythagorean-triples b/Lang/Factor/Pythagorean-triples
new file mode 120000
index 0000000000..c8f21fd124
--- /dev/null
+++ b/Lang/Factor/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Random-numbers b/Lang/Factor/Random-numbers
new file mode 120000
index 0000000000..edeadb345d
--- /dev/null
+++ b/Lang/Factor/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Ray-casting-algorithm b/Lang/Factor/Ray-casting-algorithm
new file mode 120000
index 0000000000..c0bea1f0fd
--- /dev/null
+++ b/Lang/Factor/Ray-casting-algorithm
@@ -0,0 +1 @@
+../../Task/Ray-casting-algorithm/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Read-a-file-line-by-line b/Lang/Factor/Read-a-file-line-by-line
new file mode 120000
index 0000000000..3f201688a4
--- /dev/null
+++ b/Lang/Factor/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Read-entire-file b/Lang/Factor/Read-entire-file
new file mode 120000
index 0000000000..5a057a1118
--- /dev/null
+++ b/Lang/Factor/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Real-constants-and-functions b/Lang/Factor/Real-constants-and-functions
new file mode 120000
index 0000000000..5d25d8b58a
--- /dev/null
+++ b/Lang/Factor/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Remove-duplicate-elements b/Lang/Factor/Remove-duplicate-elements
new file mode 120000
index 0000000000..3db45b1fd3
--- /dev/null
+++ b/Lang/Factor/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Rename-a-file b/Lang/Factor/Rename-a-file
new file mode 120000
index 0000000000..d97b7170ab
--- /dev/null
+++ b/Lang/Factor/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Repeat-a-string b/Lang/Factor/Repeat-a-string
new file mode 120000
index 0000000000..4ec39a5385
--- /dev/null
+++ b/Lang/Factor/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Return-multiple-values b/Lang/Factor/Return-multiple-values
new file mode 120000
index 0000000000..0ec1051450
--- /dev/null
+++ b/Lang/Factor/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Reverse-a-string b/Lang/Factor/Reverse-a-string
new file mode 120000
index 0000000000..c20b1b89f5
--- /dev/null
+++ b/Lang/Factor/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Roman-numerals-Encode b/Lang/Factor/Roman-numerals-Encode
new file mode 120000
index 0000000000..3fd56e2904
--- /dev/null
+++ b/Lang/Factor/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Roots-of-a-quadratic-function b/Lang/Factor/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..e24d1b3379
--- /dev/null
+++ b/Lang/Factor/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Rot-13 b/Lang/Factor/Rot-13
new file mode 120000
index 0000000000..d3a19312cc
--- /dev/null
+++ b/Lang/Factor/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Send-email b/Lang/Factor/Send-email
new file mode 120000
index 0000000000..6552b250f5
--- /dev/null
+++ b/Lang/Factor/Send-email
@@ -0,0 +1 @@
+../../Task/Send-email/Factor
\ No newline at end of file
diff --git a/Lang/Factor/Set b/Lang/Factor/Set
new file mode 120000
index 0000000000..ca232bdc2b
--- /dev/null
+++ b/Lang/Factor/Set
@@ -0,0 +1 @@
+../../Task/Set/Factor
\ No newline at end of file
diff --git a/Lang/Fan/Roman-numerals-Encode b/Lang/Fan/Roman-numerals-Encode
new file mode 120000
index 0000000000..0c61589d6f
--- /dev/null
+++ b/Lang/Fan/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Fan
\ No newline at end of file
diff --git a/Lang/Fan/Run-length-encoding b/Lang/Fan/Run-length-encoding
new file mode 120000
index 0000000000..6339ce383d
--- /dev/null
+++ b/Lang/Fan/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Fan
\ No newline at end of file
diff --git a/Lang/Fancy/Respond-to-an-unknown-method-call b/Lang/Fancy/Respond-to-an-unknown-method-call
new file mode 120000
index 0000000000..7c8670c9d7
--- /dev/null
+++ b/Lang/Fancy/Respond-to-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Respond-to-an-unknown-method-call/Fancy
\ No newline at end of file
diff --git a/Lang/Fancy/Reverse-a-string b/Lang/Fancy/Reverse-a-string
new file mode 120000
index 0000000000..b38fa925f5
--- /dev/null
+++ b/Lang/Fancy/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Fancy
\ No newline at end of file
diff --git a/Lang/Fantom/Brownian-tree b/Lang/Fantom/Brownian-tree
new file mode 120000
index 0000000000..a62c495ad5
--- /dev/null
+++ b/Lang/Fantom/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/Fantom
\ No newline at end of file
diff --git a/Lang/Fantom/Catalan-numbers b/Lang/Fantom/Catalan-numbers
new file mode 120000
index 0000000000..ffe7334047
--- /dev/null
+++ b/Lang/Fantom/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Fantom
\ No newline at end of file
diff --git a/Lang/Fantom/Guess-the-number-With-feedback--player- b/Lang/Fantom/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..2941bc5091
--- /dev/null
+++ b/Lang/Fantom/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/Fantom
\ No newline at end of file
diff --git a/Lang/Fantom/Guess-the-number-With-feedback-player b/Lang/Fantom/Guess-the-number-With-feedback-player
deleted file mode 120000
index 75f3d69892..0000000000
--- a/Lang/Fantom/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/Fantom
\ No newline at end of file
diff --git a/Lang/Fantom/Null-object b/Lang/Fantom/Null-object
new file mode 120000
index 0000000000..331a1f8a0e
--- /dev/null
+++ b/Lang/Fantom/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Fantom
\ No newline at end of file
diff --git a/Lang/Fantom/One-dimensional-cellular-automata b/Lang/Fantom/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..922d06199f
--- /dev/null
+++ b/Lang/Fantom/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Fantom
\ No newline at end of file
diff --git a/Lang/Fantom/Palindrome-detection b/Lang/Fantom/Palindrome-detection
new file mode 120000
index 0000000000..68759e45bb
--- /dev/null
+++ b/Lang/Fantom/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Fantom
\ No newline at end of file
diff --git a/Lang/Fantom/Pascals-triangle b/Lang/Fantom/Pascals-triangle
new file mode 120000
index 0000000000..29fd03ca6b
--- /dev/null
+++ b/Lang/Fantom/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Fantom
\ No newline at end of file
diff --git a/Lang/Fantom/Playing-cards b/Lang/Fantom/Playing-cards
new file mode 120000
index 0000000000..23f51b2167
--- /dev/null
+++ b/Lang/Fantom/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/Fantom
\ No newline at end of file
diff --git a/Lang/Fantom/Price-fraction b/Lang/Fantom/Price-fraction
new file mode 120000
index 0000000000..745f03b6f5
--- /dev/null
+++ b/Lang/Fantom/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/Fantom
\ No newline at end of file
diff --git a/Lang/Fantom/Queue-Definition b/Lang/Fantom/Queue-Definition
new file mode 120000
index 0000000000..3c7510d6cf
--- /dev/null
+++ b/Lang/Fantom/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Fantom
\ No newline at end of file
diff --git a/Lang/Fantom/Queue-Usage b/Lang/Fantom/Queue-Usage
new file mode 120000
index 0000000000..46765ff233
--- /dev/null
+++ b/Lang/Fantom/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/Fantom
\ No newline at end of file
diff --git a/Lang/Fantom/Random-numbers b/Lang/Fantom/Random-numbers
new file mode 120000
index 0000000000..fcfe45527c
--- /dev/null
+++ b/Lang/Fantom/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Fantom
\ No newline at end of file
diff --git a/Lang/Fantom/Read-a-configuration-file b/Lang/Fantom/Read-a-configuration-file
new file mode 120000
index 0000000000..902651f6eb
--- /dev/null
+++ b/Lang/Fantom/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/Fantom
\ No newline at end of file
diff --git a/Lang/Fantom/Read-a-file-line-by-line b/Lang/Fantom/Read-a-file-line-by-line
new file mode 120000
index 0000000000..105d5e7346
--- /dev/null
+++ b/Lang/Fantom/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Fantom
\ No newline at end of file
diff --git a/Lang/Fantom/Read-entire-file b/Lang/Fantom/Read-entire-file
new file mode 120000
index 0000000000..406ac8796b
--- /dev/null
+++ b/Lang/Fantom/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Fantom
\ No newline at end of file
diff --git a/Lang/Fantom/Real-constants-and-functions b/Lang/Fantom/Real-constants-and-functions
new file mode 120000
index 0000000000..01b3e4b56b
--- /dev/null
+++ b/Lang/Fantom/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Fantom
\ No newline at end of file
diff --git a/Lang/Fantom/Rename-a-file b/Lang/Fantom/Rename-a-file
new file mode 120000
index 0000000000..4d08572489
--- /dev/null
+++ b/Lang/Fantom/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Fantom
\ No newline at end of file
diff --git a/Lang/Fantom/Respond-to-an-unknown-method-call b/Lang/Fantom/Respond-to-an-unknown-method-call
new file mode 120000
index 0000000000..a468a57bd5
--- /dev/null
+++ b/Lang/Fantom/Respond-to-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Respond-to-an-unknown-method-call/Fantom
\ No newline at end of file
diff --git a/Lang/Fantom/Rot-13 b/Lang/Fantom/Rot-13
new file mode 120000
index 0000000000..59a9d97aa0
--- /dev/null
+++ b/Lang/Fantom/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Fantom
\ No newline at end of file
diff --git a/Lang/Fantom/Send-email b/Lang/Fantom/Send-email
new file mode 120000
index 0000000000..3288d8695b
--- /dev/null
+++ b/Lang/Fantom/Send-email
@@ -0,0 +1 @@
+../../Task/Send-email/Fantom
\ No newline at end of file
diff --git a/Lang/Fantom/Sequence-of-non-squares b/Lang/Fantom/Sequence-of-non-squares
new file mode 120000
index 0000000000..af283ba65e
--- /dev/null
+++ b/Lang/Fantom/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Fantom
\ No newline at end of file
diff --git a/Lang/Forth/Binary-digits b/Lang/Forth/Binary-digits
new file mode 120000
index 0000000000..1994f64c25
--- /dev/null
+++ b/Lang/Forth/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Catalan-numbers b/Lang/Forth/Catalan-numbers
new file mode 120000
index 0000000000..cb262668c6
--- /dev/null
+++ b/Lang/Forth/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Copy-a-string b/Lang/Forth/Copy-a-string
new file mode 120000
index 0000000000..c52eeb0fa8
--- /dev/null
+++ b/Lang/Forth/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Dragon-curve b/Lang/Forth/Dragon-curve
new file mode 120000
index 0000000000..4aaad31528
--- /dev/null
+++ b/Lang/Forth/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Environment-variables b/Lang/Forth/Environment-variables
new file mode 120000
index 0000000000..5fcc7e66bb
--- /dev/null
+++ b/Lang/Forth/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Forth
\ No newline at end of file
diff --git a/Lang/Forth/N-queens-problem b/Lang/Forth/N-queens-problem
new file mode 120000
index 0000000000..a99ae56233
--- /dev/null
+++ b/Lang/Forth/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Non-decimal-radices-Convert b/Lang/Forth/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..583c2a291d
--- /dev/null
+++ b/Lang/Forth/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Non-decimal-radices-Input b/Lang/Forth/Non-decimal-radices-Input
new file mode 120000
index 0000000000..a44de1af80
--- /dev/null
+++ b/Lang/Forth/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Non-decimal-radices-Output b/Lang/Forth/Non-decimal-radices-Output
new file mode 120000
index 0000000000..0dc247e641
--- /dev/null
+++ b/Lang/Forth/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Nth-root b/Lang/Forth/Nth-root
new file mode 120000
index 0000000000..1feca8e874
--- /dev/null
+++ b/Lang/Forth/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Number-reversal-game b/Lang/Forth/Number-reversal-game
new file mode 120000
index 0000000000..7acb75bcb9
--- /dev/null
+++ b/Lang/Forth/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Numerical-integration b/Lang/Forth/Numerical-integration
new file mode 120000
index 0000000000..a4bb939b12
--- /dev/null
+++ b/Lang/Forth/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/Forth
\ No newline at end of file
diff --git a/Lang/Forth/One-dimensional-cellular-automata b/Lang/Forth/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..e5366fe134
--- /dev/null
+++ b/Lang/Forth/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Forth
\ No newline at end of file
diff --git a/Lang/Forth/OpenGL b/Lang/Forth/OpenGL
new file mode 120000
index 0000000000..c6530053da
--- /dev/null
+++ b/Lang/Forth/OpenGL
@@ -0,0 +1 @@
+../../Task/OpenGL/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Palindrome-detection b/Lang/Forth/Palindrome-detection
new file mode 120000
index 0000000000..1f51d8c7fb
--- /dev/null
+++ b/Lang/Forth/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Pangram-checker b/Lang/Forth/Pangram-checker
new file mode 120000
index 0000000000..d42352fae4
--- /dev/null
+++ b/Lang/Forth/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Pascals-triangle b/Lang/Forth/Pascals-triangle
new file mode 120000
index 0000000000..0291c96e75
--- /dev/null
+++ b/Lang/Forth/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Percentage-difference-between-images b/Lang/Forth/Percentage-difference-between-images
new file mode 120000
index 0000000000..a9d4f16f9a
--- /dev/null
+++ b/Lang/Forth/Percentage-difference-between-images
@@ -0,0 +1 @@
+../../Task/Percentage-difference-between-images/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Perfect-numbers b/Lang/Forth/Perfect-numbers
new file mode 120000
index 0000000000..9b56e4c4ae
--- /dev/null
+++ b/Lang/Forth/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Pig-the-dice-game b/Lang/Forth/Pig-the-dice-game
new file mode 120000
index 0000000000..5c07f1a09f
--- /dev/null
+++ b/Lang/Forth/Pig-the-dice-game
@@ -0,0 +1 @@
+../../Task/Pig-the-dice-game/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Playing-cards b/Lang/Forth/Playing-cards
new file mode 120000
index 0000000000..d530384716
--- /dev/null
+++ b/Lang/Forth/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Polymorphic-copy b/Lang/Forth/Polymorphic-copy
new file mode 120000
index 0000000000..b5b826552c
--- /dev/null
+++ b/Lang/Forth/Polymorphic-copy
@@ -0,0 +1 @@
+../../Task/Polymorphic-copy/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Polymorphism b/Lang/Forth/Polymorphism
new file mode 120000
index 0000000000..06c5c1df1f
--- /dev/null
+++ b/Lang/Forth/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Power-set b/Lang/Forth/Power-set
new file mode 120000
index 0000000000..cdad5e07c2
--- /dev/null
+++ b/Lang/Forth/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Price-fraction b/Lang/Forth/Price-fraction
new file mode 120000
index 0000000000..39e1110d80
--- /dev/null
+++ b/Lang/Forth/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Primality-by-trial-division b/Lang/Forth/Primality-by-trial-division
new file mode 120000
index 0000000000..2dcd9a9d28
--- /dev/null
+++ b/Lang/Forth/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Prime-decomposition b/Lang/Forth/Prime-decomposition
new file mode 120000
index 0000000000..e9a0ea937a
--- /dev/null
+++ b/Lang/Forth/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Probabilistic-choice b/Lang/Forth/Probabilistic-choice
new file mode 120000
index 0000000000..4b21924127
--- /dev/null
+++ b/Lang/Forth/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Program-name b/Lang/Forth/Program-name
new file mode 120000
index 0000000000..bd74569bad
--- /dev/null
+++ b/Lang/Forth/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Program-termination b/Lang/Forth/Program-termination
new file mode 120000
index 0000000000..eb5bb2bd0b
--- /dev/null
+++ b/Lang/Forth/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Pythagorean-triples b/Lang/Forth/Pythagorean-triples
new file mode 120000
index 0000000000..f325763124
--- /dev/null
+++ b/Lang/Forth/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Quaternion-type b/Lang/Forth/Quaternion-type
new file mode 120000
index 0000000000..bed4c03ac8
--- /dev/null
+++ b/Lang/Forth/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Queue-Definition b/Lang/Forth/Queue-Definition
new file mode 120000
index 0000000000..b92da6a790
--- /dev/null
+++ b/Lang/Forth/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Random-number-generator--device- b/Lang/Forth/Random-number-generator--device-
new file mode 120000
index 0000000000..79e01bc351
--- /dev/null
+++ b/Lang/Forth/Random-number-generator--device-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--device-/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Random-numbers b/Lang/Forth/Random-numbers
new file mode 120000
index 0000000000..6fc18e2388
--- /dev/null
+++ b/Lang/Forth/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Range-extraction b/Lang/Forth/Range-extraction
new file mode 120000
index 0000000000..b2bce5eaa4
--- /dev/null
+++ b/Lang/Forth/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Read-a-file-line-by-line b/Lang/Forth/Read-a-file-line-by-line
new file mode 120000
index 0000000000..297b6aa197
--- /dev/null
+++ b/Lang/Forth/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Read-entire-file b/Lang/Forth/Read-entire-file
new file mode 120000
index 0000000000..5cbb948812
--- /dev/null
+++ b/Lang/Forth/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Real-constants-and-functions b/Lang/Forth/Real-constants-and-functions
new file mode 120000
index 0000000000..d1476a1a58
--- /dev/null
+++ b/Lang/Forth/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Regular-expressions b/Lang/Forth/Regular-expressions
new file mode 120000
index 0000000000..fbf70c950b
--- /dev/null
+++ b/Lang/Forth/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Remove-duplicate-elements b/Lang/Forth/Remove-duplicate-elements
new file mode 120000
index 0000000000..a6867a88f7
--- /dev/null
+++ b/Lang/Forth/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Rename-a-file b/Lang/Forth/Rename-a-file
new file mode 120000
index 0000000000..c28289f814
--- /dev/null
+++ b/Lang/Forth/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Repeat-a-string b/Lang/Forth/Repeat-a-string
new file mode 120000
index 0000000000..e2eded7df8
--- /dev/null
+++ b/Lang/Forth/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Return-multiple-values b/Lang/Forth/Return-multiple-values
new file mode 120000
index 0000000000..6bbbc22bca
--- /dev/null
+++ b/Lang/Forth/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Reverse-a-string b/Lang/Forth/Reverse-a-string
new file mode 120000
index 0000000000..b172eafb03
--- /dev/null
+++ b/Lang/Forth/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Roman-numerals-Decode b/Lang/Forth/Roman-numerals-Decode
new file mode 120000
index 0000000000..fa71b7e95c
--- /dev/null
+++ b/Lang/Forth/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Roman-numerals-Encode b/Lang/Forth/Roman-numerals-Encode
new file mode 120000
index 0000000000..fe609a3907
--- /dev/null
+++ b/Lang/Forth/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Roots-of-a-quadratic-function b/Lang/Forth/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..dd04adc4ed
--- /dev/null
+++ b/Lang/Forth/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Roots-of-unity b/Lang/Forth/Roots-of-unity
new file mode 120000
index 0000000000..3d083d1c39
--- /dev/null
+++ b/Lang/Forth/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Rot-13 b/Lang/Forth/Rot-13
new file mode 120000
index 0000000000..946751a956
--- /dev/null
+++ b/Lang/Forth/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Run-length-encoding b/Lang/Forth/Run-length-encoding
new file mode 120000
index 0000000000..c4f0fea38a
--- /dev/null
+++ b/Lang/Forth/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Runtime-evaluation b/Lang/Forth/Runtime-evaluation
new file mode 120000
index 0000000000..51c656aeea
--- /dev/null
+++ b/Lang/Forth/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Runtime-evaluation-In-an-environment b/Lang/Forth/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..24bd285ec2
--- /dev/null
+++ b/Lang/Forth/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/Forth
\ No newline at end of file
diff --git a/Lang/Forth/SEDOLs b/Lang/Forth/SEDOLs
new file mode 120000
index 0000000000..bdfaf0b9a0
--- /dev/null
+++ b/Lang/Forth/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Self-describing-numbers b/Lang/Forth/Self-describing-numbers
new file mode 120000
index 0000000000..405dc33801
--- /dev/null
+++ b/Lang/Forth/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/Forth
\ No newline at end of file
diff --git a/Lang/Forth/Sequence-of-non-squares b/Lang/Forth/Sequence-of-non-squares
new file mode 120000
index 0000000000..9ea0c644ba
--- /dev/null
+++ b/Lang/Forth/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Forth
\ No newline at end of file
diff --git a/Lang/Fortran/Brownian-tree b/Lang/Fortran/Brownian-tree
new file mode 120000
index 0000000000..84a61d2923
--- /dev/null
+++ b/Lang/Fortran/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Catalan-numbers b/Lang/Fortran/Catalan-numbers
new file mode 120000
index 0000000000..eb3843efc4
--- /dev/null
+++ b/Lang/Fortran/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Copy-a-string b/Lang/Fortran/Copy-a-string
new file mode 120000
index 0000000000..a0e255b160
--- /dev/null
+++ b/Lang/Fortran/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Environment-variables b/Lang/Fortran/Environment-variables
new file mode 120000
index 0000000000..8dddf521f8
--- /dev/null
+++ b/Lang/Fortran/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Guess-the-number-With-feedback--player- b/Lang/Fortran/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..440486e801
--- /dev/null
+++ b/Lang/Fortran/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Guess-the-number-With-feedback-player b/Lang/Fortran/Guess-the-number-With-feedback-player
deleted file mode 120000
index 9d1fd8ae65..0000000000
--- a/Lang/Fortran/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/N-queens-problem b/Lang/Fortran/N-queens-problem
new file mode 120000
index 0000000000..63f366bc60
--- /dev/null
+++ b/Lang/Fortran/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Named-parameters b/Lang/Fortran/Named-parameters
new file mode 120000
index 0000000000..609ca815d6
--- /dev/null
+++ b/Lang/Fortran/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Non-decimal-radices-Convert b/Lang/Fortran/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..a17232e1be
--- /dev/null
+++ b/Lang/Fortran/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Non-decimal-radices-Input b/Lang/Fortran/Non-decimal-radices-Input
new file mode 120000
index 0000000000..f0a45e10e9
--- /dev/null
+++ b/Lang/Fortran/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Non-decimal-radices-Output b/Lang/Fortran/Non-decimal-radices-Output
new file mode 120000
index 0000000000..de7304f4b7
--- /dev/null
+++ b/Lang/Fortran/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Nth-root b/Lang/Fortran/Nth-root
new file mode 120000
index 0000000000..2108fbdfc8
--- /dev/null
+++ b/Lang/Fortran/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Number-names b/Lang/Fortran/Number-names
new file mode 120000
index 0000000000..4d1b184c25
--- /dev/null
+++ b/Lang/Fortran/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Number-reversal-game b/Lang/Fortran/Number-reversal-game
new file mode 120000
index 0000000000..9201dbfbf2
--- /dev/null
+++ b/Lang/Fortran/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Numerical-integration b/Lang/Fortran/Numerical-integration
new file mode 120000
index 0000000000..6b3c284ed2
--- /dev/null
+++ b/Lang/Fortran/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/One-dimensional-cellular-automata b/Lang/Fortran/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..1f29b1c158
--- /dev/null
+++ b/Lang/Fortran/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Optional-parameters b/Lang/Fortran/Optional-parameters
new file mode 120000
index 0000000000..cd65fe5b0b
--- /dev/null
+++ b/Lang/Fortran/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Palindrome-detection b/Lang/Fortran/Palindrome-detection
new file mode 120000
index 0000000000..3547da40e5
--- /dev/null
+++ b/Lang/Fortran/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Pangram-checker b/Lang/Fortran/Pangram-checker
new file mode 120000
index 0000000000..b14e17d1eb
--- /dev/null
+++ b/Lang/Fortran/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Pascals-triangle b/Lang/Fortran/Pascals-triangle
new file mode 120000
index 0000000000..f1a07a4847
--- /dev/null
+++ b/Lang/Fortran/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Percentage-difference-between-images b/Lang/Fortran/Percentage-difference-between-images
new file mode 120000
index 0000000000..8c8e5a5b33
--- /dev/null
+++ b/Lang/Fortran/Percentage-difference-between-images
@@ -0,0 +1 @@
+../../Task/Percentage-difference-between-images/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Perfect-numbers b/Lang/Fortran/Perfect-numbers
new file mode 120000
index 0000000000..5220ca263a
--- /dev/null
+++ b/Lang/Fortran/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Permutations b/Lang/Fortran/Permutations
new file mode 120000
index 0000000000..48a5f6b835
--- /dev/null
+++ b/Lang/Fortran/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Playing-cards b/Lang/Fortran/Playing-cards
new file mode 120000
index 0000000000..c629477ccc
--- /dev/null
+++ b/Lang/Fortran/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Pointers-and-references b/Lang/Fortran/Pointers-and-references
new file mode 120000
index 0000000000..3e0ff6a291
--- /dev/null
+++ b/Lang/Fortran/Pointers-and-references
@@ -0,0 +1 @@
+../../Task/Pointers-and-references/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Polymorphism b/Lang/Fortran/Polymorphism
new file mode 120000
index 0000000000..4d99c77b5a
--- /dev/null
+++ b/Lang/Fortran/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Polynomial-long-division b/Lang/Fortran/Polynomial-long-division
new file mode 120000
index 0000000000..d053137cde
--- /dev/null
+++ b/Lang/Fortran/Polynomial-long-division
@@ -0,0 +1 @@
+../../Task/Polynomial-long-division/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Polynomial-regression b/Lang/Fortran/Polynomial-regression
new file mode 120000
index 0000000000..e8b846231d
--- /dev/null
+++ b/Lang/Fortran/Polynomial-regression
@@ -0,0 +1 @@
+../../Task/Polynomial-regression/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Price-fraction b/Lang/Fortran/Price-fraction
new file mode 120000
index 0000000000..d47933b78a
--- /dev/null
+++ b/Lang/Fortran/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Primality-by-trial-division b/Lang/Fortran/Primality-by-trial-division
new file mode 120000
index 0000000000..71c32a04ae
--- /dev/null
+++ b/Lang/Fortran/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Prime-decomposition b/Lang/Fortran/Prime-decomposition
new file mode 120000
index 0000000000..e7e654be0e
--- /dev/null
+++ b/Lang/Fortran/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Probabilistic-choice b/Lang/Fortran/Probabilistic-choice
new file mode 120000
index 0000000000..89b75ff846
--- /dev/null
+++ b/Lang/Fortran/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Problem-of-Apollonius b/Lang/Fortran/Problem-of-Apollonius
new file mode 120000
index 0000000000..a5e20a0678
--- /dev/null
+++ b/Lang/Fortran/Problem-of-Apollonius
@@ -0,0 +1 @@
+../../Task/Problem-of-Apollonius/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Program-termination b/Lang/Fortran/Program-termination
new file mode 120000
index 0000000000..6c2f950f77
--- /dev/null
+++ b/Lang/Fortran/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Pythagorean-triples b/Lang/Fortran/Pythagorean-triples
new file mode 120000
index 0000000000..589734fd39
--- /dev/null
+++ b/Lang/Fortran/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Quaternion-type b/Lang/Fortran/Quaternion-type
new file mode 120000
index 0000000000..a1829748df
--- /dev/null
+++ b/Lang/Fortran/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Queue-Definition b/Lang/Fortran/Queue-Definition
new file mode 120000
index 0000000000..7b0d075477
--- /dev/null
+++ b/Lang/Fortran/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Queue-Usage b/Lang/Fortran/Queue-Usage
new file mode 120000
index 0000000000..833b12e0d1
--- /dev/null
+++ b/Lang/Fortran/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Random-numbers b/Lang/Fortran/Random-numbers
new file mode 120000
index 0000000000..22ad731d37
--- /dev/null
+++ b/Lang/Fortran/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Ray-casting-algorithm b/Lang/Fortran/Ray-casting-algorithm
new file mode 120000
index 0000000000..aa9d1c33ff
--- /dev/null
+++ b/Lang/Fortran/Ray-casting-algorithm
@@ -0,0 +1 @@
+../../Task/Ray-casting-algorithm/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Real-constants-and-functions b/Lang/Fortran/Real-constants-and-functions
new file mode 120000
index 0000000000..a8e381d8b6
--- /dev/null
+++ b/Lang/Fortran/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Reduced-row-echelon-form b/Lang/Fortran/Reduced-row-echelon-form
new file mode 120000
index 0000000000..4fa582a9ea
--- /dev/null
+++ b/Lang/Fortran/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Remove-duplicate-elements b/Lang/Fortran/Remove-duplicate-elements
new file mode 120000
index 0000000000..c80c46e678
--- /dev/null
+++ b/Lang/Fortran/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Rename-a-file b/Lang/Fortran/Rename-a-file
new file mode 120000
index 0000000000..0230202899
--- /dev/null
+++ b/Lang/Fortran/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Repeat-a-string b/Lang/Fortran/Repeat-a-string
new file mode 120000
index 0000000000..ad613a9802
--- /dev/null
+++ b/Lang/Fortran/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Reverse-a-string b/Lang/Fortran/Reverse-a-string
new file mode 120000
index 0000000000..01f72bdb65
--- /dev/null
+++ b/Lang/Fortran/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Roman-numerals-Decode b/Lang/Fortran/Roman-numerals-Decode
new file mode 120000
index 0000000000..62797490c5
--- /dev/null
+++ b/Lang/Fortran/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Roman-numerals-Encode b/Lang/Fortran/Roman-numerals-Encode
new file mode 120000
index 0000000000..b1fe7fb128
--- /dev/null
+++ b/Lang/Fortran/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Roots-of-a-function b/Lang/Fortran/Roots-of-a-function
new file mode 120000
index 0000000000..a57b9a319a
--- /dev/null
+++ b/Lang/Fortran/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Roots-of-a-quadratic-function b/Lang/Fortran/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..ace0672100
--- /dev/null
+++ b/Lang/Fortran/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Roots-of-unity b/Lang/Fortran/Roots-of-unity
new file mode 120000
index 0000000000..2e97bec0ec
--- /dev/null
+++ b/Lang/Fortran/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Rot-13 b/Lang/Fortran/Rot-13
new file mode 120000
index 0000000000..2ecaed415f
--- /dev/null
+++ b/Lang/Fortran/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Run-length-encoding b/Lang/Fortran/Run-length-encoding
new file mode 120000
index 0000000000..644b166f8f
--- /dev/null
+++ b/Lang/Fortran/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/SEDOLs b/Lang/Fortran/SEDOLs
new file mode 120000
index 0000000000..a1b9c6071c
--- /dev/null
+++ b/Lang/Fortran/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/Fortran
\ No newline at end of file
diff --git a/Lang/Fortran/Sequence-of-non-squares b/Lang/Fortran/Sequence-of-non-squares
new file mode 120000
index 0000000000..a3d758d454
--- /dev/null
+++ b/Lang/Fortran/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Fortran
\ No newline at end of file
diff --git a/Lang/Frink/Arbitrary-precision-integers--included- b/Lang/Frink/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..d6406950b2
--- /dev/null
+++ b/Lang/Frink/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Frink
\ No newline at end of file
diff --git a/Lang/Frink/Arbitrary-precision-integers-included b/Lang/Frink/Arbitrary-precision-integers-included
deleted file mode 120000
index 0485370d60..0000000000
--- a/Lang/Frink/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Frink
\ No newline at end of file
diff --git a/Lang/Frink/Catalan-numbers b/Lang/Frink/Catalan-numbers
new file mode 120000
index 0000000000..8e3fa533fa
--- /dev/null
+++ b/Lang/Frink/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Frink
\ No newline at end of file
diff --git a/Lang/Frink/Power-set b/Lang/Frink/Power-set
new file mode 120000
index 0000000000..6537e0517c
--- /dev/null
+++ b/Lang/Frink/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Frink
\ No newline at end of file
diff --git a/Lang/Frink/Prime-decomposition b/Lang/Frink/Prime-decomposition
new file mode 120000
index 0000000000..6d2face2cc
--- /dev/null
+++ b/Lang/Frink/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Frink
\ No newline at end of file
diff --git a/Lang/Frink/Read-a-file-line-by-line b/Lang/Frink/Read-a-file-line-by-line
new file mode 120000
index 0000000000..418a6affd1
--- /dev/null
+++ b/Lang/Frink/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Frink
\ No newline at end of file
diff --git a/Lang/Frink/Read-entire-file b/Lang/Frink/Read-entire-file
new file mode 120000
index 0000000000..f8d83ec44d
--- /dev/null
+++ b/Lang/Frink/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Frink
\ No newline at end of file
diff --git a/Lang/Frink/Regular-expressions b/Lang/Frink/Regular-expressions
new file mode 120000
index 0000000000..7a31f9b2cb
--- /dev/null
+++ b/Lang/Frink/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Frink
\ No newline at end of file
diff --git a/Lang/Frink/Repeat-a-string b/Lang/Frink/Repeat-a-string
new file mode 120000
index 0000000000..153ac2e1c5
--- /dev/null
+++ b/Lang/Frink/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Frink
\ No newline at end of file
diff --git a/Lang/Frink/Reverse-a-string b/Lang/Frink/Reverse-a-string
new file mode 120000
index 0000000000..245c4d445b
--- /dev/null
+++ b/Lang/Frink/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Frink
\ No newline at end of file
diff --git a/Lang/GAP/Arbitrary-precision-integers--included- b/Lang/GAP/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..7d27dfbed3
--- /dev/null
+++ b/Lang/GAP/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/GAP
\ No newline at end of file
diff --git a/Lang/GAP/Arbitrary-precision-integers-included b/Lang/GAP/Arbitrary-precision-integers-included
deleted file mode 120000
index 4c2035fa64..0000000000
--- a/Lang/GAP/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/GAP
\ No newline at end of file
diff --git a/Lang/GAP/Catalan-numbers b/Lang/GAP/Catalan-numbers
new file mode 120000
index 0000000000..1e0dd396f1
--- /dev/null
+++ b/Lang/GAP/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/GAP
\ No newline at end of file
diff --git a/Lang/GAP/Copy-a-string b/Lang/GAP/Copy-a-string
new file mode 120000
index 0000000000..fdd13d1f61
--- /dev/null
+++ b/Lang/GAP/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/GAP
\ No newline at end of file
diff --git a/Lang/GAP/Ordered-Partitions b/Lang/GAP/Ordered-Partitions
new file mode 120000
index 0000000000..f5b670ca90
--- /dev/null
+++ b/Lang/GAP/Ordered-Partitions
@@ -0,0 +1 @@
+../../Task/Ordered-Partitions/GAP
\ No newline at end of file
diff --git a/Lang/GAP/Palindrome-detection b/Lang/GAP/Palindrome-detection
new file mode 120000
index 0000000000..eb5317bf87
--- /dev/null
+++ b/Lang/GAP/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/GAP
\ No newline at end of file
diff --git a/Lang/GAP/Pascals-triangle b/Lang/GAP/Pascals-triangle
new file mode 120000
index 0000000000..d57f507284
--- /dev/null
+++ b/Lang/GAP/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/GAP
\ No newline at end of file
diff --git a/Lang/GAP/Perfect-numbers b/Lang/GAP/Perfect-numbers
new file mode 120000
index 0000000000..3145008789
--- /dev/null
+++ b/Lang/GAP/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/GAP
\ No newline at end of file
diff --git a/Lang/GAP/Permutation-test b/Lang/GAP/Permutation-test
new file mode 120000
index 0000000000..415542fa3e
--- /dev/null
+++ b/Lang/GAP/Permutation-test
@@ -0,0 +1 @@
+../../Task/Permutation-test/GAP
\ No newline at end of file
diff --git a/Lang/GAP/Permutations b/Lang/GAP/Permutations
new file mode 120000
index 0000000000..08c5d20a5f
--- /dev/null
+++ b/Lang/GAP/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/GAP
\ No newline at end of file
diff --git a/Lang/GAP/Permutations-Derangements b/Lang/GAP/Permutations-Derangements
new file mode 120000
index 0000000000..20899289e5
--- /dev/null
+++ b/Lang/GAP/Permutations-Derangements
@@ -0,0 +1 @@
+../../Task/Permutations-Derangements/GAP
\ No newline at end of file
diff --git a/Lang/GAP/Polynomial-long-division b/Lang/GAP/Polynomial-long-division
new file mode 120000
index 0000000000..fda11dde19
--- /dev/null
+++ b/Lang/GAP/Polynomial-long-division
@@ -0,0 +1 @@
+../../Task/Polynomial-long-division/GAP
\ No newline at end of file
diff --git a/Lang/GAP/Polynomial-regression b/Lang/GAP/Polynomial-regression
new file mode 120000
index 0000000000..9d7f092e55
--- /dev/null
+++ b/Lang/GAP/Polynomial-regression
@@ -0,0 +1 @@
+../../Task/Polynomial-regression/GAP
\ No newline at end of file
diff --git a/Lang/GAP/Power-set b/Lang/GAP/Power-set
new file mode 120000
index 0000000000..7e044d8963
--- /dev/null
+++ b/Lang/GAP/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/GAP
\ No newline at end of file
diff --git a/Lang/GAP/Primality-by-trial-division b/Lang/GAP/Primality-by-trial-division
new file mode 120000
index 0000000000..887e566636
--- /dev/null
+++ b/Lang/GAP/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/GAP
\ No newline at end of file
diff --git a/Lang/GAP/Prime-decomposition b/Lang/GAP/Prime-decomposition
new file mode 120000
index 0000000000..7d7050e51d
--- /dev/null
+++ b/Lang/GAP/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/GAP
\ No newline at end of file
diff --git a/Lang/GAP/Quaternion-type b/Lang/GAP/Quaternion-type
new file mode 120000
index 0000000000..67ec7fa115
--- /dev/null
+++ b/Lang/GAP/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/GAP
\ No newline at end of file
diff --git a/Lang/GAP/Queue-Definition b/Lang/GAP/Queue-Definition
new file mode 120000
index 0000000000..dd38d5b43f
--- /dev/null
+++ b/Lang/GAP/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/GAP
\ No newline at end of file
diff --git a/Lang/GAP/Random-number-generator--included- b/Lang/GAP/Random-number-generator--included-
new file mode 120000
index 0000000000..fc7287a6bd
--- /dev/null
+++ b/Lang/GAP/Random-number-generator--included-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--included-/GAP
\ No newline at end of file
diff --git a/Lang/GAP/Read-a-file-line-by-line b/Lang/GAP/Read-a-file-line-by-line
new file mode 120000
index 0000000000..c70e97306c
--- /dev/null
+++ b/Lang/GAP/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/GAP
\ No newline at end of file
diff --git a/Lang/GAP/Read-entire-file b/Lang/GAP/Read-entire-file
new file mode 120000
index 0000000000..0e98334a51
--- /dev/null
+++ b/Lang/GAP/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/GAP
\ No newline at end of file
diff --git a/Lang/GAP/Remove-duplicate-elements b/Lang/GAP/Remove-duplicate-elements
new file mode 120000
index 0000000000..28df366cac
--- /dev/null
+++ b/Lang/GAP/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/GAP
\ No newline at end of file
diff --git a/Lang/GAP/Repeat-a-string b/Lang/GAP/Repeat-a-string
new file mode 120000
index 0000000000..d3311611bd
--- /dev/null
+++ b/Lang/GAP/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/GAP
\ No newline at end of file
diff --git a/Lang/GAP/Reverse-a-string b/Lang/GAP/Reverse-a-string
new file mode 120000
index 0000000000..2615d1fc09
--- /dev/null
+++ b/Lang/GAP/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/GAP
\ No newline at end of file
diff --git a/Lang/GAP/Roots-of-a-quadratic-function b/Lang/GAP/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..3aea2bc17a
--- /dev/null
+++ b/Lang/GAP/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/GAP
\ No newline at end of file
diff --git a/Lang/GAP/Roots-of-unity b/Lang/GAP/Roots-of-unity
new file mode 120000
index 0000000000..97feb836dd
--- /dev/null
+++ b/Lang/GAP/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/GAP
\ No newline at end of file
diff --git a/Lang/GAP/Rot-13 b/Lang/GAP/Rot-13
new file mode 120000
index 0000000000..2a2d0a0272
--- /dev/null
+++ b/Lang/GAP/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/GAP
\ No newline at end of file
diff --git a/Lang/GAP/Sequence-of-non-squares b/Lang/GAP/Sequence-of-non-squares
new file mode 120000
index 0000000000..ff06aeac3d
--- /dev/null
+++ b/Lang/GAP/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/GAP
\ No newline at end of file
diff --git a/Lang/GML/Copy-a-string b/Lang/GML/Copy-a-string
new file mode 120000
index 0000000000..834af96646
--- /dev/null
+++ b/Lang/GML/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/GML
\ No newline at end of file
diff --git a/Lang/GML/Palindrome-detection b/Lang/GML/Palindrome-detection
new file mode 120000
index 0000000000..b98dabf5e8
--- /dev/null
+++ b/Lang/GML/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/GML
\ No newline at end of file
diff --git a/Lang/GML/Rot-13 b/Lang/GML/Rot-13
new file mode 120000
index 0000000000..63e676426c
--- /dev/null
+++ b/Lang/GML/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/GML
\ No newline at end of file
diff --git a/Lang/GUISS/Calendar---for-real-programmers b/Lang/GUISS/Calendar---for-real-programmers
new file mode 120000
index 0000000000..77e9bfb78a
--- /dev/null
+++ b/Lang/GUISS/Calendar---for-real-programmers
@@ -0,0 +1 @@
+../../Task/Calendar---for-real-programmers/GUISS
\ No newline at end of file
diff --git a/Lang/GUISS/Calendar-for-real-programmers b/Lang/GUISS/Calendar-for-real-programmers
deleted file mode 120000
index f45128fad9..0000000000
--- a/Lang/GUISS/Calendar-for-real-programmers
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Calendar-for-real-programmers/GUISS
\ No newline at end of file
diff --git a/Lang/GUISS/Copy-a-string b/Lang/GUISS/Copy-a-string
new file mode 120000
index 0000000000..9b90394ee9
--- /dev/null
+++ b/Lang/GUISS/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/GUISS
\ No newline at end of file
diff --git a/Lang/GUISS/Play-recorded-sounds b/Lang/GUISS/Play-recorded-sounds
new file mode 120000
index 0000000000..87490e3dcf
--- /dev/null
+++ b/Lang/GUISS/Play-recorded-sounds
@@ -0,0 +1 @@
+../../Task/Play-recorded-sounds/GUISS
\ No newline at end of file
diff --git a/Lang/GUISS/Read-entire-file b/Lang/GUISS/Read-entire-file
new file mode 120000
index 0000000000..827c272118
--- /dev/null
+++ b/Lang/GUISS/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/GUISS
\ No newline at end of file
diff --git a/Lang/GUISS/Record-sound b/Lang/GUISS/Record-sound
new file mode 120000
index 0000000000..83b3a73ff7
--- /dev/null
+++ b/Lang/GUISS/Record-sound
@@ -0,0 +1 @@
+../../Task/Record-sound/GUISS
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Pascals-triangle b/Lang/GW-BASIC/Pascals-triangle
new file mode 120000
index 0000000000..e231617c39
--- /dev/null
+++ b/Lang/GW-BASIC/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Program-termination b/Lang/GW-BASIC/Program-termination
new file mode 120000
index 0000000000..bac6d4f63e
--- /dev/null
+++ b/Lang/GW-BASIC/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Rot-13 b/Lang/GW-BASIC/Rot-13
new file mode 120000
index 0000000000..2058833bd7
--- /dev/null
+++ b/Lang/GW-BASIC/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/GW-BASIC
\ No newline at end of file
diff --git a/Lang/GW-BASIC/Runtime-evaluation b/Lang/GW-BASIC/Runtime-evaluation
new file mode 120000
index 0000000000..4d5973cfd2
--- /dev/null
+++ b/Lang/GW-BASIC/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/GW-BASIC
\ No newline at end of file
diff --git a/Lang/Gambas/Copy-a-string b/Lang/Gambas/Copy-a-string
new file mode 120000
index 0000000000..bb073b360c
--- /dev/null
+++ b/Lang/Gambas/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Gambas
\ No newline at end of file
diff --git a/Lang/Gema/Non-decimal-radices-Output b/Lang/Gema/Non-decimal-radices-Output
new file mode 120000
index 0000000000..f743eec786
--- /dev/null
+++ b/Lang/Gema/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/Gema
\ No newline at end of file
diff --git a/Lang/Gema/Program-termination b/Lang/Gema/Program-termination
new file mode 120000
index 0000000000..74feb7c7aa
--- /dev/null
+++ b/Lang/Gema/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Gema
\ No newline at end of file
diff --git a/Lang/Gema/Reverse-a-string b/Lang/Gema/Reverse-a-string
new file mode 120000
index 0000000000..7e260aa4da
--- /dev/null
+++ b/Lang/Gema/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Gema
\ No newline at end of file
diff --git a/Lang/Gema/Rot-13 b/Lang/Gema/Rot-13
new file mode 120000
index 0000000000..9e48f6aadf
--- /dev/null
+++ b/Lang/Gema/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Gema
\ No newline at end of file
diff --git a/Lang/Genyris/Runtime-evaluation-In-an-environment b/Lang/Genyris/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..b94fbbf6aa
--- /dev/null
+++ b/Lang/Genyris/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/Genyris
\ No newline at end of file
diff --git a/Lang/Go/Arbitrary-precision-integers--included- b/Lang/Go/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..1e95070754
--- /dev/null
+++ b/Lang/Go/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Go
\ No newline at end of file
diff --git a/Lang/Go/Arbitrary-precision-integers-included b/Lang/Go/Arbitrary-precision-integers-included
deleted file mode 120000
index d4f44f5c8f..0000000000
--- a/Lang/Go/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Go
\ No newline at end of file
diff --git a/Lang/Go/Binary-digits b/Lang/Go/Binary-digits
new file mode 120000
index 0000000000..1f36fe3d7c
--- /dev/null
+++ b/Lang/Go/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Go
\ No newline at end of file
diff --git a/Lang/Go/Brownian-tree b/Lang/Go/Brownian-tree
new file mode 120000
index 0000000000..f85e9322ad
--- /dev/null
+++ b/Lang/Go/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/Go
\ No newline at end of file
diff --git a/Lang/Go/Catalan-numbers b/Lang/Go/Catalan-numbers
new file mode 120000
index 0000000000..5c6b4eae83
--- /dev/null
+++ b/Lang/Go/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Go
\ No newline at end of file
diff --git a/Lang/Go/Copy-a-string b/Lang/Go/Copy-a-string
new file mode 120000
index 0000000000..c5b56bf87b
--- /dev/null
+++ b/Lang/Go/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Go
\ No newline at end of file
diff --git a/Lang/Go/Dragon-curve b/Lang/Go/Dragon-curve
new file mode 120000
index 0000000000..bb69524487
--- /dev/null
+++ b/Lang/Go/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/Go
\ No newline at end of file
diff --git a/Lang/Go/Environment-variables b/Lang/Go/Environment-variables
new file mode 120000
index 0000000000..7e24eef948
--- /dev/null
+++ b/Lang/Go/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Go
\ No newline at end of file
diff --git a/Lang/Go/Execute-a-Markov-algorithm b/Lang/Go/Execute-a-Markov-algorithm
new file mode 120000
index 0000000000..2e5f7ca6a1
--- /dev/null
+++ b/Lang/Go/Execute-a-Markov-algorithm
@@ -0,0 +1 @@
+../../Task/Execute-a-Markov-algorithm/Go
\ No newline at end of file
diff --git a/Lang/Go/Guess-the-number-With-feedback--player- b/Lang/Go/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..b8781aaa2f
--- /dev/null
+++ b/Lang/Go/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/Go
\ No newline at end of file
diff --git a/Lang/Go/Guess-the-number-With-feedback-player b/Lang/Go/Guess-the-number-With-feedback-player
deleted file mode 120000
index a1dc313ac4..0000000000
--- a/Lang/Go/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/Go
\ No newline at end of file
diff --git a/Lang/Go/N-queens-problem b/Lang/Go/N-queens-problem
new file mode 120000
index 0000000000..f70780bfad
--- /dev/null
+++ b/Lang/Go/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Go
\ No newline at end of file
diff --git a/Lang/Go/Non-continuous-subsequences b/Lang/Go/Non-continuous-subsequences
new file mode 120000
index 0000000000..10a6cad1d2
--- /dev/null
+++ b/Lang/Go/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/Go
\ No newline at end of file
diff --git a/Lang/Go/Non-decimal-radices-Convert b/Lang/Go/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..666cd21961
--- /dev/null
+++ b/Lang/Go/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/Go
\ No newline at end of file
diff --git a/Lang/Go/Non-decimal-radices-Input b/Lang/Go/Non-decimal-radices-Input
new file mode 120000
index 0000000000..e28e5df111
--- /dev/null
+++ b/Lang/Go/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/Go
\ No newline at end of file
diff --git a/Lang/Go/Non-decimal-radices-Output b/Lang/Go/Non-decimal-radices-Output
new file mode 120000
index 0000000000..ae1a8b0ca9
--- /dev/null
+++ b/Lang/Go/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/Go
\ No newline at end of file
diff --git a/Lang/Go/Nth-root b/Lang/Go/Nth-root
new file mode 120000
index 0000000000..a8e30aad55
--- /dev/null
+++ b/Lang/Go/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Go
\ No newline at end of file
diff --git a/Lang/Go/Null-object b/Lang/Go/Null-object
new file mode 120000
index 0000000000..6acfdfe978
--- /dev/null
+++ b/Lang/Go/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Go
\ No newline at end of file
diff --git a/Lang/Go/Number-names b/Lang/Go/Number-names
new file mode 120000
index 0000000000..1ded3c587b
--- /dev/null
+++ b/Lang/Go/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/Go
\ No newline at end of file
diff --git a/Lang/Go/Number-reversal-game b/Lang/Go/Number-reversal-game
new file mode 120000
index 0000000000..01c881e74c
--- /dev/null
+++ b/Lang/Go/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/Go
\ No newline at end of file
diff --git a/Lang/Go/Numeric-error-propagation b/Lang/Go/Numeric-error-propagation
new file mode 120000
index 0000000000..60286b89fd
--- /dev/null
+++ b/Lang/Go/Numeric-error-propagation
@@ -0,0 +1 @@
+../../Task/Numeric-error-propagation/Go
\ No newline at end of file
diff --git a/Lang/Go/Numerical-integration b/Lang/Go/Numerical-integration
new file mode 120000
index 0000000000..ec0b8e9f56
--- /dev/null
+++ b/Lang/Go/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/Go
\ No newline at end of file
diff --git a/Lang/Go/Numerical-integration-Gauss-Legendre-Quadrature b/Lang/Go/Numerical-integration-Gauss-Legendre-Quadrature
new file mode 120000
index 0000000000..acca0d7860
--- /dev/null
+++ b/Lang/Go/Numerical-integration-Gauss-Legendre-Quadrature
@@ -0,0 +1 @@
+../../Task/Numerical-integration-Gauss-Legendre-Quadrature/Go
\ No newline at end of file
diff --git a/Lang/Go/Object-serialization b/Lang/Go/Object-serialization
new file mode 120000
index 0000000000..c2357cd4f7
--- /dev/null
+++ b/Lang/Go/Object-serialization
@@ -0,0 +1 @@
+../../Task/Object-serialization/Go
\ No newline at end of file
diff --git a/Lang/Go/One-dimensional-cellular-automata b/Lang/Go/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..752413f2ac
--- /dev/null
+++ b/Lang/Go/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Go
\ No newline at end of file
diff --git a/Lang/Go/One-of-n-lines-in-a-file b/Lang/Go/One-of-n-lines-in-a-file
new file mode 120000
index 0000000000..6796e3dc01
--- /dev/null
+++ b/Lang/Go/One-of-n-lines-in-a-file
@@ -0,0 +1 @@
+../../Task/One-of-n-lines-in-a-file/Go
\ No newline at end of file
diff --git a/Lang/Go/Optional-parameters b/Lang/Go/Optional-parameters
new file mode 120000
index 0000000000..9721f2e951
--- /dev/null
+++ b/Lang/Go/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/Go
\ No newline at end of file
diff --git a/Lang/Go/Order-two-numerical-lists b/Lang/Go/Order-two-numerical-lists
new file mode 120000
index 0000000000..ff5ae66146
--- /dev/null
+++ b/Lang/Go/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/Go
\ No newline at end of file
diff --git a/Lang/Go/Ordered-Partitions b/Lang/Go/Ordered-Partitions
new file mode 120000
index 0000000000..512bad56c8
--- /dev/null
+++ b/Lang/Go/Ordered-Partitions
@@ -0,0 +1 @@
+../../Task/Ordered-Partitions/Go
\ No newline at end of file
diff --git a/Lang/Go/Palindrome-detection b/Lang/Go/Palindrome-detection
new file mode 120000
index 0000000000..8fded24ac9
--- /dev/null
+++ b/Lang/Go/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Go
\ No newline at end of file
diff --git a/Lang/Go/Pangram-checker b/Lang/Go/Pangram-checker
new file mode 120000
index 0000000000..0f26510eed
--- /dev/null
+++ b/Lang/Go/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Go
\ No newline at end of file
diff --git a/Lang/Go/Parallel-calculations b/Lang/Go/Parallel-calculations
new file mode 120000
index 0000000000..e2e7692615
--- /dev/null
+++ b/Lang/Go/Parallel-calculations
@@ -0,0 +1 @@
+../../Task/Parallel-calculations/Go
\ No newline at end of file
diff --git a/Lang/Go/Parametric-polymorphism b/Lang/Go/Parametric-polymorphism
new file mode 120000
index 0000000000..66e4df675a
--- /dev/null
+++ b/Lang/Go/Parametric-polymorphism
@@ -0,0 +1 @@
+../../Task/Parametric-polymorphism/Go
\ No newline at end of file
diff --git a/Lang/Go/Parsing-RPN-calculator-algorithm b/Lang/Go/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..cf89fc8b84
--- /dev/null
+++ b/Lang/Go/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/Go
\ No newline at end of file
diff --git a/Lang/Go/Parsing-RPN-to-infix-conversion b/Lang/Go/Parsing-RPN-to-infix-conversion
new file mode 120000
index 0000000000..00eb53aa7c
--- /dev/null
+++ b/Lang/Go/Parsing-RPN-to-infix-conversion
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-to-infix-conversion/Go
\ No newline at end of file
diff --git a/Lang/Go/Parsing-Shunting-yard-algorithm b/Lang/Go/Parsing-Shunting-yard-algorithm
new file mode 120000
index 0000000000..e0a91205cf
--- /dev/null
+++ b/Lang/Go/Parsing-Shunting-yard-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-Shunting-yard-algorithm/Go
\ No newline at end of file
diff --git a/Lang/Go/Pascals-triangle b/Lang/Go/Pascals-triangle
new file mode 120000
index 0000000000..00c685dd36
--- /dev/null
+++ b/Lang/Go/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Go
\ No newline at end of file
diff --git a/Lang/Go/Pascals-triangle-Puzzle b/Lang/Go/Pascals-triangle-Puzzle
new file mode 120000
index 0000000000..f384f3ecb5
--- /dev/null
+++ b/Lang/Go/Pascals-triangle-Puzzle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle-Puzzle/Go
\ No newline at end of file
diff --git a/Lang/Go/Percentage-difference-between-images b/Lang/Go/Percentage-difference-between-images
new file mode 120000
index 0000000000..5a13e9862b
--- /dev/null
+++ b/Lang/Go/Percentage-difference-between-images
@@ -0,0 +1 @@
+../../Task/Percentage-difference-between-images/Go
\ No newline at end of file
diff --git a/Lang/Go/Perfect-numbers b/Lang/Go/Perfect-numbers
new file mode 120000
index 0000000000..6b90ef805f
--- /dev/null
+++ b/Lang/Go/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Go
\ No newline at end of file
diff --git a/Lang/Go/Permutation-test b/Lang/Go/Permutation-test
new file mode 120000
index 0000000000..5deb9767c8
--- /dev/null
+++ b/Lang/Go/Permutation-test
@@ -0,0 +1 @@
+../../Task/Permutation-test/Go
\ No newline at end of file
diff --git a/Lang/Go/Permutations b/Lang/Go/Permutations
new file mode 120000
index 0000000000..5cf9b1d4d3
--- /dev/null
+++ b/Lang/Go/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Go
\ No newline at end of file
diff --git a/Lang/Go/Permutations-Derangements b/Lang/Go/Permutations-Derangements
new file mode 120000
index 0000000000..3ebed64f58
--- /dev/null
+++ b/Lang/Go/Permutations-Derangements
@@ -0,0 +1 @@
+../../Task/Permutations-Derangements/Go
\ No newline at end of file
diff --git a/Lang/Go/Pick-random-element b/Lang/Go/Pick-random-element
new file mode 120000
index 0000000000..ae0fdceeae
--- /dev/null
+++ b/Lang/Go/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Go
\ No newline at end of file
diff --git a/Lang/Go/Pig-the-dice-game-Player b/Lang/Go/Pig-the-dice-game-Player
new file mode 120000
index 0000000000..c5dedf7732
--- /dev/null
+++ b/Lang/Go/Pig-the-dice-game-Player
@@ -0,0 +1 @@
+../../Task/Pig-the-dice-game-Player/Go
\ No newline at end of file
diff --git a/Lang/Go/Playing-cards b/Lang/Go/Playing-cards
new file mode 120000
index 0000000000..fe794b501d
--- /dev/null
+++ b/Lang/Go/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/Go
\ No newline at end of file
diff --git a/Lang/Go/Pointers-and-references b/Lang/Go/Pointers-and-references
new file mode 120000
index 0000000000..26cae4b786
--- /dev/null
+++ b/Lang/Go/Pointers-and-references
@@ -0,0 +1 @@
+../../Task/Pointers-and-references/Go
\ No newline at end of file
diff --git a/Lang/Go/Polymorphic-copy b/Lang/Go/Polymorphic-copy
new file mode 120000
index 0000000000..7014cb373f
--- /dev/null
+++ b/Lang/Go/Polymorphic-copy
@@ -0,0 +1 @@
+../../Task/Polymorphic-copy/Go
\ No newline at end of file
diff --git a/Lang/Go/Polymorphism b/Lang/Go/Polymorphism
new file mode 120000
index 0000000000..eb369b71a5
--- /dev/null
+++ b/Lang/Go/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/Go
\ No newline at end of file
diff --git a/Lang/Go/Polynomial-long-division b/Lang/Go/Polynomial-long-division
new file mode 120000
index 0000000000..6932c734bc
--- /dev/null
+++ b/Lang/Go/Polynomial-long-division
@@ -0,0 +1 @@
+../../Task/Polynomial-long-division/Go
\ No newline at end of file
diff --git a/Lang/Go/Polynomial-regression b/Lang/Go/Polynomial-regression
new file mode 120000
index 0000000000..2026d70bfc
--- /dev/null
+++ b/Lang/Go/Polynomial-regression
@@ -0,0 +1 @@
+../../Task/Polynomial-regression/Go
\ No newline at end of file
diff --git a/Lang/Go/Power-set b/Lang/Go/Power-set
new file mode 120000
index 0000000000..16def5d1e8
--- /dev/null
+++ b/Lang/Go/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Go
\ No newline at end of file
diff --git a/Lang/Go/Pragmatic-directives b/Lang/Go/Pragmatic-directives
new file mode 120000
index 0000000000..433a77a48b
--- /dev/null
+++ b/Lang/Go/Pragmatic-directives
@@ -0,0 +1 @@
+../../Task/Pragmatic-directives/Go
\ No newline at end of file
diff --git a/Lang/Go/Price-fraction b/Lang/Go/Price-fraction
new file mode 120000
index 0000000000..c044e83cd6
--- /dev/null
+++ b/Lang/Go/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/Go
\ No newline at end of file
diff --git a/Lang/Go/Primality-by-trial-division b/Lang/Go/Primality-by-trial-division
new file mode 120000
index 0000000000..23dffe3320
--- /dev/null
+++ b/Lang/Go/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Go
\ No newline at end of file
diff --git a/Lang/Go/Prime-decomposition b/Lang/Go/Prime-decomposition
new file mode 120000
index 0000000000..28938a2587
--- /dev/null
+++ b/Lang/Go/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Go
\ No newline at end of file
diff --git a/Lang/Go/Priority-queue b/Lang/Go/Priority-queue
new file mode 120000
index 0000000000..a62d156dac
--- /dev/null
+++ b/Lang/Go/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/Go
\ No newline at end of file
diff --git a/Lang/Go/Probabilistic-choice b/Lang/Go/Probabilistic-choice
new file mode 120000
index 0000000000..3fbf2e7a4f
--- /dev/null
+++ b/Lang/Go/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/Go
\ No newline at end of file
diff --git a/Lang/Go/Problem-of-Apollonius b/Lang/Go/Problem-of-Apollonius
new file mode 120000
index 0000000000..87b7f733b0
--- /dev/null
+++ b/Lang/Go/Problem-of-Apollonius
@@ -0,0 +1 @@
+../../Task/Problem-of-Apollonius/Go
\ No newline at end of file
diff --git a/Lang/Go/Program-name b/Lang/Go/Program-name
new file mode 120000
index 0000000000..41d3a8adc4
--- /dev/null
+++ b/Lang/Go/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Go
\ No newline at end of file
diff --git a/Lang/Go/Program-termination b/Lang/Go/Program-termination
new file mode 120000
index 0000000000..48f7f0a4a3
--- /dev/null
+++ b/Lang/Go/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Go
\ No newline at end of file
diff --git a/Lang/Go/Pythagorean-triples b/Lang/Go/Pythagorean-triples
new file mode 120000
index 0000000000..1dced0c273
--- /dev/null
+++ b/Lang/Go/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/Go
\ No newline at end of file
diff --git a/Lang/Go/QR-decomposition b/Lang/Go/QR-decomposition
new file mode 120000
index 0000000000..4319be970e
--- /dev/null
+++ b/Lang/Go/QR-decomposition
@@ -0,0 +1 @@
+../../Task/QR-decomposition/Go
\ No newline at end of file
diff --git a/Lang/Go/Quaternion-type b/Lang/Go/Quaternion-type
new file mode 120000
index 0000000000..e62c595975
--- /dev/null
+++ b/Lang/Go/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/Go
\ No newline at end of file
diff --git a/Lang/Go/Queue-Definition b/Lang/Go/Queue-Definition
new file mode 120000
index 0000000000..e823f8ca70
--- /dev/null
+++ b/Lang/Go/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Go
\ No newline at end of file
diff --git a/Lang/Go/Queue-Usage b/Lang/Go/Queue-Usage
new file mode 120000
index 0000000000..f22d8ee508
--- /dev/null
+++ b/Lang/Go/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/Go
\ No newline at end of file
diff --git a/Lang/Go/RIPEMD-160 b/Lang/Go/RIPEMD-160
new file mode 120000
index 0000000000..0b7a3d0c21
--- /dev/null
+++ b/Lang/Go/RIPEMD-160
@@ -0,0 +1 @@
+../../Task/RIPEMD-160/Go
\ No newline at end of file
diff --git a/Lang/Go/Random-number-generator--device- b/Lang/Go/Random-number-generator--device-
new file mode 120000
index 0000000000..fe7f860617
--- /dev/null
+++ b/Lang/Go/Random-number-generator--device-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--device-/Go
\ No newline at end of file
diff --git a/Lang/Go/Random-numbers b/Lang/Go/Random-numbers
new file mode 120000
index 0000000000..2f5464fe09
--- /dev/null
+++ b/Lang/Go/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Go
\ No newline at end of file
diff --git a/Lang/Go/Range-expansion b/Lang/Go/Range-expansion
new file mode 120000
index 0000000000..75a40cb5b2
--- /dev/null
+++ b/Lang/Go/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/Go
\ No newline at end of file
diff --git a/Lang/Go/Range-extraction b/Lang/Go/Range-extraction
new file mode 120000
index 0000000000..aae9415109
--- /dev/null
+++ b/Lang/Go/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/Go
\ No newline at end of file
diff --git a/Lang/Go/Rate-counter b/Lang/Go/Rate-counter
new file mode 120000
index 0000000000..be57007dd1
--- /dev/null
+++ b/Lang/Go/Rate-counter
@@ -0,0 +1 @@
+../../Task/Rate-counter/Go
\ No newline at end of file
diff --git a/Lang/Go/Ray-casting-algorithm b/Lang/Go/Ray-casting-algorithm
new file mode 120000
index 0000000000..725d582dbe
--- /dev/null
+++ b/Lang/Go/Ray-casting-algorithm
@@ -0,0 +1 @@
+../../Task/Ray-casting-algorithm/Go
\ No newline at end of file
diff --git a/Lang/Go/Read-a-configuration-file b/Lang/Go/Read-a-configuration-file
new file mode 120000
index 0000000000..59af4a38a0
--- /dev/null
+++ b/Lang/Go/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/Go
\ No newline at end of file
diff --git a/Lang/Go/Read-a-file-line-by-line b/Lang/Go/Read-a-file-line-by-line
new file mode 120000
index 0000000000..fa92045996
--- /dev/null
+++ b/Lang/Go/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Go
\ No newline at end of file
diff --git a/Lang/Go/Read-a-specific-line-from-a-file b/Lang/Go/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..309e8e6111
--- /dev/null
+++ b/Lang/Go/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/Go
\ No newline at end of file
diff --git a/Lang/Go/Read-entire-file b/Lang/Go/Read-entire-file
new file mode 120000
index 0000000000..d963180014
--- /dev/null
+++ b/Lang/Go/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Go
\ No newline at end of file
diff --git a/Lang/Go/Real-constants-and-functions b/Lang/Go/Real-constants-and-functions
new file mode 120000
index 0000000000..218d929617
--- /dev/null
+++ b/Lang/Go/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Go
\ No newline at end of file
diff --git a/Lang/Go/Reduced-row-echelon-form b/Lang/Go/Reduced-row-echelon-form
new file mode 120000
index 0000000000..ce7d9e189a
--- /dev/null
+++ b/Lang/Go/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/Go
\ No newline at end of file
diff --git a/Lang/Go/Regular-expressions b/Lang/Go/Regular-expressions
new file mode 120000
index 0000000000..f9c5b78f59
--- /dev/null
+++ b/Lang/Go/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Go
\ No newline at end of file
diff --git a/Lang/Go/Remove-duplicate-elements b/Lang/Go/Remove-duplicate-elements
new file mode 120000
index 0000000000..2fe9d2f9f6
--- /dev/null
+++ b/Lang/Go/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Go
\ No newline at end of file
diff --git a/Lang/Go/Remove-lines-from-a-file b/Lang/Go/Remove-lines-from-a-file
new file mode 120000
index 0000000000..245d90a465
--- /dev/null
+++ b/Lang/Go/Remove-lines-from-a-file
@@ -0,0 +1 @@
+../../Task/Remove-lines-from-a-file/Go
\ No newline at end of file
diff --git a/Lang/Go/Rename-a-file b/Lang/Go/Rename-a-file
new file mode 120000
index 0000000000..501243a16e
--- /dev/null
+++ b/Lang/Go/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Go
\ No newline at end of file
diff --git a/Lang/Go/Rendezvous b/Lang/Go/Rendezvous
new file mode 120000
index 0000000000..7142c65344
--- /dev/null
+++ b/Lang/Go/Rendezvous
@@ -0,0 +1 @@
+../../Task/Rendezvous/Go
\ No newline at end of file
diff --git a/Lang/Go/Repeat-a-string b/Lang/Go/Repeat-a-string
new file mode 120000
index 0000000000..6ed205c33b
--- /dev/null
+++ b/Lang/Go/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Go
\ No newline at end of file
diff --git a/Lang/Go/Respond-to-an-unknown-method-call b/Lang/Go/Respond-to-an-unknown-method-call
new file mode 120000
index 0000000000..30d26ab528
--- /dev/null
+++ b/Lang/Go/Respond-to-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Respond-to-an-unknown-method-call/Go
\ No newline at end of file
diff --git a/Lang/Go/Return-multiple-values b/Lang/Go/Return-multiple-values
new file mode 120000
index 0000000000..880731e41b
--- /dev/null
+++ b/Lang/Go/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Go
\ No newline at end of file
diff --git a/Lang/Go/Reverse-a-string b/Lang/Go/Reverse-a-string
new file mode 120000
index 0000000000..71f137593c
--- /dev/null
+++ b/Lang/Go/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Go
\ No newline at end of file
diff --git a/Lang/Go/Rock-paper-scissors b/Lang/Go/Rock-paper-scissors
new file mode 120000
index 0000000000..5cd6106778
--- /dev/null
+++ b/Lang/Go/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/Go
\ No newline at end of file
diff --git a/Lang/Go/Roman-numerals-Decode b/Lang/Go/Roman-numerals-Decode
new file mode 120000
index 0000000000..4370af7230
--- /dev/null
+++ b/Lang/Go/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/Go
\ No newline at end of file
diff --git a/Lang/Go/Roman-numerals-Encode b/Lang/Go/Roman-numerals-Encode
new file mode 120000
index 0000000000..372a5ea85b
--- /dev/null
+++ b/Lang/Go/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Go
\ No newline at end of file
diff --git a/Lang/Go/Roots-of-a-function b/Lang/Go/Roots-of-a-function
new file mode 120000
index 0000000000..b6397fb799
--- /dev/null
+++ b/Lang/Go/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/Go
\ No newline at end of file
diff --git a/Lang/Go/Roots-of-a-quadratic-function b/Lang/Go/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..dcec4136a5
--- /dev/null
+++ b/Lang/Go/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/Go
\ No newline at end of file
diff --git a/Lang/Go/Roots-of-unity b/Lang/Go/Roots-of-unity
new file mode 120000
index 0000000000..587fdea304
--- /dev/null
+++ b/Lang/Go/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/Go
\ No newline at end of file
diff --git a/Lang/Go/Rosetta-Code-Count-examples b/Lang/Go/Rosetta-Code-Count-examples
new file mode 120000
index 0000000000..12d28e0862
--- /dev/null
+++ b/Lang/Go/Rosetta-Code-Count-examples
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Count-examples/Go
\ No newline at end of file
diff --git a/Lang/Go/Rosetta-Code-Find-unimplemented-tasks b/Lang/Go/Rosetta-Code-Find-unimplemented-tasks
new file mode 120000
index 0000000000..aa0888ccb8
--- /dev/null
+++ b/Lang/Go/Rosetta-Code-Find-unimplemented-tasks
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Find-unimplemented-tasks/Go
\ No newline at end of file
diff --git a/Lang/Go/Rosetta-Code-Fix-code-tags b/Lang/Go/Rosetta-Code-Fix-code-tags
new file mode 120000
index 0000000000..327886fb15
--- /dev/null
+++ b/Lang/Go/Rosetta-Code-Fix-code-tags
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Fix-code-tags/Go
\ No newline at end of file
diff --git a/Lang/Go/Rosetta-Code-Rank-languages-by-popularity b/Lang/Go/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..44340b6f37
--- /dev/null
+++ b/Lang/Go/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/Go
\ No newline at end of file
diff --git a/Lang/Go/Rot-13 b/Lang/Go/Rot-13
new file mode 120000
index 0000000000..b9538ae0be
--- /dev/null
+++ b/Lang/Go/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Go
\ No newline at end of file
diff --git a/Lang/Go/Run-length-encoding b/Lang/Go/Run-length-encoding
new file mode 120000
index 0000000000..d73bf9ded9
--- /dev/null
+++ b/Lang/Go/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Go
\ No newline at end of file
diff --git a/Lang/Go/Runtime-evaluation b/Lang/Go/Runtime-evaluation
new file mode 120000
index 0000000000..c40573fe91
--- /dev/null
+++ b/Lang/Go/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/Go
\ No newline at end of file
diff --git a/Lang/Go/Runtime-evaluation-In-an-environment b/Lang/Go/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..a8b0867501
--- /dev/null
+++ b/Lang/Go/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/Go
\ No newline at end of file
diff --git a/Lang/Go/S-Expressions b/Lang/Go/S-Expressions
new file mode 120000
index 0000000000..ec9e5684f2
--- /dev/null
+++ b/Lang/Go/S-Expressions
@@ -0,0 +1 @@
+../../Task/S-Expressions/Go
\ No newline at end of file
diff --git a/Lang/Go/SEDOLs b/Lang/Go/SEDOLs
new file mode 120000
index 0000000000..a1cce550b8
--- /dev/null
+++ b/Lang/Go/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/Go
\ No newline at end of file
diff --git a/Lang/Go/Safe-addition b/Lang/Go/Safe-addition
new file mode 120000
index 0000000000..a0c03499bf
--- /dev/null
+++ b/Lang/Go/Safe-addition
@@ -0,0 +1 @@
+../../Task/Safe-addition/Go
\ No newline at end of file
diff --git a/Lang/Go/Same-Fringe b/Lang/Go/Same-Fringe
new file mode 120000
index 0000000000..6ed0c3e35f
--- /dev/null
+++ b/Lang/Go/Same-Fringe
@@ -0,0 +1 @@
+../../Task/Same-Fringe/Go
\ No newline at end of file
diff --git a/Lang/Go/Secure-temporary-file b/Lang/Go/Secure-temporary-file
new file mode 120000
index 0000000000..553b5ce229
--- /dev/null
+++ b/Lang/Go/Secure-temporary-file
@@ -0,0 +1 @@
+../../Task/Secure-temporary-file/Go
\ No newline at end of file
diff --git a/Lang/Go/Self-describing-numbers b/Lang/Go/Self-describing-numbers
new file mode 120000
index 0000000000..a6a712911a
--- /dev/null
+++ b/Lang/Go/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/Go
\ No newline at end of file
diff --git a/Lang/Go/Self-referential-sequence b/Lang/Go/Self-referential-sequence
new file mode 120000
index 0000000000..d07742096d
--- /dev/null
+++ b/Lang/Go/Self-referential-sequence
@@ -0,0 +1 @@
+../../Task/Self-referential-sequence/Go
\ No newline at end of file
diff --git a/Lang/Go/Semordnilap b/Lang/Go/Semordnilap
new file mode 120000
index 0000000000..ee3298e992
--- /dev/null
+++ b/Lang/Go/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/Go
\ No newline at end of file
diff --git a/Lang/Go/Send-an-unknown-method-call b/Lang/Go/Send-an-unknown-method-call
new file mode 120000
index 0000000000..81bedb9184
--- /dev/null
+++ b/Lang/Go/Send-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Send-an-unknown-method-call/Go
\ No newline at end of file
diff --git a/Lang/Go/Send-email b/Lang/Go/Send-email
new file mode 120000
index 0000000000..6e0c0899c1
--- /dev/null
+++ b/Lang/Go/Send-email
@@ -0,0 +1 @@
+../../Task/Send-email/Go
\ No newline at end of file
diff --git a/Lang/Go/Sequence-of-non-squares b/Lang/Go/Sequence-of-non-squares
new file mode 120000
index 0000000000..495250715d
--- /dev/null
+++ b/Lang/Go/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Go
\ No newline at end of file
diff --git a/Lang/Go/Set b/Lang/Go/Set
new file mode 120000
index 0000000000..a057eb53cf
--- /dev/null
+++ b/Lang/Go/Set
@@ -0,0 +1 @@
+../../Task/Set/Go
\ No newline at end of file
diff --git a/Lang/Go/Set-consolidation b/Lang/Go/Set-consolidation
new file mode 120000
index 0000000000..88d70af111
--- /dev/null
+++ b/Lang/Go/Set-consolidation
@@ -0,0 +1 @@
+../../Task/Set-consolidation/Go
\ No newline at end of file
diff --git a/Lang/Golfscript/Arbitrary-precision-integers--included- b/Lang/Golfscript/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..b93012b05c
--- /dev/null
+++ b/Lang/Golfscript/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Golfscript
\ No newline at end of file
diff --git a/Lang/Golfscript/Arbitrary-precision-integers-included b/Lang/Golfscript/Arbitrary-precision-integers-included
deleted file mode 120000
index be39ca4ea0..0000000000
--- a/Lang/Golfscript/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Golfscript
\ No newline at end of file
diff --git a/Lang/Groovy/Arbitrary-precision-integers--included- b/Lang/Groovy/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..4ecdb4a699
--- /dev/null
+++ b/Lang/Groovy/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Arbitrary-precision-integers-included b/Lang/Groovy/Arbitrary-precision-integers-included
deleted file mode 120000
index 735c25c2a8..0000000000
--- a/Lang/Groovy/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Binary-digits b/Lang/Groovy/Binary-digits
new file mode 120000
index 0000000000..8d2272992b
--- /dev/null
+++ b/Lang/Groovy/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Copy-a-string b/Lang/Groovy/Copy-a-string
new file mode 120000
index 0000000000..8e9c8d021a
--- /dev/null
+++ b/Lang/Groovy/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Environment-variables b/Lang/Groovy/Environment-variables
new file mode 120000
index 0000000000..add5f10a93
--- /dev/null
+++ b/Lang/Groovy/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Execute-a-Markov-algorithm b/Lang/Groovy/Execute-a-Markov-algorithm
new file mode 120000
index 0000000000..25d0f5b41c
--- /dev/null
+++ b/Lang/Groovy/Execute-a-Markov-algorithm
@@ -0,0 +1 @@
+../../Task/Execute-a-Markov-algorithm/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/N-queens-problem b/Lang/Groovy/N-queens-problem
new file mode 120000
index 0000000000..6894dc0c7f
--- /dev/null
+++ b/Lang/Groovy/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Non-decimal-radices-Convert b/Lang/Groovy/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..e5e2261a8d
--- /dev/null
+++ b/Lang/Groovy/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Nth-root b/Lang/Groovy/Nth-root
new file mode 120000
index 0000000000..cf7e8ca33e
--- /dev/null
+++ b/Lang/Groovy/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Number-names b/Lang/Groovy/Number-names
new file mode 120000
index 0000000000..a1b3425970
--- /dev/null
+++ b/Lang/Groovy/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Number-reversal-game b/Lang/Groovy/Number-reversal-game
new file mode 120000
index 0000000000..12b0d42dc2
--- /dev/null
+++ b/Lang/Groovy/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Numerical-integration b/Lang/Groovy/Numerical-integration
new file mode 120000
index 0000000000..6dcda1d837
--- /dev/null
+++ b/Lang/Groovy/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Object-serialization b/Lang/Groovy/Object-serialization
new file mode 120000
index 0000000000..a8bacb25c1
--- /dev/null
+++ b/Lang/Groovy/Object-serialization
@@ -0,0 +1 @@
+../../Task/Object-serialization/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/One-dimensional-cellular-automata b/Lang/Groovy/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..58e1eb69a6
--- /dev/null
+++ b/Lang/Groovy/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Order-two-numerical-lists b/Lang/Groovy/Order-two-numerical-lists
new file mode 120000
index 0000000000..91bdbc44c4
--- /dev/null
+++ b/Lang/Groovy/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Ordered-Partitions b/Lang/Groovy/Ordered-Partitions
new file mode 120000
index 0000000000..4c5d18c0cb
--- /dev/null
+++ b/Lang/Groovy/Ordered-Partitions
@@ -0,0 +1 @@
+../../Task/Ordered-Partitions/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Palindrome-detection b/Lang/Groovy/Palindrome-detection
new file mode 120000
index 0000000000..2c50a1c9ae
--- /dev/null
+++ b/Lang/Groovy/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Parsing-RPN-calculator-algorithm b/Lang/Groovy/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..37db1d3621
--- /dev/null
+++ b/Lang/Groovy/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Pascals-triangle b/Lang/Groovy/Pascals-triangle
new file mode 120000
index 0000000000..866dad8700
--- /dev/null
+++ b/Lang/Groovy/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Perfect-numbers b/Lang/Groovy/Perfect-numbers
new file mode 120000
index 0000000000..e30fd92d45
--- /dev/null
+++ b/Lang/Groovy/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Permutations b/Lang/Groovy/Permutations
new file mode 120000
index 0000000000..d5c840add2
--- /dev/null
+++ b/Lang/Groovy/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Permutations-Derangements b/Lang/Groovy/Permutations-Derangements
new file mode 120000
index 0000000000..34c1b59619
--- /dev/null
+++ b/Lang/Groovy/Permutations-Derangements
@@ -0,0 +1 @@
+../../Task/Permutations-Derangements/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Pick-random-element b/Lang/Groovy/Pick-random-element
new file mode 120000
index 0000000000..302cee9749
--- /dev/null
+++ b/Lang/Groovy/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Pig-the-dice-game b/Lang/Groovy/Pig-the-dice-game
new file mode 120000
index 0000000000..b4732334bd
--- /dev/null
+++ b/Lang/Groovy/Pig-the-dice-game
@@ -0,0 +1 @@
+../../Task/Pig-the-dice-game/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Playing-cards b/Lang/Groovy/Playing-cards
new file mode 120000
index 0000000000..e4fe1be163
--- /dev/null
+++ b/Lang/Groovy/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Plot-coordinate-pairs b/Lang/Groovy/Plot-coordinate-pairs
new file mode 120000
index 0000000000..7a2d4ff510
--- /dev/null
+++ b/Lang/Groovy/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Power-set b/Lang/Groovy/Power-set
new file mode 120000
index 0000000000..031157cea2
--- /dev/null
+++ b/Lang/Groovy/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Price-fraction b/Lang/Groovy/Price-fraction
new file mode 120000
index 0000000000..3463612f4b
--- /dev/null
+++ b/Lang/Groovy/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Primality-by-trial-division b/Lang/Groovy/Primality-by-trial-division
new file mode 120000
index 0000000000..4a159cc669
--- /dev/null
+++ b/Lang/Groovy/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Prime-decomposition b/Lang/Groovy/Prime-decomposition
new file mode 120000
index 0000000000..6ba7f52f12
--- /dev/null
+++ b/Lang/Groovy/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Program-name b/Lang/Groovy/Program-name
new file mode 120000
index 0000000000..e7ad9b9d2d
--- /dev/null
+++ b/Lang/Groovy/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Program-termination b/Lang/Groovy/Program-termination
new file mode 120000
index 0000000000..280cbe2218
--- /dev/null
+++ b/Lang/Groovy/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Queue-Definition b/Lang/Groovy/Queue-Definition
new file mode 120000
index 0000000000..87d8fa0171
--- /dev/null
+++ b/Lang/Groovy/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Queue-Usage b/Lang/Groovy/Queue-Usage
new file mode 120000
index 0000000000..1f77eebff2
--- /dev/null
+++ b/Lang/Groovy/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Random-number-generator--device- b/Lang/Groovy/Random-number-generator--device-
new file mode 120000
index 0000000000..7999cad87f
--- /dev/null
+++ b/Lang/Groovy/Random-number-generator--device-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--device-/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Random-numbers b/Lang/Groovy/Random-numbers
new file mode 120000
index 0000000000..8145cf7572
--- /dev/null
+++ b/Lang/Groovy/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Range-expansion b/Lang/Groovy/Range-expansion
new file mode 120000
index 0000000000..e7dc7554bf
--- /dev/null
+++ b/Lang/Groovy/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Range-extraction b/Lang/Groovy/Range-extraction
new file mode 120000
index 0000000000..dd7141477c
--- /dev/null
+++ b/Lang/Groovy/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Read-a-file-line-by-line b/Lang/Groovy/Read-a-file-line-by-line
new file mode 120000
index 0000000000..b805432d6c
--- /dev/null
+++ b/Lang/Groovy/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Read-a-specific-line-from-a-file b/Lang/Groovy/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..37af43f5b3
--- /dev/null
+++ b/Lang/Groovy/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Read-entire-file b/Lang/Groovy/Read-entire-file
new file mode 120000
index 0000000000..c956c69707
--- /dev/null
+++ b/Lang/Groovy/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Real-constants-and-functions b/Lang/Groovy/Real-constants-and-functions
new file mode 120000
index 0000000000..cda7a708ab
--- /dev/null
+++ b/Lang/Groovy/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Reduced-row-echelon-form b/Lang/Groovy/Reduced-row-echelon-form
new file mode 120000
index 0000000000..1faa4b3c0d
--- /dev/null
+++ b/Lang/Groovy/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Regular-expressions b/Lang/Groovy/Regular-expressions
new file mode 120000
index 0000000000..432d39fc41
--- /dev/null
+++ b/Lang/Groovy/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Remove-duplicate-elements b/Lang/Groovy/Remove-duplicate-elements
new file mode 120000
index 0000000000..4e83a883ca
--- /dev/null
+++ b/Lang/Groovy/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Rename-a-file b/Lang/Groovy/Rename-a-file
new file mode 120000
index 0000000000..3240f671fa
--- /dev/null
+++ b/Lang/Groovy/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Repeat-a-string b/Lang/Groovy/Repeat-a-string
new file mode 120000
index 0000000000..6b0103b038
--- /dev/null
+++ b/Lang/Groovy/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Return-multiple-values b/Lang/Groovy/Return-multiple-values
new file mode 120000
index 0000000000..26d992735e
--- /dev/null
+++ b/Lang/Groovy/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Reverse-a-string b/Lang/Groovy/Reverse-a-string
new file mode 120000
index 0000000000..5c4124ff04
--- /dev/null
+++ b/Lang/Groovy/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Roman-numerals-Decode b/Lang/Groovy/Roman-numerals-Decode
new file mode 120000
index 0000000000..056a19437b
--- /dev/null
+++ b/Lang/Groovy/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Roman-numerals-Encode b/Lang/Groovy/Roman-numerals-Encode
new file mode 120000
index 0000000000..6d6a4d4365
--- /dev/null
+++ b/Lang/Groovy/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Roots-of-unity b/Lang/Groovy/Roots-of-unity
new file mode 120000
index 0000000000..6dffdc59d5
--- /dev/null
+++ b/Lang/Groovy/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Rot-13 b/Lang/Groovy/Rot-13
new file mode 120000
index 0000000000..f9832588eb
--- /dev/null
+++ b/Lang/Groovy/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Run-length-encoding b/Lang/Groovy/Run-length-encoding
new file mode 120000
index 0000000000..da964099b8
--- /dev/null
+++ b/Lang/Groovy/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Runtime-evaluation b/Lang/Groovy/Runtime-evaluation
new file mode 120000
index 0000000000..99534d4ccb
--- /dev/null
+++ b/Lang/Groovy/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Runtime-evaluation-In-an-environment b/Lang/Groovy/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..68543a7b8d
--- /dev/null
+++ b/Lang/Groovy/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/SEDOLs b/Lang/Groovy/SEDOLs
new file mode 120000
index 0000000000..c14561bfda
--- /dev/null
+++ b/Lang/Groovy/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Secure-temporary-file b/Lang/Groovy/Secure-temporary-file
new file mode 120000
index 0000000000..6f2b709450
--- /dev/null
+++ b/Lang/Groovy/Secure-temporary-file
@@ -0,0 +1 @@
+../../Task/Secure-temporary-file/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Semordnilap b/Lang/Groovy/Semordnilap
new file mode 120000
index 0000000000..323fc2d48d
--- /dev/null
+++ b/Lang/Groovy/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Sequence-of-non-squares b/Lang/Groovy/Sequence-of-non-squares
new file mode 120000
index 0000000000..a8feebfe99
--- /dev/null
+++ b/Lang/Groovy/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Groovy
\ No newline at end of file
diff --git a/Lang/Groovy/Set b/Lang/Groovy/Set
new file mode 120000
index 0000000000..e0806532a1
--- /dev/null
+++ b/Lang/Groovy/Set
@@ -0,0 +1 @@
+../../Task/Set/Groovy
\ No newline at end of file
diff --git a/Lang/Haskell/Arbitrary-precision-integers--included- b/Lang/Haskell/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..26c63b714d
--- /dev/null
+++ b/Lang/Haskell/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Arbitrary-precision-integers-included b/Lang/Haskell/Arbitrary-precision-integers-included
deleted file mode 120000
index 0b8fc3144b..0000000000
--- a/Lang/Haskell/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Binary-digits b/Lang/Haskell/Binary-digits
new file mode 120000
index 0000000000..c1b5f4de02
--- /dev/null
+++ b/Lang/Haskell/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Brownian-tree b/Lang/Haskell/Brownian-tree
new file mode 120000
index 0000000000..eed33b526b
--- /dev/null
+++ b/Lang/Haskell/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Catalan-numbers b/Lang/Haskell/Catalan-numbers
new file mode 120000
index 0000000000..7ee2ceb2db
--- /dev/null
+++ b/Lang/Haskell/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Dragon-curve b/Lang/Haskell/Dragon-curve
new file mode 120000
index 0000000000..9129f2a704
--- /dev/null
+++ b/Lang/Haskell/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Environment-variables b/Lang/Haskell/Environment-variables
new file mode 120000
index 0000000000..0f1d658a53
--- /dev/null
+++ b/Lang/Haskell/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Execute-a-Markov-algorithm b/Lang/Haskell/Execute-a-Markov-algorithm
new file mode 120000
index 0000000000..63e5ecb08f
--- /dev/null
+++ b/Lang/Haskell/Execute-a-Markov-algorithm
@@ -0,0 +1 @@
+../../Task/Execute-a-Markov-algorithm/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/N-queens-problem b/Lang/Haskell/N-queens-problem
new file mode 120000
index 0000000000..afcab6a4c0
--- /dev/null
+++ b/Lang/Haskell/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Named-parameters b/Lang/Haskell/Named-parameters
new file mode 120000
index 0000000000..c911e19afe
--- /dev/null
+++ b/Lang/Haskell/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Non-continuous-subsequences b/Lang/Haskell/Non-continuous-subsequences
new file mode 120000
index 0000000000..cbf0371cb8
--- /dev/null
+++ b/Lang/Haskell/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Non-decimal-radices-Convert b/Lang/Haskell/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..ae6b9de925
--- /dev/null
+++ b/Lang/Haskell/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Non-decimal-radices-Input b/Lang/Haskell/Non-decimal-radices-Input
new file mode 120000
index 0000000000..e1f966df75
--- /dev/null
+++ b/Lang/Haskell/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Non-decimal-radices-Output b/Lang/Haskell/Non-decimal-radices-Output
new file mode 120000
index 0000000000..11ffc7e15d
--- /dev/null
+++ b/Lang/Haskell/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Nth-root b/Lang/Haskell/Nth-root
new file mode 120000
index 0000000000..ceb6218f6a
--- /dev/null
+++ b/Lang/Haskell/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Null-object b/Lang/Haskell/Null-object
new file mode 120000
index 0000000000..5daea4d28d
--- /dev/null
+++ b/Lang/Haskell/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Number-names b/Lang/Haskell/Number-names
new file mode 120000
index 0000000000..16b2a598b8
--- /dev/null
+++ b/Lang/Haskell/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Number-reversal-game b/Lang/Haskell/Number-reversal-game
new file mode 120000
index 0000000000..2cf95a8a86
--- /dev/null
+++ b/Lang/Haskell/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Numeric-error-propagation b/Lang/Haskell/Numeric-error-propagation
new file mode 120000
index 0000000000..f49658d185
--- /dev/null
+++ b/Lang/Haskell/Numeric-error-propagation
@@ -0,0 +1 @@
+../../Task/Numeric-error-propagation/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Numerical-integration b/Lang/Haskell/Numerical-integration
new file mode 120000
index 0000000000..9fa48bdaff
--- /dev/null
+++ b/Lang/Haskell/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/One-dimensional-cellular-automata b/Lang/Haskell/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..84b9cf6e9b
--- /dev/null
+++ b/Lang/Haskell/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/One-of-n-lines-in-a-file b/Lang/Haskell/One-of-n-lines-in-a-file
new file mode 120000
index 0000000000..a642a14950
--- /dev/null
+++ b/Lang/Haskell/One-of-n-lines-in-a-file
@@ -0,0 +1 @@
+../../Task/One-of-n-lines-in-a-file/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/OpenGL b/Lang/Haskell/OpenGL
new file mode 120000
index 0000000000..d20d322ec5
--- /dev/null
+++ b/Lang/Haskell/OpenGL
@@ -0,0 +1 @@
+../../Task/OpenGL/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Order-two-numerical-lists b/Lang/Haskell/Order-two-numerical-lists
new file mode 120000
index 0000000000..b1618ca141
--- /dev/null
+++ b/Lang/Haskell/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Ordered-Partitions b/Lang/Haskell/Ordered-Partitions
new file mode 120000
index 0000000000..90cb0b7dd9
--- /dev/null
+++ b/Lang/Haskell/Ordered-Partitions
@@ -0,0 +1 @@
+../../Task/Ordered-Partitions/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Palindrome-detection b/Lang/Haskell/Palindrome-detection
new file mode 120000
index 0000000000..06f69fa3ce
--- /dev/null
+++ b/Lang/Haskell/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Pangram-checker b/Lang/Haskell/Pangram-checker
new file mode 120000
index 0000000000..6e44fde5d0
--- /dev/null
+++ b/Lang/Haskell/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Parametric-polymorphism b/Lang/Haskell/Parametric-polymorphism
new file mode 120000
index 0000000000..6380a6733c
--- /dev/null
+++ b/Lang/Haskell/Parametric-polymorphism
@@ -0,0 +1 @@
+../../Task/Parametric-polymorphism/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Parsing-RPN-calculator-algorithm b/Lang/Haskell/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..23b3742dff
--- /dev/null
+++ b/Lang/Haskell/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Parsing-Shunting-yard-algorithm b/Lang/Haskell/Parsing-Shunting-yard-algorithm
new file mode 120000
index 0000000000..de9932bf66
--- /dev/null
+++ b/Lang/Haskell/Parsing-Shunting-yard-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-Shunting-yard-algorithm/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Partial-function-application b/Lang/Haskell/Partial-function-application
new file mode 120000
index 0000000000..83dce67ef2
--- /dev/null
+++ b/Lang/Haskell/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Pascals-triangle b/Lang/Haskell/Pascals-triangle
new file mode 120000
index 0000000000..96c7454e0f
--- /dev/null
+++ b/Lang/Haskell/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Pascals-triangle-Puzzle b/Lang/Haskell/Pascals-triangle-Puzzle
new file mode 120000
index 0000000000..f4883fd53f
--- /dev/null
+++ b/Lang/Haskell/Pascals-triangle-Puzzle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle-Puzzle/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Pattern-matching b/Lang/Haskell/Pattern-matching
new file mode 120000
index 0000000000..bf88afc4e5
--- /dev/null
+++ b/Lang/Haskell/Pattern-matching
@@ -0,0 +1 @@
+../../Task/Pattern-matching/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Perfect-numbers b/Lang/Haskell/Perfect-numbers
new file mode 120000
index 0000000000..93cc10bc40
--- /dev/null
+++ b/Lang/Haskell/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Permutation-test b/Lang/Haskell/Permutation-test
new file mode 120000
index 0000000000..c8f9c31c1c
--- /dev/null
+++ b/Lang/Haskell/Permutation-test
@@ -0,0 +1 @@
+../../Task/Permutation-test/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Permutations b/Lang/Haskell/Permutations
new file mode 120000
index 0000000000..ca7e83d3cb
--- /dev/null
+++ b/Lang/Haskell/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Permutations-Derangements b/Lang/Haskell/Permutations-Derangements
new file mode 120000
index 0000000000..47bae6e075
--- /dev/null
+++ b/Lang/Haskell/Permutations-Derangements
@@ -0,0 +1 @@
+../../Task/Permutations-Derangements/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Permutations-by-swapping b/Lang/Haskell/Permutations-by-swapping
new file mode 120000
index 0000000000..b924c301a5
--- /dev/null
+++ b/Lang/Haskell/Permutations-by-swapping
@@ -0,0 +1 @@
+../../Task/Permutations-by-swapping/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Pick-random-element b/Lang/Haskell/Pick-random-element
new file mode 120000
index 0000000000..bda9b9cab2
--- /dev/null
+++ b/Lang/Haskell/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Playing-cards b/Lang/Haskell/Playing-cards
new file mode 120000
index 0000000000..8aee84ef80
--- /dev/null
+++ b/Lang/Haskell/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Plot-coordinate-pairs b/Lang/Haskell/Plot-coordinate-pairs
new file mode 120000
index 0000000000..763fe9e72e
--- /dev/null
+++ b/Lang/Haskell/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Pointers-and-references b/Lang/Haskell/Pointers-and-references
new file mode 120000
index 0000000000..ae92f21835
--- /dev/null
+++ b/Lang/Haskell/Pointers-and-references
@@ -0,0 +1 @@
+../../Task/Pointers-and-references/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Polymorphism b/Lang/Haskell/Polymorphism
new file mode 120000
index 0000000000..a6a2a859de
--- /dev/null
+++ b/Lang/Haskell/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Polynomial-long-division b/Lang/Haskell/Polynomial-long-division
new file mode 120000
index 0000000000..1ff421907b
--- /dev/null
+++ b/Lang/Haskell/Polynomial-long-division
@@ -0,0 +1 @@
+../../Task/Polynomial-long-division/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Polynomial-regression b/Lang/Haskell/Polynomial-regression
new file mode 120000
index 0000000000..008c5315c7
--- /dev/null
+++ b/Lang/Haskell/Polynomial-regression
@@ -0,0 +1 @@
+../../Task/Polynomial-regression/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Power-set b/Lang/Haskell/Power-set
new file mode 120000
index 0000000000..2572c3aabc
--- /dev/null
+++ b/Lang/Haskell/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Price-fraction b/Lang/Haskell/Price-fraction
new file mode 120000
index 0000000000..af6ea46386
--- /dev/null
+++ b/Lang/Haskell/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Primality-by-trial-division b/Lang/Haskell/Primality-by-trial-division
new file mode 120000
index 0000000000..a055ec5d1c
--- /dev/null
+++ b/Lang/Haskell/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Prime-decomposition b/Lang/Haskell/Prime-decomposition
new file mode 120000
index 0000000000..4d773f5f2b
--- /dev/null
+++ b/Lang/Haskell/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Priority-queue b/Lang/Haskell/Priority-queue
new file mode 120000
index 0000000000..2efddb2ca2
--- /dev/null
+++ b/Lang/Haskell/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Probabilistic-choice b/Lang/Haskell/Probabilistic-choice
new file mode 120000
index 0000000000..edca5cb105
--- /dev/null
+++ b/Lang/Haskell/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Problem-of-Apollonius b/Lang/Haskell/Problem-of-Apollonius
new file mode 120000
index 0000000000..98b8757204
--- /dev/null
+++ b/Lang/Haskell/Problem-of-Apollonius
@@ -0,0 +1 @@
+../../Task/Problem-of-Apollonius/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Program-name b/Lang/Haskell/Program-name
new file mode 120000
index 0000000000..a542d21cae
--- /dev/null
+++ b/Lang/Haskell/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Program-termination b/Lang/Haskell/Program-termination
new file mode 120000
index 0000000000..f9dac6ec9d
--- /dev/null
+++ b/Lang/Haskell/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Pythagorean-triples b/Lang/Haskell/Pythagorean-triples
new file mode 120000
index 0000000000..fd4445ec73
--- /dev/null
+++ b/Lang/Haskell/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Quaternion-type b/Lang/Haskell/Quaternion-type
new file mode 120000
index 0000000000..14aca84bfa
--- /dev/null
+++ b/Lang/Haskell/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Queue-Definition b/Lang/Haskell/Queue-Definition
new file mode 120000
index 0000000000..85f6f92538
--- /dev/null
+++ b/Lang/Haskell/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Queue-Usage b/Lang/Haskell/Queue-Usage
new file mode 120000
index 0000000000..3dd64ba779
--- /dev/null
+++ b/Lang/Haskell/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Random-number-generator--device- b/Lang/Haskell/Random-number-generator--device-
new file mode 120000
index 0000000000..ab1f91d487
--- /dev/null
+++ b/Lang/Haskell/Random-number-generator--device-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--device-/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Random-numbers b/Lang/Haskell/Random-numbers
new file mode 120000
index 0000000000..7b041dad9c
--- /dev/null
+++ b/Lang/Haskell/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Range-expansion b/Lang/Haskell/Range-expansion
new file mode 120000
index 0000000000..f94fb1db16
--- /dev/null
+++ b/Lang/Haskell/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Range-extraction b/Lang/Haskell/Range-extraction
new file mode 120000
index 0000000000..d7dccf0bf8
--- /dev/null
+++ b/Lang/Haskell/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Ray-casting-algorithm b/Lang/Haskell/Ray-casting-algorithm
new file mode 120000
index 0000000000..f8b3a05287
--- /dev/null
+++ b/Lang/Haskell/Ray-casting-algorithm
@@ -0,0 +1 @@
+../../Task/Ray-casting-algorithm/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Read-a-configuration-file b/Lang/Haskell/Read-a-configuration-file
new file mode 120000
index 0000000000..a5112a126c
--- /dev/null
+++ b/Lang/Haskell/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Read-a-specific-line-from-a-file b/Lang/Haskell/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..4c108ef87a
--- /dev/null
+++ b/Lang/Haskell/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Read-entire-file b/Lang/Haskell/Read-entire-file
new file mode 120000
index 0000000000..d512fda6df
--- /dev/null
+++ b/Lang/Haskell/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Real-constants-and-functions b/Lang/Haskell/Real-constants-and-functions
new file mode 120000
index 0000000000..0bb394a538
--- /dev/null
+++ b/Lang/Haskell/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Reduced-row-echelon-form b/Lang/Haskell/Reduced-row-echelon-form
new file mode 120000
index 0000000000..e6614c1a18
--- /dev/null
+++ b/Lang/Haskell/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Regular-expressions b/Lang/Haskell/Regular-expressions
new file mode 120000
index 0000000000..b1cdc41b33
--- /dev/null
+++ b/Lang/Haskell/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Remove-duplicate-elements b/Lang/Haskell/Remove-duplicate-elements
new file mode 120000
index 0000000000..cfafa65728
--- /dev/null
+++ b/Lang/Haskell/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Remove-lines-from-a-file b/Lang/Haskell/Remove-lines-from-a-file
new file mode 120000
index 0000000000..10862731fe
--- /dev/null
+++ b/Lang/Haskell/Remove-lines-from-a-file
@@ -0,0 +1 @@
+../../Task/Remove-lines-from-a-file/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Rename-a-file b/Lang/Haskell/Rename-a-file
new file mode 120000
index 0000000000..81dd42ffce
--- /dev/null
+++ b/Lang/Haskell/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Repeat-a-string b/Lang/Haskell/Repeat-a-string
new file mode 120000
index 0000000000..d190bf9512
--- /dev/null
+++ b/Lang/Haskell/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Return-multiple-values b/Lang/Haskell/Return-multiple-values
new file mode 120000
index 0000000000..ca9a9712c8
--- /dev/null
+++ b/Lang/Haskell/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Reverse-a-string b/Lang/Haskell/Reverse-a-string
new file mode 120000
index 0000000000..6095b0ea69
--- /dev/null
+++ b/Lang/Haskell/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Rock-paper-scissors b/Lang/Haskell/Rock-paper-scissors
new file mode 120000
index 0000000000..829de62494
--- /dev/null
+++ b/Lang/Haskell/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Roman-numerals-Decode b/Lang/Haskell/Roman-numerals-Decode
new file mode 120000
index 0000000000..693bba9ebd
--- /dev/null
+++ b/Lang/Haskell/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Roman-numerals-Encode b/Lang/Haskell/Roman-numerals-Encode
new file mode 120000
index 0000000000..b957cce4dd
--- /dev/null
+++ b/Lang/Haskell/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Roots-of-a-function b/Lang/Haskell/Roots-of-a-function
new file mode 120000
index 0000000000..204ff8c79c
--- /dev/null
+++ b/Lang/Haskell/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Roots-of-a-quadratic-function b/Lang/Haskell/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..d5b8347822
--- /dev/null
+++ b/Lang/Haskell/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Roots-of-unity b/Lang/Haskell/Roots-of-unity
new file mode 120000
index 0000000000..95078c35df
--- /dev/null
+++ b/Lang/Haskell/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Rosetta-Code-Count-examples b/Lang/Haskell/Rosetta-Code-Count-examples
new file mode 120000
index 0000000000..e848948d8d
--- /dev/null
+++ b/Lang/Haskell/Rosetta-Code-Count-examples
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Count-examples/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Rosetta-Code-Find-unimplemented-tasks b/Lang/Haskell/Rosetta-Code-Find-unimplemented-tasks
new file mode 120000
index 0000000000..150cbab4dd
--- /dev/null
+++ b/Lang/Haskell/Rosetta-Code-Find-unimplemented-tasks
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Find-unimplemented-tasks/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Rosetta-Code-Rank-languages-by-popularity b/Lang/Haskell/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..3768cd4a16
--- /dev/null
+++ b/Lang/Haskell/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Rot-13 b/Lang/Haskell/Rot-13
new file mode 120000
index 0000000000..29406a6fcb
--- /dev/null
+++ b/Lang/Haskell/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Run-length-encoding b/Lang/Haskell/Run-length-encoding
new file mode 120000
index 0000000000..ce8ae28812
--- /dev/null
+++ b/Lang/Haskell/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/S-Expressions b/Lang/Haskell/S-Expressions
new file mode 120000
index 0000000000..d66ef24e67
--- /dev/null
+++ b/Lang/Haskell/S-Expressions
@@ -0,0 +1 @@
+../../Task/S-Expressions/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/SEDOLs b/Lang/Haskell/SEDOLs
new file mode 120000
index 0000000000..6798fb4bdc
--- /dev/null
+++ b/Lang/Haskell/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Same-Fringe b/Lang/Haskell/Same-Fringe
new file mode 120000
index 0000000000..fcc97b9479
--- /dev/null
+++ b/Lang/Haskell/Same-Fringe
@@ -0,0 +1 @@
+../../Task/Same-Fringe/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Secure-temporary-file b/Lang/Haskell/Secure-temporary-file
new file mode 120000
index 0000000000..abc1dee5a9
--- /dev/null
+++ b/Lang/Haskell/Secure-temporary-file
@@ -0,0 +1 @@
+../../Task/Secure-temporary-file/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Self-describing-numbers b/Lang/Haskell/Self-describing-numbers
new file mode 120000
index 0000000000..771aee2514
--- /dev/null
+++ b/Lang/Haskell/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Self-referential-sequence b/Lang/Haskell/Self-referential-sequence
new file mode 120000
index 0000000000..98549b8765
--- /dev/null
+++ b/Lang/Haskell/Self-referential-sequence
@@ -0,0 +1 @@
+../../Task/Self-referential-sequence/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Semordnilap b/Lang/Haskell/Semordnilap
new file mode 120000
index 0000000000..fd39566e89
--- /dev/null
+++ b/Lang/Haskell/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Sequence-of-non-squares b/Lang/Haskell/Sequence-of-non-squares
new file mode 120000
index 0000000000..d8d9c9a478
--- /dev/null
+++ b/Lang/Haskell/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Set b/Lang/Haskell/Set
new file mode 120000
index 0000000000..92ff3f5ce3
--- /dev/null
+++ b/Lang/Haskell/Set
@@ -0,0 +1 @@
+../../Task/Set/Haskell
\ No newline at end of file
diff --git a/Lang/Haskell/Set-consolidation b/Lang/Haskell/Set-consolidation
new file mode 120000
index 0000000000..cc5fe42ba9
--- /dev/null
+++ b/Lang/Haskell/Set-consolidation
@@ -0,0 +1 @@
+../../Task/Set-consolidation/Haskell
\ No newline at end of file
diff --git a/Lang/Heron/N-queens-problem b/Lang/Heron/N-queens-problem
new file mode 120000
index 0000000000..650b4eed07
--- /dev/null
+++ b/Lang/Heron/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Heron
\ No newline at end of file
diff --git a/Lang/HicEst/Copy-a-string b/Lang/HicEst/Copy-a-string
new file mode 120000
index 0000000000..108d170e0f
--- /dev/null
+++ b/Lang/HicEst/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Dragon-curve b/Lang/HicEst/Dragon-curve
new file mode 120000
index 0000000000..ae4c2eaa97
--- /dev/null
+++ b/Lang/HicEst/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Environment-variables b/Lang/HicEst/Environment-variables
new file mode 120000
index 0000000000..4fc135e1e7
--- /dev/null
+++ b/Lang/HicEst/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Non-decimal-radices-Convert b/Lang/HicEst/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..4b37a006f6
--- /dev/null
+++ b/Lang/HicEst/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Non-decimal-radices-Input b/Lang/HicEst/Non-decimal-radices-Input
new file mode 120000
index 0000000000..bad06760eb
--- /dev/null
+++ b/Lang/HicEst/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Non-decimal-radices-Output b/Lang/HicEst/Non-decimal-radices-Output
new file mode 120000
index 0000000000..50387e819c
--- /dev/null
+++ b/Lang/HicEst/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Nth-root b/Lang/HicEst/Nth-root
new file mode 120000
index 0000000000..9a6a75b440
--- /dev/null
+++ b/Lang/HicEst/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Number-names b/Lang/HicEst/Number-names
new file mode 120000
index 0000000000..ff2e9a6cd9
--- /dev/null
+++ b/Lang/HicEst/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Number-reversal-game b/Lang/HicEst/Number-reversal-game
new file mode 120000
index 0000000000..7ad4566b55
--- /dev/null
+++ b/Lang/HicEst/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Palindrome-detection b/Lang/HicEst/Palindrome-detection
new file mode 120000
index 0000000000..ec93e4cf8e
--- /dev/null
+++ b/Lang/HicEst/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Pangram-checker b/Lang/HicEst/Pangram-checker
new file mode 120000
index 0000000000..f1a2e256e8
--- /dev/null
+++ b/Lang/HicEst/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Pascals-triangle b/Lang/HicEst/Pascals-triangle
new file mode 120000
index 0000000000..5f83c29f7b
--- /dev/null
+++ b/Lang/HicEst/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Perfect-numbers b/Lang/HicEst/Perfect-numbers
new file mode 120000
index 0000000000..61238ac5db
--- /dev/null
+++ b/Lang/HicEst/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Plot-coordinate-pairs b/Lang/HicEst/Plot-coordinate-pairs
new file mode 120000
index 0000000000..6d7113d7a7
--- /dev/null
+++ b/Lang/HicEst/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Polynomial-regression b/Lang/HicEst/Polynomial-regression
new file mode 120000
index 0000000000..db50c11844
--- /dev/null
+++ b/Lang/HicEst/Polynomial-regression
@@ -0,0 +1 @@
+../../Task/Polynomial-regression/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Price-fraction b/Lang/HicEst/Price-fraction
new file mode 120000
index 0000000000..ba30ee1279
--- /dev/null
+++ b/Lang/HicEst/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Primality-by-trial-division b/Lang/HicEst/Primality-by-trial-division
new file mode 120000
index 0000000000..41f163a456
--- /dev/null
+++ b/Lang/HicEst/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Probabilistic-choice b/Lang/HicEst/Probabilistic-choice
new file mode 120000
index 0000000000..71a2dabb9c
--- /dev/null
+++ b/Lang/HicEst/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Program-termination b/Lang/HicEst/Program-termination
new file mode 120000
index 0000000000..c77b16f664
--- /dev/null
+++ b/Lang/HicEst/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Random-numbers b/Lang/HicEst/Random-numbers
new file mode 120000
index 0000000000..ae63cadc0b
--- /dev/null
+++ b/Lang/HicEst/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Rate-counter b/Lang/HicEst/Rate-counter
new file mode 120000
index 0000000000..d08fda3740
--- /dev/null
+++ b/Lang/HicEst/Rate-counter
@@ -0,0 +1 @@
+../../Task/Rate-counter/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Real-constants-and-functions b/Lang/HicEst/Real-constants-and-functions
new file mode 120000
index 0000000000..3df1a6bad6
--- /dev/null
+++ b/Lang/HicEst/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Regular-expressions b/Lang/HicEst/Regular-expressions
new file mode 120000
index 0000000000..bd2c7b6dd6
--- /dev/null
+++ b/Lang/HicEst/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Remove-duplicate-elements b/Lang/HicEst/Remove-duplicate-elements
new file mode 120000
index 0000000000..e947c06dbf
--- /dev/null
+++ b/Lang/HicEst/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Rename-a-file b/Lang/HicEst/Rename-a-file
new file mode 120000
index 0000000000..26bf2ac611
--- /dev/null
+++ b/Lang/HicEst/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Repeat-a-string b/Lang/HicEst/Repeat-a-string
new file mode 120000
index 0000000000..cb23cf09bb
--- /dev/null
+++ b/Lang/HicEst/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Reverse-a-string b/Lang/HicEst/Reverse-a-string
new file mode 120000
index 0000000000..89a2951aca
--- /dev/null
+++ b/Lang/HicEst/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Roman-numerals-Encode b/Lang/HicEst/Roman-numerals-Encode
new file mode 120000
index 0000000000..e39daa724c
--- /dev/null
+++ b/Lang/HicEst/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Roots-of-a-function b/Lang/HicEst/Roots-of-a-function
new file mode 120000
index 0000000000..8721478868
--- /dev/null
+++ b/Lang/HicEst/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Rosetta-Code-Rank-languages-by-popularity b/Lang/HicEst/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..457f520540
--- /dev/null
+++ b/Lang/HicEst/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Rot-13 b/Lang/HicEst/Rot-13
new file mode 120000
index 0000000000..f37719270e
--- /dev/null
+++ b/Lang/HicEst/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Runtime-evaluation b/Lang/HicEst/Runtime-evaluation
new file mode 120000
index 0000000000..b508ba32b9
--- /dev/null
+++ b/Lang/HicEst/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Secure-temporary-file b/Lang/HicEst/Secure-temporary-file
new file mode 120000
index 0000000000..2b97f0a57d
--- /dev/null
+++ b/Lang/HicEst/Secure-temporary-file
@@ -0,0 +1 @@
+../../Task/Secure-temporary-file/HicEst
\ No newline at end of file
diff --git a/Lang/HicEst/Sequence-of-non-squares b/Lang/HicEst/Sequence-of-non-squares
new file mode 120000
index 0000000000..ca73376af3
--- /dev/null
+++ b/Lang/HicEst/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/HicEst
\ No newline at end of file
diff --git a/Lang/IDL/Pascals-triangle b/Lang/IDL/Pascals-triangle
new file mode 120000
index 0000000000..99ece0e1e8
--- /dev/null
+++ b/Lang/IDL/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/IDL
\ No newline at end of file
diff --git a/Lang/IDL/Random-numbers b/Lang/IDL/Random-numbers
new file mode 120000
index 0000000000..e26978da49
--- /dev/null
+++ b/Lang/IDL/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/IDL
\ No newline at end of file
diff --git a/Lang/IDL/Remove-duplicate-elements b/Lang/IDL/Remove-duplicate-elements
new file mode 120000
index 0000000000..05ccdb4cde
--- /dev/null
+++ b/Lang/IDL/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/IDL
\ No newline at end of file
diff --git a/Lang/IDL/Roots-of-a-quadratic-function b/Lang/IDL/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..3b902c1d09
--- /dev/null
+++ b/Lang/IDL/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/IDL
\ No newline at end of file
diff --git a/Lang/IDL/Roots-of-unity b/Lang/IDL/Roots-of-unity
new file mode 120000
index 0000000000..7791f80719
--- /dev/null
+++ b/Lang/IDL/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/IDL
\ No newline at end of file
diff --git a/Lang/IDL/Sequence-of-non-squares b/Lang/IDL/Sequence-of-non-squares
new file mode 120000
index 0000000000..1845adc89d
--- /dev/null
+++ b/Lang/IDL/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/IDL
\ No newline at end of file
diff --git a/Lang/Icon/Arbitrary-precision-integers--included- b/Lang/Icon/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..b7d0e4eeb6
--- /dev/null
+++ b/Lang/Icon/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Arbitrary-precision-integers-included b/Lang/Icon/Arbitrary-precision-integers-included
deleted file mode 120000
index 8c434fc8d1..0000000000
--- a/Lang/Icon/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Binary-digits b/Lang/Icon/Binary-digits
new file mode 120000
index 0000000000..933ee54968
--- /dev/null
+++ b/Lang/Icon/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Brownian-tree b/Lang/Icon/Brownian-tree
new file mode 120000
index 0000000000..8a18b095a8
--- /dev/null
+++ b/Lang/Icon/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Calendar---for-real-programmers b/Lang/Icon/Calendar---for-real-programmers
new file mode 120000
index 0000000000..f87a3bab2a
--- /dev/null
+++ b/Lang/Icon/Calendar---for-real-programmers
@@ -0,0 +1 @@
+../../Task/Calendar---for-real-programmers/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Calendar-for-real-programmers b/Lang/Icon/Calendar-for-real-programmers
deleted file mode 120000
index 57f8c378c9..0000000000
--- a/Lang/Icon/Calendar-for-real-programmers
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Calendar-for-real-programmers/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Catalan-numbers b/Lang/Icon/Catalan-numbers
new file mode 120000
index 0000000000..0990a4dbbf
--- /dev/null
+++ b/Lang/Icon/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Copy-a-string b/Lang/Icon/Copy-a-string
new file mode 120000
index 0000000000..ff2dc36b67
--- /dev/null
+++ b/Lang/Icon/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Dragon-curve b/Lang/Icon/Dragon-curve
new file mode 120000
index 0000000000..c8aa48cfc6
--- /dev/null
+++ b/Lang/Icon/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Environment-variables b/Lang/Icon/Environment-variables
new file mode 120000
index 0000000000..b0737290a2
--- /dev/null
+++ b/Lang/Icon/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Execute-a-Markov-algorithm b/Lang/Icon/Execute-a-Markov-algorithm
new file mode 120000
index 0000000000..4d98aabcc8
--- /dev/null
+++ b/Lang/Icon/Execute-a-Markov-algorithm
@@ -0,0 +1 @@
+../../Task/Execute-a-Markov-algorithm/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Guess-the-number-With-feedback--player- b/Lang/Icon/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..c5b95fd0bc
--- /dev/null
+++ b/Lang/Icon/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Guess-the-number-With-feedback-player b/Lang/Icon/Guess-the-number-With-feedback-player
deleted file mode 120000
index cfd8c80db1..0000000000
--- a/Lang/Icon/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/Icon
\ No newline at end of file
diff --git a/Lang/Icon/N-queens-problem b/Lang/Icon/N-queens-problem
new file mode 120000
index 0000000000..8b1ac05ab6
--- /dev/null
+++ b/Lang/Icon/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Named-parameters b/Lang/Icon/Named-parameters
new file mode 120000
index 0000000000..6d3a99db1e
--- /dev/null
+++ b/Lang/Icon/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Non-decimal-radices-Convert b/Lang/Icon/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..6e71b8fa68
--- /dev/null
+++ b/Lang/Icon/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Non-decimal-radices-Input b/Lang/Icon/Non-decimal-radices-Input
new file mode 120000
index 0000000000..61920462a8
--- /dev/null
+++ b/Lang/Icon/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Non-decimal-radices-Output b/Lang/Icon/Non-decimal-radices-Output
new file mode 120000
index 0000000000..ea97dfdc0b
--- /dev/null
+++ b/Lang/Icon/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Nth-root b/Lang/Icon/Nth-root
new file mode 120000
index 0000000000..6e5e5e2db3
--- /dev/null
+++ b/Lang/Icon/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Null-object b/Lang/Icon/Null-object
new file mode 120000
index 0000000000..69696e850e
--- /dev/null
+++ b/Lang/Icon/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Number-reversal-game b/Lang/Icon/Number-reversal-game
new file mode 120000
index 0000000000..5c3d976985
--- /dev/null
+++ b/Lang/Icon/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/Icon
\ No newline at end of file
diff --git a/Lang/Icon/One-dimensional-cellular-automata b/Lang/Icon/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..deedbd4e74
--- /dev/null
+++ b/Lang/Icon/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Icon
\ No newline at end of file
diff --git a/Lang/Icon/One-of-n-lines-in-a-file b/Lang/Icon/One-of-n-lines-in-a-file
new file mode 120000
index 0000000000..89f0099f3a
--- /dev/null
+++ b/Lang/Icon/One-of-n-lines-in-a-file
@@ -0,0 +1 @@
+../../Task/One-of-n-lines-in-a-file/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Optional-parameters b/Lang/Icon/Optional-parameters
new file mode 120000
index 0000000000..c76872cc43
--- /dev/null
+++ b/Lang/Icon/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Order-two-numerical-lists b/Lang/Icon/Order-two-numerical-lists
new file mode 120000
index 0000000000..6ccb5cd759
--- /dev/null
+++ b/Lang/Icon/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Palindrome-detection b/Lang/Icon/Palindrome-detection
new file mode 120000
index 0000000000..a7cc755442
--- /dev/null
+++ b/Lang/Icon/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Pangram-checker b/Lang/Icon/Pangram-checker
new file mode 120000
index 0000000000..edce033656
--- /dev/null
+++ b/Lang/Icon/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Parsing-RPN-calculator-algorithm b/Lang/Icon/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..f8faa25d8b
--- /dev/null
+++ b/Lang/Icon/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Parsing-RPN-to-infix-conversion b/Lang/Icon/Parsing-RPN-to-infix-conversion
new file mode 120000
index 0000000000..94e584f9ea
--- /dev/null
+++ b/Lang/Icon/Parsing-RPN-to-infix-conversion
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-to-infix-conversion/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Parsing-Shunting-yard-algorithm b/Lang/Icon/Parsing-Shunting-yard-algorithm
new file mode 120000
index 0000000000..29001baa85
--- /dev/null
+++ b/Lang/Icon/Parsing-Shunting-yard-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-Shunting-yard-algorithm/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Partial-function-application b/Lang/Icon/Partial-function-application
new file mode 120000
index 0000000000..ee28d094f2
--- /dev/null
+++ b/Lang/Icon/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Pascals-triangle b/Lang/Icon/Pascals-triangle
new file mode 120000
index 0000000000..3ed7987f30
--- /dev/null
+++ b/Lang/Icon/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Percentage-difference-between-images b/Lang/Icon/Percentage-difference-between-images
new file mode 120000
index 0000000000..5bce44725e
--- /dev/null
+++ b/Lang/Icon/Percentage-difference-between-images
@@ -0,0 +1 @@
+../../Task/Percentage-difference-between-images/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Perfect-numbers b/Lang/Icon/Perfect-numbers
new file mode 120000
index 0000000000..37a03264f1
--- /dev/null
+++ b/Lang/Icon/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Permutations b/Lang/Icon/Permutations
new file mode 120000
index 0000000000..6fb453198c
--- /dev/null
+++ b/Lang/Icon/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Pick-random-element b/Lang/Icon/Pick-random-element
new file mode 120000
index 0000000000..085d5a688a
--- /dev/null
+++ b/Lang/Icon/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Pinstripe-Display b/Lang/Icon/Pinstripe-Display
new file mode 120000
index 0000000000..41ac714814
--- /dev/null
+++ b/Lang/Icon/Pinstripe-Display
@@ -0,0 +1 @@
+../../Task/Pinstripe-Display/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Playing-cards b/Lang/Icon/Playing-cards
new file mode 120000
index 0000000000..a06ebe05c9
--- /dev/null
+++ b/Lang/Icon/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Plot-coordinate-pairs b/Lang/Icon/Plot-coordinate-pairs
new file mode 120000
index 0000000000..463d5ccfb6
--- /dev/null
+++ b/Lang/Icon/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Power-set b/Lang/Icon/Power-set
new file mode 120000
index 0000000000..4a195da18b
--- /dev/null
+++ b/Lang/Icon/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Pragmatic-directives b/Lang/Icon/Pragmatic-directives
new file mode 120000
index 0000000000..816fd5e628
--- /dev/null
+++ b/Lang/Icon/Pragmatic-directives
@@ -0,0 +1 @@
+../../Task/Pragmatic-directives/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Price-fraction b/Lang/Icon/Price-fraction
new file mode 120000
index 0000000000..8dfbf211b6
--- /dev/null
+++ b/Lang/Icon/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Primality-by-trial-division b/Lang/Icon/Primality-by-trial-division
new file mode 120000
index 0000000000..31d6a108b2
--- /dev/null
+++ b/Lang/Icon/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Prime-decomposition b/Lang/Icon/Prime-decomposition
new file mode 120000
index 0000000000..315b71c025
--- /dev/null
+++ b/Lang/Icon/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Priority-queue b/Lang/Icon/Priority-queue
new file mode 120000
index 0000000000..b77cdfb42b
--- /dev/null
+++ b/Lang/Icon/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Probabilistic-choice b/Lang/Icon/Probabilistic-choice
new file mode 120000
index 0000000000..1f0cf2d3fe
--- /dev/null
+++ b/Lang/Icon/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Problem-of-Apollonius b/Lang/Icon/Problem-of-Apollonius
new file mode 120000
index 0000000000..40c9f1fe8b
--- /dev/null
+++ b/Lang/Icon/Problem-of-Apollonius
@@ -0,0 +1 @@
+../../Task/Problem-of-Apollonius/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Program-name b/Lang/Icon/Program-name
new file mode 120000
index 0000000000..a3c8cb843c
--- /dev/null
+++ b/Lang/Icon/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Program-termination b/Lang/Icon/Program-termination
new file mode 120000
index 0000000000..12509956d6
--- /dev/null
+++ b/Lang/Icon/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Pythagorean-triples b/Lang/Icon/Pythagorean-triples
new file mode 120000
index 0000000000..e71dac2858
--- /dev/null
+++ b/Lang/Icon/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Queue-Usage b/Lang/Icon/Queue-Usage
new file mode 120000
index 0000000000..4a1e8825e4
--- /dev/null
+++ b/Lang/Icon/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Random-numbers b/Lang/Icon/Random-numbers
new file mode 120000
index 0000000000..e672aa5bd0
--- /dev/null
+++ b/Lang/Icon/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Range-expansion b/Lang/Icon/Range-expansion
new file mode 120000
index 0000000000..a229147fda
--- /dev/null
+++ b/Lang/Icon/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Range-extraction b/Lang/Icon/Range-extraction
new file mode 120000
index 0000000000..7436a97892
--- /dev/null
+++ b/Lang/Icon/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Read-a-specific-line-from-a-file b/Lang/Icon/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..6f876d970d
--- /dev/null
+++ b/Lang/Icon/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Read-entire-file b/Lang/Icon/Read-entire-file
new file mode 120000
index 0000000000..7d07921e20
--- /dev/null
+++ b/Lang/Icon/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Regular-expressions b/Lang/Icon/Regular-expressions
new file mode 120000
index 0000000000..b021c1c9bc
--- /dev/null
+++ b/Lang/Icon/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Remove-duplicate-elements b/Lang/Icon/Remove-duplicate-elements
new file mode 120000
index 0000000000..6667123cdf
--- /dev/null
+++ b/Lang/Icon/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Remove-lines-from-a-file b/Lang/Icon/Remove-lines-from-a-file
new file mode 120000
index 0000000000..127da2f48b
--- /dev/null
+++ b/Lang/Icon/Remove-lines-from-a-file
@@ -0,0 +1 @@
+../../Task/Remove-lines-from-a-file/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Rename-a-file b/Lang/Icon/Rename-a-file
new file mode 120000
index 0000000000..6b43d0904d
--- /dev/null
+++ b/Lang/Icon/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Repeat-a-string b/Lang/Icon/Repeat-a-string
new file mode 120000
index 0000000000..3881c464a4
--- /dev/null
+++ b/Lang/Icon/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Return-multiple-values b/Lang/Icon/Return-multiple-values
new file mode 120000
index 0000000000..da6a4fd84f
--- /dev/null
+++ b/Lang/Icon/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Reverse-a-string b/Lang/Icon/Reverse-a-string
new file mode 120000
index 0000000000..805a16bd47
--- /dev/null
+++ b/Lang/Icon/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Rock-paper-scissors b/Lang/Icon/Rock-paper-scissors
new file mode 120000
index 0000000000..fd9f1309c3
--- /dev/null
+++ b/Lang/Icon/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Roman-numerals-Decode b/Lang/Icon/Roman-numerals-Decode
new file mode 120000
index 0000000000..cebfb6fb60
--- /dev/null
+++ b/Lang/Icon/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Roman-numerals-Encode b/Lang/Icon/Roman-numerals-Encode
new file mode 120000
index 0000000000..ef20ffe485
--- /dev/null
+++ b/Lang/Icon/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Roots-of-unity b/Lang/Icon/Roots-of-unity
new file mode 120000
index 0000000000..3e2ce2c9b2
--- /dev/null
+++ b/Lang/Icon/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Rot-13 b/Lang/Icon/Rot-13
new file mode 120000
index 0000000000..d6344a5a6d
--- /dev/null
+++ b/Lang/Icon/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Run-length-encoding b/Lang/Icon/Run-length-encoding
new file mode 120000
index 0000000000..c9e81a5cad
--- /dev/null
+++ b/Lang/Icon/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Icon
\ No newline at end of file
diff --git a/Lang/Icon/S-Expressions b/Lang/Icon/S-Expressions
new file mode 120000
index 0000000000..3a84fea158
--- /dev/null
+++ b/Lang/Icon/S-Expressions
@@ -0,0 +1 @@
+../../Task/S-Expressions/Icon
\ No newline at end of file
diff --git a/Lang/Icon/SEDOLs b/Lang/Icon/SEDOLs
new file mode 120000
index 0000000000..f4ee9e4e3f
--- /dev/null
+++ b/Lang/Icon/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Scope-modifiers b/Lang/Icon/Scope-modifiers
new file mode 120000
index 0000000000..d917cf9745
--- /dev/null
+++ b/Lang/Icon/Scope-modifiers
@@ -0,0 +1 @@
+../../Task/Scope-modifiers/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Self-describing-numbers b/Lang/Icon/Self-describing-numbers
new file mode 120000
index 0000000000..3d4fb3554e
--- /dev/null
+++ b/Lang/Icon/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Self-referential-sequence b/Lang/Icon/Self-referential-sequence
new file mode 120000
index 0000000000..2638aa4263
--- /dev/null
+++ b/Lang/Icon/Self-referential-sequence
@@ -0,0 +1 @@
+../../Task/Self-referential-sequence/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Sequence-of-non-squares b/Lang/Icon/Sequence-of-non-squares
new file mode 120000
index 0000000000..9751068db2
--- /dev/null
+++ b/Lang/Icon/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Icon
\ No newline at end of file
diff --git a/Lang/Icon/Set b/Lang/Icon/Set
new file mode 120000
index 0000000000..6592f42180
--- /dev/null
+++ b/Lang/Icon/Set
@@ -0,0 +1 @@
+../../Task/Set/Icon
\ No newline at end of file
diff --git a/Lang/Inform-7/Number-names b/Lang/Inform-7/Number-names
new file mode 120000
index 0000000000..fafe18e5a8
--- /dev/null
+++ b/Lang/Inform-7/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/Inform-7
\ No newline at end of file
diff --git a/Lang/Inform-7/Number-reversal-game b/Lang/Inform-7/Number-reversal-game
new file mode 120000
index 0000000000..dc82d3c155
--- /dev/null
+++ b/Lang/Inform-7/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/Inform-7
\ No newline at end of file
diff --git a/Lang/Inform-7/Parametric-polymorphism b/Lang/Inform-7/Parametric-polymorphism
new file mode 120000
index 0000000000..c258de8cea
--- /dev/null
+++ b/Lang/Inform-7/Parametric-polymorphism
@@ -0,0 +1 @@
+../../Task/Parametric-polymorphism/Inform-7
\ No newline at end of file
diff --git a/Lang/Inform-7/Polymorphism b/Lang/Inform-7/Polymorphism
new file mode 120000
index 0000000000..adedb0972f
--- /dev/null
+++ b/Lang/Inform-7/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/Inform-7
\ No newline at end of file
diff --git a/Lang/Inform-7/Price-fraction b/Lang/Inform-7/Price-fraction
new file mode 120000
index 0000000000..fd753ec07a
--- /dev/null
+++ b/Lang/Inform-7/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/Inform-7
\ No newline at end of file
diff --git a/Lang/Inform-7/Read-entire-file b/Lang/Inform-7/Read-entire-file
new file mode 120000
index 0000000000..adab9e9c88
--- /dev/null
+++ b/Lang/Inform-7/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Inform-7
\ No newline at end of file
diff --git a/Lang/Inform-7/Regular-expressions b/Lang/Inform-7/Regular-expressions
new file mode 120000
index 0000000000..53fd63bfd1
--- /dev/null
+++ b/Lang/Inform-7/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Inform-7
\ No newline at end of file
diff --git a/Lang/Inform-7/Remove-duplicate-elements b/Lang/Inform-7/Remove-duplicate-elements
new file mode 120000
index 0000000000..458f7c5d46
--- /dev/null
+++ b/Lang/Inform-7/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Inform-7
\ No newline at end of file
diff --git a/Lang/Inform-7/Repeat-a-string b/Lang/Inform-7/Repeat-a-string
new file mode 120000
index 0000000000..a8ad8f0faf
--- /dev/null
+++ b/Lang/Inform-7/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Inform-7
\ No newline at end of file
diff --git a/Lang/Io/Null-object b/Lang/Io/Null-object
new file mode 120000
index 0000000000..4cdb8aad66
--- /dev/null
+++ b/Lang/Io/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Io
\ No newline at end of file
diff --git a/Lang/Io/Number-reversal-game b/Lang/Io/Number-reversal-game
new file mode 120000
index 0000000000..9236a7872b
--- /dev/null
+++ b/Lang/Io/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/Io
\ No newline at end of file
diff --git a/Lang/Io/Program-name b/Lang/Io/Program-name
new file mode 120000
index 0000000000..00a70d094a
--- /dev/null
+++ b/Lang/Io/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Io
\ No newline at end of file
diff --git a/Lang/Io/Rename-a-file b/Lang/Io/Rename-a-file
new file mode 120000
index 0000000000..46e4be7256
--- /dev/null
+++ b/Lang/Io/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Io
\ No newline at end of file
diff --git a/Lang/Io/Reverse-a-string b/Lang/Io/Reverse-a-string
new file mode 120000
index 0000000000..d44b59867c
--- /dev/null
+++ b/Lang/Io/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Io
\ No newline at end of file
diff --git a/Lang/Io/Roman-numerals-Encode b/Lang/Io/Roman-numerals-Encode
new file mode 120000
index 0000000000..a921baea46
--- /dev/null
+++ b/Lang/Io/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Io
\ No newline at end of file
diff --git a/Lang/Ioke/Palindrome-detection b/Lang/Ioke/Palindrome-detection
new file mode 120000
index 0000000000..1c47ea443c
--- /dev/null
+++ b/Lang/Ioke/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Ioke
\ No newline at end of file
diff --git a/Lang/Ioke/Pangram-checker b/Lang/Ioke/Pangram-checker
new file mode 120000
index 0000000000..68dcc0eefb
--- /dev/null
+++ b/Lang/Ioke/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Ioke
\ No newline at end of file
diff --git a/Lang/J/Arbitrary-precision-integers--included- b/Lang/J/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..5003aa07d6
--- /dev/null
+++ b/Lang/J/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/J
\ No newline at end of file
diff --git a/Lang/J/Arbitrary-precision-integers-included b/Lang/J/Arbitrary-precision-integers-included
deleted file mode 120000
index 117a4a0f52..0000000000
--- a/Lang/J/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/J
\ No newline at end of file
diff --git a/Lang/J/Binary-digits b/Lang/J/Binary-digits
new file mode 120000
index 0000000000..5a91b5deff
--- /dev/null
+++ b/Lang/J/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/J
\ No newline at end of file
diff --git a/Lang/J/Brownian-tree b/Lang/J/Brownian-tree
new file mode 120000
index 0000000000..73a3100ead
--- /dev/null
+++ b/Lang/J/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/J
\ No newline at end of file
diff --git a/Lang/J/Calendar---for-real-programmers b/Lang/J/Calendar---for-real-programmers
new file mode 120000
index 0000000000..a2d759cdf1
--- /dev/null
+++ b/Lang/J/Calendar---for-real-programmers
@@ -0,0 +1 @@
+../../Task/Calendar---for-real-programmers/J
\ No newline at end of file
diff --git a/Lang/J/Calendar-for-real-programmers b/Lang/J/Calendar-for-real-programmers
deleted file mode 120000
index e1a87250b6..0000000000
--- a/Lang/J/Calendar-for-real-programmers
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Calendar-for-real-programmers/J
\ No newline at end of file
diff --git a/Lang/J/Catalan-numbers b/Lang/J/Catalan-numbers
new file mode 120000
index 0000000000..2f98e2cf9b
--- /dev/null
+++ b/Lang/J/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/J
\ No newline at end of file
diff --git a/Lang/J/Copy-a-string b/Lang/J/Copy-a-string
new file mode 120000
index 0000000000..c86ff7da82
--- /dev/null
+++ b/Lang/J/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/J
\ No newline at end of file
diff --git a/Lang/J/Dragon-curve b/Lang/J/Dragon-curve
new file mode 120000
index 0000000000..55d3c89ecc
--- /dev/null
+++ b/Lang/J/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/J
\ No newline at end of file
diff --git a/Lang/J/Environment-variables b/Lang/J/Environment-variables
new file mode 120000
index 0000000000..70bb1736a5
--- /dev/null
+++ b/Lang/J/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/J
\ No newline at end of file
diff --git a/Lang/J/Execute-a-Markov-algorithm b/Lang/J/Execute-a-Markov-algorithm
new file mode 120000
index 0000000000..9141b5a83a
--- /dev/null
+++ b/Lang/J/Execute-a-Markov-algorithm
@@ -0,0 +1 @@
+../../Task/Execute-a-Markov-algorithm/J
\ No newline at end of file
diff --git a/Lang/J/Guess-the-number-With-feedback--player- b/Lang/J/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..3062017f3a
--- /dev/null
+++ b/Lang/J/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/J
\ No newline at end of file
diff --git a/Lang/J/Guess-the-number-With-feedback-player b/Lang/J/Guess-the-number-With-feedback-player
deleted file mode 120000
index 2a98134f4d..0000000000
--- a/Lang/J/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/J
\ No newline at end of file
diff --git a/Lang/J/N-queens-problem b/Lang/J/N-queens-problem
new file mode 120000
index 0000000000..87d0f5d7d9
--- /dev/null
+++ b/Lang/J/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/J
\ No newline at end of file
diff --git a/Lang/J/Named-parameters b/Lang/J/Named-parameters
new file mode 120000
index 0000000000..0c60e9d781
--- /dev/null
+++ b/Lang/J/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/J
\ No newline at end of file
diff --git a/Lang/J/Non-continuous-subsequences b/Lang/J/Non-continuous-subsequences
new file mode 120000
index 0000000000..ce3e91fd18
--- /dev/null
+++ b/Lang/J/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/J
\ No newline at end of file
diff --git a/Lang/J/Non-decimal-radices-Convert b/Lang/J/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..c9c2b3f8ec
--- /dev/null
+++ b/Lang/J/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/J
\ No newline at end of file
diff --git a/Lang/J/Non-decimal-radices-Input b/Lang/J/Non-decimal-radices-Input
new file mode 120000
index 0000000000..77ccc38d5b
--- /dev/null
+++ b/Lang/J/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/J
\ No newline at end of file
diff --git a/Lang/J/Non-decimal-radices-Output b/Lang/J/Non-decimal-radices-Output
new file mode 120000
index 0000000000..610d73b366
--- /dev/null
+++ b/Lang/J/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/J
\ No newline at end of file
diff --git a/Lang/J/Nth-root b/Lang/J/Nth-root
new file mode 120000
index 0000000000..b60c569508
--- /dev/null
+++ b/Lang/J/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/J
\ No newline at end of file
diff --git a/Lang/J/Null-object b/Lang/J/Null-object
new file mode 120000
index 0000000000..0a9257963a
--- /dev/null
+++ b/Lang/J/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/J
\ No newline at end of file
diff --git a/Lang/J/Number-reversal-game b/Lang/J/Number-reversal-game
new file mode 120000
index 0000000000..b51ef9c683
--- /dev/null
+++ b/Lang/J/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/J
\ No newline at end of file
diff --git a/Lang/J/Numeric-error-propagation b/Lang/J/Numeric-error-propagation
new file mode 120000
index 0000000000..dd7d0e74d7
--- /dev/null
+++ b/Lang/J/Numeric-error-propagation
@@ -0,0 +1 @@
+../../Task/Numeric-error-propagation/J
\ No newline at end of file
diff --git a/Lang/J/Numerical-integration b/Lang/J/Numerical-integration
new file mode 120000
index 0000000000..580399d949
--- /dev/null
+++ b/Lang/J/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/J
\ No newline at end of file
diff --git a/Lang/J/Numerical-integration-Gauss-Legendre-Quadrature b/Lang/J/Numerical-integration-Gauss-Legendre-Quadrature
new file mode 120000
index 0000000000..eb6b35e6f3
--- /dev/null
+++ b/Lang/J/Numerical-integration-Gauss-Legendre-Quadrature
@@ -0,0 +1 @@
+../../Task/Numerical-integration-Gauss-Legendre-Quadrature/J
\ No newline at end of file
diff --git a/Lang/J/Object-serialization b/Lang/J/Object-serialization
new file mode 120000
index 0000000000..14dc3de028
--- /dev/null
+++ b/Lang/J/Object-serialization
@@ -0,0 +1 @@
+../../Task/Object-serialization/J
\ No newline at end of file
diff --git a/Lang/J/One-dimensional-cellular-automata b/Lang/J/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..3ac8483c82
--- /dev/null
+++ b/Lang/J/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/J
\ No newline at end of file
diff --git a/Lang/J/One-of-n-lines-in-a-file b/Lang/J/One-of-n-lines-in-a-file
new file mode 120000
index 0000000000..4104537ff9
--- /dev/null
+++ b/Lang/J/One-of-n-lines-in-a-file
@@ -0,0 +1 @@
+../../Task/One-of-n-lines-in-a-file/J
\ No newline at end of file
diff --git a/Lang/J/OpenGL b/Lang/J/OpenGL
new file mode 120000
index 0000000000..c22d2944d8
--- /dev/null
+++ b/Lang/J/OpenGL
@@ -0,0 +1 @@
+../../Task/OpenGL/J
\ No newline at end of file
diff --git a/Lang/J/Optional-parameters b/Lang/J/Optional-parameters
new file mode 120000
index 0000000000..662864a637
--- /dev/null
+++ b/Lang/J/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/J
\ No newline at end of file
diff --git a/Lang/J/Order-two-numerical-lists b/Lang/J/Order-two-numerical-lists
new file mode 120000
index 0000000000..0f2d49b6c6
--- /dev/null
+++ b/Lang/J/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/J
\ No newline at end of file
diff --git a/Lang/J/Ordered-Partitions b/Lang/J/Ordered-Partitions
new file mode 120000
index 0000000000..f21199dfe8
--- /dev/null
+++ b/Lang/J/Ordered-Partitions
@@ -0,0 +1 @@
+../../Task/Ordered-Partitions/J
\ No newline at end of file
diff --git a/Lang/J/Palindrome-detection b/Lang/J/Palindrome-detection
new file mode 120000
index 0000000000..3245635903
--- /dev/null
+++ b/Lang/J/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/J
\ No newline at end of file
diff --git a/Lang/J/Pangram-checker b/Lang/J/Pangram-checker
new file mode 120000
index 0000000000..532904567b
--- /dev/null
+++ b/Lang/J/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/J
\ No newline at end of file
diff --git a/Lang/J/Parallel-calculations b/Lang/J/Parallel-calculations
new file mode 120000
index 0000000000..ea7b5c2044
--- /dev/null
+++ b/Lang/J/Parallel-calculations
@@ -0,0 +1 @@
+../../Task/Parallel-calculations/J
\ No newline at end of file
diff --git a/Lang/J/Parsing-RPN-calculator-algorithm b/Lang/J/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..122938576a
--- /dev/null
+++ b/Lang/J/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/J
\ No newline at end of file
diff --git a/Lang/J/Parsing-RPN-to-infix-conversion b/Lang/J/Parsing-RPN-to-infix-conversion
new file mode 120000
index 0000000000..49d26ed5b3
--- /dev/null
+++ b/Lang/J/Parsing-RPN-to-infix-conversion
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-to-infix-conversion/J
\ No newline at end of file
diff --git a/Lang/J/Parsing-Shunting-yard-algorithm b/Lang/J/Parsing-Shunting-yard-algorithm
new file mode 120000
index 0000000000..4f8a0c0caf
--- /dev/null
+++ b/Lang/J/Parsing-Shunting-yard-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-Shunting-yard-algorithm/J
\ No newline at end of file
diff --git a/Lang/J/Partial-function-application b/Lang/J/Partial-function-application
new file mode 120000
index 0000000000..506d70f138
--- /dev/null
+++ b/Lang/J/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/J
\ No newline at end of file
diff --git a/Lang/J/Pascals-triangle b/Lang/J/Pascals-triangle
new file mode 120000
index 0000000000..49e43c836e
--- /dev/null
+++ b/Lang/J/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/J
\ No newline at end of file
diff --git a/Lang/J/Pascals-triangle-Puzzle b/Lang/J/Pascals-triangle-Puzzle
new file mode 120000
index 0000000000..02047b8a9f
--- /dev/null
+++ b/Lang/J/Pascals-triangle-Puzzle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle-Puzzle/J
\ No newline at end of file
diff --git a/Lang/J/Pattern-matching b/Lang/J/Pattern-matching
new file mode 120000
index 0000000000..9064012102
--- /dev/null
+++ b/Lang/J/Pattern-matching
@@ -0,0 +1 @@
+../../Task/Pattern-matching/J
\ No newline at end of file
diff --git a/Lang/J/Percentage-difference-between-images b/Lang/J/Percentage-difference-between-images
new file mode 120000
index 0000000000..cd95f1bc8e
--- /dev/null
+++ b/Lang/J/Percentage-difference-between-images
@@ -0,0 +1 @@
+../../Task/Percentage-difference-between-images/J
\ No newline at end of file
diff --git a/Lang/J/Perfect-numbers b/Lang/J/Perfect-numbers
new file mode 120000
index 0000000000..2f0de78c5d
--- /dev/null
+++ b/Lang/J/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/J
\ No newline at end of file
diff --git a/Lang/J/Permutation-test b/Lang/J/Permutation-test
new file mode 120000
index 0000000000..d3d4fef76a
--- /dev/null
+++ b/Lang/J/Permutation-test
@@ -0,0 +1 @@
+../../Task/Permutation-test/J
\ No newline at end of file
diff --git a/Lang/J/Permutations b/Lang/J/Permutations
new file mode 120000
index 0000000000..9b54738e3e
--- /dev/null
+++ b/Lang/J/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/J
\ No newline at end of file
diff --git a/Lang/J/Permutations-Derangements b/Lang/J/Permutations-Derangements
new file mode 120000
index 0000000000..5f2ecc08eb
--- /dev/null
+++ b/Lang/J/Permutations-Derangements
@@ -0,0 +1 @@
+../../Task/Permutations-Derangements/J
\ No newline at end of file
diff --git a/Lang/J/Permutations-by-swapping b/Lang/J/Permutations-by-swapping
new file mode 120000
index 0000000000..736da5c96a
--- /dev/null
+++ b/Lang/J/Permutations-by-swapping
@@ -0,0 +1 @@
+../../Task/Permutations-by-swapping/J
\ No newline at end of file
diff --git a/Lang/J/Pick-random-element b/Lang/J/Pick-random-element
new file mode 120000
index 0000000000..b8b870b897
--- /dev/null
+++ b/Lang/J/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/J
\ No newline at end of file
diff --git a/Lang/J/Pig-the-dice-game b/Lang/J/Pig-the-dice-game
new file mode 120000
index 0000000000..8d9a7088c9
--- /dev/null
+++ b/Lang/J/Pig-the-dice-game
@@ -0,0 +1 @@
+../../Task/Pig-the-dice-game/J
\ No newline at end of file
diff --git a/Lang/J/Pig-the-dice-game-Player b/Lang/J/Pig-the-dice-game-Player
new file mode 120000
index 0000000000..d1c66b3153
--- /dev/null
+++ b/Lang/J/Pig-the-dice-game-Player
@@ -0,0 +1 @@
+../../Task/Pig-the-dice-game-Player/J
\ No newline at end of file
diff --git a/Lang/J/Pinstripe-Display b/Lang/J/Pinstripe-Display
new file mode 120000
index 0000000000..76fcbe5024
--- /dev/null
+++ b/Lang/J/Pinstripe-Display
@@ -0,0 +1 @@
+../../Task/Pinstripe-Display/J
\ No newline at end of file
diff --git a/Lang/J/Playing-cards b/Lang/J/Playing-cards
new file mode 120000
index 0000000000..55e46274f8
--- /dev/null
+++ b/Lang/J/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/J
\ No newline at end of file
diff --git a/Lang/J/Plot-coordinate-pairs b/Lang/J/Plot-coordinate-pairs
new file mode 120000
index 0000000000..cb1fa14a29
--- /dev/null
+++ b/Lang/J/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/J
\ No newline at end of file
diff --git a/Lang/J/Polymorphism b/Lang/J/Polymorphism
new file mode 120000
index 0000000000..c4c806f60e
--- /dev/null
+++ b/Lang/J/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/J
\ No newline at end of file
diff --git a/Lang/J/Polynomial-long-division b/Lang/J/Polynomial-long-division
new file mode 120000
index 0000000000..c10968177f
--- /dev/null
+++ b/Lang/J/Polynomial-long-division
@@ -0,0 +1 @@
+../../Task/Polynomial-long-division/J
\ No newline at end of file
diff --git a/Lang/J/Polynomial-regression b/Lang/J/Polynomial-regression
new file mode 120000
index 0000000000..6d26b82657
--- /dev/null
+++ b/Lang/J/Polynomial-regression
@@ -0,0 +1 @@
+../../Task/Polynomial-regression/J
\ No newline at end of file
diff --git a/Lang/J/Power-set b/Lang/J/Power-set
new file mode 120000
index 0000000000..bf3c1825d6
--- /dev/null
+++ b/Lang/J/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/J
\ No newline at end of file
diff --git a/Lang/J/Pragmatic-directives b/Lang/J/Pragmatic-directives
new file mode 120000
index 0000000000..00032618ed
--- /dev/null
+++ b/Lang/J/Pragmatic-directives
@@ -0,0 +1 @@
+../../Task/Pragmatic-directives/J
\ No newline at end of file
diff --git a/Lang/J/Price-fraction b/Lang/J/Price-fraction
new file mode 120000
index 0000000000..a28b60bec8
--- /dev/null
+++ b/Lang/J/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/J
\ No newline at end of file
diff --git a/Lang/J/Primality-by-trial-division b/Lang/J/Primality-by-trial-division
new file mode 120000
index 0000000000..85659f1315
--- /dev/null
+++ b/Lang/J/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/J
\ No newline at end of file
diff --git a/Lang/J/Prime-decomposition b/Lang/J/Prime-decomposition
new file mode 120000
index 0000000000..1dfc74630b
--- /dev/null
+++ b/Lang/J/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/J
\ No newline at end of file
diff --git a/Lang/J/Priority-queue b/Lang/J/Priority-queue
new file mode 120000
index 0000000000..03728faf65
--- /dev/null
+++ b/Lang/J/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/J
\ No newline at end of file
diff --git a/Lang/J/Probabilistic-choice b/Lang/J/Probabilistic-choice
new file mode 120000
index 0000000000..00aca1b648
--- /dev/null
+++ b/Lang/J/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/J
\ No newline at end of file
diff --git a/Lang/J/Problem-of-Apollonius b/Lang/J/Problem-of-Apollonius
new file mode 120000
index 0000000000..b910e4455d
--- /dev/null
+++ b/Lang/J/Problem-of-Apollonius
@@ -0,0 +1 @@
+../../Task/Problem-of-Apollonius/J
\ No newline at end of file
diff --git a/Lang/J/Program-name b/Lang/J/Program-name
new file mode 120000
index 0000000000..926cf7d3ed
--- /dev/null
+++ b/Lang/J/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/J
\ No newline at end of file
diff --git a/Lang/J/Program-termination b/Lang/J/Program-termination
new file mode 120000
index 0000000000..e4f3ba3b85
--- /dev/null
+++ b/Lang/J/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/J
\ No newline at end of file
diff --git a/Lang/J/Pythagorean-triples b/Lang/J/Pythagorean-triples
new file mode 120000
index 0000000000..4b2536e69d
--- /dev/null
+++ b/Lang/J/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/J
\ No newline at end of file
diff --git a/Lang/J/QR-decomposition b/Lang/J/QR-decomposition
new file mode 120000
index 0000000000..369f1719c6
--- /dev/null
+++ b/Lang/J/QR-decomposition
@@ -0,0 +1 @@
+../../Task/QR-decomposition/J
\ No newline at end of file
diff --git a/Lang/J/Quaternion-type b/Lang/J/Quaternion-type
new file mode 120000
index 0000000000..0868577467
--- /dev/null
+++ b/Lang/J/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/J
\ No newline at end of file
diff --git a/Lang/J/Queue-Definition b/Lang/J/Queue-Definition
new file mode 120000
index 0000000000..48b397a09c
--- /dev/null
+++ b/Lang/J/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/J
\ No newline at end of file
diff --git a/Lang/J/Queue-Usage b/Lang/J/Queue-Usage
new file mode 120000
index 0000000000..4b8128c1f3
--- /dev/null
+++ b/Lang/J/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/J
\ No newline at end of file
diff --git a/Lang/J/Random-number-generator--device- b/Lang/J/Random-number-generator--device-
new file mode 120000
index 0000000000..b29db9a596
--- /dev/null
+++ b/Lang/J/Random-number-generator--device-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--device-/J
\ No newline at end of file
diff --git a/Lang/J/Random-numbers b/Lang/J/Random-numbers
new file mode 120000
index 0000000000..33199b1b1d
--- /dev/null
+++ b/Lang/J/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/J
\ No newline at end of file
diff --git a/Lang/J/Range-expansion b/Lang/J/Range-expansion
new file mode 120000
index 0000000000..6477ab20a9
--- /dev/null
+++ b/Lang/J/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/J
\ No newline at end of file
diff --git a/Lang/J/Range-extraction b/Lang/J/Range-extraction
new file mode 120000
index 0000000000..0f83ca3591
--- /dev/null
+++ b/Lang/J/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/J
\ No newline at end of file
diff --git a/Lang/J/Rate-counter b/Lang/J/Rate-counter
new file mode 120000
index 0000000000..a8e21ac618
--- /dev/null
+++ b/Lang/J/Rate-counter
@@ -0,0 +1 @@
+../../Task/Rate-counter/J
\ No newline at end of file
diff --git a/Lang/J/Ray-casting-algorithm b/Lang/J/Ray-casting-algorithm
new file mode 120000
index 0000000000..34c28320c8
--- /dev/null
+++ b/Lang/J/Ray-casting-algorithm
@@ -0,0 +1 @@
+../../Task/Ray-casting-algorithm/J
\ No newline at end of file
diff --git a/Lang/J/Read-a-configuration-file b/Lang/J/Read-a-configuration-file
new file mode 120000
index 0000000000..320f6ee007
--- /dev/null
+++ b/Lang/J/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/J
\ No newline at end of file
diff --git a/Lang/J/Read-a-file-line-by-line b/Lang/J/Read-a-file-line-by-line
new file mode 120000
index 0000000000..fc9bf1421b
--- /dev/null
+++ b/Lang/J/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/J
\ No newline at end of file
diff --git a/Lang/J/Read-a-specific-line-from-a-file b/Lang/J/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..04e57c30b2
--- /dev/null
+++ b/Lang/J/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/J
\ No newline at end of file
diff --git a/Lang/J/Read-entire-file b/Lang/J/Read-entire-file
new file mode 120000
index 0000000000..6bc33e04f9
--- /dev/null
+++ b/Lang/J/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/J
\ No newline at end of file
diff --git a/Lang/J/Real-constants-and-functions b/Lang/J/Real-constants-and-functions
new file mode 120000
index 0000000000..180adb196d
--- /dev/null
+++ b/Lang/J/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/J
\ No newline at end of file
diff --git a/Lang/J/Reduced-row-echelon-form b/Lang/J/Reduced-row-echelon-form
new file mode 120000
index 0000000000..6e122cac4a
--- /dev/null
+++ b/Lang/J/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/J
\ No newline at end of file
diff --git a/Lang/J/Regular-expressions b/Lang/J/Regular-expressions
new file mode 120000
index 0000000000..5700770c89
--- /dev/null
+++ b/Lang/J/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/J
\ No newline at end of file
diff --git a/Lang/J/Remove-duplicate-elements b/Lang/J/Remove-duplicate-elements
new file mode 120000
index 0000000000..ddebd430fa
--- /dev/null
+++ b/Lang/J/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/J
\ No newline at end of file
diff --git a/Lang/J/Remove-lines-from-a-file b/Lang/J/Remove-lines-from-a-file
new file mode 120000
index 0000000000..1cfbd66134
--- /dev/null
+++ b/Lang/J/Remove-lines-from-a-file
@@ -0,0 +1 @@
+../../Task/Remove-lines-from-a-file/J
\ No newline at end of file
diff --git a/Lang/J/Rename-a-file b/Lang/J/Rename-a-file
new file mode 120000
index 0000000000..8d5febdf60
--- /dev/null
+++ b/Lang/J/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/J
\ No newline at end of file
diff --git a/Lang/J/Repeat-a-string b/Lang/J/Repeat-a-string
new file mode 120000
index 0000000000..48bfc8a98b
--- /dev/null
+++ b/Lang/J/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/J
\ No newline at end of file
diff --git a/Lang/J/Resistor-mesh b/Lang/J/Resistor-mesh
new file mode 120000
index 0000000000..bb61bc6c4a
--- /dev/null
+++ b/Lang/J/Resistor-mesh
@@ -0,0 +1 @@
+../../Task/Resistor-mesh/J
\ No newline at end of file
diff --git a/Lang/J/Respond-to-an-unknown-method-call b/Lang/J/Respond-to-an-unknown-method-call
new file mode 120000
index 0000000000..476530312a
--- /dev/null
+++ b/Lang/J/Respond-to-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Respond-to-an-unknown-method-call/J
\ No newline at end of file
diff --git a/Lang/J/Return-multiple-values b/Lang/J/Return-multiple-values
new file mode 120000
index 0000000000..063be2ad2b
--- /dev/null
+++ b/Lang/J/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/J
\ No newline at end of file
diff --git a/Lang/J/Reverse-a-string b/Lang/J/Reverse-a-string
new file mode 120000
index 0000000000..ea648d4981
--- /dev/null
+++ b/Lang/J/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/J
\ No newline at end of file
diff --git a/Lang/J/Rock-paper-scissors b/Lang/J/Rock-paper-scissors
new file mode 120000
index 0000000000..76ca19decd
--- /dev/null
+++ b/Lang/J/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/J
\ No newline at end of file
diff --git a/Lang/J/Roman-numerals-Decode b/Lang/J/Roman-numerals-Decode
new file mode 120000
index 0000000000..735f07481e
--- /dev/null
+++ b/Lang/J/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/J
\ No newline at end of file
diff --git a/Lang/J/Roman-numerals-Encode b/Lang/J/Roman-numerals-Encode
new file mode 120000
index 0000000000..9ec94555ac
--- /dev/null
+++ b/Lang/J/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/J
\ No newline at end of file
diff --git a/Lang/J/Roots-of-a-function b/Lang/J/Roots-of-a-function
new file mode 120000
index 0000000000..8bb9c8835c
--- /dev/null
+++ b/Lang/J/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/J
\ No newline at end of file
diff --git a/Lang/J/Roots-of-a-quadratic-function b/Lang/J/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..3272227028
--- /dev/null
+++ b/Lang/J/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/J
\ No newline at end of file
diff --git a/Lang/J/Roots-of-unity b/Lang/J/Roots-of-unity
new file mode 120000
index 0000000000..a10835a938
--- /dev/null
+++ b/Lang/J/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/J
\ No newline at end of file
diff --git a/Lang/J/Rosetta-Code-Count-examples b/Lang/J/Rosetta-Code-Count-examples
new file mode 120000
index 0000000000..bf0f74d897
--- /dev/null
+++ b/Lang/J/Rosetta-Code-Count-examples
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Count-examples/J
\ No newline at end of file
diff --git a/Lang/J/Rosetta-Code-Find-unimplemented-tasks b/Lang/J/Rosetta-Code-Find-unimplemented-tasks
new file mode 120000
index 0000000000..d69b65cbde
--- /dev/null
+++ b/Lang/J/Rosetta-Code-Find-unimplemented-tasks
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Find-unimplemented-tasks/J
\ No newline at end of file
diff --git a/Lang/J/Rosetta-Code-Fix-code-tags b/Lang/J/Rosetta-Code-Fix-code-tags
new file mode 120000
index 0000000000..ac294949d3
--- /dev/null
+++ b/Lang/J/Rosetta-Code-Fix-code-tags
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Fix-code-tags/J
\ No newline at end of file
diff --git a/Lang/J/Rot-13 b/Lang/J/Rot-13
new file mode 120000
index 0000000000..534bb9419e
--- /dev/null
+++ b/Lang/J/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/J
\ No newline at end of file
diff --git a/Lang/J/Run-length-encoding b/Lang/J/Run-length-encoding
new file mode 120000
index 0000000000..74ef7c7123
--- /dev/null
+++ b/Lang/J/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/J
\ No newline at end of file
diff --git a/Lang/J/Runtime-evaluation b/Lang/J/Runtime-evaluation
new file mode 120000
index 0000000000..535b13d94a
--- /dev/null
+++ b/Lang/J/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/J
\ No newline at end of file
diff --git a/Lang/J/Runtime-evaluation-In-an-environment b/Lang/J/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..b8d1d93620
--- /dev/null
+++ b/Lang/J/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/J
\ No newline at end of file
diff --git a/Lang/J/S-Expressions b/Lang/J/S-Expressions
new file mode 120000
index 0000000000..a8936fb366
--- /dev/null
+++ b/Lang/J/S-Expressions
@@ -0,0 +1 @@
+../../Task/S-Expressions/J
\ No newline at end of file
diff --git a/Lang/J/SEDOLs b/Lang/J/SEDOLs
new file mode 120000
index 0000000000..d0232f012f
--- /dev/null
+++ b/Lang/J/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/J
\ No newline at end of file
diff --git a/Lang/J/Safe-addition b/Lang/J/Safe-addition
new file mode 120000
index 0000000000..cbfe63c6f0
--- /dev/null
+++ b/Lang/J/Safe-addition
@@ -0,0 +1 @@
+../../Task/Safe-addition/J
\ No newline at end of file
diff --git a/Lang/J/Same-Fringe b/Lang/J/Same-Fringe
new file mode 120000
index 0000000000..31d4dee43d
--- /dev/null
+++ b/Lang/J/Same-Fringe
@@ -0,0 +1 @@
+../../Task/Same-Fringe/J
\ No newline at end of file
diff --git a/Lang/J/Scope-modifiers b/Lang/J/Scope-modifiers
new file mode 120000
index 0000000000..2b5b0c70de
--- /dev/null
+++ b/Lang/J/Scope-modifiers
@@ -0,0 +1 @@
+../../Task/Scope-modifiers/J
\ No newline at end of file
diff --git a/Lang/J/Self-describing-numbers b/Lang/J/Self-describing-numbers
new file mode 120000
index 0000000000..081d182a68
--- /dev/null
+++ b/Lang/J/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/J
\ No newline at end of file
diff --git a/Lang/J/Self-referential-sequence b/Lang/J/Self-referential-sequence
new file mode 120000
index 0000000000..09b313977f
--- /dev/null
+++ b/Lang/J/Self-referential-sequence
@@ -0,0 +1 @@
+../../Task/Self-referential-sequence/J
\ No newline at end of file
diff --git a/Lang/J/Semordnilap b/Lang/J/Semordnilap
new file mode 120000
index 0000000000..1fe42cc187
--- /dev/null
+++ b/Lang/J/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/J
\ No newline at end of file
diff --git a/Lang/J/Sequence-of-non-squares b/Lang/J/Sequence-of-non-squares
new file mode 120000
index 0000000000..131b465639
--- /dev/null
+++ b/Lang/J/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/J
\ No newline at end of file
diff --git a/Lang/J/Set b/Lang/J/Set
new file mode 120000
index 0000000000..4192da2a04
--- /dev/null
+++ b/Lang/J/Set
@@ -0,0 +1 @@
+../../Task/Set/J
\ No newline at end of file
diff --git a/Lang/J/Set-consolidation b/Lang/J/Set-consolidation
new file mode 120000
index 0000000000..271d2e4ab9
--- /dev/null
+++ b/Lang/J/Set-consolidation
@@ -0,0 +1 @@
+../../Task/Set-consolidation/J
\ No newline at end of file
diff --git a/Lang/J/Set-of-real-numbers b/Lang/J/Set-of-real-numbers
new file mode 120000
index 0000000000..04a9780ff4
--- /dev/null
+++ b/Lang/J/Set-of-real-numbers
@@ -0,0 +1 @@
+../../Task/Set-of-real-numbers/J
\ No newline at end of file
diff --git a/Lang/Java/Arbitrary-precision-integers--included- b/Lang/Java/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..956f5f1a6b
--- /dev/null
+++ b/Lang/Java/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Java
\ No newline at end of file
diff --git a/Lang/Java/Arbitrary-precision-integers-included b/Lang/Java/Arbitrary-precision-integers-included
deleted file mode 120000
index abe7ace75c..0000000000
--- a/Lang/Java/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Java
\ No newline at end of file
diff --git a/Lang/Java/Binary-digits b/Lang/Java/Binary-digits
new file mode 120000
index 0000000000..54db7d131e
--- /dev/null
+++ b/Lang/Java/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Java
\ No newline at end of file
diff --git a/Lang/Java/Brownian-tree b/Lang/Java/Brownian-tree
new file mode 120000
index 0000000000..fcc6104978
--- /dev/null
+++ b/Lang/Java/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/Java
\ No newline at end of file
diff --git a/Lang/Java/Catalan-numbers b/Lang/Java/Catalan-numbers
new file mode 120000
index 0000000000..aecfbd1ee4
--- /dev/null
+++ b/Lang/Java/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Java
\ No newline at end of file
diff --git a/Lang/Java/Copy-a-string b/Lang/Java/Copy-a-string
new file mode 120000
index 0000000000..ce55d97d56
--- /dev/null
+++ b/Lang/Java/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Java
\ No newline at end of file
diff --git a/Lang/Java/Dragon-curve b/Lang/Java/Dragon-curve
new file mode 120000
index 0000000000..32ee4aab75
--- /dev/null
+++ b/Lang/Java/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/Java
\ No newline at end of file
diff --git a/Lang/Java/Environment-variables b/Lang/Java/Environment-variables
new file mode 120000
index 0000000000..8c3eefc0f3
--- /dev/null
+++ b/Lang/Java/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Java
\ No newline at end of file
diff --git a/Lang/Java/Guess-the-number-With-feedback--player- b/Lang/Java/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..b1799401cb
--- /dev/null
+++ b/Lang/Java/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/Java
\ No newline at end of file
diff --git a/Lang/Java/Guess-the-number-With-feedback-player b/Lang/Java/Guess-the-number-With-feedback-player
deleted file mode 120000
index c0f79efb5e..0000000000
--- a/Lang/Java/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/Java
\ No newline at end of file
diff --git a/Lang/Java/N-queens-problem b/Lang/Java/N-queens-problem
new file mode 120000
index 0000000000..6cd3d64d0c
--- /dev/null
+++ b/Lang/Java/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Java
\ No newline at end of file
diff --git a/Lang/Java/Named-parameters b/Lang/Java/Named-parameters
new file mode 120000
index 0000000000..f3fc40f079
--- /dev/null
+++ b/Lang/Java/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/Java
\ No newline at end of file
diff --git a/Lang/Java/Non-decimal-radices-Convert b/Lang/Java/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..401792cbbd
--- /dev/null
+++ b/Lang/Java/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/Java
\ No newline at end of file
diff --git a/Lang/Java/Non-decimal-radices-Input b/Lang/Java/Non-decimal-radices-Input
new file mode 120000
index 0000000000..4d3ea348e4
--- /dev/null
+++ b/Lang/Java/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/Java
\ No newline at end of file
diff --git a/Lang/Java/Non-decimal-radices-Output b/Lang/Java/Non-decimal-radices-Output
new file mode 120000
index 0000000000..633c0dcb22
--- /dev/null
+++ b/Lang/Java/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/Java
\ No newline at end of file
diff --git a/Lang/Java/Nth-root b/Lang/Java/Nth-root
new file mode 120000
index 0000000000..967ff4d54d
--- /dev/null
+++ b/Lang/Java/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Java
\ No newline at end of file
diff --git a/Lang/Java/Null-object b/Lang/Java/Null-object
new file mode 120000
index 0000000000..556b872dfd
--- /dev/null
+++ b/Lang/Java/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Java
\ No newline at end of file
diff --git a/Lang/Java/Number-names b/Lang/Java/Number-names
new file mode 120000
index 0000000000..a65011e94e
--- /dev/null
+++ b/Lang/Java/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/Java
\ No newline at end of file
diff --git a/Lang/Java/Number-reversal-game b/Lang/Java/Number-reversal-game
new file mode 120000
index 0000000000..056a163b9c
--- /dev/null
+++ b/Lang/Java/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/Java
\ No newline at end of file
diff --git a/Lang/Java/Numerical-integration b/Lang/Java/Numerical-integration
new file mode 120000
index 0000000000..956aa7c1cf
--- /dev/null
+++ b/Lang/Java/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/Java
\ No newline at end of file
diff --git a/Lang/Java/Object-serialization b/Lang/Java/Object-serialization
new file mode 120000
index 0000000000..b99eac0512
--- /dev/null
+++ b/Lang/Java/Object-serialization
@@ -0,0 +1 @@
+../../Task/Object-serialization/Java
\ No newline at end of file
diff --git a/Lang/Java/One-dimensional-cellular-automata b/Lang/Java/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..2a495757c8
--- /dev/null
+++ b/Lang/Java/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Java
\ No newline at end of file
diff --git a/Lang/Java/One-of-n-lines-in-a-file b/Lang/Java/One-of-n-lines-in-a-file
new file mode 120000
index 0000000000..aba38ad0e1
--- /dev/null
+++ b/Lang/Java/One-of-n-lines-in-a-file
@@ -0,0 +1 @@
+../../Task/One-of-n-lines-in-a-file/Java
\ No newline at end of file
diff --git a/Lang/Java/OpenGL b/Lang/Java/OpenGL
new file mode 120000
index 0000000000..607419db90
--- /dev/null
+++ b/Lang/Java/OpenGL
@@ -0,0 +1 @@
+../../Task/OpenGL/Java
\ No newline at end of file
diff --git a/Lang/Java/Optional-parameters b/Lang/Java/Optional-parameters
new file mode 120000
index 0000000000..81d18dec37
--- /dev/null
+++ b/Lang/Java/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/Java
\ No newline at end of file
diff --git a/Lang/Java/Order-two-numerical-lists b/Lang/Java/Order-two-numerical-lists
new file mode 120000
index 0000000000..c2a57f4de3
--- /dev/null
+++ b/Lang/Java/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/Java
\ No newline at end of file
diff --git a/Lang/Java/Palindrome-detection b/Lang/Java/Palindrome-detection
new file mode 120000
index 0000000000..fec35fa02c
--- /dev/null
+++ b/Lang/Java/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Java
\ No newline at end of file
diff --git a/Lang/Java/Pangram-checker b/Lang/Java/Pangram-checker
new file mode 120000
index 0000000000..367b548429
--- /dev/null
+++ b/Lang/Java/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Java
\ No newline at end of file
diff --git a/Lang/Java/Parametric-polymorphism b/Lang/Java/Parametric-polymorphism
new file mode 120000
index 0000000000..6e10b97db4
--- /dev/null
+++ b/Lang/Java/Parametric-polymorphism
@@ -0,0 +1 @@
+../../Task/Parametric-polymorphism/Java
\ No newline at end of file
diff --git a/Lang/Java/Parametrized-SQL-statement b/Lang/Java/Parametrized-SQL-statement
new file mode 120000
index 0000000000..bfd7f9e750
--- /dev/null
+++ b/Lang/Java/Parametrized-SQL-statement
@@ -0,0 +1 @@
+../../Task/Parametrized-SQL-statement/Java
\ No newline at end of file
diff --git a/Lang/Java/Parsing-RPN-calculator-algorithm b/Lang/Java/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..acfb9bcf66
--- /dev/null
+++ b/Lang/Java/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/Java
\ No newline at end of file
diff --git a/Lang/Java/Partial-function-application b/Lang/Java/Partial-function-application
new file mode 120000
index 0000000000..cfb59e7f24
--- /dev/null
+++ b/Lang/Java/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/Java
\ No newline at end of file
diff --git a/Lang/Java/Pascals-triangle b/Lang/Java/Pascals-triangle
new file mode 120000
index 0000000000..92c141e6c7
--- /dev/null
+++ b/Lang/Java/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Java
\ No newline at end of file
diff --git a/Lang/Java/Percentage-difference-between-images b/Lang/Java/Percentage-difference-between-images
new file mode 120000
index 0000000000..af79e01a5a
--- /dev/null
+++ b/Lang/Java/Percentage-difference-between-images
@@ -0,0 +1 @@
+../../Task/Percentage-difference-between-images/Java
\ No newline at end of file
diff --git a/Lang/Java/Perfect-numbers b/Lang/Java/Perfect-numbers
new file mode 120000
index 0000000000..bca8db95eb
--- /dev/null
+++ b/Lang/Java/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Java
\ No newline at end of file
diff --git a/Lang/Java/Permutations b/Lang/Java/Permutations
new file mode 120000
index 0000000000..ca0f3f8689
--- /dev/null
+++ b/Lang/Java/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Java
\ No newline at end of file
diff --git a/Lang/Java/Permutations-Derangements b/Lang/Java/Permutations-Derangements
new file mode 120000
index 0000000000..732f05a8d1
--- /dev/null
+++ b/Lang/Java/Permutations-Derangements
@@ -0,0 +1 @@
+../../Task/Permutations-Derangements/Java
\ No newline at end of file
diff --git a/Lang/Java/Pick-random-element b/Lang/Java/Pick-random-element
new file mode 120000
index 0000000000..e9b525a13c
--- /dev/null
+++ b/Lang/Java/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Java
\ No newline at end of file
diff --git a/Lang/Java/Pig-the-dice-game b/Lang/Java/Pig-the-dice-game
new file mode 120000
index 0000000000..afd8c09b9b
--- /dev/null
+++ b/Lang/Java/Pig-the-dice-game
@@ -0,0 +1 @@
+../../Task/Pig-the-dice-game/Java
\ No newline at end of file
diff --git a/Lang/Java/Playing-cards b/Lang/Java/Playing-cards
new file mode 120000
index 0000000000..9ec25009aa
--- /dev/null
+++ b/Lang/Java/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/Java
\ No newline at end of file
diff --git a/Lang/Java/Plot-coordinate-pairs b/Lang/Java/Plot-coordinate-pairs
new file mode 120000
index 0000000000..8aa98519f0
--- /dev/null
+++ b/Lang/Java/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/Java
\ No newline at end of file
diff --git a/Lang/Java/Pointers-and-references b/Lang/Java/Pointers-and-references
new file mode 120000
index 0000000000..05cb15eac8
--- /dev/null
+++ b/Lang/Java/Pointers-and-references
@@ -0,0 +1 @@
+../../Task/Pointers-and-references/Java
\ No newline at end of file
diff --git a/Lang/Java/Polymorphic-copy b/Lang/Java/Polymorphic-copy
new file mode 120000
index 0000000000..d49c8e2e4c
--- /dev/null
+++ b/Lang/Java/Polymorphic-copy
@@ -0,0 +1 @@
+../../Task/Polymorphic-copy/Java
\ No newline at end of file
diff --git a/Lang/Java/Polymorphism b/Lang/Java/Polymorphism
new file mode 120000
index 0000000000..4e983a6148
--- /dev/null
+++ b/Lang/Java/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/Java
\ No newline at end of file
diff --git a/Lang/Java/Power-set b/Lang/Java/Power-set
new file mode 120000
index 0000000000..c4bdf1e9de
--- /dev/null
+++ b/Lang/Java/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Java
\ No newline at end of file
diff --git a/Lang/Java/Price-fraction b/Lang/Java/Price-fraction
new file mode 120000
index 0000000000..b67b5eb8de
--- /dev/null
+++ b/Lang/Java/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/Java
\ No newline at end of file
diff --git a/Lang/Java/Primality-by-trial-division b/Lang/Java/Primality-by-trial-division
new file mode 120000
index 0000000000..d2c5e51d94
--- /dev/null
+++ b/Lang/Java/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Java
\ No newline at end of file
diff --git a/Lang/Java/Prime-decomposition b/Lang/Java/Prime-decomposition
new file mode 120000
index 0000000000..0b540a9f12
--- /dev/null
+++ b/Lang/Java/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Java
\ No newline at end of file
diff --git a/Lang/Java/Priority-queue b/Lang/Java/Priority-queue
new file mode 120000
index 0000000000..a5a9d21860
--- /dev/null
+++ b/Lang/Java/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/Java
\ No newline at end of file
diff --git a/Lang/Java/Probabilistic-choice b/Lang/Java/Probabilistic-choice
new file mode 120000
index 0000000000..1acb9cb308
--- /dev/null
+++ b/Lang/Java/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/Java
\ No newline at end of file
diff --git a/Lang/Java/Problem-of-Apollonius b/Lang/Java/Problem-of-Apollonius
new file mode 120000
index 0000000000..cde8e3fdbd
--- /dev/null
+++ b/Lang/Java/Problem-of-Apollonius
@@ -0,0 +1 @@
+../../Task/Problem-of-Apollonius/Java
\ No newline at end of file
diff --git a/Lang/Java/Program-name b/Lang/Java/Program-name
new file mode 120000
index 0000000000..a5794586ce
--- /dev/null
+++ b/Lang/Java/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Java
\ No newline at end of file
diff --git a/Lang/Java/Program-termination b/Lang/Java/Program-termination
new file mode 120000
index 0000000000..db113954c0
--- /dev/null
+++ b/Lang/Java/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Java
\ No newline at end of file
diff --git a/Lang/Java/Pythagorean-triples b/Lang/Java/Pythagorean-triples
new file mode 120000
index 0000000000..9209e8101b
--- /dev/null
+++ b/Lang/Java/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/Java
\ No newline at end of file
diff --git a/Lang/Java/Quaternion-type b/Lang/Java/Quaternion-type
new file mode 120000
index 0000000000..3cf154640d
--- /dev/null
+++ b/Lang/Java/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/Java
\ No newline at end of file
diff --git a/Lang/Java/Queue-Definition b/Lang/Java/Queue-Definition
new file mode 120000
index 0000000000..9f38e227f3
--- /dev/null
+++ b/Lang/Java/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Java
\ No newline at end of file
diff --git a/Lang/Java/Queue-Usage b/Lang/Java/Queue-Usage
new file mode 120000
index 0000000000..680ebd6b26
--- /dev/null
+++ b/Lang/Java/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/Java
\ No newline at end of file
diff --git a/Lang/Java/RIPEMD-160 b/Lang/Java/RIPEMD-160
new file mode 120000
index 0000000000..426a305408
--- /dev/null
+++ b/Lang/Java/RIPEMD-160
@@ -0,0 +1 @@
+../../Task/RIPEMD-160/Java
\ No newline at end of file
diff --git a/Lang/Java/Random-number-generator--device- b/Lang/Java/Random-number-generator--device-
new file mode 120000
index 0000000000..d7dee5ff24
--- /dev/null
+++ b/Lang/Java/Random-number-generator--device-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--device-/Java
\ No newline at end of file
diff --git a/Lang/Java/Random-numbers b/Lang/Java/Random-numbers
new file mode 120000
index 0000000000..2b44077f90
--- /dev/null
+++ b/Lang/Java/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Java
\ No newline at end of file
diff --git a/Lang/Java/Range-expansion b/Lang/Java/Range-expansion
new file mode 120000
index 0000000000..4e732fc6ea
--- /dev/null
+++ b/Lang/Java/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/Java
\ No newline at end of file
diff --git a/Lang/Java/Range-extraction b/Lang/Java/Range-extraction
new file mode 120000
index 0000000000..699527a4de
--- /dev/null
+++ b/Lang/Java/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/Java
\ No newline at end of file
diff --git a/Lang/Java/Read-a-file-line-by-line b/Lang/Java/Read-a-file-line-by-line
new file mode 120000
index 0000000000..c0901e398d
--- /dev/null
+++ b/Lang/Java/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Java
\ No newline at end of file
diff --git a/Lang/Java/Read-a-specific-line-from-a-file b/Lang/Java/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..d8d836bc6c
--- /dev/null
+++ b/Lang/Java/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/Java
\ No newline at end of file
diff --git a/Lang/Java/Read-entire-file b/Lang/Java/Read-entire-file
new file mode 120000
index 0000000000..9b76ee4401
--- /dev/null
+++ b/Lang/Java/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Java
\ No newline at end of file
diff --git a/Lang/Java/Real-constants-and-functions b/Lang/Java/Real-constants-and-functions
new file mode 120000
index 0000000000..c511928a05
--- /dev/null
+++ b/Lang/Java/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Java
\ No newline at end of file
diff --git a/Lang/Java/Reduced-row-echelon-form b/Lang/Java/Reduced-row-echelon-form
new file mode 120000
index 0000000000..ac509c5712
--- /dev/null
+++ b/Lang/Java/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/Java
\ No newline at end of file
diff --git a/Lang/Java/Regular-expressions b/Lang/Java/Regular-expressions
new file mode 120000
index 0000000000..8001e6c964
--- /dev/null
+++ b/Lang/Java/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Java
\ No newline at end of file
diff --git a/Lang/Java/Remove-duplicate-elements b/Lang/Java/Remove-duplicate-elements
new file mode 120000
index 0000000000..8eb1072a8d
--- /dev/null
+++ b/Lang/Java/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Java
\ No newline at end of file
diff --git a/Lang/Java/Rename-a-file b/Lang/Java/Rename-a-file
new file mode 120000
index 0000000000..c6d27225df
--- /dev/null
+++ b/Lang/Java/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Java
\ No newline at end of file
diff --git a/Lang/Java/Repeat-a-string b/Lang/Java/Repeat-a-string
new file mode 120000
index 0000000000..7f21a370a0
--- /dev/null
+++ b/Lang/Java/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Java
\ No newline at end of file
diff --git a/Lang/Java/Return-multiple-values b/Lang/Java/Return-multiple-values
new file mode 120000
index 0000000000..eb9ea17bca
--- /dev/null
+++ b/Lang/Java/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Java
\ No newline at end of file
diff --git a/Lang/Java/Reverse-a-string b/Lang/Java/Reverse-a-string
new file mode 120000
index 0000000000..4663b5cae2
--- /dev/null
+++ b/Lang/Java/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Java
\ No newline at end of file
diff --git a/Lang/Java/Rock-paper-scissors b/Lang/Java/Rock-paper-scissors
new file mode 120000
index 0000000000..33cd5dd61d
--- /dev/null
+++ b/Lang/Java/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/Java
\ No newline at end of file
diff --git a/Lang/Java/Roman-numerals-Decode b/Lang/Java/Roman-numerals-Decode
new file mode 120000
index 0000000000..b41c8913d3
--- /dev/null
+++ b/Lang/Java/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/Java
\ No newline at end of file
diff --git a/Lang/Java/Roman-numerals-Encode b/Lang/Java/Roman-numerals-Encode
new file mode 120000
index 0000000000..ae4d0f6877
--- /dev/null
+++ b/Lang/Java/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Java
\ No newline at end of file
diff --git a/Lang/Java/Roots-of-a-function b/Lang/Java/Roots-of-a-function
new file mode 120000
index 0000000000..c5a07947ea
--- /dev/null
+++ b/Lang/Java/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/Java
\ No newline at end of file
diff --git a/Lang/Java/Roots-of-a-quadratic-function b/Lang/Java/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..58525f3121
--- /dev/null
+++ b/Lang/Java/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/Java
\ No newline at end of file
diff --git a/Lang/Java/Roots-of-unity b/Lang/Java/Roots-of-unity
new file mode 120000
index 0000000000..bcf567d387
--- /dev/null
+++ b/Lang/Java/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/Java
\ No newline at end of file
diff --git a/Lang/Java/Rosetta-Code-Count-examples b/Lang/Java/Rosetta-Code-Count-examples
new file mode 120000
index 0000000000..94544023c4
--- /dev/null
+++ b/Lang/Java/Rosetta-Code-Count-examples
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Count-examples/Java
\ No newline at end of file
diff --git a/Lang/Java/Rot-13 b/Lang/Java/Rot-13
new file mode 120000
index 0000000000..9e39efbd73
--- /dev/null
+++ b/Lang/Java/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Java
\ No newline at end of file
diff --git a/Lang/Java/Run-length-encoding b/Lang/Java/Run-length-encoding
new file mode 120000
index 0000000000..f09413515e
--- /dev/null
+++ b/Lang/Java/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Java
\ No newline at end of file
diff --git a/Lang/Java/Runtime-evaluation-In-an-environment b/Lang/Java/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..9e46d6425f
--- /dev/null
+++ b/Lang/Java/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/Java
\ No newline at end of file
diff --git a/Lang/Java/S-Expressions b/Lang/Java/S-Expressions
new file mode 120000
index 0000000000..af614644d0
--- /dev/null
+++ b/Lang/Java/S-Expressions
@@ -0,0 +1 @@
+../../Task/S-Expressions/Java
\ No newline at end of file
diff --git a/Lang/Java/SEDOLs b/Lang/Java/SEDOLs
new file mode 120000
index 0000000000..94362c6f29
--- /dev/null
+++ b/Lang/Java/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/Java
\ No newline at end of file
diff --git a/Lang/Java/Same-Fringe b/Lang/Java/Same-Fringe
new file mode 120000
index 0000000000..a2427bf40a
--- /dev/null
+++ b/Lang/Java/Same-Fringe
@@ -0,0 +1 @@
+../../Task/Same-Fringe/Java
\ No newline at end of file
diff --git a/Lang/Java/Scope-modifiers b/Lang/Java/Scope-modifiers
new file mode 120000
index 0000000000..6c8007d978
--- /dev/null
+++ b/Lang/Java/Scope-modifiers
@@ -0,0 +1 @@
+../../Task/Scope-modifiers/Java
\ No newline at end of file
diff --git a/Lang/Java/Secure-temporary-file b/Lang/Java/Secure-temporary-file
new file mode 120000
index 0000000000..ef652e1ad0
--- /dev/null
+++ b/Lang/Java/Secure-temporary-file
@@ -0,0 +1 @@
+../../Task/Secure-temporary-file/Java
\ No newline at end of file
diff --git a/Lang/Java/Self-describing-numbers b/Lang/Java/Self-describing-numbers
new file mode 120000
index 0000000000..4193126b71
--- /dev/null
+++ b/Lang/Java/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/Java
\ No newline at end of file
diff --git a/Lang/Java/Semordnilap b/Lang/Java/Semordnilap
new file mode 120000
index 0000000000..2a7f68b403
--- /dev/null
+++ b/Lang/Java/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/Java
\ No newline at end of file
diff --git a/Lang/Java/Send-an-unknown-method-call b/Lang/Java/Send-an-unknown-method-call
new file mode 120000
index 0000000000..c92709d728
--- /dev/null
+++ b/Lang/Java/Send-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Send-an-unknown-method-call/Java
\ No newline at end of file
diff --git a/Lang/Java/Send-email b/Lang/Java/Send-email
new file mode 120000
index 0000000000..4af9f74c0b
--- /dev/null
+++ b/Lang/Java/Send-email
@@ -0,0 +1 @@
+../../Task/Send-email/Java
\ No newline at end of file
diff --git a/Lang/Java/Sequence-of-non-squares b/Lang/Java/Sequence-of-non-squares
new file mode 120000
index 0000000000..2789ecdb0d
--- /dev/null
+++ b/Lang/Java/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Java
\ No newline at end of file
diff --git a/Lang/Java/Set b/Lang/Java/Set
new file mode 120000
index 0000000000..75f78c3f72
--- /dev/null
+++ b/Lang/Java/Set
@@ -0,0 +1 @@
+../../Task/Set/Java
\ No newline at end of file
diff --git a/Lang/Java/Set-consolidation b/Lang/Java/Set-consolidation
new file mode 120000
index 0000000000..74a9f522dc
--- /dev/null
+++ b/Lang/Java/Set-consolidation
@@ -0,0 +1 @@
+../../Task/Set-consolidation/Java
\ No newline at end of file
diff --git a/Lang/JavaScript/Binary-digits b/Lang/JavaScript/Binary-digits
new file mode 120000
index 0000000000..e0b9bce821
--- /dev/null
+++ b/Lang/JavaScript/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Brownian-tree b/Lang/JavaScript/Brownian-tree
new file mode 120000
index 0000000000..dfcd9bce73
--- /dev/null
+++ b/Lang/JavaScript/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Catalan-numbers b/Lang/JavaScript/Catalan-numbers
new file mode 120000
index 0000000000..534520e802
--- /dev/null
+++ b/Lang/JavaScript/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Copy-a-string b/Lang/JavaScript/Copy-a-string
new file mode 120000
index 0000000000..645c308c14
--- /dev/null
+++ b/Lang/JavaScript/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Dragon-curve b/Lang/JavaScript/Dragon-curve
new file mode 120000
index 0000000000..de79c759de
--- /dev/null
+++ b/Lang/JavaScript/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Environment-variables b/Lang/JavaScript/Environment-variables
new file mode 120000
index 0000000000..64f0bf44fd
--- /dev/null
+++ b/Lang/JavaScript/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Guess-the-number-With-feedback--player- b/Lang/JavaScript/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..9906ba0f98
--- /dev/null
+++ b/Lang/JavaScript/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Guess-the-number-With-feedback-player b/Lang/JavaScript/Guess-the-number-With-feedback-player
deleted file mode 120000
index 9eda3dd737..0000000000
--- a/Lang/JavaScript/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Named-parameters b/Lang/JavaScript/Named-parameters
new file mode 120000
index 0000000000..89630d4126
--- /dev/null
+++ b/Lang/JavaScript/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Non-continuous-subsequences b/Lang/JavaScript/Non-continuous-subsequences
new file mode 120000
index 0000000000..665aefed7f
--- /dev/null
+++ b/Lang/JavaScript/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Non-decimal-radices-Convert b/Lang/JavaScript/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..ae5ce1a589
--- /dev/null
+++ b/Lang/JavaScript/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Non-decimal-radices-Input b/Lang/JavaScript/Non-decimal-radices-Input
new file mode 120000
index 0000000000..da09513be6
--- /dev/null
+++ b/Lang/JavaScript/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Non-decimal-radices-Output b/Lang/JavaScript/Non-decimal-radices-Output
new file mode 120000
index 0000000000..2b1d2ed5c9
--- /dev/null
+++ b/Lang/JavaScript/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Nth-root b/Lang/JavaScript/Nth-root
new file mode 120000
index 0000000000..b88040a8f9
--- /dev/null
+++ b/Lang/JavaScript/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Null-object b/Lang/JavaScript/Null-object
new file mode 120000
index 0000000000..8d0e0f55cd
--- /dev/null
+++ b/Lang/JavaScript/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Number-reversal-game b/Lang/JavaScript/Number-reversal-game
new file mode 120000
index 0000000000..2458272676
--- /dev/null
+++ b/Lang/JavaScript/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/One-dimensional-cellular-automata b/Lang/JavaScript/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..e23267f03a
--- /dev/null
+++ b/Lang/JavaScript/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/OpenGL b/Lang/JavaScript/OpenGL
new file mode 120000
index 0000000000..a3f0e45ee8
--- /dev/null
+++ b/Lang/JavaScript/OpenGL
@@ -0,0 +1 @@
+../../Task/OpenGL/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Optional-parameters b/Lang/JavaScript/Optional-parameters
new file mode 120000
index 0000000000..013b190da5
--- /dev/null
+++ b/Lang/JavaScript/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Palindrome-detection b/Lang/JavaScript/Palindrome-detection
new file mode 120000
index 0000000000..6972e7a8d1
--- /dev/null
+++ b/Lang/JavaScript/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Pangram-checker b/Lang/JavaScript/Pangram-checker
new file mode 120000
index 0000000000..fe0c6dc286
--- /dev/null
+++ b/Lang/JavaScript/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Parallel-calculations b/Lang/JavaScript/Parallel-calculations
new file mode 120000
index 0000000000..a3d2dac298
--- /dev/null
+++ b/Lang/JavaScript/Parallel-calculations
@@ -0,0 +1 @@
+../../Task/Parallel-calculations/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Pascals-triangle b/Lang/JavaScript/Pascals-triangle
new file mode 120000
index 0000000000..6fec36780d
--- /dev/null
+++ b/Lang/JavaScript/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Perfect-numbers b/Lang/JavaScript/Perfect-numbers
new file mode 120000
index 0000000000..41acaec6e5
--- /dev/null
+++ b/Lang/JavaScript/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Permutations b/Lang/JavaScript/Permutations
new file mode 120000
index 0000000000..eb63dfa763
--- /dev/null
+++ b/Lang/JavaScript/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Pick-random-element b/Lang/JavaScript/Pick-random-element
new file mode 120000
index 0000000000..4e0a95602d
--- /dev/null
+++ b/Lang/JavaScript/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Playing-cards b/Lang/JavaScript/Playing-cards
new file mode 120000
index 0000000000..480585f099
--- /dev/null
+++ b/Lang/JavaScript/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Polymorphic-copy b/Lang/JavaScript/Polymorphic-copy
new file mode 120000
index 0000000000..4d5abb4c74
--- /dev/null
+++ b/Lang/JavaScript/Polymorphic-copy
@@ -0,0 +1 @@
+../../Task/Polymorphic-copy/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Polymorphism b/Lang/JavaScript/Polymorphism
new file mode 120000
index 0000000000..af31d84ed8
--- /dev/null
+++ b/Lang/JavaScript/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Power-set b/Lang/JavaScript/Power-set
new file mode 120000
index 0000000000..40fc598eac
--- /dev/null
+++ b/Lang/JavaScript/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Price-fraction b/Lang/JavaScript/Price-fraction
new file mode 120000
index 0000000000..d33cb73b5d
--- /dev/null
+++ b/Lang/JavaScript/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Primality-by-trial-division b/Lang/JavaScript/Primality-by-trial-division
new file mode 120000
index 0000000000..8672e65065
--- /dev/null
+++ b/Lang/JavaScript/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Prime-decomposition b/Lang/JavaScript/Prime-decomposition
new file mode 120000
index 0000000000..ae2b365762
--- /dev/null
+++ b/Lang/JavaScript/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Probabilistic-choice b/Lang/JavaScript/Probabilistic-choice
new file mode 120000
index 0000000000..301ed42f10
--- /dev/null
+++ b/Lang/JavaScript/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Program-name b/Lang/JavaScript/Program-name
new file mode 120000
index 0000000000..72772f2a66
--- /dev/null
+++ b/Lang/JavaScript/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Program-termination b/Lang/JavaScript/Program-termination
new file mode 120000
index 0000000000..9869e5e70f
--- /dev/null
+++ b/Lang/JavaScript/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Queue-Definition b/Lang/JavaScript/Queue-Definition
new file mode 120000
index 0000000000..00bca42bf9
--- /dev/null
+++ b/Lang/JavaScript/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Queue-Usage b/Lang/JavaScript/Queue-Usage
new file mode 120000
index 0000000000..d1dc739952
--- /dev/null
+++ b/Lang/JavaScript/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Random-numbers b/Lang/JavaScript/Random-numbers
new file mode 120000
index 0000000000..272e724371
--- /dev/null
+++ b/Lang/JavaScript/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Range-expansion b/Lang/JavaScript/Range-expansion
new file mode 120000
index 0000000000..27e754c77a
--- /dev/null
+++ b/Lang/JavaScript/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Range-extraction b/Lang/JavaScript/Range-extraction
new file mode 120000
index 0000000000..821316d6c2
--- /dev/null
+++ b/Lang/JavaScript/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Rate-counter b/Lang/JavaScript/Rate-counter
new file mode 120000
index 0000000000..71283b873c
--- /dev/null
+++ b/Lang/JavaScript/Rate-counter
@@ -0,0 +1 @@
+../../Task/Rate-counter/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Read-entire-file b/Lang/JavaScript/Read-entire-file
new file mode 120000
index 0000000000..60fa842c99
--- /dev/null
+++ b/Lang/JavaScript/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Real-constants-and-functions b/Lang/JavaScript/Real-constants-and-functions
new file mode 120000
index 0000000000..9f1a8373eb
--- /dev/null
+++ b/Lang/JavaScript/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Reduced-row-echelon-form b/Lang/JavaScript/Reduced-row-echelon-form
new file mode 120000
index 0000000000..46518c3e2c
--- /dev/null
+++ b/Lang/JavaScript/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Regular-expressions b/Lang/JavaScript/Regular-expressions
new file mode 120000
index 0000000000..a74c70f088
--- /dev/null
+++ b/Lang/JavaScript/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Remove-duplicate-elements b/Lang/JavaScript/Remove-duplicate-elements
new file mode 120000
index 0000000000..c1105c84c9
--- /dev/null
+++ b/Lang/JavaScript/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Rename-a-file b/Lang/JavaScript/Rename-a-file
new file mode 120000
index 0000000000..2a46616ab1
--- /dev/null
+++ b/Lang/JavaScript/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Repeat-a-string b/Lang/JavaScript/Repeat-a-string
new file mode 120000
index 0000000000..836158ee2f
--- /dev/null
+++ b/Lang/JavaScript/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Respond-to-an-unknown-method-call b/Lang/JavaScript/Respond-to-an-unknown-method-call
new file mode 120000
index 0000000000..4758c98042
--- /dev/null
+++ b/Lang/JavaScript/Respond-to-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Respond-to-an-unknown-method-call/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Reverse-a-string b/Lang/JavaScript/Reverse-a-string
new file mode 120000
index 0000000000..b7a637d39d
--- /dev/null
+++ b/Lang/JavaScript/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Roman-numerals-Decode b/Lang/JavaScript/Roman-numerals-Decode
new file mode 120000
index 0000000000..758c653984
--- /dev/null
+++ b/Lang/JavaScript/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Roman-numerals-Encode b/Lang/JavaScript/Roman-numerals-Encode
new file mode 120000
index 0000000000..1168e962b4
--- /dev/null
+++ b/Lang/JavaScript/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Rosetta-Code-Fix-code-tags b/Lang/JavaScript/Rosetta-Code-Fix-code-tags
new file mode 120000
index 0000000000..3933b339df
--- /dev/null
+++ b/Lang/JavaScript/Rosetta-Code-Fix-code-tags
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Fix-code-tags/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Rot-13 b/Lang/JavaScript/Rot-13
new file mode 120000
index 0000000000..88d1e62e86
--- /dev/null
+++ b/Lang/JavaScript/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Run-length-encoding b/Lang/JavaScript/Run-length-encoding
new file mode 120000
index 0000000000..d12357ce73
--- /dev/null
+++ b/Lang/JavaScript/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Runtime-evaluation b/Lang/JavaScript/Runtime-evaluation
new file mode 120000
index 0000000000..9caee17dec
--- /dev/null
+++ b/Lang/JavaScript/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Runtime-evaluation-In-an-environment b/Lang/JavaScript/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..f289230e04
--- /dev/null
+++ b/Lang/JavaScript/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/SEDOLs b/Lang/JavaScript/SEDOLs
new file mode 120000
index 0000000000..423545c495
--- /dev/null
+++ b/Lang/JavaScript/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Self-describing-numbers b/Lang/JavaScript/Self-describing-numbers
new file mode 120000
index 0000000000..f7cced7ef6
--- /dev/null
+++ b/Lang/JavaScript/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/JavaScript
\ No newline at end of file
diff --git a/Lang/JavaScript/Send-an-unknown-method-call b/Lang/JavaScript/Send-an-unknown-method-call
new file mode 120000
index 0000000000..6e1d2588b2
--- /dev/null
+++ b/Lang/JavaScript/Send-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Send-an-unknown-method-call/JavaScript
\ No newline at end of file
diff --git a/Lang/Joy/Binary-digits b/Lang/Joy/Binary-digits
new file mode 120000
index 0000000000..fafa903093
--- /dev/null
+++ b/Lang/Joy/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Joy
\ No newline at end of file
diff --git a/Lang/Joy/Copy-a-string b/Lang/Joy/Copy-a-string
new file mode 120000
index 0000000000..aa7d6d4d2a
--- /dev/null
+++ b/Lang/Joy/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Joy
\ No newline at end of file
diff --git a/Lang/Joy/Environment-variables b/Lang/Joy/Environment-variables
new file mode 120000
index 0000000000..89c3bc069c
--- /dev/null
+++ b/Lang/Joy/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Joy
\ No newline at end of file
diff --git a/Lang/Joy/Number-names b/Lang/Joy/Number-names
new file mode 120000
index 0000000000..cfd7db684b
--- /dev/null
+++ b/Lang/Joy/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/Joy
\ No newline at end of file
diff --git a/Lang/Joy/Order-two-numerical-lists b/Lang/Joy/Order-two-numerical-lists
new file mode 120000
index 0000000000..dddc4dfc97
--- /dev/null
+++ b/Lang/Joy/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/Joy
\ No newline at end of file
diff --git a/Lang/Joy/Primality-by-trial-division b/Lang/Joy/Primality-by-trial-division
new file mode 120000
index 0000000000..974534ba38
--- /dev/null
+++ b/Lang/Joy/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Joy
\ No newline at end of file
diff --git a/Lang/Joy/Rename-a-file b/Lang/Joy/Rename-a-file
new file mode 120000
index 0000000000..c4cf2fd515
--- /dev/null
+++ b/Lang/Joy/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Joy
\ No newline at end of file
diff --git a/Lang/Julia/Arbitrary-precision-integers--included- b/Lang/Julia/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..e4b2d67fa5
--- /dev/null
+++ b/Lang/Julia/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Julia
\ No newline at end of file
diff --git a/Lang/Julia/Arbitrary-precision-integers-included b/Lang/Julia/Arbitrary-precision-integers-included
deleted file mode 120000
index 6d0033eafb..0000000000
--- a/Lang/Julia/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Julia
\ No newline at end of file
diff --git a/Lang/Julia/Catalan-numbers b/Lang/Julia/Catalan-numbers
new file mode 120000
index 0000000000..67a19c95fb
--- /dev/null
+++ b/Lang/Julia/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Julia
\ No newline at end of file
diff --git a/Lang/Julia/Perfect-numbers b/Lang/Julia/Perfect-numbers
new file mode 120000
index 0000000000..34a646fa51
--- /dev/null
+++ b/Lang/Julia/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Julia
\ No newline at end of file
diff --git a/Lang/Julia/Read-a-file-line-by-line b/Lang/Julia/Read-a-file-line-by-line
new file mode 120000
index 0000000000..d434efcafd
--- /dev/null
+++ b/Lang/Julia/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Julia
\ No newline at end of file
diff --git a/Lang/Julia/Read-entire-file b/Lang/Julia/Read-entire-file
new file mode 120000
index 0000000000..70a92d2bb9
--- /dev/null
+++ b/Lang/Julia/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Julia
\ No newline at end of file
diff --git a/Lang/Julia/Regular-expressions b/Lang/Julia/Regular-expressions
new file mode 120000
index 0000000000..f6ded844a1
--- /dev/null
+++ b/Lang/Julia/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Julia
\ No newline at end of file
diff --git a/Lang/Julia/Remove-duplicate-elements b/Lang/Julia/Remove-duplicate-elements
new file mode 120000
index 0000000000..49428ff008
--- /dev/null
+++ b/Lang/Julia/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Julia
\ No newline at end of file
diff --git a/Lang/Julia/Repeat-a-string b/Lang/Julia/Repeat-a-string
new file mode 120000
index 0000000000..9d0e7565e1
--- /dev/null
+++ b/Lang/Julia/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Julia
\ No newline at end of file
diff --git a/Lang/Julia/Return-multiple-values b/Lang/Julia/Return-multiple-values
new file mode 120000
index 0000000000..7645817505
--- /dev/null
+++ b/Lang/Julia/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Julia
\ No newline at end of file
diff --git a/Lang/Julia/Reverse-a-string b/Lang/Julia/Reverse-a-string
new file mode 120000
index 0000000000..4dd9aa6cad
--- /dev/null
+++ b/Lang/Julia/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Julia
\ No newline at end of file
diff --git a/Lang/Julia/Rock-paper-scissors b/Lang/Julia/Rock-paper-scissors
new file mode 120000
index 0000000000..b8645f7874
--- /dev/null
+++ b/Lang/Julia/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/Julia
\ No newline at end of file
diff --git a/Lang/Julia/Self-describing-numbers b/Lang/Julia/Self-describing-numbers
new file mode 120000
index 0000000000..9cf5f6e01b
--- /dev/null
+++ b/Lang/Julia/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/Julia
\ No newline at end of file
diff --git a/Lang/Julia/Semordnilap b/Lang/Julia/Semordnilap
new file mode 120000
index 0000000000..18eee2ad88
--- /dev/null
+++ b/Lang/Julia/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/Julia
\ No newline at end of file
diff --git a/Lang/K/Binary-digits b/Lang/K/Binary-digits
new file mode 120000
index 0000000000..15a75998b0
--- /dev/null
+++ b/Lang/K/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/K
\ No newline at end of file
diff --git a/Lang/K/Catalan-numbers b/Lang/K/Catalan-numbers
new file mode 120000
index 0000000000..e755bc6169
--- /dev/null
+++ b/Lang/K/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/K
\ No newline at end of file
diff --git a/Lang/K/Environment-variables b/Lang/K/Environment-variables
new file mode 120000
index 0000000000..91c24029fd
--- /dev/null
+++ b/Lang/K/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/K
\ No newline at end of file
diff --git a/Lang/K/Null-object b/Lang/K/Null-object
new file mode 120000
index 0000000000..e46396e500
--- /dev/null
+++ b/Lang/K/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/K
\ No newline at end of file
diff --git a/Lang/K/One-dimensional-cellular-automata b/Lang/K/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..b9f47a6abb
--- /dev/null
+++ b/Lang/K/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/K
\ No newline at end of file
diff --git a/Lang/K/Pangram-checker b/Lang/K/Pangram-checker
new file mode 120000
index 0000000000..af64107e09
--- /dev/null
+++ b/Lang/K/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/K
\ No newline at end of file
diff --git a/Lang/K/Pascals-triangle b/Lang/K/Pascals-triangle
new file mode 120000
index 0000000000..eb9004b217
--- /dev/null
+++ b/Lang/K/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/K
\ No newline at end of file
diff --git a/Lang/K/Perfect-numbers b/Lang/K/Perfect-numbers
new file mode 120000
index 0000000000..c77acaffc5
--- /dev/null
+++ b/Lang/K/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/K
\ No newline at end of file
diff --git a/Lang/K/Permutations b/Lang/K/Permutations
new file mode 120000
index 0000000000..ca3674e32b
--- /dev/null
+++ b/Lang/K/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/K
\ No newline at end of file
diff --git a/Lang/K/Pick-random-element b/Lang/K/Pick-random-element
new file mode 120000
index 0000000000..3fc5816ab9
--- /dev/null
+++ b/Lang/K/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/K
\ No newline at end of file
diff --git a/Lang/K/Playing-cards b/Lang/K/Playing-cards
new file mode 120000
index 0000000000..3d405c1ceb
--- /dev/null
+++ b/Lang/K/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/K
\ No newline at end of file
diff --git a/Lang/K/Power-set b/Lang/K/Power-set
new file mode 120000
index 0000000000..4648f66d52
--- /dev/null
+++ b/Lang/K/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/K
\ No newline at end of file
diff --git a/Lang/K/Price-fraction b/Lang/K/Price-fraction
new file mode 120000
index 0000000000..691bfc1824
--- /dev/null
+++ b/Lang/K/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/K
\ No newline at end of file
diff --git a/Lang/K/Primality-by-trial-division b/Lang/K/Primality-by-trial-division
new file mode 120000
index 0000000000..a5fe32abb3
--- /dev/null
+++ b/Lang/K/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/K
\ No newline at end of file
diff --git a/Lang/K/Range-expansion b/Lang/K/Range-expansion
new file mode 120000
index 0000000000..e0570efdfa
--- /dev/null
+++ b/Lang/K/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/K
\ No newline at end of file
diff --git a/Lang/K/Range-extraction b/Lang/K/Range-extraction
new file mode 120000
index 0000000000..b33c9b6dac
--- /dev/null
+++ b/Lang/K/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/K
\ No newline at end of file
diff --git a/Lang/K/Remove-duplicate-elements b/Lang/K/Remove-duplicate-elements
new file mode 120000
index 0000000000..e842557dcf
--- /dev/null
+++ b/Lang/K/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/K
\ No newline at end of file
diff --git a/Lang/K/Repeat-a-string b/Lang/K/Repeat-a-string
new file mode 120000
index 0000000000..041b7e1ab2
--- /dev/null
+++ b/Lang/K/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/K
\ No newline at end of file
diff --git a/Lang/K/Roman-numerals-Decode b/Lang/K/Roman-numerals-Decode
new file mode 120000
index 0000000000..434971f5ee
--- /dev/null
+++ b/Lang/K/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/K
\ No newline at end of file
diff --git a/Lang/K/Rot-13 b/Lang/K/Rot-13
new file mode 120000
index 0000000000..dff32d6aca
--- /dev/null
+++ b/Lang/K/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/K
\ No newline at end of file
diff --git a/Lang/K/Run-length-encoding b/Lang/K/Run-length-encoding
new file mode 120000
index 0000000000..cd6c80f04b
--- /dev/null
+++ b/Lang/K/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/K
\ No newline at end of file
diff --git a/Lang/K/Self-describing-numbers b/Lang/K/Self-describing-numbers
new file mode 120000
index 0000000000..0189373a63
--- /dev/null
+++ b/Lang/K/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/K
\ No newline at end of file
diff --git a/Lang/KonsolScript/Copy-a-string b/Lang/KonsolScript/Copy-a-string
new file mode 120000
index 0000000000..518bbf77eb
--- /dev/null
+++ b/Lang/KonsolScript/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/KonsolScript
\ No newline at end of file
diff --git a/Lang/LLVM/Program-name b/Lang/LLVM/Program-name
new file mode 120000
index 0000000000..438c880ef2
--- /dev/null
+++ b/Lang/LLVM/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/LLVM
\ No newline at end of file
diff --git a/Lang/LOLCODE/Binary-digits b/Lang/LOLCODE/Binary-digits
new file mode 120000
index 0000000000..116bd74da9
--- /dev/null
+++ b/Lang/LOLCODE/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/LOLCODE
\ No newline at end of file
diff --git a/Lang/LSE64/Primality-by-trial-division b/Lang/LSE64/Primality-by-trial-division
new file mode 120000
index 0000000000..f3010d0b43
--- /dev/null
+++ b/Lang/LSE64/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/LSE64
\ No newline at end of file
diff --git a/Lang/LSL/Environment-variables b/Lang/LSL/Environment-variables
new file mode 120000
index 0000000000..adc1e2ac74
--- /dev/null
+++ b/Lang/LSL/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/LSL
\ No newline at end of file
diff --git a/Lang/LaTeX/Roman-numerals-Encode b/Lang/LaTeX/Roman-numerals-Encode
new file mode 120000
index 0000000000..d1ffda05b3
--- /dev/null
+++ b/Lang/LaTeX/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/LaTeX
\ No newline at end of file
diff --git a/Lang/Lang5/Binary-digits b/Lang/Lang5/Binary-digits
new file mode 120000
index 0000000000..42c668713f
--- /dev/null
+++ b/Lang/Lang5/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Lang5
\ No newline at end of file
diff --git a/Lang/Lang5/Copy-a-string b/Lang/Lang5/Copy-a-string
new file mode 120000
index 0000000000..932fbfad9e
--- /dev/null
+++ b/Lang/Lang5/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Lang5
\ No newline at end of file
diff --git a/Lang/Lang5/Read-entire-file b/Lang/Lang5/Read-entire-file
new file mode 120000
index 0000000000..b698f63e35
--- /dev/null
+++ b/Lang/Lang5/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Lang5
\ No newline at end of file
diff --git a/Lang/Lang5/Remove-duplicate-elements b/Lang/Lang5/Remove-duplicate-elements
new file mode 120000
index 0000000000..f2d0593508
--- /dev/null
+++ b/Lang/Lang5/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Lang5
\ No newline at end of file
diff --git a/Lang/Lang5/Reverse-a-string b/Lang/Lang5/Reverse-a-string
new file mode 120000
index 0000000000..1eb14d938a
--- /dev/null
+++ b/Lang/Lang5/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Lang5
\ No newline at end of file
diff --git a/Lang/Lhogho/Order-two-numerical-lists b/Lang/Lhogho/Order-two-numerical-lists
new file mode 120000
index 0000000000..b4d2824ef1
--- /dev/null
+++ b/Lang/Lhogho/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/Lhogho
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Arbitrary-precision-integers--included- b/Lang/Liberty-BASIC/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..47d2a8fb9b
--- /dev/null
+++ b/Lang/Liberty-BASIC/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Arbitrary-precision-integers-included b/Lang/Liberty-BASIC/Arbitrary-precision-integers-included
deleted file mode 120000
index 9fbe0b1f05..0000000000
--- a/Lang/Liberty-BASIC/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Binary-digits b/Lang/Liberty-BASIC/Binary-digits
new file mode 120000
index 0000000000..baef0ed7f9
--- /dev/null
+++ b/Lang/Liberty-BASIC/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Brownian-tree b/Lang/Liberty-BASIC/Brownian-tree
new file mode 120000
index 0000000000..fa17d79efd
--- /dev/null
+++ b/Lang/Liberty-BASIC/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Catalan-numbers b/Lang/Liberty-BASIC/Catalan-numbers
new file mode 120000
index 0000000000..97011ccecc
--- /dev/null
+++ b/Lang/Liberty-BASIC/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Copy-a-string b/Lang/Liberty-BASIC/Copy-a-string
new file mode 120000
index 0000000000..ce76f72570
--- /dev/null
+++ b/Lang/Liberty-BASIC/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Dragon-curve b/Lang/Liberty-BASIC/Dragon-curve
new file mode 120000
index 0000000000..8fae27ea07
--- /dev/null
+++ b/Lang/Liberty-BASIC/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Environment-variables b/Lang/Liberty-BASIC/Environment-variables
new file mode 120000
index 0000000000..242af6163c
--- /dev/null
+++ b/Lang/Liberty-BASIC/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Guess-the-number-With-feedback--player- b/Lang/Liberty-BASIC/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..d51262280a
--- /dev/null
+++ b/Lang/Liberty-BASIC/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Guess-the-number-With-feedback-player b/Lang/Liberty-BASIC/Guess-the-number-With-feedback-player
deleted file mode 120000
index 4470f16418..0000000000
--- a/Lang/Liberty-BASIC/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Non-decimal-radices-Convert b/Lang/Liberty-BASIC/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..aabd5959b6
--- /dev/null
+++ b/Lang/Liberty-BASIC/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Nth-root b/Lang/Liberty-BASIC/Nth-root
new file mode 120000
index 0000000000..f0e789097e
--- /dev/null
+++ b/Lang/Liberty-BASIC/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Numerical-integration b/Lang/Liberty-BASIC/Numerical-integration
new file mode 120000
index 0000000000..87518c5253
--- /dev/null
+++ b/Lang/Liberty-BASIC/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/One-dimensional-cellular-automata b/Lang/Liberty-BASIC/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..9f80f6e32b
--- /dev/null
+++ b/Lang/Liberty-BASIC/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/OpenGL b/Lang/Liberty-BASIC/OpenGL
new file mode 120000
index 0000000000..a61f12ba40
--- /dev/null
+++ b/Lang/Liberty-BASIC/OpenGL
@@ -0,0 +1 @@
+../../Task/OpenGL/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Palindrome-detection b/Lang/Liberty-BASIC/Palindrome-detection
new file mode 120000
index 0000000000..b7836287a7
--- /dev/null
+++ b/Lang/Liberty-BASIC/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Pangram-checker b/Lang/Liberty-BASIC/Pangram-checker
new file mode 120000
index 0000000000..e39aa80f90
--- /dev/null
+++ b/Lang/Liberty-BASIC/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Pascals-triangle b/Lang/Liberty-BASIC/Pascals-triangle
new file mode 120000
index 0000000000..3009fe696a
--- /dev/null
+++ b/Lang/Liberty-BASIC/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Percentage-difference-between-images b/Lang/Liberty-BASIC/Percentage-difference-between-images
new file mode 120000
index 0000000000..0b5c9da041
--- /dev/null
+++ b/Lang/Liberty-BASIC/Percentage-difference-between-images
@@ -0,0 +1 @@
+../../Task/Percentage-difference-between-images/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Perfect-numbers b/Lang/Liberty-BASIC/Perfect-numbers
new file mode 120000
index 0000000000..5da6797163
--- /dev/null
+++ b/Lang/Liberty-BASIC/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Pick-random-element b/Lang/Liberty-BASIC/Pick-random-element
new file mode 120000
index 0000000000..dd88c5257a
--- /dev/null
+++ b/Lang/Liberty-BASIC/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Pinstripe-Printer b/Lang/Liberty-BASIC/Pinstripe-Printer
new file mode 120000
index 0000000000..ef6da0d58e
--- /dev/null
+++ b/Lang/Liberty-BASIC/Pinstripe-Printer
@@ -0,0 +1 @@
+../../Task/Pinstripe-Printer/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Play-recorded-sounds b/Lang/Liberty-BASIC/Play-recorded-sounds
new file mode 120000
index 0000000000..33a14e3bfc
--- /dev/null
+++ b/Lang/Liberty-BASIC/Play-recorded-sounds
@@ -0,0 +1 @@
+../../Task/Play-recorded-sounds/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Playing-cards b/Lang/Liberty-BASIC/Playing-cards
new file mode 120000
index 0000000000..1136772ab9
--- /dev/null
+++ b/Lang/Liberty-BASIC/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Plot-coordinate-pairs b/Lang/Liberty-BASIC/Plot-coordinate-pairs
new file mode 120000
index 0000000000..f9e6665378
--- /dev/null
+++ b/Lang/Liberty-BASIC/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Price-fraction b/Lang/Liberty-BASIC/Price-fraction
new file mode 120000
index 0000000000..28f54fa10a
--- /dev/null
+++ b/Lang/Liberty-BASIC/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Primality-by-trial-division b/Lang/Liberty-BASIC/Primality-by-trial-division
new file mode 120000
index 0000000000..1513c1125e
--- /dev/null
+++ b/Lang/Liberty-BASIC/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Probabilistic-choice b/Lang/Liberty-BASIC/Probabilistic-choice
new file mode 120000
index 0000000000..b7a4e45db9
--- /dev/null
+++ b/Lang/Liberty-BASIC/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Problem-of-Apollonius b/Lang/Liberty-BASIC/Problem-of-Apollonius
new file mode 120000
index 0000000000..46bea851ae
--- /dev/null
+++ b/Lang/Liberty-BASIC/Problem-of-Apollonius
@@ -0,0 +1 @@
+../../Task/Problem-of-Apollonius/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Program-termination b/Lang/Liberty-BASIC/Program-termination
new file mode 120000
index 0000000000..fa74bf973e
--- /dev/null
+++ b/Lang/Liberty-BASIC/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Pythagorean-triples b/Lang/Liberty-BASIC/Pythagorean-triples
new file mode 120000
index 0000000000..18ae1cbb94
--- /dev/null
+++ b/Lang/Liberty-BASIC/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Quaternion-type b/Lang/Liberty-BASIC/Quaternion-type
new file mode 120000
index 0000000000..33da9602b0
--- /dev/null
+++ b/Lang/Liberty-BASIC/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Random-numbers b/Lang/Liberty-BASIC/Random-numbers
new file mode 120000
index 0000000000..20a3dfb2f4
--- /dev/null
+++ b/Lang/Liberty-BASIC/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Range-expansion b/Lang/Liberty-BASIC/Range-expansion
new file mode 120000
index 0000000000..dc528e89d4
--- /dev/null
+++ b/Lang/Liberty-BASIC/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Range-extraction b/Lang/Liberty-BASIC/Range-extraction
new file mode 120000
index 0000000000..e640ac65b6
--- /dev/null
+++ b/Lang/Liberty-BASIC/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Rate-counter b/Lang/Liberty-BASIC/Rate-counter
new file mode 120000
index 0000000000..e7da1716b8
--- /dev/null
+++ b/Lang/Liberty-BASIC/Rate-counter
@@ -0,0 +1 @@
+../../Task/Rate-counter/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Ray-casting-algorithm b/Lang/Liberty-BASIC/Ray-casting-algorithm
new file mode 120000
index 0000000000..099620acdd
--- /dev/null
+++ b/Lang/Liberty-BASIC/Ray-casting-algorithm
@@ -0,0 +1 @@
+../../Task/Ray-casting-algorithm/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Read-a-configuration-file b/Lang/Liberty-BASIC/Read-a-configuration-file
new file mode 120000
index 0000000000..1be387504a
--- /dev/null
+++ b/Lang/Liberty-BASIC/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Read-a-file-line-by-line b/Lang/Liberty-BASIC/Read-a-file-line-by-line
new file mode 120000
index 0000000000..648325164a
--- /dev/null
+++ b/Lang/Liberty-BASIC/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Read-a-specific-line-from-a-file b/Lang/Liberty-BASIC/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..7e64aafb58
--- /dev/null
+++ b/Lang/Liberty-BASIC/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Read-entire-file b/Lang/Liberty-BASIC/Read-entire-file
new file mode 120000
index 0000000000..4907c9b97e
--- /dev/null
+++ b/Lang/Liberty-BASIC/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Real-constants-and-functions b/Lang/Liberty-BASIC/Real-constants-and-functions
new file mode 120000
index 0000000000..c16ffe68c6
--- /dev/null
+++ b/Lang/Liberty-BASIC/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Record-sound b/Lang/Liberty-BASIC/Record-sound
new file mode 120000
index 0000000000..ac28648698
--- /dev/null
+++ b/Lang/Liberty-BASIC/Record-sound
@@ -0,0 +1 @@
+../../Task/Record-sound/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Remove-duplicate-elements b/Lang/Liberty-BASIC/Remove-duplicate-elements
new file mode 120000
index 0000000000..a1b6fd84ed
--- /dev/null
+++ b/Lang/Liberty-BASIC/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Remove-lines-from-a-file b/Lang/Liberty-BASIC/Remove-lines-from-a-file
new file mode 120000
index 0000000000..ae5523d4de
--- /dev/null
+++ b/Lang/Liberty-BASIC/Remove-lines-from-a-file
@@ -0,0 +1 @@
+../../Task/Remove-lines-from-a-file/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Rename-a-file b/Lang/Liberty-BASIC/Rename-a-file
new file mode 120000
index 0000000000..9539fb9d6a
--- /dev/null
+++ b/Lang/Liberty-BASIC/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Repeat-a-string b/Lang/Liberty-BASIC/Repeat-a-string
new file mode 120000
index 0000000000..c7ce9f9f69
--- /dev/null
+++ b/Lang/Liberty-BASIC/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Return-multiple-values b/Lang/Liberty-BASIC/Return-multiple-values
new file mode 120000
index 0000000000..943c61fd8f
--- /dev/null
+++ b/Lang/Liberty-BASIC/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Reverse-a-string b/Lang/Liberty-BASIC/Reverse-a-string
new file mode 120000
index 0000000000..0b405e2e17
--- /dev/null
+++ b/Lang/Liberty-BASIC/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Rock-paper-scissors b/Lang/Liberty-BASIC/Rock-paper-scissors
new file mode 120000
index 0000000000..51eae560ba
--- /dev/null
+++ b/Lang/Liberty-BASIC/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Roman-numerals-Decode b/Lang/Liberty-BASIC/Roman-numerals-Decode
new file mode 120000
index 0000000000..b0b8f8f642
--- /dev/null
+++ b/Lang/Liberty-BASIC/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Roman-numerals-Encode b/Lang/Liberty-BASIC/Roman-numerals-Encode
new file mode 120000
index 0000000000..a70f5cc3e0
--- /dev/null
+++ b/Lang/Liberty-BASIC/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Roots-of-a-function b/Lang/Liberty-BASIC/Roots-of-a-function
new file mode 120000
index 0000000000..76ee1e46a9
--- /dev/null
+++ b/Lang/Liberty-BASIC/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Roots-of-a-quadratic-function b/Lang/Liberty-BASIC/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..f1837004be
--- /dev/null
+++ b/Lang/Liberty-BASIC/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Roots-of-unity b/Lang/Liberty-BASIC/Roots-of-unity
new file mode 120000
index 0000000000..4317ab278e
--- /dev/null
+++ b/Lang/Liberty-BASIC/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Rot-13 b/Lang/Liberty-BASIC/Rot-13
new file mode 120000
index 0000000000..b58693dfb5
--- /dev/null
+++ b/Lang/Liberty-BASIC/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Run-length-encoding b/Lang/Liberty-BASIC/Run-length-encoding
new file mode 120000
index 0000000000..1536b5fbc8
--- /dev/null
+++ b/Lang/Liberty-BASIC/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Runtime-evaluation b/Lang/Liberty-BASIC/Runtime-evaluation
new file mode 120000
index 0000000000..8c6cb13e39
--- /dev/null
+++ b/Lang/Liberty-BASIC/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Runtime-evaluation-In-an-environment b/Lang/Liberty-BASIC/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..499bf3cfae
--- /dev/null
+++ b/Lang/Liberty-BASIC/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/SEDOLs b/Lang/Liberty-BASIC/SEDOLs
new file mode 120000
index 0000000000..bfcc7d2673
--- /dev/null
+++ b/Lang/Liberty-BASIC/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Self-describing-numbers b/Lang/Liberty-BASIC/Self-describing-numbers
new file mode 120000
index 0000000000..070f46610d
--- /dev/null
+++ b/Lang/Liberty-BASIC/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Semordnilap b/Lang/Liberty-BASIC/Semordnilap
new file mode 120000
index 0000000000..b9d061272a
--- /dev/null
+++ b/Lang/Liberty-BASIC/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Send-email b/Lang/Liberty-BASIC/Send-email
new file mode 120000
index 0000000000..cf7d090b40
--- /dev/null
+++ b/Lang/Liberty-BASIC/Send-email
@@ -0,0 +1 @@
+../../Task/Send-email/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Sequence-of-non-squares b/Lang/Liberty-BASIC/Sequence-of-non-squares
new file mode 120000
index 0000000000..a9feec69f4
--- /dev/null
+++ b/Lang/Liberty-BASIC/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Liberty-BASIC/Set b/Lang/Liberty-BASIC/Set
new file mode 120000
index 0000000000..69bd7a0c57
--- /dev/null
+++ b/Lang/Liberty-BASIC/Set
@@ -0,0 +1 @@
+../../Task/Set/Liberty-BASIC
\ No newline at end of file
diff --git a/Lang/Lisaac/Copy-a-string b/Lang/Lisaac/Copy-a-string
new file mode 120000
index 0000000000..007d1ed664
--- /dev/null
+++ b/Lang/Lisaac/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Lisaac
\ No newline at end of file
diff --git a/Lang/Locomotive-Basic/Binary-digits b/Lang/Locomotive-Basic/Binary-digits
new file mode 120000
index 0000000000..3e1ac4d051
--- /dev/null
+++ b/Lang/Locomotive-Basic/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Locomotive-Basic
\ No newline at end of file
diff --git a/Lang/Locomotive-Basic/N-queens-problem b/Lang/Locomotive-Basic/N-queens-problem
new file mode 120000
index 0000000000..e56ea43b96
--- /dev/null
+++ b/Lang/Locomotive-Basic/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Locomotive-Basic
\ No newline at end of file
diff --git a/Lang/Locomotive-Basic/Non-decimal-radices-Output b/Lang/Locomotive-Basic/Non-decimal-radices-Output
new file mode 120000
index 0000000000..ee0db7d653
--- /dev/null
+++ b/Lang/Locomotive-Basic/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/Locomotive-Basic
\ No newline at end of file
diff --git a/Lang/Locomotive-Basic/One-dimensional-cellular-automata b/Lang/Locomotive-Basic/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..4161571f32
--- /dev/null
+++ b/Lang/Locomotive-Basic/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Locomotive-Basic
\ No newline at end of file
diff --git a/Lang/Locomotive-Basic/Pascals-triangle b/Lang/Locomotive-Basic/Pascals-triangle
new file mode 120000
index 0000000000..823541aa79
--- /dev/null
+++ b/Lang/Locomotive-Basic/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Locomotive-Basic
\ No newline at end of file
diff --git a/Lang/Locomotive-Basic/Pinstripe-Display b/Lang/Locomotive-Basic/Pinstripe-Display
new file mode 120000
index 0000000000..51fec0fcce
--- /dev/null
+++ b/Lang/Locomotive-Basic/Pinstripe-Display
@@ -0,0 +1 @@
+../../Task/Pinstripe-Display/Locomotive-Basic
\ No newline at end of file
diff --git a/Lang/Locomotive-Basic/Rename-a-file b/Lang/Locomotive-Basic/Rename-a-file
new file mode 120000
index 0000000000..59575c8500
--- /dev/null
+++ b/Lang/Locomotive-Basic/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Locomotive-Basic
\ No newline at end of file
diff --git a/Lang/Locomotive-Basic/Rock-paper-scissors b/Lang/Locomotive-Basic/Rock-paper-scissors
new file mode 120000
index 0000000000..b9d5db9e9f
--- /dev/null
+++ b/Lang/Locomotive-Basic/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/Locomotive-Basic
\ No newline at end of file
diff --git a/Lang/Locomotive-Basic/Rot-13 b/Lang/Locomotive-Basic/Rot-13
new file mode 120000
index 0000000000..816f6b09db
--- /dev/null
+++ b/Lang/Locomotive-Basic/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Locomotive-Basic
\ No newline at end of file
diff --git a/Lang/Logo/Copy-a-string b/Lang/Logo/Copy-a-string
new file mode 120000
index 0000000000..e1eda6041d
--- /dev/null
+++ b/Lang/Logo/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Dragon-curve b/Lang/Logo/Dragon-curve
new file mode 120000
index 0000000000..d194cd184d
--- /dev/null
+++ b/Lang/Logo/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/Logo
\ No newline at end of file
diff --git a/Lang/Logo/N-queens-problem b/Lang/Logo/N-queens-problem
new file mode 120000
index 0000000000..d24ebbc1f5
--- /dev/null
+++ b/Lang/Logo/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Nth-root b/Lang/Logo/Nth-root
new file mode 120000
index 0000000000..e077f8970e
--- /dev/null
+++ b/Lang/Logo/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Null-object b/Lang/Logo/Null-object
new file mode 120000
index 0000000000..9fd4238db7
--- /dev/null
+++ b/Lang/Logo/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Number-names b/Lang/Logo/Number-names
new file mode 120000
index 0000000000..497dff9d39
--- /dev/null
+++ b/Lang/Logo/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Numerical-integration b/Lang/Logo/Numerical-integration
new file mode 120000
index 0000000000..e0c5ce170e
--- /dev/null
+++ b/Lang/Logo/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/Logo
\ No newline at end of file
diff --git a/Lang/Logo/One-dimensional-cellular-automata b/Lang/Logo/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..60f926d94e
--- /dev/null
+++ b/Lang/Logo/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Optional-parameters b/Lang/Logo/Optional-parameters
new file mode 120000
index 0000000000..64e59f92da
--- /dev/null
+++ b/Lang/Logo/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Palindrome-detection b/Lang/Logo/Palindrome-detection
new file mode 120000
index 0000000000..fa6eb03a21
--- /dev/null
+++ b/Lang/Logo/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Pangram-checker b/Lang/Logo/Pangram-checker
new file mode 120000
index 0000000000..d6ad555665
--- /dev/null
+++ b/Lang/Logo/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Pascals-triangle b/Lang/Logo/Pascals-triangle
new file mode 120000
index 0000000000..309af21089
--- /dev/null
+++ b/Lang/Logo/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Perfect-numbers b/Lang/Logo/Perfect-numbers
new file mode 120000
index 0000000000..9461d999fd
--- /dev/null
+++ b/Lang/Logo/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Pick-random-element b/Lang/Logo/Pick-random-element
new file mode 120000
index 0000000000..1c5da3af10
--- /dev/null
+++ b/Lang/Logo/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Playing-cards b/Lang/Logo/Playing-cards
new file mode 120000
index 0000000000..ac5ac8bc1a
--- /dev/null
+++ b/Lang/Logo/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Power-set b/Lang/Logo/Power-set
new file mode 120000
index 0000000000..c057b1ba6b
--- /dev/null
+++ b/Lang/Logo/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Primality-by-trial-division b/Lang/Logo/Primality-by-trial-division
new file mode 120000
index 0000000000..5f0ff8f300
--- /dev/null
+++ b/Lang/Logo/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Prime-decomposition b/Lang/Logo/Prime-decomposition
new file mode 120000
index 0000000000..0a302aae93
--- /dev/null
+++ b/Lang/Logo/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Program-termination b/Lang/Logo/Program-termination
new file mode 120000
index 0000000000..d4c4dd6113
--- /dev/null
+++ b/Lang/Logo/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Queue-Usage b/Lang/Logo/Queue-Usage
new file mode 120000
index 0000000000..53859fc3c9
--- /dev/null
+++ b/Lang/Logo/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Random-numbers b/Lang/Logo/Random-numbers
new file mode 120000
index 0000000000..270b586153
--- /dev/null
+++ b/Lang/Logo/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Read-a-file-line-by-line b/Lang/Logo/Read-a-file-line-by-line
new file mode 120000
index 0000000000..15cabd6175
--- /dev/null
+++ b/Lang/Logo/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Real-constants-and-functions b/Lang/Logo/Real-constants-and-functions
new file mode 120000
index 0000000000..458ac16ec9
--- /dev/null
+++ b/Lang/Logo/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Remove-duplicate-elements b/Lang/Logo/Remove-duplicate-elements
new file mode 120000
index 0000000000..97c86b1a4f
--- /dev/null
+++ b/Lang/Logo/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Repeat-a-string b/Lang/Logo/Repeat-a-string
new file mode 120000
index 0000000000..9a13f2d9e7
--- /dev/null
+++ b/Lang/Logo/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Reverse-a-string b/Lang/Logo/Reverse-a-string
new file mode 120000
index 0000000000..10fd568c17
--- /dev/null
+++ b/Lang/Logo/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Roman-numerals-Decode b/Lang/Logo/Roman-numerals-Decode
new file mode 120000
index 0000000000..e22d8031d1
--- /dev/null
+++ b/Lang/Logo/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Roman-numerals-Encode b/Lang/Logo/Roman-numerals-Encode
new file mode 120000
index 0000000000..ffb0881b0b
--- /dev/null
+++ b/Lang/Logo/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Roots-of-a-quadratic-function b/Lang/Logo/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..b970b1589b
--- /dev/null
+++ b/Lang/Logo/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Rot-13 b/Lang/Logo/Rot-13
new file mode 120000
index 0000000000..016b7616ea
--- /dev/null
+++ b/Lang/Logo/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Run-length-encoding b/Lang/Logo/Run-length-encoding
new file mode 120000
index 0000000000..c8724d8a52
--- /dev/null
+++ b/Lang/Logo/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Scope-modifiers b/Lang/Logo/Scope-modifiers
new file mode 120000
index 0000000000..a8494407c3
--- /dev/null
+++ b/Lang/Logo/Scope-modifiers
@@ -0,0 +1 @@
+../../Task/Scope-modifiers/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Self-describing-numbers b/Lang/Logo/Self-describing-numbers
new file mode 120000
index 0000000000..10f163ccbe
--- /dev/null
+++ b/Lang/Logo/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/Logo
\ No newline at end of file
diff --git a/Lang/Logo/Sequence-of-non-squares b/Lang/Logo/Sequence-of-non-squares
new file mode 120000
index 0000000000..8b332ccde7
--- /dev/null
+++ b/Lang/Logo/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Logo
\ No newline at end of file
diff --git a/Lang/Logtalk/Permutations b/Lang/Logtalk/Permutations
new file mode 120000
index 0000000000..e1cbc26a18
--- /dev/null
+++ b/Lang/Logtalk/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Logtalk
\ No newline at end of file
diff --git a/Lang/Logtalk/Power-set b/Lang/Logtalk/Power-set
new file mode 120000
index 0000000000..e115480b20
--- /dev/null
+++ b/Lang/Logtalk/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Logtalk
\ No newline at end of file
diff --git a/Lang/LotusScript/Roman-numerals-Encode b/Lang/LotusScript/Roman-numerals-Encode
new file mode 120000
index 0000000000..140941c7b2
--- /dev/null
+++ b/Lang/LotusScript/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/LotusScript
\ No newline at end of file
diff --git a/Lang/LotusScript/Send-email b/Lang/LotusScript/Send-email
new file mode 120000
index 0000000000..707ddcec2b
--- /dev/null
+++ b/Lang/LotusScript/Send-email
@@ -0,0 +1 @@
+../../Task/Send-email/LotusScript
\ No newline at end of file
diff --git a/Lang/Lua/Brownian-tree b/Lang/Lua/Brownian-tree
new file mode 120000
index 0000000000..44fc4487f6
--- /dev/null
+++ b/Lang/Lua/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Catalan-numbers b/Lang/Lua/Catalan-numbers
new file mode 120000
index 0000000000..bc4a26a163
--- /dev/null
+++ b/Lang/Lua/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Copy-a-string b/Lang/Lua/Copy-a-string
new file mode 120000
index 0000000000..6eb0ef9053
--- /dev/null
+++ b/Lang/Lua/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Dragon-curve b/Lang/Lua/Dragon-curve
new file mode 120000
index 0000000000..a5d34bba1d
--- /dev/null
+++ b/Lang/Lua/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Environment-variables b/Lang/Lua/Environment-variables
new file mode 120000
index 0000000000..a195ab1a92
--- /dev/null
+++ b/Lang/Lua/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Lua
\ No newline at end of file
diff --git a/Lang/Lua/N-queens-problem b/Lang/Lua/N-queens-problem
new file mode 120000
index 0000000000..6a4e099721
--- /dev/null
+++ b/Lang/Lua/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Named-parameters b/Lang/Lua/Named-parameters
new file mode 120000
index 0000000000..38437112e7
--- /dev/null
+++ b/Lang/Lua/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Non-decimal-radices-Input b/Lang/Lua/Non-decimal-radices-Input
new file mode 120000
index 0000000000..b6693cf233
--- /dev/null
+++ b/Lang/Lua/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Non-decimal-radices-Output b/Lang/Lua/Non-decimal-radices-Output
new file mode 120000
index 0000000000..5e4a953f5c
--- /dev/null
+++ b/Lang/Lua/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Nth-root b/Lang/Lua/Nth-root
new file mode 120000
index 0000000000..1717696857
--- /dev/null
+++ b/Lang/Lua/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Null-object b/Lang/Lua/Null-object
new file mode 120000
index 0000000000..e4aa16d257
--- /dev/null
+++ b/Lang/Lua/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Number-names b/Lang/Lua/Number-names
new file mode 120000
index 0000000000..57dd6183e2
--- /dev/null
+++ b/Lang/Lua/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Numerical-integration b/Lang/Lua/Numerical-integration
new file mode 120000
index 0000000000..88cf7bc7b0
--- /dev/null
+++ b/Lang/Lua/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/Lua
\ No newline at end of file
diff --git a/Lang/Lua/One-dimensional-cellular-automata b/Lang/Lua/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..ab87f26617
--- /dev/null
+++ b/Lang/Lua/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Lua
\ No newline at end of file
diff --git a/Lang/Lua/OpenGL b/Lang/Lua/OpenGL
new file mode 120000
index 0000000000..4dbc42d4a8
--- /dev/null
+++ b/Lang/Lua/OpenGL
@@ -0,0 +1 @@
+../../Task/OpenGL/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Ordered-Partitions b/Lang/Lua/Ordered-Partitions
new file mode 120000
index 0000000000..6a82baa54c
--- /dev/null
+++ b/Lang/Lua/Ordered-Partitions
@@ -0,0 +1 @@
+../../Task/Ordered-Partitions/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Palindrome-detection b/Lang/Lua/Palindrome-detection
new file mode 120000
index 0000000000..8307b473a0
--- /dev/null
+++ b/Lang/Lua/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Pangram-checker b/Lang/Lua/Pangram-checker
new file mode 120000
index 0000000000..56aae2febe
--- /dev/null
+++ b/Lang/Lua/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Pascals-triangle b/Lang/Lua/Pascals-triangle
new file mode 120000
index 0000000000..d53a99b4e3
--- /dev/null
+++ b/Lang/Lua/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Perfect-numbers b/Lang/Lua/Perfect-numbers
new file mode 120000
index 0000000000..c38eb07af6
--- /dev/null
+++ b/Lang/Lua/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Permutations b/Lang/Lua/Permutations
new file mode 120000
index 0000000000..ec355660dd
--- /dev/null
+++ b/Lang/Lua/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Pick-random-element b/Lang/Lua/Pick-random-element
new file mode 120000
index 0000000000..e73d106bc9
--- /dev/null
+++ b/Lang/Lua/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Playing-cards b/Lang/Lua/Playing-cards
new file mode 120000
index 0000000000..0046faf040
--- /dev/null
+++ b/Lang/Lua/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Polymorphism b/Lang/Lua/Polymorphism
new file mode 120000
index 0000000000..4c53dc96fb
--- /dev/null
+++ b/Lang/Lua/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Power-set b/Lang/Lua/Power-set
new file mode 120000
index 0000000000..758c1029a6
--- /dev/null
+++ b/Lang/Lua/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Primality-by-trial-division b/Lang/Lua/Primality-by-trial-division
new file mode 120000
index 0000000000..353d5ece1b
--- /dev/null
+++ b/Lang/Lua/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Prime-decomposition b/Lang/Lua/Prime-decomposition
new file mode 120000
index 0000000000..07f2af691a
--- /dev/null
+++ b/Lang/Lua/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Probabilistic-choice b/Lang/Lua/Probabilistic-choice
new file mode 120000
index 0000000000..ab4a0b6596
--- /dev/null
+++ b/Lang/Lua/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Program-name b/Lang/Lua/Program-name
new file mode 120000
index 0000000000..4dcc3359bb
--- /dev/null
+++ b/Lang/Lua/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Program-termination b/Lang/Lua/Program-termination
new file mode 120000
index 0000000000..cf3586e3c6
--- /dev/null
+++ b/Lang/Lua/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Quaternion-type b/Lang/Lua/Quaternion-type
new file mode 120000
index 0000000000..09499b7f9c
--- /dev/null
+++ b/Lang/Lua/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Queue-Definition b/Lang/Lua/Queue-Definition
new file mode 120000
index 0000000000..d7da0cb0f5
--- /dev/null
+++ b/Lang/Lua/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Queue-Usage b/Lang/Lua/Queue-Usage
new file mode 120000
index 0000000000..d1e7b9029b
--- /dev/null
+++ b/Lang/Lua/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Read-a-configuration-file b/Lang/Lua/Read-a-configuration-file
new file mode 120000
index 0000000000..45c4daabff
--- /dev/null
+++ b/Lang/Lua/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Read-a-file-line-by-line b/Lang/Lua/Read-a-file-line-by-line
new file mode 120000
index 0000000000..90cb5dee89
--- /dev/null
+++ b/Lang/Lua/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Read-entire-file b/Lang/Lua/Read-entire-file
new file mode 120000
index 0000000000..627652cd51
--- /dev/null
+++ b/Lang/Lua/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Real-constants-and-functions b/Lang/Lua/Real-constants-and-functions
new file mode 120000
index 0000000000..008122c499
--- /dev/null
+++ b/Lang/Lua/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Reduced-row-echelon-form b/Lang/Lua/Reduced-row-echelon-form
new file mode 120000
index 0000000000..e9fe77f6ab
--- /dev/null
+++ b/Lang/Lua/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Regular-expressions b/Lang/Lua/Regular-expressions
new file mode 120000
index 0000000000..8df5bed6f5
--- /dev/null
+++ b/Lang/Lua/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Remove-duplicate-elements b/Lang/Lua/Remove-duplicate-elements
new file mode 120000
index 0000000000..53c3bd2629
--- /dev/null
+++ b/Lang/Lua/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Remove-lines-from-a-file b/Lang/Lua/Remove-lines-from-a-file
new file mode 120000
index 0000000000..7eaf2a1b53
--- /dev/null
+++ b/Lang/Lua/Remove-lines-from-a-file
@@ -0,0 +1 @@
+../../Task/Remove-lines-from-a-file/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Rename-a-file b/Lang/Lua/Rename-a-file
new file mode 120000
index 0000000000..9ec1a435c7
--- /dev/null
+++ b/Lang/Lua/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Repeat-a-string b/Lang/Lua/Repeat-a-string
new file mode 120000
index 0000000000..cab580a75b
--- /dev/null
+++ b/Lang/Lua/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Respond-to-an-unknown-method-call b/Lang/Lua/Respond-to-an-unknown-method-call
new file mode 120000
index 0000000000..e70ce91dee
--- /dev/null
+++ b/Lang/Lua/Respond-to-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Respond-to-an-unknown-method-call/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Return-multiple-values b/Lang/Lua/Return-multiple-values
new file mode 120000
index 0000000000..cb950ab97b
--- /dev/null
+++ b/Lang/Lua/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Reverse-a-string b/Lang/Lua/Reverse-a-string
new file mode 120000
index 0000000000..fd7587a2a0
--- /dev/null
+++ b/Lang/Lua/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Roman-numerals-Decode b/Lang/Lua/Roman-numerals-Decode
new file mode 120000
index 0000000000..bf896555e6
--- /dev/null
+++ b/Lang/Lua/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Roman-numerals-Encode b/Lang/Lua/Roman-numerals-Encode
new file mode 120000
index 0000000000..9cdcd29c5c
--- /dev/null
+++ b/Lang/Lua/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Roots-of-a-quadratic-function b/Lang/Lua/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..21dbbf0c06
--- /dev/null
+++ b/Lang/Lua/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Roots-of-unity b/Lang/Lua/Roots-of-unity
new file mode 120000
index 0000000000..6855462d00
--- /dev/null
+++ b/Lang/Lua/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Rosetta-Code-Fix-code-tags b/Lang/Lua/Rosetta-Code-Fix-code-tags
new file mode 120000
index 0000000000..e7c76ee04a
--- /dev/null
+++ b/Lang/Lua/Rosetta-Code-Fix-code-tags
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Fix-code-tags/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Rot-13 b/Lang/Lua/Rot-13
new file mode 120000
index 0000000000..75dccf99c6
--- /dev/null
+++ b/Lang/Lua/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Run-length-encoding b/Lang/Lua/Run-length-encoding
new file mode 120000
index 0000000000..77bf7176f9
--- /dev/null
+++ b/Lang/Lua/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Runtime-evaluation b/Lang/Lua/Runtime-evaluation
new file mode 120000
index 0000000000..b3f295e229
--- /dev/null
+++ b/Lang/Lua/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Runtime-evaluation-In-an-environment b/Lang/Lua/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..27055fa698
--- /dev/null
+++ b/Lang/Lua/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Secure-temporary-file b/Lang/Lua/Secure-temporary-file
new file mode 120000
index 0000000000..7018b33db2
--- /dev/null
+++ b/Lang/Lua/Secure-temporary-file
@@ -0,0 +1 @@
+../../Task/Secure-temporary-file/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Self-describing-numbers b/Lang/Lua/Self-describing-numbers
new file mode 120000
index 0000000000..b189ac8764
--- /dev/null
+++ b/Lang/Lua/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Send-email b/Lang/Lua/Send-email
new file mode 120000
index 0000000000..bbb76bcaca
--- /dev/null
+++ b/Lang/Lua/Send-email
@@ -0,0 +1 @@
+../../Task/Send-email/Lua
\ No newline at end of file
diff --git a/Lang/Lua/Sequence-of-non-squares b/Lang/Lua/Sequence-of-non-squares
new file mode 120000
index 0000000000..288f274077
--- /dev/null
+++ b/Lang/Lua/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Lua
\ No newline at end of file
diff --git a/Lang/M4/Non-decimal-radices-Convert b/Lang/M4/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..ec6f67cf2c
--- /dev/null
+++ b/Lang/M4/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/M4
\ No newline at end of file
diff --git a/Lang/M4/One-dimensional-cellular-automata b/Lang/M4/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..180a59a590
--- /dev/null
+++ b/Lang/M4/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/M4
\ No newline at end of file
diff --git a/Lang/M4/Palindrome-detection b/Lang/M4/Palindrome-detection
new file mode 120000
index 0000000000..ef32695120
--- /dev/null
+++ b/Lang/M4/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/M4
\ No newline at end of file
diff --git a/Lang/M4/Perfect-numbers b/Lang/M4/Perfect-numbers
new file mode 120000
index 0000000000..ce71c54f18
--- /dev/null
+++ b/Lang/M4/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/M4
\ No newline at end of file
diff --git a/Lang/M4/Playing-cards b/Lang/M4/Playing-cards
new file mode 120000
index 0000000000..e687e26a77
--- /dev/null
+++ b/Lang/M4/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/M4
\ No newline at end of file
diff --git a/Lang/M4/Power-set b/Lang/M4/Power-set
new file mode 120000
index 0000000000..fc61c35fe4
--- /dev/null
+++ b/Lang/M4/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/M4
\ No newline at end of file
diff --git a/Lang/M4/Primality-by-trial-division b/Lang/M4/Primality-by-trial-division
new file mode 120000
index 0000000000..35ecac51e4
--- /dev/null
+++ b/Lang/M4/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/M4
\ No newline at end of file
diff --git a/Lang/M4/Program-termination b/Lang/M4/Program-termination
new file mode 120000
index 0000000000..2f2fb8cf6d
--- /dev/null
+++ b/Lang/M4/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/M4
\ No newline at end of file
diff --git a/Lang/M4/Regular-expressions b/Lang/M4/Regular-expressions
new file mode 120000
index 0000000000..8b02a7f4cd
--- /dev/null
+++ b/Lang/M4/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/M4
\ No newline at end of file
diff --git a/Lang/M4/Reverse-a-string b/Lang/M4/Reverse-a-string
new file mode 120000
index 0000000000..888bf6f652
--- /dev/null
+++ b/Lang/M4/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/M4
\ No newline at end of file
diff --git a/Lang/M4/Roman-numerals-Encode b/Lang/M4/Roman-numerals-Encode
new file mode 120000
index 0000000000..b5376aeba7
--- /dev/null
+++ b/Lang/M4/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/M4
\ No newline at end of file
diff --git a/Lang/M4/SEDOLs b/Lang/M4/SEDOLs
new file mode 120000
index 0000000000..10ca482ba9
--- /dev/null
+++ b/Lang/M4/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/M4
\ No newline at end of file
diff --git a/Lang/MATLAB/Arbitrary-precision-integers--included- b/Lang/MATLAB/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..4f98ad69a4
--- /dev/null
+++ b/Lang/MATLAB/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Arbitrary-precision-integers-included b/Lang/MATLAB/Arbitrary-precision-integers-included
deleted file mode 120000
index cf35fb8cd2..0000000000
--- a/Lang/MATLAB/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Binary-digits b/Lang/MATLAB/Binary-digits
new file mode 120000
index 0000000000..d543f20365
--- /dev/null
+++ b/Lang/MATLAB/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Catalan-numbers b/Lang/MATLAB/Catalan-numbers
new file mode 120000
index 0000000000..617a7d1213
--- /dev/null
+++ b/Lang/MATLAB/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Copy-a-string b/Lang/MATLAB/Copy-a-string
new file mode 120000
index 0000000000..12537bd50a
--- /dev/null
+++ b/Lang/MATLAB/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Environment-variables b/Lang/MATLAB/Environment-variables
new file mode 120000
index 0000000000..4784015f2c
--- /dev/null
+++ b/Lang/MATLAB/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Named-parameters b/Lang/MATLAB/Named-parameters
new file mode 120000
index 0000000000..f78fd0b3c4
--- /dev/null
+++ b/Lang/MATLAB/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Nth-root b/Lang/MATLAB/Nth-root
new file mode 120000
index 0000000000..880f530cf7
--- /dev/null
+++ b/Lang/MATLAB/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Numerical-integration b/Lang/MATLAB/Numerical-integration
new file mode 120000
index 0000000000..4ba7b0da72
--- /dev/null
+++ b/Lang/MATLAB/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Palindrome-detection b/Lang/MATLAB/Palindrome-detection
new file mode 120000
index 0000000000..97115cc637
--- /dev/null
+++ b/Lang/MATLAB/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Pangram-checker b/Lang/MATLAB/Pangram-checker
new file mode 120000
index 0000000000..3d02a01744
--- /dev/null
+++ b/Lang/MATLAB/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Pascals-triangle b/Lang/MATLAB/Pascals-triangle
new file mode 120000
index 0000000000..9d661b0d77
--- /dev/null
+++ b/Lang/MATLAB/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Pick-random-element b/Lang/MATLAB/Pick-random-element
new file mode 120000
index 0000000000..62c253ba72
--- /dev/null
+++ b/Lang/MATLAB/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Plot-coordinate-pairs b/Lang/MATLAB/Plot-coordinate-pairs
new file mode 120000
index 0000000000..ddff33c5fc
--- /dev/null
+++ b/Lang/MATLAB/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Polynomial-regression b/Lang/MATLAB/Polynomial-regression
new file mode 120000
index 0000000000..854b918d1f
--- /dev/null
+++ b/Lang/MATLAB/Polynomial-regression
@@ -0,0 +1 @@
+../../Task/Polynomial-regression/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Power-set b/Lang/MATLAB/Power-set
new file mode 120000
index 0000000000..0376eee52e
--- /dev/null
+++ b/Lang/MATLAB/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Price-fraction b/Lang/MATLAB/Price-fraction
new file mode 120000
index 0000000000..0060bd2d11
--- /dev/null
+++ b/Lang/MATLAB/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Primality-by-trial-division b/Lang/MATLAB/Primality-by-trial-division
new file mode 120000
index 0000000000..0c93c031c9
--- /dev/null
+++ b/Lang/MATLAB/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Prime-decomposition b/Lang/MATLAB/Prime-decomposition
new file mode 120000
index 0000000000..38191a82ea
--- /dev/null
+++ b/Lang/MATLAB/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Program-termination b/Lang/MATLAB/Program-termination
new file mode 120000
index 0000000000..947b447cec
--- /dev/null
+++ b/Lang/MATLAB/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Pythagorean-triples b/Lang/MATLAB/Pythagorean-triples
new file mode 120000
index 0000000000..214258f858
--- /dev/null
+++ b/Lang/MATLAB/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/QR-decomposition b/Lang/MATLAB/QR-decomposition
new file mode 120000
index 0000000000..591a3f24f7
--- /dev/null
+++ b/Lang/MATLAB/QR-decomposition
@@ -0,0 +1 @@
+../../Task/QR-decomposition/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Queue-Definition b/Lang/MATLAB/Queue-Definition
new file mode 120000
index 0000000000..f55df20561
--- /dev/null
+++ b/Lang/MATLAB/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Random-numbers b/Lang/MATLAB/Random-numbers
new file mode 120000
index 0000000000..9da1287967
--- /dev/null
+++ b/Lang/MATLAB/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Read-a-configuration-file b/Lang/MATLAB/Read-a-configuration-file
new file mode 120000
index 0000000000..486dfde9ca
--- /dev/null
+++ b/Lang/MATLAB/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Read-a-file-line-by-line b/Lang/MATLAB/Read-a-file-line-by-line
new file mode 120000
index 0000000000..4c44a876ac
--- /dev/null
+++ b/Lang/MATLAB/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Read-a-specific-line-from-a-file b/Lang/MATLAB/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..2877272c9e
--- /dev/null
+++ b/Lang/MATLAB/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Read-entire-file b/Lang/MATLAB/Read-entire-file
new file mode 120000
index 0000000000..1b2236321e
--- /dev/null
+++ b/Lang/MATLAB/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Reduced-row-echelon-form b/Lang/MATLAB/Reduced-row-echelon-form
new file mode 120000
index 0000000000..1efd5c3054
--- /dev/null
+++ b/Lang/MATLAB/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Remove-duplicate-elements b/Lang/MATLAB/Remove-duplicate-elements
new file mode 120000
index 0000000000..3ae0421f04
--- /dev/null
+++ b/Lang/MATLAB/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Rename-a-file b/Lang/MATLAB/Rename-a-file
new file mode 120000
index 0000000000..b8553c094e
--- /dev/null
+++ b/Lang/MATLAB/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Repeat-a-string b/Lang/MATLAB/Repeat-a-string
new file mode 120000
index 0000000000..dc72089136
--- /dev/null
+++ b/Lang/MATLAB/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Return-multiple-values b/Lang/MATLAB/Return-multiple-values
new file mode 120000
index 0000000000..d3160f6e0d
--- /dev/null
+++ b/Lang/MATLAB/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Reverse-a-string b/Lang/MATLAB/Reverse-a-string
new file mode 120000
index 0000000000..7e9d24ed7e
--- /dev/null
+++ b/Lang/MATLAB/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Roots-of-a-quadratic-function b/Lang/MATLAB/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..b077ada105
--- /dev/null
+++ b/Lang/MATLAB/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Roots-of-unity b/Lang/MATLAB/Roots-of-unity
new file mode 120000
index 0000000000..2a5d1329e5
--- /dev/null
+++ b/Lang/MATLAB/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Rosetta-Code-Count-examples b/Lang/MATLAB/Rosetta-Code-Count-examples
new file mode 120000
index 0000000000..68b7269d68
--- /dev/null
+++ b/Lang/MATLAB/Rosetta-Code-Count-examples
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Count-examples/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Rot-13 b/Lang/MATLAB/Rot-13
new file mode 120000
index 0000000000..5d668c195a
--- /dev/null
+++ b/Lang/MATLAB/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Self-describing-numbers b/Lang/MATLAB/Self-describing-numbers
new file mode 120000
index 0000000000..c39827a7c5
--- /dev/null
+++ b/Lang/MATLAB/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Send-an-unknown-method-call b/Lang/MATLAB/Send-an-unknown-method-call
new file mode 120000
index 0000000000..652bd780ed
--- /dev/null
+++ b/Lang/MATLAB/Send-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Send-an-unknown-method-call/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Sequence-of-non-squares b/Lang/MATLAB/Sequence-of-non-squares
new file mode 120000
index 0000000000..af06519925
--- /dev/null
+++ b/Lang/MATLAB/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/MATLAB
\ No newline at end of file
diff --git a/Lang/MATLAB/Set b/Lang/MATLAB/Set
new file mode 120000
index 0000000000..874b4f3dec
--- /dev/null
+++ b/Lang/MATLAB/Set
@@ -0,0 +1 @@
+../../Task/Set/MATLAB
\ No newline at end of file
diff --git a/Lang/MAXScript/Copy-a-string b/Lang/MAXScript/Copy-a-string
new file mode 120000
index 0000000000..3478ef131f
--- /dev/null
+++ b/Lang/MAXScript/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/MAXScript
\ No newline at end of file
diff --git a/Lang/MAXScript/Null-object b/Lang/MAXScript/Null-object
new file mode 120000
index 0000000000..6a7acc5340
--- /dev/null
+++ b/Lang/MAXScript/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/MAXScript
\ No newline at end of file
diff --git a/Lang/MAXScript/Number-names b/Lang/MAXScript/Number-names
new file mode 120000
index 0000000000..7a94c1d027
--- /dev/null
+++ b/Lang/MAXScript/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/MAXScript
\ No newline at end of file
diff --git a/Lang/MAXScript/OpenGL b/Lang/MAXScript/OpenGL
new file mode 120000
index 0000000000..a8719ac1c2
--- /dev/null
+++ b/Lang/MAXScript/OpenGL
@@ -0,0 +1 @@
+../../Task/OpenGL/MAXScript
\ No newline at end of file
diff --git a/Lang/MAXScript/Palindrome-detection b/Lang/MAXScript/Palindrome-detection
new file mode 120000
index 0000000000..f5e58b0fb4
--- /dev/null
+++ b/Lang/MAXScript/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/MAXScript
\ No newline at end of file
diff --git a/Lang/MAXScript/Percentage-difference-between-images b/Lang/MAXScript/Percentage-difference-between-images
new file mode 120000
index 0000000000..9faa1d2d8a
--- /dev/null
+++ b/Lang/MAXScript/Percentage-difference-between-images
@@ -0,0 +1 @@
+../../Task/Percentage-difference-between-images/MAXScript
\ No newline at end of file
diff --git a/Lang/MAXScript/Perfect-numbers b/Lang/MAXScript/Perfect-numbers
new file mode 120000
index 0000000000..a6cec96bfa
--- /dev/null
+++ b/Lang/MAXScript/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/MAXScript
\ No newline at end of file
diff --git a/Lang/MAXScript/Primality-by-trial-division b/Lang/MAXScript/Primality-by-trial-division
new file mode 120000
index 0000000000..46e46141e7
--- /dev/null
+++ b/Lang/MAXScript/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/MAXScript
\ No newline at end of file
diff --git a/Lang/MAXScript/Random-numbers b/Lang/MAXScript/Random-numbers
new file mode 120000
index 0000000000..1d3734a0d6
--- /dev/null
+++ b/Lang/MAXScript/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/MAXScript
\ No newline at end of file
diff --git a/Lang/MAXScript/Real-constants-and-functions b/Lang/MAXScript/Real-constants-and-functions
new file mode 120000
index 0000000000..4cefc050fa
--- /dev/null
+++ b/Lang/MAXScript/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/MAXScript
\ No newline at end of file
diff --git a/Lang/MAXScript/Remove-duplicate-elements b/Lang/MAXScript/Remove-duplicate-elements
new file mode 120000
index 0000000000..66be62cd56
--- /dev/null
+++ b/Lang/MAXScript/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/MAXScript
\ No newline at end of file
diff --git a/Lang/MAXScript/Rename-a-file b/Lang/MAXScript/Rename-a-file
new file mode 120000
index 0000000000..980c368141
--- /dev/null
+++ b/Lang/MAXScript/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/MAXScript
\ No newline at end of file
diff --git a/Lang/MAXScript/Reverse-a-string b/Lang/MAXScript/Reverse-a-string
new file mode 120000
index 0000000000..fefd04a9c6
--- /dev/null
+++ b/Lang/MAXScript/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/MAXScript
\ No newline at end of file
diff --git a/Lang/MIRC-Scripting-Language/Regular-expressions b/Lang/MIRC-Scripting-Language/Regular-expressions
new file mode 120000
index 0000000000..18795bcefa
--- /dev/null
+++ b/Lang/MIRC-Scripting-Language/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/MIRC-Scripting-Language
\ No newline at end of file
diff --git a/Lang/MMIX/Palindrome-detection b/Lang/MMIX/Palindrome-detection
new file mode 120000
index 0000000000..2a5ea3c282
--- /dev/null
+++ b/Lang/MMIX/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/MMIX
\ No newline at end of file
diff --git a/Lang/MMIX/Rot-13 b/Lang/MMIX/Rot-13
new file mode 120000
index 0000000000..d9b05bd26f
--- /dev/null
+++ b/Lang/MMIX/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/MMIX
\ No newline at end of file
diff --git a/Lang/MMIX/Run-length-encoding b/Lang/MMIX/Run-length-encoding
new file mode 120000
index 0000000000..76042ef33d
--- /dev/null
+++ b/Lang/MMIX/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/MMIX
\ No newline at end of file
diff --git a/Lang/MMIX/Sequence-of-non-squares b/Lang/MMIX/Sequence-of-non-squares
new file mode 120000
index 0000000000..3ce2b4d095
--- /dev/null
+++ b/Lang/MMIX/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/MMIX
\ No newline at end of file
diff --git a/Lang/MUMPS/Copy-a-string b/Lang/MUMPS/Copy-a-string
new file mode 120000
index 0000000000..c6fc4a4894
--- /dev/null
+++ b/Lang/MUMPS/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/MUMPS
\ No newline at end of file
diff --git a/Lang/MUMPS/Environment-variables b/Lang/MUMPS/Environment-variables
new file mode 120000
index 0000000000..9bd88b8bc0
--- /dev/null
+++ b/Lang/MUMPS/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/MUMPS
\ No newline at end of file
diff --git a/Lang/MUMPS/N-queens-problem b/Lang/MUMPS/N-queens-problem
new file mode 120000
index 0000000000..9127f9613f
--- /dev/null
+++ b/Lang/MUMPS/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/MUMPS
\ No newline at end of file
diff --git a/Lang/MUMPS/Null-object b/Lang/MUMPS/Null-object
new file mode 120000
index 0000000000..cc7430ca5e
--- /dev/null
+++ b/Lang/MUMPS/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/MUMPS
\ No newline at end of file
diff --git a/Lang/MUMPS/Price-fraction b/Lang/MUMPS/Price-fraction
new file mode 120000
index 0000000000..008cfe029a
--- /dev/null
+++ b/Lang/MUMPS/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/MUMPS
\ No newline at end of file
diff --git a/Lang/MUMPS/Primality-by-trial-division b/Lang/MUMPS/Primality-by-trial-division
new file mode 120000
index 0000000000..5000492fc7
--- /dev/null
+++ b/Lang/MUMPS/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/MUMPS
\ No newline at end of file
diff --git a/Lang/MUMPS/Prime-decomposition b/Lang/MUMPS/Prime-decomposition
new file mode 120000
index 0000000000..514fa678c4
--- /dev/null
+++ b/Lang/MUMPS/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/MUMPS
\ No newline at end of file
diff --git a/Lang/MUMPS/Problem-of-Apollonius b/Lang/MUMPS/Problem-of-Apollonius
new file mode 120000
index 0000000000..e042fe2c0a
--- /dev/null
+++ b/Lang/MUMPS/Problem-of-Apollonius
@@ -0,0 +1 @@
+../../Task/Problem-of-Apollonius/MUMPS
\ No newline at end of file
diff --git a/Lang/MUMPS/Range-expansion b/Lang/MUMPS/Range-expansion
new file mode 120000
index 0000000000..1b42d2e211
--- /dev/null
+++ b/Lang/MUMPS/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/MUMPS
\ No newline at end of file
diff --git a/Lang/MUMPS/Range-extraction b/Lang/MUMPS/Range-extraction
new file mode 120000
index 0000000000..9e4099397d
--- /dev/null
+++ b/Lang/MUMPS/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/MUMPS
\ No newline at end of file
diff --git a/Lang/MUMPS/Regular-expressions b/Lang/MUMPS/Regular-expressions
new file mode 120000
index 0000000000..002fd0df11
--- /dev/null
+++ b/Lang/MUMPS/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/MUMPS
\ No newline at end of file
diff --git a/Lang/MUMPS/Remove-duplicate-elements b/Lang/MUMPS/Remove-duplicate-elements
new file mode 120000
index 0000000000..928d1acf81
--- /dev/null
+++ b/Lang/MUMPS/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/MUMPS
\ No newline at end of file
diff --git a/Lang/MUMPS/Rename-a-file b/Lang/MUMPS/Rename-a-file
new file mode 120000
index 0000000000..b5d3c14256
--- /dev/null
+++ b/Lang/MUMPS/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/MUMPS
\ No newline at end of file
diff --git a/Lang/MUMPS/Repeat-a-string b/Lang/MUMPS/Repeat-a-string
new file mode 120000
index 0000000000..cabe90eb10
--- /dev/null
+++ b/Lang/MUMPS/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/MUMPS
\ No newline at end of file
diff --git a/Lang/MUMPS/Reverse-a-string b/Lang/MUMPS/Reverse-a-string
new file mode 120000
index 0000000000..67356accb7
--- /dev/null
+++ b/Lang/MUMPS/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/MUMPS
\ No newline at end of file
diff --git a/Lang/MUMPS/Roman-numerals-Encode b/Lang/MUMPS/Roman-numerals-Encode
new file mode 120000
index 0000000000..e360bdf836
--- /dev/null
+++ b/Lang/MUMPS/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/MUMPS
\ No newline at end of file
diff --git a/Lang/MUMPS/Rot-13 b/Lang/MUMPS/Rot-13
new file mode 120000
index 0000000000..9c1e749b88
--- /dev/null
+++ b/Lang/MUMPS/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/MUMPS
\ No newline at end of file
diff --git a/Lang/MUMPS/SEDOLs b/Lang/MUMPS/SEDOLs
new file mode 120000
index 0000000000..d568187dea
--- /dev/null
+++ b/Lang/MUMPS/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/MUMPS
\ No newline at end of file
diff --git a/Lang/MUMPS/Scope-modifiers b/Lang/MUMPS/Scope-modifiers
new file mode 120000
index 0000000000..5813e7af9c
--- /dev/null
+++ b/Lang/MUMPS/Scope-modifiers
@@ -0,0 +1 @@
+../../Task/Scope-modifiers/MUMPS
\ No newline at end of file
diff --git a/Lang/Maple/Arbitrary-precision-integers--included- b/Lang/Maple/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..4527af667f
--- /dev/null
+++ b/Lang/Maple/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Maple
\ No newline at end of file
diff --git a/Lang/Maple/Arbitrary-precision-integers-included b/Lang/Maple/Arbitrary-precision-integers-included
deleted file mode 120000
index 4e0aba7d23..0000000000
--- a/Lang/Maple/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Maple
\ No newline at end of file
diff --git a/Lang/Maple/Binary-digits b/Lang/Maple/Binary-digits
new file mode 120000
index 0000000000..1d00fb60b6
--- /dev/null
+++ b/Lang/Maple/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Maple
\ No newline at end of file
diff --git a/Lang/Maple/Copy-a-string b/Lang/Maple/Copy-a-string
new file mode 120000
index 0000000000..9b9f889bd6
--- /dev/null
+++ b/Lang/Maple/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Maple
\ No newline at end of file
diff --git a/Lang/Maple/Permutations b/Lang/Maple/Permutations
new file mode 120000
index 0000000000..c35a4c15b6
--- /dev/null
+++ b/Lang/Maple/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Maple
\ No newline at end of file
diff --git a/Lang/Maple/Polynomial-long-division b/Lang/Maple/Polynomial-long-division
new file mode 120000
index 0000000000..3992b6c400
--- /dev/null
+++ b/Lang/Maple/Polynomial-long-division
@@ -0,0 +1 @@
+../../Task/Polynomial-long-division/Maple
\ No newline at end of file
diff --git a/Lang/Maple/Primality-by-trial-division b/Lang/Maple/Primality-by-trial-division
new file mode 120000
index 0000000000..a0dcab9e77
--- /dev/null
+++ b/Lang/Maple/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Maple
\ No newline at end of file
diff --git a/Lang/Maple/Range-expansion b/Lang/Maple/Range-expansion
new file mode 120000
index 0000000000..fcde921a4d
--- /dev/null
+++ b/Lang/Maple/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/Maple
\ No newline at end of file
diff --git a/Lang/Maple/Read-entire-file b/Lang/Maple/Read-entire-file
new file mode 120000
index 0000000000..7ca322313e
--- /dev/null
+++ b/Lang/Maple/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Maple
\ No newline at end of file
diff --git a/Lang/Maple/Real-constants-and-functions b/Lang/Maple/Real-constants-and-functions
new file mode 120000
index 0000000000..bfaecd6cd9
--- /dev/null
+++ b/Lang/Maple/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Maple
\ No newline at end of file
diff --git a/Lang/Maple/Remove-duplicate-elements b/Lang/Maple/Remove-duplicate-elements
new file mode 120000
index 0000000000..ef2eabbbc2
--- /dev/null
+++ b/Lang/Maple/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Maple
\ No newline at end of file
diff --git a/Lang/Maple/Rename-a-file b/Lang/Maple/Rename-a-file
new file mode 120000
index 0000000000..a3ed7baee8
--- /dev/null
+++ b/Lang/Maple/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Maple
\ No newline at end of file
diff --git a/Lang/Maple/Repeat-a-string b/Lang/Maple/Repeat-a-string
new file mode 120000
index 0000000000..4df8085eaf
--- /dev/null
+++ b/Lang/Maple/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Maple
\ No newline at end of file
diff --git a/Lang/Maple/Return-multiple-values b/Lang/Maple/Return-multiple-values
new file mode 120000
index 0000000000..89adf801bc
--- /dev/null
+++ b/Lang/Maple/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Maple
\ No newline at end of file
diff --git a/Lang/Maple/Reverse-a-string b/Lang/Maple/Reverse-a-string
new file mode 120000
index 0000000000..63bea877fa
--- /dev/null
+++ b/Lang/Maple/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Maple
\ No newline at end of file
diff --git a/Lang/Maple/Roots-of-a-function b/Lang/Maple/Roots-of-a-function
new file mode 120000
index 0000000000..a9b0a853ac
--- /dev/null
+++ b/Lang/Maple/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/Maple
\ No newline at end of file
diff --git a/Lang/Maple/Rot-13 b/Lang/Maple/Rot-13
new file mode 120000
index 0000000000..7e5eec63bb
--- /dev/null
+++ b/Lang/Maple/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Maple
\ No newline at end of file
diff --git a/Lang/Maple/Set b/Lang/Maple/Set
new file mode 120000
index 0000000000..8300adf85b
--- /dev/null
+++ b/Lang/Maple/Set
@@ -0,0 +1 @@
+../../Task/Set/Maple
\ No newline at end of file
diff --git a/Lang/Mathematica/Arbitrary-precision-integers--included- b/Lang/Mathematica/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..0edc448f72
--- /dev/null
+++ b/Lang/Mathematica/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Arbitrary-precision-integers-included b/Lang/Mathematica/Arbitrary-precision-integers-included
deleted file mode 120000
index 7fcf201d66..0000000000
--- a/Lang/Mathematica/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Binary-digits b/Lang/Mathematica/Binary-digits
new file mode 120000
index 0000000000..326bcfb957
--- /dev/null
+++ b/Lang/Mathematica/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Brownian-tree b/Lang/Mathematica/Brownian-tree
new file mode 120000
index 0000000000..ce66c8cf55
--- /dev/null
+++ b/Lang/Mathematica/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Catalan-numbers b/Lang/Mathematica/Catalan-numbers
new file mode 120000
index 0000000000..15f67e7664
--- /dev/null
+++ b/Lang/Mathematica/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Copy-a-string b/Lang/Mathematica/Copy-a-string
new file mode 120000
index 0000000000..a418b8d62b
--- /dev/null
+++ b/Lang/Mathematica/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Dragon-curve b/Lang/Mathematica/Dragon-curve
new file mode 120000
index 0000000000..06febdac49
--- /dev/null
+++ b/Lang/Mathematica/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Environment-variables b/Lang/Mathematica/Environment-variables
new file mode 120000
index 0000000000..02e3003113
--- /dev/null
+++ b/Lang/Mathematica/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Execute-a-Markov-algorithm b/Lang/Mathematica/Execute-a-Markov-algorithm
new file mode 120000
index 0000000000..0445d2a34c
--- /dev/null
+++ b/Lang/Mathematica/Execute-a-Markov-algorithm
@@ -0,0 +1 @@
+../../Task/Execute-a-Markov-algorithm/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Guess-the-number-With-feedback--player- b/Lang/Mathematica/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..e42282d691
--- /dev/null
+++ b/Lang/Mathematica/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Guess-the-number-With-feedback-player b/Lang/Mathematica/Guess-the-number-With-feedback-player
deleted file mode 120000
index 56824819ff..0000000000
--- a/Lang/Mathematica/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/N-queens-problem b/Lang/Mathematica/N-queens-problem
new file mode 120000
index 0000000000..f2ed6f18a6
--- /dev/null
+++ b/Lang/Mathematica/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Named-parameters b/Lang/Mathematica/Named-parameters
new file mode 120000
index 0000000000..62b1c7f544
--- /dev/null
+++ b/Lang/Mathematica/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Non-continuous-subsequences b/Lang/Mathematica/Non-continuous-subsequences
new file mode 120000
index 0000000000..429f0db3d8
--- /dev/null
+++ b/Lang/Mathematica/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Non-decimal-radices-Convert b/Lang/Mathematica/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..1146157a65
--- /dev/null
+++ b/Lang/Mathematica/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Non-decimal-radices-Input b/Lang/Mathematica/Non-decimal-radices-Input
new file mode 120000
index 0000000000..990b48b2ac
--- /dev/null
+++ b/Lang/Mathematica/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Non-decimal-radices-Output b/Lang/Mathematica/Non-decimal-radices-Output
new file mode 120000
index 0000000000..6961114f7c
--- /dev/null
+++ b/Lang/Mathematica/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Nth-root b/Lang/Mathematica/Nth-root
new file mode 120000
index 0000000000..d5d12e467f
--- /dev/null
+++ b/Lang/Mathematica/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Null-object b/Lang/Mathematica/Null-object
new file mode 120000
index 0000000000..13595376a1
--- /dev/null
+++ b/Lang/Mathematica/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Number-names b/Lang/Mathematica/Number-names
new file mode 120000
index 0000000000..e9e1c0b89e
--- /dev/null
+++ b/Lang/Mathematica/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Number-reversal-game b/Lang/Mathematica/Number-reversal-game
new file mode 120000
index 0000000000..39bb321a2c
--- /dev/null
+++ b/Lang/Mathematica/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Numeric-error-propagation b/Lang/Mathematica/Numeric-error-propagation
new file mode 120000
index 0000000000..ee56fc1713
--- /dev/null
+++ b/Lang/Mathematica/Numeric-error-propagation
@@ -0,0 +1 @@
+../../Task/Numeric-error-propagation/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Numerical-integration b/Lang/Mathematica/Numerical-integration
new file mode 120000
index 0000000000..9739a690e4
--- /dev/null
+++ b/Lang/Mathematica/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Numerical-integration-Gauss-Legendre-Quadrature b/Lang/Mathematica/Numerical-integration-Gauss-Legendre-Quadrature
new file mode 120000
index 0000000000..2245bfbe18
--- /dev/null
+++ b/Lang/Mathematica/Numerical-integration-Gauss-Legendre-Quadrature
@@ -0,0 +1 @@
+../../Task/Numerical-integration-Gauss-Legendre-Quadrature/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/One-dimensional-cellular-automata b/Lang/Mathematica/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..ab9efc83bf
--- /dev/null
+++ b/Lang/Mathematica/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Optional-parameters b/Lang/Mathematica/Optional-parameters
new file mode 120000
index 0000000000..37ae0405a5
--- /dev/null
+++ b/Lang/Mathematica/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Order-two-numerical-lists b/Lang/Mathematica/Order-two-numerical-lists
new file mode 120000
index 0000000000..0d3ef2880d
--- /dev/null
+++ b/Lang/Mathematica/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Ordered-Partitions b/Lang/Mathematica/Ordered-Partitions
new file mode 120000
index 0000000000..e4660ac7bf
--- /dev/null
+++ b/Lang/Mathematica/Ordered-Partitions
@@ -0,0 +1 @@
+../../Task/Ordered-Partitions/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Palindrome-detection b/Lang/Mathematica/Palindrome-detection
new file mode 120000
index 0000000000..2dea1fb2cb
--- /dev/null
+++ b/Lang/Mathematica/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Pangram-checker b/Lang/Mathematica/Pangram-checker
new file mode 120000
index 0000000000..14de7a835d
--- /dev/null
+++ b/Lang/Mathematica/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Parallel-calculations b/Lang/Mathematica/Parallel-calculations
new file mode 120000
index 0000000000..fa59833879
--- /dev/null
+++ b/Lang/Mathematica/Parallel-calculations
@@ -0,0 +1 @@
+../../Task/Parallel-calculations/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Parametrized-SQL-statement b/Lang/Mathematica/Parametrized-SQL-statement
new file mode 120000
index 0000000000..02240aa175
--- /dev/null
+++ b/Lang/Mathematica/Parametrized-SQL-statement
@@ -0,0 +1 @@
+../../Task/Parametrized-SQL-statement/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Partial-function-application b/Lang/Mathematica/Partial-function-application
new file mode 120000
index 0000000000..cdfafd79f7
--- /dev/null
+++ b/Lang/Mathematica/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Pascals-triangle b/Lang/Mathematica/Pascals-triangle
new file mode 120000
index 0000000000..c675b9389f
--- /dev/null
+++ b/Lang/Mathematica/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Pascals-triangle-Puzzle b/Lang/Mathematica/Pascals-triangle-Puzzle
new file mode 120000
index 0000000000..7fb44ae2bb
--- /dev/null
+++ b/Lang/Mathematica/Pascals-triangle-Puzzle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle-Puzzle/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Percentage-difference-between-images b/Lang/Mathematica/Percentage-difference-between-images
new file mode 120000
index 0000000000..72105540cf
--- /dev/null
+++ b/Lang/Mathematica/Percentage-difference-between-images
@@ -0,0 +1 @@
+../../Task/Percentage-difference-between-images/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Perfect-numbers b/Lang/Mathematica/Perfect-numbers
new file mode 120000
index 0000000000..500285bdab
--- /dev/null
+++ b/Lang/Mathematica/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Permutation-test b/Lang/Mathematica/Permutation-test
new file mode 120000
index 0000000000..31b08ab0eb
--- /dev/null
+++ b/Lang/Mathematica/Permutation-test
@@ -0,0 +1 @@
+../../Task/Permutation-test/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Permutations b/Lang/Mathematica/Permutations
new file mode 120000
index 0000000000..48d0b097fe
--- /dev/null
+++ b/Lang/Mathematica/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Permutations-Derangements b/Lang/Mathematica/Permutations-Derangements
new file mode 120000
index 0000000000..ef2abb5442
--- /dev/null
+++ b/Lang/Mathematica/Permutations-Derangements
@@ -0,0 +1 @@
+../../Task/Permutations-Derangements/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Permutations-by-swapping b/Lang/Mathematica/Permutations-by-swapping
new file mode 120000
index 0000000000..c28708b36e
--- /dev/null
+++ b/Lang/Mathematica/Permutations-by-swapping
@@ -0,0 +1 @@
+../../Task/Permutations-by-swapping/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Pick-random-element b/Lang/Mathematica/Pick-random-element
new file mode 120000
index 0000000000..b9aff58e6b
--- /dev/null
+++ b/Lang/Mathematica/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Pig-the-dice-game b/Lang/Mathematica/Pig-the-dice-game
new file mode 120000
index 0000000000..754c931365
--- /dev/null
+++ b/Lang/Mathematica/Pig-the-dice-game
@@ -0,0 +1 @@
+../../Task/Pig-the-dice-game/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Play-recorded-sounds b/Lang/Mathematica/Play-recorded-sounds
new file mode 120000
index 0000000000..6fac2e4cc8
--- /dev/null
+++ b/Lang/Mathematica/Play-recorded-sounds
@@ -0,0 +1 @@
+../../Task/Play-recorded-sounds/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Playing-cards b/Lang/Mathematica/Playing-cards
new file mode 120000
index 0000000000..a1015da2a4
--- /dev/null
+++ b/Lang/Mathematica/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Plot-coordinate-pairs b/Lang/Mathematica/Plot-coordinate-pairs
new file mode 120000
index 0000000000..d2edeeed17
--- /dev/null
+++ b/Lang/Mathematica/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Polynomial-long-division b/Lang/Mathematica/Polynomial-long-division
new file mode 120000
index 0000000000..dc19e97281
--- /dev/null
+++ b/Lang/Mathematica/Polynomial-long-division
@@ -0,0 +1 @@
+../../Task/Polynomial-long-division/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Polynomial-regression b/Lang/Mathematica/Polynomial-regression
new file mode 120000
index 0000000000..e8b26463cf
--- /dev/null
+++ b/Lang/Mathematica/Polynomial-regression
@@ -0,0 +1 @@
+../../Task/Polynomial-regression/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Power-set b/Lang/Mathematica/Power-set
new file mode 120000
index 0000000000..3ba4d3eabd
--- /dev/null
+++ b/Lang/Mathematica/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Price-fraction b/Lang/Mathematica/Price-fraction
new file mode 120000
index 0000000000..1895121a86
--- /dev/null
+++ b/Lang/Mathematica/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Primality-by-trial-division b/Lang/Mathematica/Primality-by-trial-division
new file mode 120000
index 0000000000..f96b28c6d6
--- /dev/null
+++ b/Lang/Mathematica/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Prime-decomposition b/Lang/Mathematica/Prime-decomposition
new file mode 120000
index 0000000000..94245b87ce
--- /dev/null
+++ b/Lang/Mathematica/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Priority-queue b/Lang/Mathematica/Priority-queue
new file mode 120000
index 0000000000..3a0b592441
--- /dev/null
+++ b/Lang/Mathematica/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Probabilistic-choice b/Lang/Mathematica/Probabilistic-choice
new file mode 120000
index 0000000000..73c04e4e84
--- /dev/null
+++ b/Lang/Mathematica/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Problem-of-Apollonius b/Lang/Mathematica/Problem-of-Apollonius
new file mode 120000
index 0000000000..9e93842af4
--- /dev/null
+++ b/Lang/Mathematica/Problem-of-Apollonius
@@ -0,0 +1 @@
+../../Task/Problem-of-Apollonius/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Program-name b/Lang/Mathematica/Program-name
new file mode 120000
index 0000000000..22893bcd69
--- /dev/null
+++ b/Lang/Mathematica/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Program-termination b/Lang/Mathematica/Program-termination
new file mode 120000
index 0000000000..8388728868
--- /dev/null
+++ b/Lang/Mathematica/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Pythagorean-triples b/Lang/Mathematica/Pythagorean-triples
new file mode 120000
index 0000000000..c5a7262cca
--- /dev/null
+++ b/Lang/Mathematica/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/QR-decomposition b/Lang/Mathematica/QR-decomposition
new file mode 120000
index 0000000000..cdbdd19772
--- /dev/null
+++ b/Lang/Mathematica/QR-decomposition
@@ -0,0 +1 @@
+../../Task/QR-decomposition/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Quaternion-type b/Lang/Mathematica/Quaternion-type
new file mode 120000
index 0000000000..700c56b146
--- /dev/null
+++ b/Lang/Mathematica/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Queue-Definition b/Lang/Mathematica/Queue-Definition
new file mode 120000
index 0000000000..62587d1d14
--- /dev/null
+++ b/Lang/Mathematica/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Queue-Usage b/Lang/Mathematica/Queue-Usage
new file mode 120000
index 0000000000..6052dfcbae
--- /dev/null
+++ b/Lang/Mathematica/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Random-numbers b/Lang/Mathematica/Random-numbers
new file mode 120000
index 0000000000..5b64a7804c
--- /dev/null
+++ b/Lang/Mathematica/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Range-expansion b/Lang/Mathematica/Range-expansion
new file mode 120000
index 0000000000..5b5d61e56e
--- /dev/null
+++ b/Lang/Mathematica/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Range-extraction b/Lang/Mathematica/Range-extraction
new file mode 120000
index 0000000000..e595f753e6
--- /dev/null
+++ b/Lang/Mathematica/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Read-a-file-line-by-line b/Lang/Mathematica/Read-a-file-line-by-line
new file mode 120000
index 0000000000..18bfff0e60
--- /dev/null
+++ b/Lang/Mathematica/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Read-a-specific-line-from-a-file b/Lang/Mathematica/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..73b2377323
--- /dev/null
+++ b/Lang/Mathematica/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Read-entire-file b/Lang/Mathematica/Read-entire-file
new file mode 120000
index 0000000000..4b34644d03
--- /dev/null
+++ b/Lang/Mathematica/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Real-constants-and-functions b/Lang/Mathematica/Real-constants-and-functions
new file mode 120000
index 0000000000..c2996682e9
--- /dev/null
+++ b/Lang/Mathematica/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Record-sound b/Lang/Mathematica/Record-sound
new file mode 120000
index 0000000000..7181f33476
--- /dev/null
+++ b/Lang/Mathematica/Record-sound
@@ -0,0 +1 @@
+../../Task/Record-sound/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Reduced-row-echelon-form b/Lang/Mathematica/Reduced-row-echelon-form
new file mode 120000
index 0000000000..66a951fa9f
--- /dev/null
+++ b/Lang/Mathematica/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Regular-expressions b/Lang/Mathematica/Regular-expressions
new file mode 120000
index 0000000000..7306d849c1
--- /dev/null
+++ b/Lang/Mathematica/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Remove-duplicate-elements b/Lang/Mathematica/Remove-duplicate-elements
new file mode 120000
index 0000000000..7fd80f9467
--- /dev/null
+++ b/Lang/Mathematica/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Rename-a-file b/Lang/Mathematica/Rename-a-file
new file mode 120000
index 0000000000..e5150a082a
--- /dev/null
+++ b/Lang/Mathematica/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Repeat-a-string b/Lang/Mathematica/Repeat-a-string
new file mode 120000
index 0000000000..d250ce25f7
--- /dev/null
+++ b/Lang/Mathematica/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Resistor-mesh b/Lang/Mathematica/Resistor-mesh
new file mode 120000
index 0000000000..472ea568b4
--- /dev/null
+++ b/Lang/Mathematica/Resistor-mesh
@@ -0,0 +1 @@
+../../Task/Resistor-mesh/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Return-multiple-values b/Lang/Mathematica/Return-multiple-values
new file mode 120000
index 0000000000..856e6d9388
--- /dev/null
+++ b/Lang/Mathematica/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Reverse-a-string b/Lang/Mathematica/Reverse-a-string
new file mode 120000
index 0000000000..9794f885ec
--- /dev/null
+++ b/Lang/Mathematica/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Rock-paper-scissors b/Lang/Mathematica/Rock-paper-scissors
new file mode 120000
index 0000000000..c25701b0a4
--- /dev/null
+++ b/Lang/Mathematica/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Roman-numerals-Decode b/Lang/Mathematica/Roman-numerals-Decode
new file mode 120000
index 0000000000..c95e651404
--- /dev/null
+++ b/Lang/Mathematica/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Roman-numerals-Encode b/Lang/Mathematica/Roman-numerals-Encode
new file mode 120000
index 0000000000..ae5d42419a
--- /dev/null
+++ b/Lang/Mathematica/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Roots-of-a-function b/Lang/Mathematica/Roots-of-a-function
new file mode 120000
index 0000000000..722e08b59f
--- /dev/null
+++ b/Lang/Mathematica/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Roots-of-a-quadratic-function b/Lang/Mathematica/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..27f9cc55b2
--- /dev/null
+++ b/Lang/Mathematica/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Roots-of-unity b/Lang/Mathematica/Roots-of-unity
new file mode 120000
index 0000000000..b9d9864a96
--- /dev/null
+++ b/Lang/Mathematica/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Rosetta-Code-Count-examples b/Lang/Mathematica/Rosetta-Code-Count-examples
new file mode 120000
index 0000000000..bb39583e78
--- /dev/null
+++ b/Lang/Mathematica/Rosetta-Code-Count-examples
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Count-examples/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Rosetta-Code-Fix-code-tags b/Lang/Mathematica/Rosetta-Code-Fix-code-tags
new file mode 120000
index 0000000000..8f79e5aa46
--- /dev/null
+++ b/Lang/Mathematica/Rosetta-Code-Fix-code-tags
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Fix-code-tags/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Rosetta-Code-Rank-languages-by-popularity b/Lang/Mathematica/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..ccc906ba1a
--- /dev/null
+++ b/Lang/Mathematica/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Rot-13 b/Lang/Mathematica/Rot-13
new file mode 120000
index 0000000000..9db1750aab
--- /dev/null
+++ b/Lang/Mathematica/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Run-length-encoding b/Lang/Mathematica/Run-length-encoding
new file mode 120000
index 0000000000..6cce574a8e
--- /dev/null
+++ b/Lang/Mathematica/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Runtime-evaluation-In-an-environment b/Lang/Mathematica/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..972c03482f
--- /dev/null
+++ b/Lang/Mathematica/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/SEDOLs b/Lang/Mathematica/SEDOLs
new file mode 120000
index 0000000000..3930f1d03f
--- /dev/null
+++ b/Lang/Mathematica/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Scope-modifiers b/Lang/Mathematica/Scope-modifiers
new file mode 120000
index 0000000000..61a842dc0c
--- /dev/null
+++ b/Lang/Mathematica/Scope-modifiers
@@ -0,0 +1 @@
+../../Task/Scope-modifiers/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Secure-temporary-file b/Lang/Mathematica/Secure-temporary-file
new file mode 120000
index 0000000000..84a6945af7
--- /dev/null
+++ b/Lang/Mathematica/Secure-temporary-file
@@ -0,0 +1 @@
+../../Task/Secure-temporary-file/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Self-describing-numbers b/Lang/Mathematica/Self-describing-numbers
new file mode 120000
index 0000000000..7901765a47
--- /dev/null
+++ b/Lang/Mathematica/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Self-referential-sequence b/Lang/Mathematica/Self-referential-sequence
new file mode 120000
index 0000000000..a56d0a3fec
--- /dev/null
+++ b/Lang/Mathematica/Self-referential-sequence
@@ -0,0 +1 @@
+../../Task/Self-referential-sequence/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Semordnilap b/Lang/Mathematica/Semordnilap
new file mode 120000
index 0000000000..4c11bdebe9
--- /dev/null
+++ b/Lang/Mathematica/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Send-email b/Lang/Mathematica/Send-email
new file mode 120000
index 0000000000..2d181f04d0
--- /dev/null
+++ b/Lang/Mathematica/Send-email
@@ -0,0 +1 @@
+../../Task/Send-email/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Sequence-of-non-squares b/Lang/Mathematica/Sequence-of-non-squares
new file mode 120000
index 0000000000..3277b5b3de
--- /dev/null
+++ b/Lang/Mathematica/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Set b/Lang/Mathematica/Set
new file mode 120000
index 0000000000..ae921f2cd3
--- /dev/null
+++ b/Lang/Mathematica/Set
@@ -0,0 +1 @@
+../../Task/Set/Mathematica
\ No newline at end of file
diff --git a/Lang/Mathematica/Set-consolidation b/Lang/Mathematica/Set-consolidation
new file mode 120000
index 0000000000..6be7e48f5c
--- /dev/null
+++ b/Lang/Mathematica/Set-consolidation
@@ -0,0 +1 @@
+../../Task/Set-consolidation/Mathematica
\ No newline at end of file
diff --git a/Lang/Maxima/Arbitrary-precision-integers--included- b/Lang/Maxima/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..ad37d63e82
--- /dev/null
+++ b/Lang/Maxima/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Arbitrary-precision-integers-included b/Lang/Maxima/Arbitrary-precision-integers-included
deleted file mode 120000
index e9c03bae2c..0000000000
--- a/Lang/Maxima/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Binary-digits b/Lang/Maxima/Binary-digits
new file mode 120000
index 0000000000..1dd4171586
--- /dev/null
+++ b/Lang/Maxima/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Catalan-numbers b/Lang/Maxima/Catalan-numbers
new file mode 120000
index 0000000000..458a81ba31
--- /dev/null
+++ b/Lang/Maxima/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Copy-a-string b/Lang/Maxima/Copy-a-string
new file mode 120000
index 0000000000..34df5023b0
--- /dev/null
+++ b/Lang/Maxima/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/N-queens-problem b/Lang/Maxima/N-queens-problem
new file mode 120000
index 0000000000..239190f5ab
--- /dev/null
+++ b/Lang/Maxima/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Nth-root b/Lang/Maxima/Nth-root
new file mode 120000
index 0000000000..878077c121
--- /dev/null
+++ b/Lang/Maxima/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Numerical-integration b/Lang/Maxima/Numerical-integration
new file mode 120000
index 0000000000..8f662b71b5
--- /dev/null
+++ b/Lang/Maxima/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Numerical-integration-Gauss-Legendre-Quadrature b/Lang/Maxima/Numerical-integration-Gauss-Legendre-Quadrature
new file mode 120000
index 0000000000..c62e258b54
--- /dev/null
+++ b/Lang/Maxima/Numerical-integration-Gauss-Legendre-Quadrature
@@ -0,0 +1 @@
+../../Task/Numerical-integration-Gauss-Legendre-Quadrature/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Order-two-numerical-lists b/Lang/Maxima/Order-two-numerical-lists
new file mode 120000
index 0000000000..30defb322e
--- /dev/null
+++ b/Lang/Maxima/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Palindrome-detection b/Lang/Maxima/Palindrome-detection
new file mode 120000
index 0000000000..2272fbc093
--- /dev/null
+++ b/Lang/Maxima/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Pascals-triangle b/Lang/Maxima/Pascals-triangle
new file mode 120000
index 0000000000..2a17396224
--- /dev/null
+++ b/Lang/Maxima/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Perfect-numbers b/Lang/Maxima/Perfect-numbers
new file mode 120000
index 0000000000..54077b19e3
--- /dev/null
+++ b/Lang/Maxima/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Permutations b/Lang/Maxima/Permutations
new file mode 120000
index 0000000000..0125e14138
--- /dev/null
+++ b/Lang/Maxima/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Plot-coordinate-pairs b/Lang/Maxima/Plot-coordinate-pairs
new file mode 120000
index 0000000000..b060d05be8
--- /dev/null
+++ b/Lang/Maxima/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Power-set b/Lang/Maxima/Power-set
new file mode 120000
index 0000000000..f852883e62
--- /dev/null
+++ b/Lang/Maxima/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Prime-decomposition b/Lang/Maxima/Prime-decomposition
new file mode 120000
index 0000000000..5e8106293a
--- /dev/null
+++ b/Lang/Maxima/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Priority-queue b/Lang/Maxima/Priority-queue
new file mode 120000
index 0000000000..97efda451f
--- /dev/null
+++ b/Lang/Maxima/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Program-termination b/Lang/Maxima/Program-termination
new file mode 120000
index 0000000000..7e81d8ac52
--- /dev/null
+++ b/Lang/Maxima/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/QR-decomposition b/Lang/Maxima/QR-decomposition
new file mode 120000
index 0000000000..3f10815a92
--- /dev/null
+++ b/Lang/Maxima/QR-decomposition
@@ -0,0 +1 @@
+../../Task/QR-decomposition/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Queue-Definition b/Lang/Maxima/Queue-Definition
new file mode 120000
index 0000000000..508ecfd149
--- /dev/null
+++ b/Lang/Maxima/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Random-numbers b/Lang/Maxima/Random-numbers
new file mode 120000
index 0000000000..039c6f9d47
--- /dev/null
+++ b/Lang/Maxima/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Read-a-file-line-by-line b/Lang/Maxima/Read-a-file-line-by-line
new file mode 120000
index 0000000000..e5950ef7b8
--- /dev/null
+++ b/Lang/Maxima/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Reduced-row-echelon-form b/Lang/Maxima/Reduced-row-echelon-form
new file mode 120000
index 0000000000..d310613389
--- /dev/null
+++ b/Lang/Maxima/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Remove-duplicate-elements b/Lang/Maxima/Remove-duplicate-elements
new file mode 120000
index 0000000000..3cbbd87822
--- /dev/null
+++ b/Lang/Maxima/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Repeat-a-string b/Lang/Maxima/Repeat-a-string
new file mode 120000
index 0000000000..37e25e92b6
--- /dev/null
+++ b/Lang/Maxima/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Resistor-mesh b/Lang/Maxima/Resistor-mesh
new file mode 120000
index 0000000000..09fba5b356
--- /dev/null
+++ b/Lang/Maxima/Resistor-mesh
@@ -0,0 +1 @@
+../../Task/Resistor-mesh/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Return-multiple-values b/Lang/Maxima/Return-multiple-values
new file mode 120000
index 0000000000..82dd4ea26d
--- /dev/null
+++ b/Lang/Maxima/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Reverse-a-string b/Lang/Maxima/Reverse-a-string
new file mode 120000
index 0000000000..b31e51fa17
--- /dev/null
+++ b/Lang/Maxima/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Roots-of-a-function b/Lang/Maxima/Roots-of-a-function
new file mode 120000
index 0000000000..a620eda36e
--- /dev/null
+++ b/Lang/Maxima/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Roots-of-a-quadratic-function b/Lang/Maxima/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..13ac86490b
--- /dev/null
+++ b/Lang/Maxima/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Roots-of-unity b/Lang/Maxima/Roots-of-unity
new file mode 120000
index 0000000000..3ab2c49276
--- /dev/null
+++ b/Lang/Maxima/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Rot-13 b/Lang/Maxima/Rot-13
new file mode 120000
index 0000000000..eb057070f7
--- /dev/null
+++ b/Lang/Maxima/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Run-length-encoding b/Lang/Maxima/Run-length-encoding
new file mode 120000
index 0000000000..c5ff4af5cd
--- /dev/null
+++ b/Lang/Maxima/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Runtime-evaluation b/Lang/Maxima/Runtime-evaluation
new file mode 120000
index 0000000000..9f223b75d7
--- /dev/null
+++ b/Lang/Maxima/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Sequence-of-non-squares b/Lang/Maxima/Sequence-of-non-squares
new file mode 120000
index 0000000000..106fe83ec9
--- /dev/null
+++ b/Lang/Maxima/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Maxima
\ No newline at end of file
diff --git a/Lang/Maxima/Set b/Lang/Maxima/Set
new file mode 120000
index 0000000000..a41da0781d
--- /dev/null
+++ b/Lang/Maxima/Set
@@ -0,0 +1 @@
+../../Task/Set/Maxima
\ No newline at end of file
diff --git a/Lang/Mercury/Binary-digits b/Lang/Mercury/Binary-digits
new file mode 120000
index 0000000000..25f452e18d
--- /dev/null
+++ b/Lang/Mercury/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Mercury
\ No newline at end of file
diff --git a/Lang/Mercury/Environment-variables b/Lang/Mercury/Environment-variables
new file mode 120000
index 0000000000..fe1782e101
--- /dev/null
+++ b/Lang/Mercury/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Mercury
\ No newline at end of file
diff --git a/Lang/Mercury/OpenGL b/Lang/Mercury/OpenGL
new file mode 120000
index 0000000000..f9ac5f1018
--- /dev/null
+++ b/Lang/Mercury/OpenGL
@@ -0,0 +1 @@
+../../Task/OpenGL/Mercury
\ No newline at end of file
diff --git a/Lang/Mercury/Order-two-numerical-lists b/Lang/Mercury/Order-two-numerical-lists
new file mode 120000
index 0000000000..1cccf75e7d
--- /dev/null
+++ b/Lang/Mercury/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/Mercury
\ No newline at end of file
diff --git a/Lang/Mercury/Partial-function-application b/Lang/Mercury/Partial-function-application
new file mode 120000
index 0000000000..04371e11ff
--- /dev/null
+++ b/Lang/Mercury/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/Mercury
\ No newline at end of file
diff --git a/Lang/Mercury/Price-fraction b/Lang/Mercury/Price-fraction
new file mode 120000
index 0000000000..0f1f8e9432
--- /dev/null
+++ b/Lang/Mercury/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/Mercury
\ No newline at end of file
diff --git a/Lang/Mercury/Real-constants-and-functions b/Lang/Mercury/Real-constants-and-functions
new file mode 120000
index 0000000000..a484dc8f37
--- /dev/null
+++ b/Lang/Mercury/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Mercury
\ No newline at end of file
diff --git a/Lang/Mercury/Repeat-a-string b/Lang/Mercury/Repeat-a-string
new file mode 120000
index 0000000000..3fcebee45a
--- /dev/null
+++ b/Lang/Mercury/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Mercury
\ No newline at end of file
diff --git a/Lang/Mercury/Return-multiple-values b/Lang/Mercury/Return-multiple-values
new file mode 120000
index 0000000000..bf38a5c053
--- /dev/null
+++ b/Lang/Mercury/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Mercury
\ No newline at end of file
diff --git a/Lang/Mercury/SEDOLs b/Lang/Mercury/SEDOLs
new file mode 120000
index 0000000000..9cee407ece
--- /dev/null
+++ b/Lang/Mercury/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/Mercury
\ No newline at end of file
diff --git a/Lang/Metafont/Copy-a-string b/Lang/Metafont/Copy-a-string
new file mode 120000
index 0000000000..964f352b5f
--- /dev/null
+++ b/Lang/Metafont/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Metafont
\ No newline at end of file
diff --git a/Lang/Metafont/Dragon-curve b/Lang/Metafont/Dragon-curve
new file mode 120000
index 0000000000..93b6e0365a
--- /dev/null
+++ b/Lang/Metafont/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/Metafont
\ No newline at end of file
diff --git a/Lang/Metafont/Nth-root b/Lang/Metafont/Nth-root
new file mode 120000
index 0000000000..4f4567507e
--- /dev/null
+++ b/Lang/Metafont/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Metafont
\ No newline at end of file
diff --git a/Lang/Metafont/Pascals-triangle b/Lang/Metafont/Pascals-triangle
new file mode 120000
index 0000000000..a6eb42a32a
--- /dev/null
+++ b/Lang/Metafont/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Metafont
\ No newline at end of file
diff --git a/Lang/Metafont/Random-numbers b/Lang/Metafont/Random-numbers
new file mode 120000
index 0000000000..3ea37a4d0d
--- /dev/null
+++ b/Lang/Metafont/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Metafont
\ No newline at end of file
diff --git a/Lang/Metafont/Real-constants-and-functions b/Lang/Metafont/Real-constants-and-functions
new file mode 120000
index 0000000000..735f0de574
--- /dev/null
+++ b/Lang/Metafont/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Metafont
\ No newline at end of file
diff --git a/Lang/Metafont/Runtime-evaluation-In-an-environment b/Lang/Metafont/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..f52d193f2c
--- /dev/null
+++ b/Lang/Metafont/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/Metafont
\ No newline at end of file
diff --git a/Lang/Mirah/Copy-a-string b/Lang/Mirah/Copy-a-string
new file mode 120000
index 0000000000..af6a0eaff5
--- /dev/null
+++ b/Lang/Mirah/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Mirah
\ No newline at end of file
diff --git a/Lang/Mirah/Palindrome-detection b/Lang/Mirah/Palindrome-detection
new file mode 120000
index 0000000000..c2c184cf81
--- /dev/null
+++ b/Lang/Mirah/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Mirah
\ No newline at end of file
diff --git a/Lang/Mirah/Random-numbers b/Lang/Mirah/Random-numbers
new file mode 120000
index 0000000000..74c877ce4c
--- /dev/null
+++ b/Lang/Mirah/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Mirah
\ No newline at end of file
diff --git a/Lang/Mirah/Repeat-a-string b/Lang/Mirah/Repeat-a-string
new file mode 120000
index 0000000000..25eaec5231
--- /dev/null
+++ b/Lang/Mirah/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Mirah
\ No newline at end of file
diff --git a/Lang/Mirah/Reverse-a-string b/Lang/Mirah/Reverse-a-string
new file mode 120000
index 0000000000..69a68db7cf
--- /dev/null
+++ b/Lang/Mirah/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Mirah
\ No newline at end of file
diff --git a/Lang/Mirah/Rot-13 b/Lang/Mirah/Rot-13
new file mode 120000
index 0000000000..19cde0ea60
--- /dev/null
+++ b/Lang/Mirah/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Mirah
\ No newline at end of file
diff --git a/Lang/Modula-2/Guess-the-number-With-feedback--player- b/Lang/Modula-2/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..ee9f6d1ee3
--- /dev/null
+++ b/Lang/Modula-2/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/Modula-2
\ No newline at end of file
diff --git a/Lang/Modula-2/Guess-the-number-With-feedback-player b/Lang/Modula-2/Guess-the-number-With-feedback-player
deleted file mode 120000
index 264b7bb2d8..0000000000
--- a/Lang/Modula-2/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/Modula-2
\ No newline at end of file
diff --git a/Lang/Modula-3/Binary-digits b/Lang/Modula-3/Binary-digits
new file mode 120000
index 0000000000..00bed41238
--- /dev/null
+++ b/Lang/Modula-3/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Modula-3
\ No newline at end of file
diff --git a/Lang/Modula-3/Copy-a-string b/Lang/Modula-3/Copy-a-string
new file mode 120000
index 0000000000..afbbf37a49
--- /dev/null
+++ b/Lang/Modula-3/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Modula-3
\ No newline at end of file
diff --git a/Lang/Modula-3/Named-parameters b/Lang/Modula-3/Named-parameters
new file mode 120000
index 0000000000..57f667827a
--- /dev/null
+++ b/Lang/Modula-3/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/Modula-3
\ No newline at end of file
diff --git a/Lang/Modula-3/Non-decimal-radices-Output b/Lang/Modula-3/Non-decimal-radices-Output
new file mode 120000
index 0000000000..c2f0408245
--- /dev/null
+++ b/Lang/Modula-3/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/Modula-3
\ No newline at end of file
diff --git a/Lang/Modula-3/Null-object b/Lang/Modula-3/Null-object
new file mode 120000
index 0000000000..545771356e
--- /dev/null
+++ b/Lang/Modula-3/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Modula-3
\ No newline at end of file
diff --git a/Lang/Modula-3/One-dimensional-cellular-automata b/Lang/Modula-3/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..9000dfe263
--- /dev/null
+++ b/Lang/Modula-3/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Modula-3
\ No newline at end of file
diff --git a/Lang/Modula-3/Palindrome-detection b/Lang/Modula-3/Palindrome-detection
new file mode 120000
index 0000000000..fad335475b
--- /dev/null
+++ b/Lang/Modula-3/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Modula-3
\ No newline at end of file
diff --git a/Lang/Modula-3/Pointers-and-references b/Lang/Modula-3/Pointers-and-references
new file mode 120000
index 0000000000..b489709709
--- /dev/null
+++ b/Lang/Modula-3/Pointers-and-references
@@ -0,0 +1 @@
+../../Task/Pointers-and-references/Modula-3
\ No newline at end of file
diff --git a/Lang/Modula-3/Pythagorean-triples b/Lang/Modula-3/Pythagorean-triples
new file mode 120000
index 0000000000..d28b3db3ee
--- /dev/null
+++ b/Lang/Modula-3/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/Modula-3
\ No newline at end of file
diff --git a/Lang/Modula-3/Random-numbers b/Lang/Modula-3/Random-numbers
new file mode 120000
index 0000000000..4132bfa60c
--- /dev/null
+++ b/Lang/Modula-3/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Modula-3
\ No newline at end of file
diff --git a/Lang/Modula-3/Real-constants-and-functions b/Lang/Modula-3/Real-constants-and-functions
new file mode 120000
index 0000000000..7dbf3ac881
--- /dev/null
+++ b/Lang/Modula-3/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Modula-3
\ No newline at end of file
diff --git a/Lang/Modula-3/Reverse-a-string b/Lang/Modula-3/Reverse-a-string
new file mode 120000
index 0000000000..78817b96f1
--- /dev/null
+++ b/Lang/Modula-3/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Modula-3
\ No newline at end of file
diff --git a/Lang/Modula-3/Roots-of-a-quadratic-function b/Lang/Modula-3/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..852dafd89e
--- /dev/null
+++ b/Lang/Modula-3/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/Modula-3
\ No newline at end of file
diff --git a/Lang/Modula-3/Rot-13 b/Lang/Modula-3/Rot-13
new file mode 120000
index 0000000000..21430126f0
--- /dev/null
+++ b/Lang/Modula-3/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Modula-3
\ No newline at end of file
diff --git a/Lang/Modula-3/SEDOLs b/Lang/Modula-3/SEDOLs
new file mode 120000
index 0000000000..e029087a2a
--- /dev/null
+++ b/Lang/Modula-3/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/Modula-3
\ No newline at end of file
diff --git a/Lang/Modula-3/Sequence-of-non-squares b/Lang/Modula-3/Sequence-of-non-squares
new file mode 120000
index 0000000000..c5835e167c
--- /dev/null
+++ b/Lang/Modula-3/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Modula-3
\ No newline at end of file
diff --git a/Lang/NSIS/Environment-variables b/Lang/NSIS/Environment-variables
new file mode 120000
index 0000000000..16a3046fb9
--- /dev/null
+++ b/Lang/NSIS/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/NSIS
\ No newline at end of file
diff --git a/Lang/Nemerle/Copy-a-string b/Lang/Nemerle/Copy-a-string
new file mode 120000
index 0000000000..18e8d21de8
--- /dev/null
+++ b/Lang/Nemerle/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Named-parameters b/Lang/Nemerle/Named-parameters
new file mode 120000
index 0000000000..ca8f248a15
--- /dev/null
+++ b/Lang/Nemerle/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Optional-parameters b/Lang/Nemerle/Optional-parameters
new file mode 120000
index 0000000000..422241b494
--- /dev/null
+++ b/Lang/Nemerle/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Palindrome-detection b/Lang/Nemerle/Palindrome-detection
new file mode 120000
index 0000000000..ce60fb5840
--- /dev/null
+++ b/Lang/Nemerle/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Partial-function-application b/Lang/Nemerle/Partial-function-application
new file mode 120000
index 0000000000..2162fa83d1
--- /dev/null
+++ b/Lang/Nemerle/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Remove-duplicate-elements b/Lang/Nemerle/Remove-duplicate-elements
new file mode 120000
index 0000000000..c2b0d124a0
--- /dev/null
+++ b/Lang/Nemerle/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Nemerle
\ No newline at end of file
diff --git a/Lang/Nemerle/Reverse-a-string b/Lang/Nemerle/Reverse-a-string
new file mode 120000
index 0000000000..1e0aa54373
--- /dev/null
+++ b/Lang/Nemerle/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Nemerle
\ No newline at end of file
diff --git a/Lang/NetLogo/Pick-random-element b/Lang/NetLogo/Pick-random-element
new file mode 120000
index 0000000000..e0d08f6305
--- /dev/null
+++ b/Lang/NetLogo/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/NetLogo
\ No newline at end of file
diff --git a/Lang/NetRexx/Arbitrary-precision-integers--included- b/Lang/NetRexx/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..4a08770f42
--- /dev/null
+++ b/Lang/NetRexx/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Arbitrary-precision-integers-included b/Lang/NetRexx/Arbitrary-precision-integers-included
deleted file mode 120000
index b066dca534..0000000000
--- a/Lang/NetRexx/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Binary-digits b/Lang/NetRexx/Binary-digits
new file mode 120000
index 0000000000..360972b0af
--- /dev/null
+++ b/Lang/NetRexx/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Copy-a-string b/Lang/NetRexx/Copy-a-string
new file mode 120000
index 0000000000..f3ee270271
--- /dev/null
+++ b/Lang/NetRexx/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Environment-variables b/Lang/NetRexx/Environment-variables
new file mode 120000
index 0000000000..87194f503c
--- /dev/null
+++ b/Lang/NetRexx/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Non-decimal-radices-Convert b/Lang/NetRexx/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..dbe4e5c1fd
--- /dev/null
+++ b/Lang/NetRexx/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Non-decimal-radices-Output b/Lang/NetRexx/Non-decimal-radices-Output
new file mode 120000
index 0000000000..77f235398e
--- /dev/null
+++ b/Lang/NetRexx/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Nth-root b/Lang/NetRexx/Nth-root
new file mode 120000
index 0000000000..d62e75b580
--- /dev/null
+++ b/Lang/NetRexx/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Null-object b/Lang/NetRexx/Null-object
new file mode 120000
index 0000000000..b89dde5617
--- /dev/null
+++ b/Lang/NetRexx/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Palindrome-detection b/Lang/NetRexx/Palindrome-detection
new file mode 120000
index 0000000000..a02f0a348d
--- /dev/null
+++ b/Lang/NetRexx/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Pangram-checker b/Lang/NetRexx/Pangram-checker
new file mode 120000
index 0000000000..03feb697c4
--- /dev/null
+++ b/Lang/NetRexx/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Parametrized-SQL-statement b/Lang/NetRexx/Parametrized-SQL-statement
new file mode 120000
index 0000000000..54cf112f83
--- /dev/null
+++ b/Lang/NetRexx/Parametrized-SQL-statement
@@ -0,0 +1 @@
+../../Task/Parametrized-SQL-statement/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Parsing-RPN-calculator-algorithm b/Lang/NetRexx/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..25092b2db5
--- /dev/null
+++ b/Lang/NetRexx/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Pick-random-element b/Lang/NetRexx/Pick-random-element
new file mode 120000
index 0000000000..2002589982
--- /dev/null
+++ b/Lang/NetRexx/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Polymorphic-copy b/Lang/NetRexx/Polymorphic-copy
new file mode 120000
index 0000000000..aa2446d851
--- /dev/null
+++ b/Lang/NetRexx/Polymorphic-copy
@@ -0,0 +1 @@
+../../Task/Polymorphic-copy/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Polymorphism b/Lang/NetRexx/Polymorphism
new file mode 120000
index 0000000000..f3ed960fbc
--- /dev/null
+++ b/Lang/NetRexx/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Pragmatic-directives b/Lang/NetRexx/Pragmatic-directives
new file mode 120000
index 0000000000..a5bedb5b7a
--- /dev/null
+++ b/Lang/NetRexx/Pragmatic-directives
@@ -0,0 +1 @@
+../../Task/Pragmatic-directives/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Primality-by-trial-division b/Lang/NetRexx/Primality-by-trial-division
new file mode 120000
index 0000000000..5ff51f8fa9
--- /dev/null
+++ b/Lang/NetRexx/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Program-name b/Lang/NetRexx/Program-name
new file mode 120000
index 0000000000..5aa51b9eef
--- /dev/null
+++ b/Lang/NetRexx/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Program-termination b/Lang/NetRexx/Program-termination
new file mode 120000
index 0000000000..0bef62fce8
--- /dev/null
+++ b/Lang/NetRexx/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Queue-Definition b/Lang/NetRexx/Queue-Definition
new file mode 120000
index 0000000000..2fabb0bbe6
--- /dev/null
+++ b/Lang/NetRexx/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Queue-Usage b/Lang/NetRexx/Queue-Usage
new file mode 120000
index 0000000000..2382a7affd
--- /dev/null
+++ b/Lang/NetRexx/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Random-number-generator--device- b/Lang/NetRexx/Random-number-generator--device-
new file mode 120000
index 0000000000..ee00e9083e
--- /dev/null
+++ b/Lang/NetRexx/Random-number-generator--device-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--device-/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Random-numbers b/Lang/NetRexx/Random-numbers
new file mode 120000
index 0000000000..a1c012b6c8
--- /dev/null
+++ b/Lang/NetRexx/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Range-expansion b/Lang/NetRexx/Range-expansion
new file mode 120000
index 0000000000..ed773ac648
--- /dev/null
+++ b/Lang/NetRexx/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Range-extraction b/Lang/NetRexx/Range-extraction
new file mode 120000
index 0000000000..0db17f8d07
--- /dev/null
+++ b/Lang/NetRexx/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Read-a-file-line-by-line b/Lang/NetRexx/Read-a-file-line-by-line
new file mode 120000
index 0000000000..7a93e0156b
--- /dev/null
+++ b/Lang/NetRexx/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Read-a-specific-line-from-a-file b/Lang/NetRexx/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..a40001f999
--- /dev/null
+++ b/Lang/NetRexx/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Read-entire-file b/Lang/NetRexx/Read-entire-file
new file mode 120000
index 0000000000..8b6716f0f9
--- /dev/null
+++ b/Lang/NetRexx/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Real-constants-and-functions b/Lang/NetRexx/Real-constants-and-functions
new file mode 120000
index 0000000000..3f30d620e6
--- /dev/null
+++ b/Lang/NetRexx/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Regular-expressions b/Lang/NetRexx/Regular-expressions
new file mode 120000
index 0000000000..7b148145da
--- /dev/null
+++ b/Lang/NetRexx/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Remove-duplicate-elements b/Lang/NetRexx/Remove-duplicate-elements
new file mode 120000
index 0000000000..0153233c31
--- /dev/null
+++ b/Lang/NetRexx/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Repeat-a-string b/Lang/NetRexx/Repeat-a-string
new file mode 120000
index 0000000000..f355f8c125
--- /dev/null
+++ b/Lang/NetRexx/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Return-multiple-values b/Lang/NetRexx/Return-multiple-values
new file mode 120000
index 0000000000..4d2df2ee2b
--- /dev/null
+++ b/Lang/NetRexx/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Reverse-a-string b/Lang/NetRexx/Reverse-a-string
new file mode 120000
index 0000000000..d78555b075
--- /dev/null
+++ b/Lang/NetRexx/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Roman-numerals-Decode b/Lang/NetRexx/Roman-numerals-Decode
new file mode 120000
index 0000000000..b309104114
--- /dev/null
+++ b/Lang/NetRexx/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Rot-13 b/Lang/NetRexx/Rot-13
new file mode 120000
index 0000000000..77bb7c2e44
--- /dev/null
+++ b/Lang/NetRexx/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/NetRexx
\ No newline at end of file
diff --git a/Lang/NetRexx/Semordnilap b/Lang/NetRexx/Semordnilap
new file mode 120000
index 0000000000..e9d12b46ed
--- /dev/null
+++ b/Lang/NetRexx/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/NetRexx
\ No newline at end of file
diff --git a/Lang/NewLISP/Copy-a-string b/Lang/NewLISP/Copy-a-string
new file mode 120000
index 0000000000..a6e3bb2fc4
--- /dev/null
+++ b/Lang/NewLISP/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Environment-variables b/Lang/NewLISP/Environment-variables
new file mode 120000
index 0000000000..9969c0651a
--- /dev/null
+++ b/Lang/NewLISP/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Random-numbers b/Lang/NewLISP/Random-numbers
new file mode 120000
index 0000000000..ce39f2cecc
--- /dev/null
+++ b/Lang/NewLISP/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Read-a-file-line-by-line b/Lang/NewLISP/Read-a-file-line-by-line
new file mode 120000
index 0000000000..d8101a1ca1
--- /dev/null
+++ b/Lang/NewLISP/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Read-entire-file b/Lang/NewLISP/Read-entire-file
new file mode 120000
index 0000000000..dc8e5bc286
--- /dev/null
+++ b/Lang/NewLISP/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Remove-duplicate-elements b/Lang/NewLISP/Remove-duplicate-elements
new file mode 120000
index 0000000000..739edfe89e
--- /dev/null
+++ b/Lang/NewLISP/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Rename-a-file b/Lang/NewLISP/Rename-a-file
new file mode 120000
index 0000000000..cd15e6d9bd
--- /dev/null
+++ b/Lang/NewLISP/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Repeat-a-string b/Lang/NewLISP/Repeat-a-string
new file mode 120000
index 0000000000..aa22661fca
--- /dev/null
+++ b/Lang/NewLISP/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Reverse-a-string b/Lang/NewLISP/Reverse-a-string
new file mode 120000
index 0000000000..67249b4424
--- /dev/null
+++ b/Lang/NewLISP/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/NewLISP
\ No newline at end of file
diff --git a/Lang/NewLISP/Send-email b/Lang/NewLISP/Send-email
new file mode 120000
index 0000000000..6bfc25ec3c
--- /dev/null
+++ b/Lang/NewLISP/Send-email
@@ -0,0 +1 @@
+../../Task/Send-email/NewLISP
\ No newline at end of file
diff --git a/Lang/Nial/One-dimensional-cellular-automata b/Lang/Nial/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..4bede1d6ea
--- /dev/null
+++ b/Lang/Nial/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Nial
\ No newline at end of file
diff --git a/Lang/Nial/Pascals-triangle b/Lang/Nial/Pascals-triangle
new file mode 120000
index 0000000000..8856fed1f6
--- /dev/null
+++ b/Lang/Nial/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Nial
\ No newline at end of file
diff --git a/Lang/Nial/Remove-duplicate-elements b/Lang/Nial/Remove-duplicate-elements
new file mode 120000
index 0000000000..2f2d728dd9
--- /dev/null
+++ b/Lang/Nial/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Nial
\ No newline at end of file
diff --git a/Lang/Nial/Reverse-a-string b/Lang/Nial/Reverse-a-string
new file mode 120000
index 0000000000..629ffb8afa
--- /dev/null
+++ b/Lang/Nial/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Nial
\ No newline at end of file
diff --git a/Lang/Nimrod/One-dimensional-cellular-automata b/Lang/Nimrod/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..f5badb8b18
--- /dev/null
+++ b/Lang/Nimrod/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Nimrod
\ No newline at end of file
diff --git a/Lang/Nimrod/Program-termination b/Lang/Nimrod/Program-termination
new file mode 120000
index 0000000000..03aaf2377c
--- /dev/null
+++ b/Lang/Nimrod/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Nimrod
\ No newline at end of file
diff --git a/Lang/Nimrod/Read-entire-file b/Lang/Nimrod/Read-entire-file
new file mode 120000
index 0000000000..ddeee23dfb
--- /dev/null
+++ b/Lang/Nimrod/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Nimrod
\ No newline at end of file
diff --git a/Lang/Nimrod/Reverse-a-string b/Lang/Nimrod/Reverse-a-string
new file mode 120000
index 0000000000..6f7db44df6
--- /dev/null
+++ b/Lang/Nimrod/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Nimrod
\ No newline at end of file
diff --git a/Lang/OCaml/Arbitrary-precision-integers--included- b/Lang/OCaml/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..1aaf5669d6
--- /dev/null
+++ b/Lang/OCaml/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Arbitrary-precision-integers-included b/Lang/OCaml/Arbitrary-precision-integers-included
deleted file mode 120000
index 4c6abea4f8..0000000000
--- a/Lang/OCaml/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Binary-digits b/Lang/OCaml/Binary-digits
new file mode 120000
index 0000000000..406c4a7c41
--- /dev/null
+++ b/Lang/OCaml/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Brownian-tree b/Lang/OCaml/Brownian-tree
new file mode 120000
index 0000000000..5f1d4bd50e
--- /dev/null
+++ b/Lang/OCaml/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Copy-a-string b/Lang/OCaml/Copy-a-string
new file mode 120000
index 0000000000..ece09c9ee4
--- /dev/null
+++ b/Lang/OCaml/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Dragon-curve b/Lang/OCaml/Dragon-curve
new file mode 120000
index 0000000000..6949fc94ca
--- /dev/null
+++ b/Lang/OCaml/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Environment-variables b/Lang/OCaml/Environment-variables
new file mode 120000
index 0000000000..d1b69a1363
--- /dev/null
+++ b/Lang/OCaml/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/N-queens-problem b/Lang/OCaml/N-queens-problem
new file mode 120000
index 0000000000..55ad8f27a9
--- /dev/null
+++ b/Lang/OCaml/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Named-parameters b/Lang/OCaml/Named-parameters
new file mode 120000
index 0000000000..4e0aa3f939
--- /dev/null
+++ b/Lang/OCaml/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Non-continuous-subsequences b/Lang/OCaml/Non-continuous-subsequences
new file mode 120000
index 0000000000..a4a84a997a
--- /dev/null
+++ b/Lang/OCaml/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Non-decimal-radices-Convert b/Lang/OCaml/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..d26cb5646c
--- /dev/null
+++ b/Lang/OCaml/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Non-decimal-radices-Input b/Lang/OCaml/Non-decimal-radices-Input
new file mode 120000
index 0000000000..188a6ae81b
--- /dev/null
+++ b/Lang/OCaml/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Non-decimal-radices-Output b/Lang/OCaml/Non-decimal-radices-Output
new file mode 120000
index 0000000000..aa1718ff92
--- /dev/null
+++ b/Lang/OCaml/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Nth-root b/Lang/OCaml/Nth-root
new file mode 120000
index 0000000000..ab69a428ce
--- /dev/null
+++ b/Lang/OCaml/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Null-object b/Lang/OCaml/Null-object
new file mode 120000
index 0000000000..0aec6e027f
--- /dev/null
+++ b/Lang/OCaml/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Number-names b/Lang/OCaml/Number-names
new file mode 120000
index 0000000000..1459ee52d2
--- /dev/null
+++ b/Lang/OCaml/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Number-reversal-game b/Lang/OCaml/Number-reversal-game
new file mode 120000
index 0000000000..782869a1ed
--- /dev/null
+++ b/Lang/OCaml/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Numerical-integration b/Lang/OCaml/Numerical-integration
new file mode 120000
index 0000000000..d11b7cca44
--- /dev/null
+++ b/Lang/OCaml/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Numerical-integration-Gauss-Legendre-Quadrature b/Lang/OCaml/Numerical-integration-Gauss-Legendre-Quadrature
new file mode 120000
index 0000000000..acffb8aa05
--- /dev/null
+++ b/Lang/OCaml/Numerical-integration-Gauss-Legendre-Quadrature
@@ -0,0 +1 @@
+../../Task/Numerical-integration-Gauss-Legendre-Quadrature/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Object-serialization b/Lang/OCaml/Object-serialization
new file mode 120000
index 0000000000..94f321355d
--- /dev/null
+++ b/Lang/OCaml/Object-serialization
@@ -0,0 +1 @@
+../../Task/Object-serialization/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/One-dimensional-cellular-automata b/Lang/OCaml/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..948f5b7f0a
--- /dev/null
+++ b/Lang/OCaml/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/One-of-n-lines-in-a-file b/Lang/OCaml/One-of-n-lines-in-a-file
new file mode 120000
index 0000000000..6f56fc91b6
--- /dev/null
+++ b/Lang/OCaml/One-of-n-lines-in-a-file
@@ -0,0 +1 @@
+../../Task/One-of-n-lines-in-a-file/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/OpenGL b/Lang/OCaml/OpenGL
new file mode 120000
index 0000000000..9bd26cc96f
--- /dev/null
+++ b/Lang/OCaml/OpenGL
@@ -0,0 +1 @@
+../../Task/OpenGL/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Optional-parameters b/Lang/OCaml/Optional-parameters
new file mode 120000
index 0000000000..6fbd11f20e
--- /dev/null
+++ b/Lang/OCaml/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Order-two-numerical-lists b/Lang/OCaml/Order-two-numerical-lists
new file mode 120000
index 0000000000..e5f1a61cdc
--- /dev/null
+++ b/Lang/OCaml/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Palindrome-detection b/Lang/OCaml/Palindrome-detection
new file mode 120000
index 0000000000..a0d49a5733
--- /dev/null
+++ b/Lang/OCaml/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Pangram-checker b/Lang/OCaml/Pangram-checker
new file mode 120000
index 0000000000..44b4aa1058
--- /dev/null
+++ b/Lang/OCaml/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Parametric-polymorphism b/Lang/OCaml/Parametric-polymorphism
new file mode 120000
index 0000000000..c6d7320d08
--- /dev/null
+++ b/Lang/OCaml/Parametric-polymorphism
@@ -0,0 +1 @@
+../../Task/Parametric-polymorphism/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Partial-function-application b/Lang/OCaml/Partial-function-application
new file mode 120000
index 0000000000..9b4093c9f3
--- /dev/null
+++ b/Lang/OCaml/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Pascals-triangle b/Lang/OCaml/Pascals-triangle
new file mode 120000
index 0000000000..fb878b233f
--- /dev/null
+++ b/Lang/OCaml/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Pattern-matching b/Lang/OCaml/Pattern-matching
new file mode 120000
index 0000000000..6daa6d1dcc
--- /dev/null
+++ b/Lang/OCaml/Pattern-matching
@@ -0,0 +1 @@
+../../Task/Pattern-matching/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Percentage-difference-between-images b/Lang/OCaml/Percentage-difference-between-images
new file mode 120000
index 0000000000..54acc58c8e
--- /dev/null
+++ b/Lang/OCaml/Percentage-difference-between-images
@@ -0,0 +1 @@
+../../Task/Percentage-difference-between-images/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Perfect-numbers b/Lang/OCaml/Perfect-numbers
new file mode 120000
index 0000000000..06ff381619
--- /dev/null
+++ b/Lang/OCaml/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Permutations b/Lang/OCaml/Permutations
new file mode 120000
index 0000000000..478d624579
--- /dev/null
+++ b/Lang/OCaml/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Pick-random-element b/Lang/OCaml/Pick-random-element
new file mode 120000
index 0000000000..c5b0c1a66a
--- /dev/null
+++ b/Lang/OCaml/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Playing-cards b/Lang/OCaml/Playing-cards
new file mode 120000
index 0000000000..72b6d75dad
--- /dev/null
+++ b/Lang/OCaml/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Plot-coordinate-pairs b/Lang/OCaml/Plot-coordinate-pairs
new file mode 120000
index 0000000000..63c979be56
--- /dev/null
+++ b/Lang/OCaml/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Pointers-and-references b/Lang/OCaml/Pointers-and-references
new file mode 120000
index 0000000000..547ace9126
--- /dev/null
+++ b/Lang/OCaml/Pointers-and-references
@@ -0,0 +1 @@
+../../Task/Pointers-and-references/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Polymorphic-copy b/Lang/OCaml/Polymorphic-copy
new file mode 120000
index 0000000000..99dd28dd49
--- /dev/null
+++ b/Lang/OCaml/Polymorphic-copy
@@ -0,0 +1 @@
+../../Task/Polymorphic-copy/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Polymorphism b/Lang/OCaml/Polymorphism
new file mode 120000
index 0000000000..4872b3b8a2
--- /dev/null
+++ b/Lang/OCaml/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Polynomial-long-division b/Lang/OCaml/Polynomial-long-division
new file mode 120000
index 0000000000..d3e0866f6b
--- /dev/null
+++ b/Lang/OCaml/Polynomial-long-division
@@ -0,0 +1 @@
+../../Task/Polynomial-long-division/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Power-set b/Lang/OCaml/Power-set
new file mode 120000
index 0000000000..7471cb9704
--- /dev/null
+++ b/Lang/OCaml/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Price-fraction b/Lang/OCaml/Price-fraction
new file mode 120000
index 0000000000..9e4dd2bb56
--- /dev/null
+++ b/Lang/OCaml/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Primality-by-trial-division b/Lang/OCaml/Primality-by-trial-division
new file mode 120000
index 0000000000..24e4309473
--- /dev/null
+++ b/Lang/OCaml/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Prime-decomposition b/Lang/OCaml/Prime-decomposition
new file mode 120000
index 0000000000..5a06868a37
--- /dev/null
+++ b/Lang/OCaml/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Priority-queue b/Lang/OCaml/Priority-queue
new file mode 120000
index 0000000000..f90ddb06eb
--- /dev/null
+++ b/Lang/OCaml/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Probabilistic-choice b/Lang/OCaml/Probabilistic-choice
new file mode 120000
index 0000000000..8ec30cac94
--- /dev/null
+++ b/Lang/OCaml/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Problem-of-Apollonius b/Lang/OCaml/Problem-of-Apollonius
new file mode 120000
index 0000000000..cce2ac2069
--- /dev/null
+++ b/Lang/OCaml/Problem-of-Apollonius
@@ -0,0 +1 @@
+../../Task/Problem-of-Apollonius/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Program-name b/Lang/OCaml/Program-name
new file mode 120000
index 0000000000..b1eebc450b
--- /dev/null
+++ b/Lang/OCaml/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Program-termination b/Lang/OCaml/Program-termination
new file mode 120000
index 0000000000..dffb657b5a
--- /dev/null
+++ b/Lang/OCaml/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Pythagorean-triples b/Lang/OCaml/Pythagorean-triples
new file mode 120000
index 0000000000..062948a4ee
--- /dev/null
+++ b/Lang/OCaml/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Quaternion-type b/Lang/OCaml/Quaternion-type
new file mode 120000
index 0000000000..cc65de3875
--- /dev/null
+++ b/Lang/OCaml/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Queue-Definition b/Lang/OCaml/Queue-Definition
new file mode 120000
index 0000000000..21d6d83731
--- /dev/null
+++ b/Lang/OCaml/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Queue-Usage b/Lang/OCaml/Queue-Usage
new file mode 120000
index 0000000000..4f4c81b361
--- /dev/null
+++ b/Lang/OCaml/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Random-number-generator--device- b/Lang/OCaml/Random-number-generator--device-
new file mode 120000
index 0000000000..61873c5d23
--- /dev/null
+++ b/Lang/OCaml/Random-number-generator--device-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--device-/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Random-numbers b/Lang/OCaml/Random-numbers
new file mode 120000
index 0000000000..d45a7dc956
--- /dev/null
+++ b/Lang/OCaml/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Range-expansion b/Lang/OCaml/Range-expansion
new file mode 120000
index 0000000000..6d8429b529
--- /dev/null
+++ b/Lang/OCaml/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Range-extraction b/Lang/OCaml/Range-extraction
new file mode 120000
index 0000000000..b50dea6f5e
--- /dev/null
+++ b/Lang/OCaml/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Ray-casting-algorithm b/Lang/OCaml/Ray-casting-algorithm
new file mode 120000
index 0000000000..d151e7f6e3
--- /dev/null
+++ b/Lang/OCaml/Ray-casting-algorithm
@@ -0,0 +1 @@
+../../Task/Ray-casting-algorithm/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Read-a-configuration-file b/Lang/OCaml/Read-a-configuration-file
new file mode 120000
index 0000000000..4ab4e0e16f
--- /dev/null
+++ b/Lang/OCaml/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Read-a-file-line-by-line b/Lang/OCaml/Read-a-file-line-by-line
new file mode 120000
index 0000000000..dcc9edf0df
--- /dev/null
+++ b/Lang/OCaml/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Read-a-specific-line-from-a-file b/Lang/OCaml/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..9d73c26735
--- /dev/null
+++ b/Lang/OCaml/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Read-entire-file b/Lang/OCaml/Read-entire-file
new file mode 120000
index 0000000000..a9c19ffafb
--- /dev/null
+++ b/Lang/OCaml/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Real-constants-and-functions b/Lang/OCaml/Real-constants-and-functions
new file mode 120000
index 0000000000..3d5c358ff9
--- /dev/null
+++ b/Lang/OCaml/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Record-sound b/Lang/OCaml/Record-sound
new file mode 120000
index 0000000000..4027bcd3e3
--- /dev/null
+++ b/Lang/OCaml/Record-sound
@@ -0,0 +1 @@
+../../Task/Record-sound/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Reduced-row-echelon-form b/Lang/OCaml/Reduced-row-echelon-form
new file mode 120000
index 0000000000..eb87ca979d
--- /dev/null
+++ b/Lang/OCaml/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Regular-expressions b/Lang/OCaml/Regular-expressions
new file mode 120000
index 0000000000..05da2611fe
--- /dev/null
+++ b/Lang/OCaml/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Remove-duplicate-elements b/Lang/OCaml/Remove-duplicate-elements
new file mode 120000
index 0000000000..67db5594a3
--- /dev/null
+++ b/Lang/OCaml/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Remove-lines-from-a-file b/Lang/OCaml/Remove-lines-from-a-file
new file mode 120000
index 0000000000..c77e63efd9
--- /dev/null
+++ b/Lang/OCaml/Remove-lines-from-a-file
@@ -0,0 +1 @@
+../../Task/Remove-lines-from-a-file/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Rename-a-file b/Lang/OCaml/Rename-a-file
new file mode 120000
index 0000000000..fae366f029
--- /dev/null
+++ b/Lang/OCaml/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Repeat-a-string b/Lang/OCaml/Repeat-a-string
new file mode 120000
index 0000000000..72b898c598
--- /dev/null
+++ b/Lang/OCaml/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Return-multiple-values b/Lang/OCaml/Return-multiple-values
new file mode 120000
index 0000000000..5ab8f00c3e
--- /dev/null
+++ b/Lang/OCaml/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Reverse-a-string b/Lang/OCaml/Reverse-a-string
new file mode 120000
index 0000000000..e9c4f9fc1a
--- /dev/null
+++ b/Lang/OCaml/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Rock-paper-scissors b/Lang/OCaml/Rock-paper-scissors
new file mode 120000
index 0000000000..35d8830268
--- /dev/null
+++ b/Lang/OCaml/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Roman-numerals-Decode b/Lang/OCaml/Roman-numerals-Decode
new file mode 120000
index 0000000000..4b01d246af
--- /dev/null
+++ b/Lang/OCaml/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Roman-numerals-Encode b/Lang/OCaml/Roman-numerals-Encode
new file mode 120000
index 0000000000..33a89fa9fc
--- /dev/null
+++ b/Lang/OCaml/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Roots-of-a-function b/Lang/OCaml/Roots-of-a-function
new file mode 120000
index 0000000000..92b46bcb71
--- /dev/null
+++ b/Lang/OCaml/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Roots-of-a-quadratic-function b/Lang/OCaml/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..7b08cb8368
--- /dev/null
+++ b/Lang/OCaml/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Roots-of-unity b/Lang/OCaml/Roots-of-unity
new file mode 120000
index 0000000000..730d624219
--- /dev/null
+++ b/Lang/OCaml/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Rosetta-Code-Count-examples b/Lang/OCaml/Rosetta-Code-Count-examples
new file mode 120000
index 0000000000..2873044c05
--- /dev/null
+++ b/Lang/OCaml/Rosetta-Code-Count-examples
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Count-examples/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Rosetta-Code-Fix-code-tags b/Lang/OCaml/Rosetta-Code-Fix-code-tags
new file mode 120000
index 0000000000..8991da0ace
--- /dev/null
+++ b/Lang/OCaml/Rosetta-Code-Fix-code-tags
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Fix-code-tags/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Rot-13 b/Lang/OCaml/Rot-13
new file mode 120000
index 0000000000..f230f817eb
--- /dev/null
+++ b/Lang/OCaml/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Run-length-encoding b/Lang/OCaml/Run-length-encoding
new file mode 120000
index 0000000000..d4cc242aed
--- /dev/null
+++ b/Lang/OCaml/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/S-Expressions b/Lang/OCaml/S-Expressions
new file mode 120000
index 0000000000..8c03bae9a3
--- /dev/null
+++ b/Lang/OCaml/S-Expressions
@@ -0,0 +1 @@
+../../Task/S-Expressions/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/SEDOLs b/Lang/OCaml/SEDOLs
new file mode 120000
index 0000000000..798d0ccc9d
--- /dev/null
+++ b/Lang/OCaml/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Same-Fringe b/Lang/OCaml/Same-Fringe
new file mode 120000
index 0000000000..922fcef143
--- /dev/null
+++ b/Lang/OCaml/Same-Fringe
@@ -0,0 +1 @@
+../../Task/Same-Fringe/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Secure-temporary-file b/Lang/OCaml/Secure-temporary-file
new file mode 120000
index 0000000000..c4723b9c08
--- /dev/null
+++ b/Lang/OCaml/Secure-temporary-file
@@ -0,0 +1 @@
+../../Task/Secure-temporary-file/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Semordnilap b/Lang/OCaml/Semordnilap
new file mode 120000
index 0000000000..203354d380
--- /dev/null
+++ b/Lang/OCaml/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Send-email b/Lang/OCaml/Send-email
new file mode 120000
index 0000000000..65fd1836f4
--- /dev/null
+++ b/Lang/OCaml/Send-email
@@ -0,0 +1 @@
+../../Task/Send-email/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Sequence-of-non-squares b/Lang/OCaml/Sequence-of-non-squares
new file mode 120000
index 0000000000..d4c4de306e
--- /dev/null
+++ b/Lang/OCaml/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Set b/Lang/OCaml/Set
new file mode 120000
index 0000000000..90ef0bcb30
--- /dev/null
+++ b/Lang/OCaml/Set
@@ -0,0 +1 @@
+../../Task/Set/OCaml
\ No newline at end of file
diff --git a/Lang/OCaml/Set-consolidation b/Lang/OCaml/Set-consolidation
new file mode 120000
index 0000000000..f7613f1b53
--- /dev/null
+++ b/Lang/OCaml/Set-consolidation
@@ -0,0 +1 @@
+../../Task/Set-consolidation/OCaml
\ No newline at end of file
diff --git a/Lang/Oberon-2/Copy-a-string b/Lang/Oberon-2/Copy-a-string
new file mode 120000
index 0000000000..8fce55e955
--- /dev/null
+++ b/Lang/Oberon-2/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Oberon-2
\ No newline at end of file
diff --git a/Lang/Oberon-2/Range-expansion b/Lang/Oberon-2/Range-expansion
new file mode 120000
index 0000000000..db47afb7df
--- /dev/null
+++ b/Lang/Oberon-2/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/Oberon-2
\ No newline at end of file
diff --git a/Lang/Oberon-2/Range-extraction b/Lang/Oberon-2/Range-extraction
new file mode 120000
index 0000000000..3488504655
--- /dev/null
+++ b/Lang/Oberon-2/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/Oberon-2
\ No newline at end of file
diff --git a/Lang/Objeck/Binary-digits b/Lang/Objeck/Binary-digits
new file mode 120000
index 0000000000..25222f28a6
--- /dev/null
+++ b/Lang/Objeck/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Copy-a-string b/Lang/Objeck/Copy-a-string
new file mode 120000
index 0000000000..8b3c320c30
--- /dev/null
+++ b/Lang/Objeck/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/N-queens-problem b/Lang/Objeck/N-queens-problem
new file mode 120000
index 0000000000..e3055dd754
--- /dev/null
+++ b/Lang/Objeck/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Null-object b/Lang/Objeck/Null-object
new file mode 120000
index 0000000000..56464fe683
--- /dev/null
+++ b/Lang/Objeck/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Number-names b/Lang/Objeck/Number-names
new file mode 120000
index 0000000000..16e016721a
--- /dev/null
+++ b/Lang/Objeck/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Object-serialization b/Lang/Objeck/Object-serialization
new file mode 120000
index 0000000000..1f5db8a905
--- /dev/null
+++ b/Lang/Objeck/Object-serialization
@@ -0,0 +1 @@
+../../Task/Object-serialization/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Palindrome-detection b/Lang/Objeck/Palindrome-detection
new file mode 120000
index 0000000000..1271ea2923
--- /dev/null
+++ b/Lang/Objeck/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Pangram-checker b/Lang/Objeck/Pangram-checker
new file mode 120000
index 0000000000..94ff9757e3
--- /dev/null
+++ b/Lang/Objeck/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Parametrized-SQL-statement b/Lang/Objeck/Parametrized-SQL-statement
new file mode 120000
index 0000000000..33236fae8b
--- /dev/null
+++ b/Lang/Objeck/Parametrized-SQL-statement
@@ -0,0 +1 @@
+../../Task/Parametrized-SQL-statement/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Parsing-RPN-calculator-algorithm b/Lang/Objeck/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..a32d4c397d
--- /dev/null
+++ b/Lang/Objeck/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Perfect-numbers b/Lang/Objeck/Perfect-numbers
new file mode 120000
index 0000000000..9b742aa149
--- /dev/null
+++ b/Lang/Objeck/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Pick-random-element b/Lang/Objeck/Pick-random-element
new file mode 120000
index 0000000000..5bd77e3cb1
--- /dev/null
+++ b/Lang/Objeck/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Polymorphism b/Lang/Objeck/Polymorphism
new file mode 120000
index 0000000000..83ce87d300
--- /dev/null
+++ b/Lang/Objeck/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Primality-by-trial-division b/Lang/Objeck/Primality-by-trial-division
new file mode 120000
index 0000000000..4e99e79942
--- /dev/null
+++ b/Lang/Objeck/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Program-termination b/Lang/Objeck/Program-termination
new file mode 120000
index 0000000000..55c5c2073e
--- /dev/null
+++ b/Lang/Objeck/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Queue-Usage b/Lang/Objeck/Queue-Usage
new file mode 120000
index 0000000000..c929be7210
--- /dev/null
+++ b/Lang/Objeck/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/RIPEMD-160 b/Lang/Objeck/RIPEMD-160
new file mode 120000
index 0000000000..ea55e2b479
--- /dev/null
+++ b/Lang/Objeck/RIPEMD-160
@@ -0,0 +1 @@
+../../Task/RIPEMD-160/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Random-numbers b/Lang/Objeck/Random-numbers
new file mode 120000
index 0000000000..74b6a12c18
--- /dev/null
+++ b/Lang/Objeck/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Read-a-file-line-by-line b/Lang/Objeck/Read-a-file-line-by-line
new file mode 120000
index 0000000000..8da645e450
--- /dev/null
+++ b/Lang/Objeck/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Read-entire-file b/Lang/Objeck/Read-entire-file
new file mode 120000
index 0000000000..b741f397ee
--- /dev/null
+++ b/Lang/Objeck/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Real-constants-and-functions b/Lang/Objeck/Real-constants-and-functions
new file mode 120000
index 0000000000..1960f659ca
--- /dev/null
+++ b/Lang/Objeck/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Reduced-row-echelon-form b/Lang/Objeck/Reduced-row-echelon-form
new file mode 120000
index 0000000000..787d6ac745
--- /dev/null
+++ b/Lang/Objeck/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Regular-expressions b/Lang/Objeck/Regular-expressions
new file mode 120000
index 0000000000..a13818044c
--- /dev/null
+++ b/Lang/Objeck/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Remove-duplicate-elements b/Lang/Objeck/Remove-duplicate-elements
new file mode 120000
index 0000000000..5ac44cf360
--- /dev/null
+++ b/Lang/Objeck/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Rename-a-file b/Lang/Objeck/Rename-a-file
new file mode 120000
index 0000000000..ec1b8f0aa4
--- /dev/null
+++ b/Lang/Objeck/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Repeat-a-string b/Lang/Objeck/Repeat-a-string
new file mode 120000
index 0000000000..ad9a75c78b
--- /dev/null
+++ b/Lang/Objeck/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Reverse-a-string b/Lang/Objeck/Reverse-a-string
new file mode 120000
index 0000000000..50eb1719ec
--- /dev/null
+++ b/Lang/Objeck/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Roman-numerals-Encode b/Lang/Objeck/Roman-numerals-Encode
new file mode 120000
index 0000000000..544d64421d
--- /dev/null
+++ b/Lang/Objeck/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Roots-of-a-function b/Lang/Objeck/Roots-of-a-function
new file mode 120000
index 0000000000..bd880ddd2a
--- /dev/null
+++ b/Lang/Objeck/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/Objeck
\ No newline at end of file
diff --git a/Lang/Objeck/Rot-13 b/Lang/Objeck/Rot-13
new file mode 120000
index 0000000000..8b898bbaf9
--- /dev/null
+++ b/Lang/Objeck/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Objeck
\ No newline at end of file
diff --git a/Lang/Objective-C/Copy-a-string b/Lang/Objective-C/Copy-a-string
new file mode 120000
index 0000000000..9050eedcfd
--- /dev/null
+++ b/Lang/Objective-C/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Environment-variables b/Lang/Objective-C/Environment-variables
new file mode 120000
index 0000000000..6c30f11fc9
--- /dev/null
+++ b/Lang/Objective-C/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Guess-the-number-With-feedback--player- b/Lang/Objective-C/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..6d4f15408f
--- /dev/null
+++ b/Lang/Objective-C/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Guess-the-number-With-feedback-player b/Lang/Objective-C/Guess-the-number-With-feedback-player
deleted file mode 120000
index 3ca0814c0e..0000000000
--- a/Lang/Objective-C/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Named-parameters b/Lang/Objective-C/Named-parameters
new file mode 120000
index 0000000000..4969e50b3c
--- /dev/null
+++ b/Lang/Objective-C/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Null-object b/Lang/Objective-C/Null-object
new file mode 120000
index 0000000000..ec9c38e05b
--- /dev/null
+++ b/Lang/Objective-C/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Object-serialization b/Lang/Objective-C/Object-serialization
new file mode 120000
index 0000000000..3bdc4edede
--- /dev/null
+++ b/Lang/Objective-C/Object-serialization
@@ -0,0 +1 @@
+../../Task/Object-serialization/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Optional-parameters b/Lang/Objective-C/Optional-parameters
new file mode 120000
index 0000000000..846bac13d3
--- /dev/null
+++ b/Lang/Objective-C/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Polymorphic-copy b/Lang/Objective-C/Polymorphic-copy
new file mode 120000
index 0000000000..1b9cae3fb5
--- /dev/null
+++ b/Lang/Objective-C/Polymorphic-copy
@@ -0,0 +1 @@
+../../Task/Polymorphic-copy/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Polymorphism b/Lang/Objective-C/Polymorphism
new file mode 120000
index 0000000000..272ddb11ff
--- /dev/null
+++ b/Lang/Objective-C/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Power-set b/Lang/Objective-C/Power-set
new file mode 120000
index 0000000000..955b533dcb
--- /dev/null
+++ b/Lang/Objective-C/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Priority-queue b/Lang/Objective-C/Priority-queue
new file mode 120000
index 0000000000..ee577189bd
--- /dev/null
+++ b/Lang/Objective-C/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Program-name b/Lang/Objective-C/Program-name
new file mode 120000
index 0000000000..7d933b6219
--- /dev/null
+++ b/Lang/Objective-C/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Read-a-file-line-by-line b/Lang/Objective-C/Read-a-file-line-by-line
new file mode 120000
index 0000000000..5f7e86a83e
--- /dev/null
+++ b/Lang/Objective-C/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Read-entire-file b/Lang/Objective-C/Read-entire-file
new file mode 120000
index 0000000000..362232d748
--- /dev/null
+++ b/Lang/Objective-C/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Regular-expressions b/Lang/Objective-C/Regular-expressions
new file mode 120000
index 0000000000..edef7f7153
--- /dev/null
+++ b/Lang/Objective-C/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Remove-duplicate-elements b/Lang/Objective-C/Remove-duplicate-elements
new file mode 120000
index 0000000000..9d546687b6
--- /dev/null
+++ b/Lang/Objective-C/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Rename-a-file b/Lang/Objective-C/Rename-a-file
new file mode 120000
index 0000000000..d8d6a7467e
--- /dev/null
+++ b/Lang/Objective-C/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Repeat-a-string b/Lang/Objective-C/Repeat-a-string
new file mode 120000
index 0000000000..b35a415239
--- /dev/null
+++ b/Lang/Objective-C/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Respond-to-an-unknown-method-call b/Lang/Objective-C/Respond-to-an-unknown-method-call
new file mode 120000
index 0000000000..d79ed320f7
--- /dev/null
+++ b/Lang/Objective-C/Respond-to-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Respond-to-an-unknown-method-call/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Reverse-a-string b/Lang/Objective-C/Reverse-a-string
new file mode 120000
index 0000000000..97ed95a319
--- /dev/null
+++ b/Lang/Objective-C/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Send-an-unknown-method-call b/Lang/Objective-C/Send-an-unknown-method-call
new file mode 120000
index 0000000000..d764ffbc62
--- /dev/null
+++ b/Lang/Objective-C/Send-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Send-an-unknown-method-call/Objective-C
\ No newline at end of file
diff --git a/Lang/Objective-C/Set b/Lang/Objective-C/Set
new file mode 120000
index 0000000000..58b42165f3
--- /dev/null
+++ b/Lang/Objective-C/Set
@@ -0,0 +1 @@
+../../Task/Set/Objective-C
\ No newline at end of file
diff --git a/Lang/Octave/Brownian-tree b/Lang/Octave/Brownian-tree
new file mode 120000
index 0000000000..f853b0fa2c
--- /dev/null
+++ b/Lang/Octave/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Copy-a-string b/Lang/Octave/Copy-a-string
new file mode 120000
index 0000000000..93fe2a8f6a
--- /dev/null
+++ b/Lang/Octave/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Nth-root b/Lang/Octave/Nth-root
new file mode 120000
index 0000000000..7edbb2df62
--- /dev/null
+++ b/Lang/Octave/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Palindrome-detection b/Lang/Octave/Palindrome-detection
new file mode 120000
index 0000000000..3390059ea6
--- /dev/null
+++ b/Lang/Octave/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Pascals-triangle b/Lang/Octave/Pascals-triangle
new file mode 120000
index 0000000000..2bb28d5a0f
--- /dev/null
+++ b/Lang/Octave/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Plot-coordinate-pairs b/Lang/Octave/Plot-coordinate-pairs
new file mode 120000
index 0000000000..27a430790d
--- /dev/null
+++ b/Lang/Octave/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Polynomial-long-division b/Lang/Octave/Polynomial-long-division
new file mode 120000
index 0000000000..e69ecc9892
--- /dev/null
+++ b/Lang/Octave/Polynomial-long-division
@@ -0,0 +1 @@
+../../Task/Polynomial-long-division/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Polynomial-regression b/Lang/Octave/Polynomial-regression
new file mode 120000
index 0000000000..346482ce64
--- /dev/null
+++ b/Lang/Octave/Polynomial-regression
@@ -0,0 +1 @@
+../../Task/Polynomial-regression/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Primality-by-trial-division b/Lang/Octave/Primality-by-trial-division
new file mode 120000
index 0000000000..b1e3b5018f
--- /dev/null
+++ b/Lang/Octave/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Prime-decomposition b/Lang/Octave/Prime-decomposition
new file mode 120000
index 0000000000..1022fc4387
--- /dev/null
+++ b/Lang/Octave/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Program-name b/Lang/Octave/Program-name
new file mode 120000
index 0000000000..05ec008353
--- /dev/null
+++ b/Lang/Octave/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Random-numbers b/Lang/Octave/Random-numbers
new file mode 120000
index 0000000000..6faecd9809
--- /dev/null
+++ b/Lang/Octave/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Real-constants-and-functions b/Lang/Octave/Real-constants-and-functions
new file mode 120000
index 0000000000..6fdee1fe01
--- /dev/null
+++ b/Lang/Octave/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Reduced-row-echelon-form b/Lang/Octave/Reduced-row-echelon-form
new file mode 120000
index 0000000000..81dbbde0b8
--- /dev/null
+++ b/Lang/Octave/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Remove-duplicate-elements b/Lang/Octave/Remove-duplicate-elements
new file mode 120000
index 0000000000..19f0135ce7
--- /dev/null
+++ b/Lang/Octave/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Rename-a-file b/Lang/Octave/Rename-a-file
new file mode 120000
index 0000000000..cf613e112b
--- /dev/null
+++ b/Lang/Octave/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Reverse-a-string b/Lang/Octave/Reverse-a-string
new file mode 120000
index 0000000000..960e49a85e
--- /dev/null
+++ b/Lang/Octave/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Roots-of-a-function b/Lang/Octave/Roots-of-a-function
new file mode 120000
index 0000000000..50bf50f963
--- /dev/null
+++ b/Lang/Octave/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Roots-of-unity b/Lang/Octave/Roots-of-unity
new file mode 120000
index 0000000000..9a6efa548a
--- /dev/null
+++ b/Lang/Octave/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Runtime-evaluation-In-an-environment b/Lang/Octave/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..f6e9b92036
--- /dev/null
+++ b/Lang/Octave/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/Octave
\ No newline at end of file
diff --git a/Lang/Octave/Secure-temporary-file b/Lang/Octave/Secure-temporary-file
new file mode 120000
index 0000000000..20133a3f82
--- /dev/null
+++ b/Lang/Octave/Secure-temporary-file
@@ -0,0 +1 @@
+../../Task/Secure-temporary-file/Octave
\ No newline at end of file
diff --git a/Lang/OpenEdge-Progress/Repeat-a-string b/Lang/OpenEdge-Progress/Repeat-a-string
new file mode 120000
index 0000000000..e4812304fd
--- /dev/null
+++ b/Lang/OpenEdge-Progress/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/OpenEdge-Progress
\ No newline at end of file
diff --git a/Lang/OpenEdge-Progress/Reverse-a-string b/Lang/OpenEdge-Progress/Reverse-a-string
new file mode 120000
index 0000000000..b7609f2984
--- /dev/null
+++ b/Lang/OpenEdge-Progress/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/OpenEdge-Progress
\ No newline at end of file
diff --git a/Lang/OpenEdge-Progress/Roman-numerals-Encode b/Lang/OpenEdge-Progress/Roman-numerals-Encode
new file mode 120000
index 0000000000..e1d77942cf
--- /dev/null
+++ b/Lang/OpenEdge-Progress/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/OpenEdge-Progress
\ No newline at end of file
diff --git a/Lang/Order/Partial-function-application b/Lang/Order/Partial-function-application
new file mode 120000
index 0000000000..cfd956be31
--- /dev/null
+++ b/Lang/Order/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/Order
\ No newline at end of file
diff --git a/Lang/Order/Program-name b/Lang/Order/Program-name
new file mode 120000
index 0000000000..db14f65445
--- /dev/null
+++ b/Lang/Order/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Order
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Binary-digits b/Lang/OxygenBasic/Binary-digits
new file mode 120000
index 0000000000..c04d5f1e2a
--- /dev/null
+++ b/Lang/OxygenBasic/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Copy-a-string b/Lang/OxygenBasic/Copy-a-string
new file mode 120000
index 0000000000..92ffce9c79
--- /dev/null
+++ b/Lang/OxygenBasic/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/OpenGL b/Lang/OxygenBasic/OpenGL
new file mode 120000
index 0000000000..5cef9ddf81
--- /dev/null
+++ b/Lang/OxygenBasic/OpenGL
@@ -0,0 +1 @@
+../../Task/OpenGL/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Parallel-calculations b/Lang/OxygenBasic/Parallel-calculations
new file mode 120000
index 0000000000..7e68ce8fbe
--- /dev/null
+++ b/Lang/OxygenBasic/Parallel-calculations
@@ -0,0 +1 @@
+../../Task/Parallel-calculations/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Polymorphic-copy b/Lang/OxygenBasic/Polymorphic-copy
new file mode 120000
index 0000000000..1df9c7c057
--- /dev/null
+++ b/Lang/OxygenBasic/Polymorphic-copy
@@ -0,0 +1 @@
+../../Task/Polymorphic-copy/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Polymorphism b/Lang/OxygenBasic/Polymorphism
new file mode 120000
index 0000000000..7ddf47e79b
--- /dev/null
+++ b/Lang/OxygenBasic/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Queue-Definition b/Lang/OxygenBasic/Queue-Definition
new file mode 120000
index 0000000000..0c4ea7e0f6
--- /dev/null
+++ b/Lang/OxygenBasic/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Range-extraction b/Lang/OxygenBasic/Range-extraction
new file mode 120000
index 0000000000..baa8866b44
--- /dev/null
+++ b/Lang/OxygenBasic/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Rate-counter b/Lang/OxygenBasic/Rate-counter
new file mode 120000
index 0000000000..d50165dc49
--- /dev/null
+++ b/Lang/OxygenBasic/Rate-counter
@@ -0,0 +1 @@
+../../Task/Rate-counter/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Read-a-file-line-by-line b/Lang/OxygenBasic/Read-a-file-line-by-line
new file mode 120000
index 0000000000..b20c5ef702
--- /dev/null
+++ b/Lang/OxygenBasic/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Repeat-a-string b/Lang/OxygenBasic/Repeat-a-string
new file mode 120000
index 0000000000..b1343b72e0
--- /dev/null
+++ b/Lang/OxygenBasic/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Return-multiple-values b/Lang/OxygenBasic/Return-multiple-values
new file mode 120000
index 0000000000..ef52fa1c7b
--- /dev/null
+++ b/Lang/OxygenBasic/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Reverse-a-string b/Lang/OxygenBasic/Reverse-a-string
new file mode 120000
index 0000000000..03797bf999
--- /dev/null
+++ b/Lang/OxygenBasic/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/OxygenBasic
\ No newline at end of file
diff --git a/Lang/OxygenBasic/Runtime-evaluation b/Lang/OxygenBasic/Runtime-evaluation
new file mode 120000
index 0000000000..bf795bda06
--- /dev/null
+++ b/Lang/OxygenBasic/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/OxygenBasic
\ No newline at end of file
diff --git a/Lang/Oxygene/Regular-expressions b/Lang/Oxygene/Regular-expressions
new file mode 120000
index 0000000000..0234c166a5
--- /dev/null
+++ b/Lang/Oxygene/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Oxygene
\ No newline at end of file
diff --git a/Lang/Oz/Arbitrary-precision-integers--included- b/Lang/Oz/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..9aa8dc7b23
--- /dev/null
+++ b/Lang/Oz/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Arbitrary-precision-integers-included b/Lang/Oz/Arbitrary-precision-integers-included
deleted file mode 120000
index 364cdd4377..0000000000
--- a/Lang/Oz/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Environment-variables b/Lang/Oz/Environment-variables
new file mode 120000
index 0000000000..d86420142f
--- /dev/null
+++ b/Lang/Oz/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Oz
\ No newline at end of file
diff --git a/Lang/Oz/N-queens-problem b/Lang/Oz/N-queens-problem
new file mode 120000
index 0000000000..aafa4d1e18
--- /dev/null
+++ b/Lang/Oz/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Named-parameters b/Lang/Oz/Named-parameters
new file mode 120000
index 0000000000..1ca861888b
--- /dev/null
+++ b/Lang/Oz/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Non-continuous-subsequences b/Lang/Oz/Non-continuous-subsequences
new file mode 120000
index 0000000000..43049961fd
--- /dev/null
+++ b/Lang/Oz/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Non-decimal-radices-Input b/Lang/Oz/Non-decimal-radices-Input
new file mode 120000
index 0000000000..792c85db1e
--- /dev/null
+++ b/Lang/Oz/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Nth-root b/Lang/Oz/Nth-root
new file mode 120000
index 0000000000..f75635e149
--- /dev/null
+++ b/Lang/Oz/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Null-object b/Lang/Oz/Null-object
new file mode 120000
index 0000000000..e8699e742a
--- /dev/null
+++ b/Lang/Oz/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Number-reversal-game b/Lang/Oz/Number-reversal-game
new file mode 120000
index 0000000000..cb6ef8b7ee
--- /dev/null
+++ b/Lang/Oz/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/Oz
\ No newline at end of file
diff --git a/Lang/Oz/One-dimensional-cellular-automata b/Lang/Oz/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..b41c7ed745
--- /dev/null
+++ b/Lang/Oz/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Optional-parameters b/Lang/Oz/Optional-parameters
new file mode 120000
index 0000000000..15f3a9f05c
--- /dev/null
+++ b/Lang/Oz/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Palindrome-detection b/Lang/Oz/Palindrome-detection
new file mode 120000
index 0000000000..5c3210b19c
--- /dev/null
+++ b/Lang/Oz/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Pangram-checker b/Lang/Oz/Pangram-checker
new file mode 120000
index 0000000000..7118309971
--- /dev/null
+++ b/Lang/Oz/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Pascals-triangle b/Lang/Oz/Pascals-triangle
new file mode 120000
index 0000000000..0ce8a156e7
--- /dev/null
+++ b/Lang/Oz/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Pascals-triangle-Puzzle b/Lang/Oz/Pascals-triangle-Puzzle
new file mode 120000
index 0000000000..80c14731d6
--- /dev/null
+++ b/Lang/Oz/Pascals-triangle-Puzzle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle-Puzzle/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Pattern-matching b/Lang/Oz/Pattern-matching
new file mode 120000
index 0000000000..cb72a530a7
--- /dev/null
+++ b/Lang/Oz/Pattern-matching
@@ -0,0 +1 @@
+../../Task/Pattern-matching/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Perfect-numbers b/Lang/Oz/Perfect-numbers
new file mode 120000
index 0000000000..7138090338
--- /dev/null
+++ b/Lang/Oz/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Polymorphic-copy b/Lang/Oz/Polymorphic-copy
new file mode 120000
index 0000000000..d6947a27a9
--- /dev/null
+++ b/Lang/Oz/Polymorphic-copy
@@ -0,0 +1 @@
+../../Task/Polymorphic-copy/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Polymorphism b/Lang/Oz/Polymorphism
new file mode 120000
index 0000000000..2889966622
--- /dev/null
+++ b/Lang/Oz/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Power-set b/Lang/Oz/Power-set
new file mode 120000
index 0000000000..5f481e8172
--- /dev/null
+++ b/Lang/Oz/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Price-fraction b/Lang/Oz/Price-fraction
new file mode 120000
index 0000000000..c77edcf842
--- /dev/null
+++ b/Lang/Oz/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Program-termination b/Lang/Oz/Program-termination
new file mode 120000
index 0000000000..689efadec5
--- /dev/null
+++ b/Lang/Oz/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Queue-Definition b/Lang/Oz/Queue-Definition
new file mode 120000
index 0000000000..0263455588
--- /dev/null
+++ b/Lang/Oz/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Queue-Usage b/Lang/Oz/Queue-Usage
new file mode 120000
index 0000000000..ebcd46f05f
--- /dev/null
+++ b/Lang/Oz/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Range-expansion b/Lang/Oz/Range-expansion
new file mode 120000
index 0000000000..84eb1aa3b2
--- /dev/null
+++ b/Lang/Oz/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Range-extraction b/Lang/Oz/Range-extraction
new file mode 120000
index 0000000000..3cf4eefc3d
--- /dev/null
+++ b/Lang/Oz/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Read-entire-file b/Lang/Oz/Read-entire-file
new file mode 120000
index 0000000000..28e03ba189
--- /dev/null
+++ b/Lang/Oz/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Real-constants-and-functions b/Lang/Oz/Real-constants-and-functions
new file mode 120000
index 0000000000..663f0c330b
--- /dev/null
+++ b/Lang/Oz/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Regular-expressions b/Lang/Oz/Regular-expressions
new file mode 120000
index 0000000000..b27a711e2a
--- /dev/null
+++ b/Lang/Oz/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Remove-duplicate-elements b/Lang/Oz/Remove-duplicate-elements
new file mode 120000
index 0000000000..26cd3a4269
--- /dev/null
+++ b/Lang/Oz/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Rendezvous b/Lang/Oz/Rendezvous
new file mode 120000
index 0000000000..de139efbc1
--- /dev/null
+++ b/Lang/Oz/Rendezvous
@@ -0,0 +1 @@
+../../Task/Rendezvous/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Repeat-a-string b/Lang/Oz/Repeat-a-string
new file mode 120000
index 0000000000..9b5ce948a4
--- /dev/null
+++ b/Lang/Oz/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Respond-to-an-unknown-method-call b/Lang/Oz/Respond-to-an-unknown-method-call
new file mode 120000
index 0000000000..a09d64d466
--- /dev/null
+++ b/Lang/Oz/Respond-to-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Respond-to-an-unknown-method-call/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Reverse-a-string b/Lang/Oz/Reverse-a-string
new file mode 120000
index 0000000000..976170e0c3
--- /dev/null
+++ b/Lang/Oz/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Roman-numerals-Encode b/Lang/Oz/Roman-numerals-Encode
new file mode 120000
index 0000000000..c409756e7d
--- /dev/null
+++ b/Lang/Oz/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Rosetta-Code-Count-examples b/Lang/Oz/Rosetta-Code-Count-examples
new file mode 120000
index 0000000000..777776db5b
--- /dev/null
+++ b/Lang/Oz/Rosetta-Code-Count-examples
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Count-examples/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Rosetta-Code-Find-unimplemented-tasks b/Lang/Oz/Rosetta-Code-Find-unimplemented-tasks
new file mode 120000
index 0000000000..0f47412111
--- /dev/null
+++ b/Lang/Oz/Rosetta-Code-Find-unimplemented-tasks
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Find-unimplemented-tasks/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Rosetta-Code-Rank-languages-by-popularity b/Lang/Oz/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..e6024d2faa
--- /dev/null
+++ b/Lang/Oz/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Rot-13 b/Lang/Oz/Rot-13
new file mode 120000
index 0000000000..143d7f50b6
--- /dev/null
+++ b/Lang/Oz/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Run-length-encoding b/Lang/Oz/Run-length-encoding
new file mode 120000
index 0000000000..c1647ff37e
--- /dev/null
+++ b/Lang/Oz/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Runtime-evaluation b/Lang/Oz/Runtime-evaluation
new file mode 120000
index 0000000000..fa73249afd
--- /dev/null
+++ b/Lang/Oz/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Runtime-evaluation-In-an-environment b/Lang/Oz/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..805cba4289
--- /dev/null
+++ b/Lang/Oz/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/Oz
\ No newline at end of file
diff --git a/Lang/Oz/Sequence-of-non-squares b/Lang/Oz/Sequence-of-non-squares
new file mode 120000
index 0000000000..2e24885433
--- /dev/null
+++ b/Lang/Oz/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Oz
\ No newline at end of file
diff --git a/Lang/PARI-GP/Arbitrary-precision-integers--included- b/Lang/PARI-GP/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..9cfe1cfe3c
--- /dev/null
+++ b/Lang/PARI-GP/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Arbitrary-precision-integers-included b/Lang/PARI-GP/Arbitrary-precision-integers-included
deleted file mode 120000
index a6a8277b53..0000000000
--- a/Lang/PARI-GP/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Binary-digits b/Lang/PARI-GP/Binary-digits
new file mode 120000
index 0000000000..7162bfdf06
--- /dev/null
+++ b/Lang/PARI-GP/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Catalan-numbers b/Lang/PARI-GP/Catalan-numbers
new file mode 120000
index 0000000000..1016343ab8
--- /dev/null
+++ b/Lang/PARI-GP/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Copy-a-string b/Lang/PARI-GP/Copy-a-string
new file mode 120000
index 0000000000..4037b4ef22
--- /dev/null
+++ b/Lang/PARI-GP/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Environment-variables b/Lang/PARI-GP/Environment-variables
new file mode 120000
index 0000000000..6c7b2927d3
--- /dev/null
+++ b/Lang/PARI-GP/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Guess-the-number-With-feedback--player- b/Lang/PARI-GP/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..6e00ed3fa2
--- /dev/null
+++ b/Lang/PARI-GP/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Guess-the-number-With-feedback-player b/Lang/PARI-GP/Guess-the-number-With-feedback-player
deleted file mode 120000
index 5bbd01c89e..0000000000
--- a/Lang/PARI-GP/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Non-decimal-radices-Convert b/Lang/PARI-GP/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..00c6eb9103
--- /dev/null
+++ b/Lang/PARI-GP/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Non-decimal-radices-Input b/Lang/PARI-GP/Non-decimal-radices-Input
new file mode 120000
index 0000000000..dffe02e08d
--- /dev/null
+++ b/Lang/PARI-GP/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Non-decimal-radices-Output b/Lang/PARI-GP/Non-decimal-radices-Output
new file mode 120000
index 0000000000..d3f1fadc9b
--- /dev/null
+++ b/Lang/PARI-GP/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Nth-root b/Lang/PARI-GP/Nth-root
new file mode 120000
index 0000000000..f8558eb7bd
--- /dev/null
+++ b/Lang/PARI-GP/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Null-object b/Lang/PARI-GP/Null-object
new file mode 120000
index 0000000000..8703f8f633
--- /dev/null
+++ b/Lang/PARI-GP/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Number-names b/Lang/PARI-GP/Number-names
new file mode 120000
index 0000000000..120511fa91
--- /dev/null
+++ b/Lang/PARI-GP/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Number-reversal-game b/Lang/PARI-GP/Number-reversal-game
new file mode 120000
index 0000000000..a2228cfd1e
--- /dev/null
+++ b/Lang/PARI-GP/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Numerical-integration b/Lang/PARI-GP/Numerical-integration
new file mode 120000
index 0000000000..19d5ae8ff1
--- /dev/null
+++ b/Lang/PARI-GP/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Numerical-integration-Gauss-Legendre-Quadrature b/Lang/PARI-GP/Numerical-integration-Gauss-Legendre-Quadrature
new file mode 120000
index 0000000000..cc86ccb6cf
--- /dev/null
+++ b/Lang/PARI-GP/Numerical-integration-Gauss-Legendre-Quadrature
@@ -0,0 +1 @@
+../../Task/Numerical-integration-Gauss-Legendre-Quadrature/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/One-dimensional-cellular-automata b/Lang/PARI-GP/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..60940c2234
--- /dev/null
+++ b/Lang/PARI-GP/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Optional-parameters b/Lang/PARI-GP/Optional-parameters
new file mode 120000
index 0000000000..10222538c5
--- /dev/null
+++ b/Lang/PARI-GP/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Order-two-numerical-lists b/Lang/PARI-GP/Order-two-numerical-lists
new file mode 120000
index 0000000000..301c02ab2d
--- /dev/null
+++ b/Lang/PARI-GP/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Palindrome-detection b/Lang/PARI-GP/Palindrome-detection
new file mode 120000
index 0000000000..566294a1ef
--- /dev/null
+++ b/Lang/PARI-GP/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Pangram-checker b/Lang/PARI-GP/Pangram-checker
new file mode 120000
index 0000000000..12af56e5e3
--- /dev/null
+++ b/Lang/PARI-GP/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Parallel-calculations b/Lang/PARI-GP/Parallel-calculations
new file mode 120000
index 0000000000..a3d5c54a3b
--- /dev/null
+++ b/Lang/PARI-GP/Parallel-calculations
@@ -0,0 +1 @@
+../../Task/Parallel-calculations/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Pascals-triangle b/Lang/PARI-GP/Pascals-triangle
new file mode 120000
index 0000000000..ecffcd6cfc
--- /dev/null
+++ b/Lang/PARI-GP/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Pascals-triangle-Puzzle b/Lang/PARI-GP/Pascals-triangle-Puzzle
new file mode 120000
index 0000000000..c52f9a3874
--- /dev/null
+++ b/Lang/PARI-GP/Pascals-triangle-Puzzle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle-Puzzle/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Perfect-numbers b/Lang/PARI-GP/Perfect-numbers
new file mode 120000
index 0000000000..cb44459d76
--- /dev/null
+++ b/Lang/PARI-GP/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Permutations b/Lang/PARI-GP/Permutations
new file mode 120000
index 0000000000..72d9f5ffb0
--- /dev/null
+++ b/Lang/PARI-GP/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Permutations-Derangements b/Lang/PARI-GP/Permutations-Derangements
new file mode 120000
index 0000000000..401851f410
--- /dev/null
+++ b/Lang/PARI-GP/Permutations-Derangements
@@ -0,0 +1 @@
+../../Task/Permutations-Derangements/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Pick-random-element b/Lang/PARI-GP/Pick-random-element
new file mode 120000
index 0000000000..6cf008a545
--- /dev/null
+++ b/Lang/PARI-GP/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Playing-cards b/Lang/PARI-GP/Playing-cards
new file mode 120000
index 0000000000..cbca22eec5
--- /dev/null
+++ b/Lang/PARI-GP/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Plot-coordinate-pairs b/Lang/PARI-GP/Plot-coordinate-pairs
new file mode 120000
index 0000000000..a18788dca6
--- /dev/null
+++ b/Lang/PARI-GP/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Pointers-and-references b/Lang/PARI-GP/Pointers-and-references
new file mode 120000
index 0000000000..911b6c2db1
--- /dev/null
+++ b/Lang/PARI-GP/Pointers-and-references
@@ -0,0 +1 @@
+../../Task/Pointers-and-references/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Polynomial-long-division b/Lang/PARI-GP/Polynomial-long-division
new file mode 120000
index 0000000000..560a700107
--- /dev/null
+++ b/Lang/PARI-GP/Polynomial-long-division
@@ -0,0 +1 @@
+../../Task/Polynomial-long-division/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Polynomial-regression b/Lang/PARI-GP/Polynomial-regression
new file mode 120000
index 0000000000..56c76a256c
--- /dev/null
+++ b/Lang/PARI-GP/Polynomial-regression
@@ -0,0 +1 @@
+../../Task/Polynomial-regression/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Power-set b/Lang/PARI-GP/Power-set
new file mode 120000
index 0000000000..1c68b3570c
--- /dev/null
+++ b/Lang/PARI-GP/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Price-fraction b/Lang/PARI-GP/Price-fraction
new file mode 120000
index 0000000000..4c9b7c4a46
--- /dev/null
+++ b/Lang/PARI-GP/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Primality-by-trial-division b/Lang/PARI-GP/Primality-by-trial-division
new file mode 120000
index 0000000000..ef08856ae4
--- /dev/null
+++ b/Lang/PARI-GP/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Prime-decomposition b/Lang/PARI-GP/Prime-decomposition
new file mode 120000
index 0000000000..0a32c5d92b
--- /dev/null
+++ b/Lang/PARI-GP/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Probabilistic-choice b/Lang/PARI-GP/Probabilistic-choice
new file mode 120000
index 0000000000..052e5d05bf
--- /dev/null
+++ b/Lang/PARI-GP/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Program-termination b/Lang/PARI-GP/Program-termination
new file mode 120000
index 0000000000..e4304000b1
--- /dev/null
+++ b/Lang/PARI-GP/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Pythagorean-triples b/Lang/PARI-GP/Pythagorean-triples
new file mode 120000
index 0000000000..b440789c24
--- /dev/null
+++ b/Lang/PARI-GP/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/QR-decomposition b/Lang/PARI-GP/QR-decomposition
new file mode 120000
index 0000000000..95095e3c37
--- /dev/null
+++ b/Lang/PARI-GP/QR-decomposition
@@ -0,0 +1 @@
+../../Task/QR-decomposition/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Quaternion-type b/Lang/PARI-GP/Quaternion-type
new file mode 120000
index 0000000000..87636fd8d1
--- /dev/null
+++ b/Lang/PARI-GP/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Random-number-generator--included- b/Lang/PARI-GP/Random-number-generator--included-
new file mode 120000
index 0000000000..5924826efd
--- /dev/null
+++ b/Lang/PARI-GP/Random-number-generator--included-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--included-/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Random-numbers b/Lang/PARI-GP/Random-numbers
new file mode 120000
index 0000000000..e2abdf145e
--- /dev/null
+++ b/Lang/PARI-GP/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Rate-counter b/Lang/PARI-GP/Rate-counter
new file mode 120000
index 0000000000..207de03e6f
--- /dev/null
+++ b/Lang/PARI-GP/Rate-counter
@@ -0,0 +1 @@
+../../Task/Rate-counter/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Read-a-file-line-by-line b/Lang/PARI-GP/Read-a-file-line-by-line
new file mode 120000
index 0000000000..16d397d270
--- /dev/null
+++ b/Lang/PARI-GP/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Read-entire-file b/Lang/PARI-GP/Read-entire-file
new file mode 120000
index 0000000000..66d5580825
--- /dev/null
+++ b/Lang/PARI-GP/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Real-constants-and-functions b/Lang/PARI-GP/Real-constants-and-functions
new file mode 120000
index 0000000000..8954adcb4e
--- /dev/null
+++ b/Lang/PARI-GP/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Reduced-row-echelon-form b/Lang/PARI-GP/Reduced-row-echelon-form
new file mode 120000
index 0000000000..92f3281454
--- /dev/null
+++ b/Lang/PARI-GP/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Remove-duplicate-elements b/Lang/PARI-GP/Remove-duplicate-elements
new file mode 120000
index 0000000000..78af47e953
--- /dev/null
+++ b/Lang/PARI-GP/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Rename-a-file b/Lang/PARI-GP/Rename-a-file
new file mode 120000
index 0000000000..483e4947a4
--- /dev/null
+++ b/Lang/PARI-GP/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Repeat-a-string b/Lang/PARI-GP/Repeat-a-string
new file mode 120000
index 0000000000..b15ed3902a
--- /dev/null
+++ b/Lang/PARI-GP/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Return-multiple-values b/Lang/PARI-GP/Return-multiple-values
new file mode 120000
index 0000000000..a064c2dc73
--- /dev/null
+++ b/Lang/PARI-GP/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Reverse-a-string b/Lang/PARI-GP/Reverse-a-string
new file mode 120000
index 0000000000..806e006857
--- /dev/null
+++ b/Lang/PARI-GP/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Rock-paper-scissors b/Lang/PARI-GP/Rock-paper-scissors
new file mode 120000
index 0000000000..a1df68e206
--- /dev/null
+++ b/Lang/PARI-GP/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Roman-numerals-Decode b/Lang/PARI-GP/Roman-numerals-Decode
new file mode 120000
index 0000000000..257057475a
--- /dev/null
+++ b/Lang/PARI-GP/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Roman-numerals-Encode b/Lang/PARI-GP/Roman-numerals-Encode
new file mode 120000
index 0000000000..87bfc1dcd4
--- /dev/null
+++ b/Lang/PARI-GP/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Roots-of-a-function b/Lang/PARI-GP/Roots-of-a-function
new file mode 120000
index 0000000000..3445691ec0
--- /dev/null
+++ b/Lang/PARI-GP/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Roots-of-a-quadratic-function b/Lang/PARI-GP/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..2177e54085
--- /dev/null
+++ b/Lang/PARI-GP/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Roots-of-unity b/Lang/PARI-GP/Roots-of-unity
new file mode 120000
index 0000000000..cf4693e7b8
--- /dev/null
+++ b/Lang/PARI-GP/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Rot-13 b/Lang/PARI-GP/Rot-13
new file mode 120000
index 0000000000..7695b7e0af
--- /dev/null
+++ b/Lang/PARI-GP/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Run-length-encoding b/Lang/PARI-GP/Run-length-encoding
new file mode 120000
index 0000000000..8ef020fa5f
--- /dev/null
+++ b/Lang/PARI-GP/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Runtime-evaluation-In-an-environment b/Lang/PARI-GP/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..4c55c23dc6
--- /dev/null
+++ b/Lang/PARI-GP/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Self-describing-numbers b/Lang/PARI-GP/Self-describing-numbers
new file mode 120000
index 0000000000..9c9164d0d8
--- /dev/null
+++ b/Lang/PARI-GP/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Send-an-unknown-method-call b/Lang/PARI-GP/Send-an-unknown-method-call
new file mode 120000
index 0000000000..e51f0d60b2
--- /dev/null
+++ b/Lang/PARI-GP/Send-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Send-an-unknown-method-call/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Sequence-of-non-squares b/Lang/PARI-GP/Sequence-of-non-squares
new file mode 120000
index 0000000000..cbae64ef65
--- /dev/null
+++ b/Lang/PARI-GP/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Set b/Lang/PARI-GP/Set
new file mode 120000
index 0000000000..d7125b88e4
--- /dev/null
+++ b/Lang/PARI-GP/Set
@@ -0,0 +1 @@
+../../Task/Set/PARI-GP
\ No newline at end of file
diff --git a/Lang/PARI-GP/Set-consolidation b/Lang/PARI-GP/Set-consolidation
new file mode 120000
index 0000000000..70e01f151c
--- /dev/null
+++ b/Lang/PARI-GP/Set-consolidation
@@ -0,0 +1 @@
+../../Task/Set-consolidation/PARI-GP
\ No newline at end of file
diff --git a/Lang/PHP/Arbitrary-precision-integers--included- b/Lang/PHP/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..a921169797
--- /dev/null
+++ b/Lang/PHP/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Arbitrary-precision-integers-included b/Lang/PHP/Arbitrary-precision-integers-included
deleted file mode 120000
index 31b0bc7c61..0000000000
--- a/Lang/PHP/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Binary-digits b/Lang/PHP/Binary-digits
new file mode 120000
index 0000000000..6f248bde26
--- /dev/null
+++ b/Lang/PHP/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Calendar---for-real-programmers b/Lang/PHP/Calendar---for-real-programmers
new file mode 120000
index 0000000000..9f00b3c5e5
--- /dev/null
+++ b/Lang/PHP/Calendar---for-real-programmers
@@ -0,0 +1 @@
+../../Task/Calendar---for-real-programmers/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Calendar-for-real-programmers b/Lang/PHP/Calendar-for-real-programmers
deleted file mode 120000
index d07c5a38f9..0000000000
--- a/Lang/PHP/Calendar-for-real-programmers
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Calendar-for-real-programmers/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Catalan-numbers b/Lang/PHP/Catalan-numbers
new file mode 120000
index 0000000000..aebab9c1a5
--- /dev/null
+++ b/Lang/PHP/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Copy-a-string b/Lang/PHP/Copy-a-string
new file mode 120000
index 0000000000..943b417cce
--- /dev/null
+++ b/Lang/PHP/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Environment-variables b/Lang/PHP/Environment-variables
new file mode 120000
index 0000000000..d6009f9737
--- /dev/null
+++ b/Lang/PHP/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/PHP
\ No newline at end of file
diff --git a/Lang/PHP/N-queens-problem b/Lang/PHP/N-queens-problem
new file mode 120000
index 0000000000..0354eccba8
--- /dev/null
+++ b/Lang/PHP/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Non-decimal-radices-Convert b/Lang/PHP/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..0c0d79e85e
--- /dev/null
+++ b/Lang/PHP/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Non-decimal-radices-Input b/Lang/PHP/Non-decimal-radices-Input
new file mode 120000
index 0000000000..7ea2fc97fb
--- /dev/null
+++ b/Lang/PHP/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Non-decimal-radices-Output b/Lang/PHP/Non-decimal-radices-Output
new file mode 120000
index 0000000000..c577c78226
--- /dev/null
+++ b/Lang/PHP/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Nth-root b/Lang/PHP/Nth-root
new file mode 120000
index 0000000000..18013ce715
--- /dev/null
+++ b/Lang/PHP/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Null-object b/Lang/PHP/Null-object
new file mode 120000
index 0000000000..77fbe875fd
--- /dev/null
+++ b/Lang/PHP/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Number-names b/Lang/PHP/Number-names
new file mode 120000
index 0000000000..a19fdffbae
--- /dev/null
+++ b/Lang/PHP/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Object-serialization b/Lang/PHP/Object-serialization
new file mode 120000
index 0000000000..bca183e727
--- /dev/null
+++ b/Lang/PHP/Object-serialization
@@ -0,0 +1 @@
+../../Task/Object-serialization/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Palindrome-detection b/Lang/PHP/Palindrome-detection
new file mode 120000
index 0000000000..fa562fb320
--- /dev/null
+++ b/Lang/PHP/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Pangram-checker b/Lang/PHP/Pangram-checker
new file mode 120000
index 0000000000..f70e3e1fa3
--- /dev/null
+++ b/Lang/PHP/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Parametrized-SQL-statement b/Lang/PHP/Parametrized-SQL-statement
new file mode 120000
index 0000000000..9d4feb667d
--- /dev/null
+++ b/Lang/PHP/Parametrized-SQL-statement
@@ -0,0 +1 @@
+../../Task/Parametrized-SQL-statement/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Parsing-RPN-calculator-algorithm b/Lang/PHP/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..4ba77ba57b
--- /dev/null
+++ b/Lang/PHP/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Pascals-triangle b/Lang/PHP/Pascals-triangle
new file mode 120000
index 0000000000..deff658721
--- /dev/null
+++ b/Lang/PHP/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Perfect-numbers b/Lang/PHP/Perfect-numbers
new file mode 120000
index 0000000000..ce88cc8af4
--- /dev/null
+++ b/Lang/PHP/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Pick-random-element b/Lang/PHP/Pick-random-element
new file mode 120000
index 0000000000..49c57a2803
--- /dev/null
+++ b/Lang/PHP/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Pig-the-dice-game b/Lang/PHP/Pig-the-dice-game
new file mode 120000
index 0000000000..6a6e0b21e4
--- /dev/null
+++ b/Lang/PHP/Pig-the-dice-game
@@ -0,0 +1 @@
+../../Task/Pig-the-dice-game/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Playing-cards b/Lang/PHP/Playing-cards
new file mode 120000
index 0000000000..f50b9f955b
--- /dev/null
+++ b/Lang/PHP/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Pointers-and-references b/Lang/PHP/Pointers-and-references
new file mode 120000
index 0000000000..be19b923da
--- /dev/null
+++ b/Lang/PHP/Pointers-and-references
@@ -0,0 +1 @@
+../../Task/Pointers-and-references/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Polymorphic-copy b/Lang/PHP/Polymorphic-copy
new file mode 120000
index 0000000000..46dec50c99
--- /dev/null
+++ b/Lang/PHP/Polymorphic-copy
@@ -0,0 +1 @@
+../../Task/Polymorphic-copy/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Polymorphism b/Lang/PHP/Polymorphism
new file mode 120000
index 0000000000..aa13af0e99
--- /dev/null
+++ b/Lang/PHP/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Power-set b/Lang/PHP/Power-set
new file mode 120000
index 0000000000..57f6c7fe9b
--- /dev/null
+++ b/Lang/PHP/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Primality-by-trial-division b/Lang/PHP/Primality-by-trial-division
new file mode 120000
index 0000000000..7265b8e9ad
--- /dev/null
+++ b/Lang/PHP/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Priority-queue b/Lang/PHP/Priority-queue
new file mode 120000
index 0000000000..57fcc4966b
--- /dev/null
+++ b/Lang/PHP/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Program-name b/Lang/PHP/Program-name
new file mode 120000
index 0000000000..1f5b96336a
--- /dev/null
+++ b/Lang/PHP/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Program-termination b/Lang/PHP/Program-termination
new file mode 120000
index 0000000000..9e6a17136a
--- /dev/null
+++ b/Lang/PHP/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Queue-Definition b/Lang/PHP/Queue-Definition
new file mode 120000
index 0000000000..80086d4de8
--- /dev/null
+++ b/Lang/PHP/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Queue-Usage b/Lang/PHP/Queue-Usage
new file mode 120000
index 0000000000..4751973da7
--- /dev/null
+++ b/Lang/PHP/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Random-numbers b/Lang/PHP/Random-numbers
new file mode 120000
index 0000000000..c27363e84f
--- /dev/null
+++ b/Lang/PHP/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Range-expansion b/Lang/PHP/Range-expansion
new file mode 120000
index 0000000000..4ddc4ee5ba
--- /dev/null
+++ b/Lang/PHP/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Read-a-file-line-by-line b/Lang/PHP/Read-a-file-line-by-line
new file mode 120000
index 0000000000..7ba88298be
--- /dev/null
+++ b/Lang/PHP/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Read-entire-file b/Lang/PHP/Read-entire-file
new file mode 120000
index 0000000000..a688792417
--- /dev/null
+++ b/Lang/PHP/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Real-constants-and-functions b/Lang/PHP/Real-constants-and-functions
new file mode 120000
index 0000000000..3160e995fc
--- /dev/null
+++ b/Lang/PHP/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Reduced-row-echelon-form b/Lang/PHP/Reduced-row-echelon-form
new file mode 120000
index 0000000000..7a314ed778
--- /dev/null
+++ b/Lang/PHP/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Regular-expressions b/Lang/PHP/Regular-expressions
new file mode 120000
index 0000000000..a7e7eddf86
--- /dev/null
+++ b/Lang/PHP/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Remove-duplicate-elements b/Lang/PHP/Remove-duplicate-elements
new file mode 120000
index 0000000000..324344184b
--- /dev/null
+++ b/Lang/PHP/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Rename-a-file b/Lang/PHP/Rename-a-file
new file mode 120000
index 0000000000..c859e92ad0
--- /dev/null
+++ b/Lang/PHP/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Repeat-a-string b/Lang/PHP/Repeat-a-string
new file mode 120000
index 0000000000..171b2b8119
--- /dev/null
+++ b/Lang/PHP/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Respond-to-an-unknown-method-call b/Lang/PHP/Respond-to-an-unknown-method-call
new file mode 120000
index 0000000000..1967a73542
--- /dev/null
+++ b/Lang/PHP/Respond-to-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Respond-to-an-unknown-method-call/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Return-multiple-values b/Lang/PHP/Return-multiple-values
new file mode 120000
index 0000000000..1f7c40a2e7
--- /dev/null
+++ b/Lang/PHP/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Reverse-a-string b/Lang/PHP/Reverse-a-string
new file mode 120000
index 0000000000..f3d31caaac
--- /dev/null
+++ b/Lang/PHP/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Roman-numerals-Decode b/Lang/PHP/Roman-numerals-Decode
new file mode 120000
index 0000000000..7616f0938f
--- /dev/null
+++ b/Lang/PHP/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Roman-numerals-Encode b/Lang/PHP/Roman-numerals-Encode
new file mode 120000
index 0000000000..4310256473
--- /dev/null
+++ b/Lang/PHP/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Rot-13 b/Lang/PHP/Rot-13
new file mode 120000
index 0000000000..a481d369e0
--- /dev/null
+++ b/Lang/PHP/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Run-length-encoding b/Lang/PHP/Run-length-encoding
new file mode 120000
index 0000000000..7168220c27
--- /dev/null
+++ b/Lang/PHP/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Runtime-evaluation b/Lang/PHP/Runtime-evaluation
new file mode 120000
index 0000000000..f84da4376d
--- /dev/null
+++ b/Lang/PHP/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Runtime-evaluation-In-an-environment b/Lang/PHP/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..599675852f
--- /dev/null
+++ b/Lang/PHP/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/PHP
\ No newline at end of file
diff --git a/Lang/PHP/SEDOLs b/Lang/PHP/SEDOLs
new file mode 120000
index 0000000000..718a0ec03e
--- /dev/null
+++ b/Lang/PHP/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Secure-temporary-file b/Lang/PHP/Secure-temporary-file
new file mode 120000
index 0000000000..3dc75d089f
--- /dev/null
+++ b/Lang/PHP/Secure-temporary-file
@@ -0,0 +1 @@
+../../Task/Secure-temporary-file/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Semordnilap b/Lang/PHP/Semordnilap
new file mode 120000
index 0000000000..913107fe86
--- /dev/null
+++ b/Lang/PHP/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Send-an-unknown-method-call b/Lang/PHP/Send-an-unknown-method-call
new file mode 120000
index 0000000000..38ac119626
--- /dev/null
+++ b/Lang/PHP/Send-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Send-an-unknown-method-call/PHP
\ No newline at end of file
diff --git a/Lang/PHP/Send-email b/Lang/PHP/Send-email
new file mode 120000
index 0000000000..c572e1649c
--- /dev/null
+++ b/Lang/PHP/Send-email
@@ -0,0 +1 @@
+../../Task/Send-email/PHP
\ No newline at end of file
diff --git a/Lang/PL-I/Binary-digits b/Lang/PL-I/Binary-digits
new file mode 120000
index 0000000000..d272838422
--- /dev/null
+++ b/Lang/PL-I/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Catalan-numbers b/Lang/PL-I/Catalan-numbers
new file mode 120000
index 0000000000..a17f500205
--- /dev/null
+++ b/Lang/PL-I/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Copy-a-string b/Lang/PL-I/Copy-a-string
new file mode 120000
index 0000000000..581d08e7b0
--- /dev/null
+++ b/Lang/PL-I/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Non-decimal-radices-Convert b/Lang/PL-I/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..de23d1d7db
--- /dev/null
+++ b/Lang/PL-I/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Non-decimal-radices-Input b/Lang/PL-I/Non-decimal-radices-Input
new file mode 120000
index 0000000000..23478b394f
--- /dev/null
+++ b/Lang/PL-I/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Non-decimal-radices-Output b/Lang/PL-I/Non-decimal-radices-Output
new file mode 120000
index 0000000000..85d916d277
--- /dev/null
+++ b/Lang/PL-I/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Nth-root b/Lang/PL-I/Nth-root
new file mode 120000
index 0000000000..01d5a0c360
--- /dev/null
+++ b/Lang/PL-I/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Null-object b/Lang/PL-I/Null-object
new file mode 120000
index 0000000000..535e9807d4
--- /dev/null
+++ b/Lang/PL-I/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Number-names b/Lang/PL-I/Number-names
new file mode 120000
index 0000000000..b199088199
--- /dev/null
+++ b/Lang/PL-I/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Number-reversal-game b/Lang/PL-I/Number-reversal-game
new file mode 120000
index 0000000000..feb6011450
--- /dev/null
+++ b/Lang/PL-I/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Numerical-integration b/Lang/PL-I/Numerical-integration
new file mode 120000
index 0000000000..3c7beb0949
--- /dev/null
+++ b/Lang/PL-I/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Palindrome-detection b/Lang/PL-I/Palindrome-detection
new file mode 120000
index 0000000000..ee2465b617
--- /dev/null
+++ b/Lang/PL-I/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Pangram-checker b/Lang/PL-I/Pangram-checker
new file mode 120000
index 0000000000..3abb8787d8
--- /dev/null
+++ b/Lang/PL-I/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Parsing-RPN-calculator-algorithm b/Lang/PL-I/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..958fca9b9e
--- /dev/null
+++ b/Lang/PL-I/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Parsing-RPN-to-infix-conversion b/Lang/PL-I/Parsing-RPN-to-infix-conversion
new file mode 120000
index 0000000000..f885b75063
--- /dev/null
+++ b/Lang/PL-I/Parsing-RPN-to-infix-conversion
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-to-infix-conversion/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Parsing-Shunting-yard-algorithm b/Lang/PL-I/Parsing-Shunting-yard-algorithm
new file mode 120000
index 0000000000..10d987187e
--- /dev/null
+++ b/Lang/PL-I/Parsing-Shunting-yard-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-Shunting-yard-algorithm/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Pascals-triangle b/Lang/PL-I/Pascals-triangle
new file mode 120000
index 0000000000..a8691169ec
--- /dev/null
+++ b/Lang/PL-I/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Perfect-numbers b/Lang/PL-I/Perfect-numbers
new file mode 120000
index 0000000000..f3fc9e89fb
--- /dev/null
+++ b/Lang/PL-I/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Pick-random-element b/Lang/PL-I/Pick-random-element
new file mode 120000
index 0000000000..9978559d4b
--- /dev/null
+++ b/Lang/PL-I/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Price-fraction b/Lang/PL-I/Price-fraction
new file mode 120000
index 0000000000..6d04f35c58
--- /dev/null
+++ b/Lang/PL-I/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Primality-by-trial-division b/Lang/PL-I/Primality-by-trial-division
new file mode 120000
index 0000000000..93946f69d1
--- /dev/null
+++ b/Lang/PL-I/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Prime-decomposition b/Lang/PL-I/Prime-decomposition
new file mode 120000
index 0000000000..3ef27b0e47
--- /dev/null
+++ b/Lang/PL-I/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Program-termination b/Lang/PL-I/Program-termination
new file mode 120000
index 0000000000..bc47ac079d
--- /dev/null
+++ b/Lang/PL-I/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Queue-Definition b/Lang/PL-I/Queue-Definition
new file mode 120000
index 0000000000..00ed7f0e4b
--- /dev/null
+++ b/Lang/PL-I/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Queue-Usage b/Lang/PL-I/Queue-Usage
new file mode 120000
index 0000000000..378f1bddd7
--- /dev/null
+++ b/Lang/PL-I/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Random-number-generator--included- b/Lang/PL-I/Random-number-generator--included-
new file mode 120000
index 0000000000..a35cd06f96
--- /dev/null
+++ b/Lang/PL-I/Random-number-generator--included-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--included-/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Random-numbers b/Lang/PL-I/Random-numbers
new file mode 120000
index 0000000000..78cc893abf
--- /dev/null
+++ b/Lang/PL-I/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Range-expansion b/Lang/PL-I/Range-expansion
new file mode 120000
index 0000000000..e194f2b75f
--- /dev/null
+++ b/Lang/PL-I/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Range-extraction b/Lang/PL-I/Range-extraction
new file mode 120000
index 0000000000..24689adfb9
--- /dev/null
+++ b/Lang/PL-I/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Read-a-configuration-file b/Lang/PL-I/Read-a-configuration-file
new file mode 120000
index 0000000000..ec33c8c598
--- /dev/null
+++ b/Lang/PL-I/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Read-a-file-line-by-line b/Lang/PL-I/Read-a-file-line-by-line
new file mode 120000
index 0000000000..33528feaf5
--- /dev/null
+++ b/Lang/PL-I/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Read-a-specific-line-from-a-file b/Lang/PL-I/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..1f0f546453
--- /dev/null
+++ b/Lang/PL-I/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Read-entire-file b/Lang/PL-I/Read-entire-file
new file mode 120000
index 0000000000..ffc0c439f0
--- /dev/null
+++ b/Lang/PL-I/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Real-constants-and-functions b/Lang/PL-I/Real-constants-and-functions
new file mode 120000
index 0000000000..606565d54e
--- /dev/null
+++ b/Lang/PL-I/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Remove-duplicate-elements b/Lang/PL-I/Remove-duplicate-elements
new file mode 120000
index 0000000000..50f7cca11a
--- /dev/null
+++ b/Lang/PL-I/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Repeat-a-string b/Lang/PL-I/Repeat-a-string
new file mode 120000
index 0000000000..624c5bb5a7
--- /dev/null
+++ b/Lang/PL-I/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Return-multiple-values b/Lang/PL-I/Return-multiple-values
new file mode 120000
index 0000000000..edbd0f39f0
--- /dev/null
+++ b/Lang/PL-I/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Reverse-a-string b/Lang/PL-I/Reverse-a-string
new file mode 120000
index 0000000000..f48c5ad66d
--- /dev/null
+++ b/Lang/PL-I/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Roman-numerals-Decode b/Lang/PL-I/Roman-numerals-Decode
new file mode 120000
index 0000000000..ab87bcfd24
--- /dev/null
+++ b/Lang/PL-I/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Roman-numerals-Encode b/Lang/PL-I/Roman-numerals-Encode
new file mode 120000
index 0000000000..9f430a32ae
--- /dev/null
+++ b/Lang/PL-I/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Roots-of-a-function b/Lang/PL-I/Roots-of-a-function
new file mode 120000
index 0000000000..a806a0beec
--- /dev/null
+++ b/Lang/PL-I/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Roots-of-a-quadratic-function b/Lang/PL-I/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..d840e440ac
--- /dev/null
+++ b/Lang/PL-I/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Roots-of-unity b/Lang/PL-I/Roots-of-unity
new file mode 120000
index 0000000000..a5500bc28d
--- /dev/null
+++ b/Lang/PL-I/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Rot-13 b/Lang/PL-I/Rot-13
new file mode 120000
index 0000000000..abf567f8f8
--- /dev/null
+++ b/Lang/PL-I/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Run-length-encoding b/Lang/PL-I/Run-length-encoding
new file mode 120000
index 0000000000..8b4a914c44
--- /dev/null
+++ b/Lang/PL-I/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/SEDOLs b/Lang/PL-I/SEDOLs
new file mode 120000
index 0000000000..a824e36e46
--- /dev/null
+++ b/Lang/PL-I/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Semordnilap b/Lang/PL-I/Semordnilap
new file mode 120000
index 0000000000..252eea09a6
--- /dev/null
+++ b/Lang/PL-I/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/PL-I
\ No newline at end of file
diff --git a/Lang/PL-I/Sequence-of-non-squares b/Lang/PL-I/Sequence-of-non-squares
new file mode 120000
index 0000000000..cbd5c73dcf
--- /dev/null
+++ b/Lang/PL-I/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/PL-I
\ No newline at end of file
diff --git a/Lang/PL-SQL/Random-number-generator--included- b/Lang/PL-SQL/Random-number-generator--included-
new file mode 120000
index 0000000000..4da5a7007c
--- /dev/null
+++ b/Lang/PL-SQL/Random-number-generator--included-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--included-/PL-SQL
\ No newline at end of file
diff --git a/Lang/PL-SQL/Random-numbers b/Lang/PL-SQL/Random-numbers
new file mode 120000
index 0000000000..33faee859c
--- /dev/null
+++ b/Lang/PL-SQL/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/PL-SQL
\ No newline at end of file
diff --git a/Lang/PL-SQL/Roman-numerals-Decode b/Lang/PL-SQL/Roman-numerals-Decode
new file mode 120000
index 0000000000..771cb0a500
--- /dev/null
+++ b/Lang/PL-SQL/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/PL-SQL
\ No newline at end of file
diff --git a/Lang/PL-SQL/Roman-numerals-Encode b/Lang/PL-SQL/Roman-numerals-Encode
new file mode 120000
index 0000000000..50e72577fa
--- /dev/null
+++ b/Lang/PL-SQL/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/PL-SQL
\ No newline at end of file
diff --git a/Lang/Pascal/Arbitrary-precision-integers--included- b/Lang/Pascal/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..1196b36f36
--- /dev/null
+++ b/Lang/Pascal/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Arbitrary-precision-integers-included b/Lang/Pascal/Arbitrary-precision-integers-included
deleted file mode 120000
index 4f8c5d12bb..0000000000
--- a/Lang/Pascal/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Catalan-numbers b/Lang/Pascal/Catalan-numbers
new file mode 120000
index 0000000000..cb643bee24
--- /dev/null
+++ b/Lang/Pascal/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Copy-a-string b/Lang/Pascal/Copy-a-string
new file mode 120000
index 0000000000..dc53121e68
--- /dev/null
+++ b/Lang/Pascal/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Dragon-curve b/Lang/Pascal/Dragon-curve
new file mode 120000
index 0000000000..05877e1cdc
--- /dev/null
+++ b/Lang/Pascal/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Guess-the-number-With-feedback--player- b/Lang/Pascal/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..efa03d23be
--- /dev/null
+++ b/Lang/Pascal/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Guess-the-number-With-feedback-player b/Lang/Pascal/Guess-the-number-With-feedback-player
deleted file mode 120000
index 40a3bd4aa4..0000000000
--- a/Lang/Pascal/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/N-queens-problem b/Lang/Pascal/N-queens-problem
new file mode 120000
index 0000000000..63e8e6dd6d
--- /dev/null
+++ b/Lang/Pascal/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Non-decimal-radices-Convert b/Lang/Pascal/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..b63b65bd88
--- /dev/null
+++ b/Lang/Pascal/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Number-names b/Lang/Pascal/Number-names
new file mode 120000
index 0000000000..872980755d
--- /dev/null
+++ b/Lang/Pascal/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Numerical-integration b/Lang/Pascal/Numerical-integration
new file mode 120000
index 0000000000..ba6f4e9300
--- /dev/null
+++ b/Lang/Pascal/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/One-of-n-lines-in-a-file b/Lang/Pascal/One-of-n-lines-in-a-file
new file mode 120000
index 0000000000..afa1ab5584
--- /dev/null
+++ b/Lang/Pascal/One-of-n-lines-in-a-file
@@ -0,0 +1 @@
+../../Task/One-of-n-lines-in-a-file/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/OpenGL b/Lang/Pascal/OpenGL
new file mode 120000
index 0000000000..3a7247e217
--- /dev/null
+++ b/Lang/Pascal/OpenGL
@@ -0,0 +1 @@
+../../Task/OpenGL/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Palindrome-detection b/Lang/Pascal/Palindrome-detection
new file mode 120000
index 0000000000..c0e8a58983
--- /dev/null
+++ b/Lang/Pascal/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Pascals-triangle b/Lang/Pascal/Pascals-triangle
new file mode 120000
index 0000000000..bf2de49fe6
--- /dev/null
+++ b/Lang/Pascal/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Perfect-numbers b/Lang/Pascal/Perfect-numbers
new file mode 120000
index 0000000000..dfdeed9d46
--- /dev/null
+++ b/Lang/Pascal/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Permutations b/Lang/Pascal/Permutations
new file mode 120000
index 0000000000..fd79d3d601
--- /dev/null
+++ b/Lang/Pascal/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Pick-random-element b/Lang/Pascal/Pick-random-element
new file mode 120000
index 0000000000..20c9f983e2
--- /dev/null
+++ b/Lang/Pascal/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Price-fraction b/Lang/Pascal/Price-fraction
new file mode 120000
index 0000000000..e703c311f8
--- /dev/null
+++ b/Lang/Pascal/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Primality-by-trial-division b/Lang/Pascal/Primality-by-trial-division
new file mode 120000
index 0000000000..a100bd4cd4
--- /dev/null
+++ b/Lang/Pascal/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Prime-decomposition b/Lang/Pascal/Prime-decomposition
new file mode 120000
index 0000000000..7b392e005f
--- /dev/null
+++ b/Lang/Pascal/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Program-name b/Lang/Pascal/Program-name
new file mode 120000
index 0000000000..4e868174f3
--- /dev/null
+++ b/Lang/Pascal/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Pythagorean-triples b/Lang/Pascal/Pythagorean-triples
new file mode 120000
index 0000000000..efd69f7dca
--- /dev/null
+++ b/Lang/Pascal/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Queue-Definition b/Lang/Pascal/Queue-Definition
new file mode 120000
index 0000000000..3a95c1ad16
--- /dev/null
+++ b/Lang/Pascal/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Random-number-generator--device- b/Lang/Pascal/Random-number-generator--device-
new file mode 120000
index 0000000000..b3c9d1700f
--- /dev/null
+++ b/Lang/Pascal/Random-number-generator--device-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--device-/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Read-a-configuration-file b/Lang/Pascal/Read-a-configuration-file
new file mode 120000
index 0000000000..52bfe0cbb3
--- /dev/null
+++ b/Lang/Pascal/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Read-a-specific-line-from-a-file b/Lang/Pascal/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..6f92b7571a
--- /dev/null
+++ b/Lang/Pascal/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Regular-expressions b/Lang/Pascal/Regular-expressions
new file mode 120000
index 0000000000..9aa5cf7923
--- /dev/null
+++ b/Lang/Pascal/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Remove-duplicate-elements b/Lang/Pascal/Remove-duplicate-elements
new file mode 120000
index 0000000000..63adb7082b
--- /dev/null
+++ b/Lang/Pascal/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Rename-a-file b/Lang/Pascal/Rename-a-file
new file mode 120000
index 0000000000..c84196ec15
--- /dev/null
+++ b/Lang/Pascal/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Reverse-a-string b/Lang/Pascal/Reverse-a-string
new file mode 120000
index 0000000000..302c5fbe62
--- /dev/null
+++ b/Lang/Pascal/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Roots-of-a-function b/Lang/Pascal/Roots-of-a-function
new file mode 120000
index 0000000000..a71c861c01
--- /dev/null
+++ b/Lang/Pascal/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Roots-of-a-quadratic-function b/Lang/Pascal/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..334ca81b58
--- /dev/null
+++ b/Lang/Pascal/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Roots-of-unity b/Lang/Pascal/Roots-of-unity
new file mode 120000
index 0000000000..a474002490
--- /dev/null
+++ b/Lang/Pascal/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Rot-13 b/Lang/Pascal/Rot-13
new file mode 120000
index 0000000000..a1f6c982bb
--- /dev/null
+++ b/Lang/Pascal/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Run-length-encoding b/Lang/Pascal/Run-length-encoding
new file mode 120000
index 0000000000..d95a5fc847
--- /dev/null
+++ b/Lang/Pascal/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/SEDOLs b/Lang/Pascal/SEDOLs
new file mode 120000
index 0000000000..836baed31e
--- /dev/null
+++ b/Lang/Pascal/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Secure-temporary-file b/Lang/Pascal/Secure-temporary-file
new file mode 120000
index 0000000000..bbea0350db
--- /dev/null
+++ b/Lang/Pascal/Secure-temporary-file
@@ -0,0 +1 @@
+../../Task/Secure-temporary-file/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Self-describing-numbers b/Lang/Pascal/Self-describing-numbers
new file mode 120000
index 0000000000..2cd3edbbcc
--- /dev/null
+++ b/Lang/Pascal/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Sequence-of-non-squares b/Lang/Pascal/Sequence-of-non-squares
new file mode 120000
index 0000000000..6667335251
--- /dev/null
+++ b/Lang/Pascal/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Pascal
\ No newline at end of file
diff --git a/Lang/Pascal/Set b/Lang/Pascal/Set
new file mode 120000
index 0000000000..3cdbc15ddd
--- /dev/null
+++ b/Lang/Pascal/Set
@@ -0,0 +1 @@
+../../Task/Set/Pascal
\ No newline at end of file
diff --git a/Lang/Perl-6/Arbitrary-precision-integers--included- b/Lang/Perl-6/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..43172fb7ec
--- /dev/null
+++ b/Lang/Perl-6/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Arbitrary-precision-integers-included b/Lang/Perl-6/Arbitrary-precision-integers-included
deleted file mode 120000
index 26535d1bb0..0000000000
--- a/Lang/Perl-6/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Binary-digits b/Lang/Perl-6/Binary-digits
new file mode 120000
index 0000000000..a33276bcff
--- /dev/null
+++ b/Lang/Perl-6/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Calendar---for-real-programmers b/Lang/Perl-6/Calendar---for-real-programmers
new file mode 120000
index 0000000000..9f1aa1011f
--- /dev/null
+++ b/Lang/Perl-6/Calendar---for-real-programmers
@@ -0,0 +1 @@
+../../Task/Calendar---for-real-programmers/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Calendar-for-real-programmers b/Lang/Perl-6/Calendar-for-real-programmers
deleted file mode 120000
index c088e3414a..0000000000
--- a/Lang/Perl-6/Calendar-for-real-programmers
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Calendar-for-real-programmers/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Catalan-numbers b/Lang/Perl-6/Catalan-numbers
new file mode 120000
index 0000000000..5ef1b28d88
--- /dev/null
+++ b/Lang/Perl-6/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Copy-a-string b/Lang/Perl-6/Copy-a-string
new file mode 120000
index 0000000000..769e6c85a9
--- /dev/null
+++ b/Lang/Perl-6/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Dragon-curve b/Lang/Perl-6/Dragon-curve
new file mode 120000
index 0000000000..3661124ead
--- /dev/null
+++ b/Lang/Perl-6/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Environment-variables b/Lang/Perl-6/Environment-variables
new file mode 120000
index 0000000000..d4ac47174c
--- /dev/null
+++ b/Lang/Perl-6/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Guess-the-number-With-feedback--player- b/Lang/Perl-6/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..c34bd2bc00
--- /dev/null
+++ b/Lang/Perl-6/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Guess-the-number-With-feedback-player b/Lang/Perl-6/Guess-the-number-With-feedback-player
deleted file mode 120000
index 6db52b3c91..0000000000
--- a/Lang/Perl-6/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/N-queens-problem b/Lang/Perl-6/N-queens-problem
new file mode 120000
index 0000000000..37868809a5
--- /dev/null
+++ b/Lang/Perl-6/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Named-parameters b/Lang/Perl-6/Named-parameters
new file mode 120000
index 0000000000..79a15b4d53
--- /dev/null
+++ b/Lang/Perl-6/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Nautical-bell b/Lang/Perl-6/Nautical-bell
new file mode 120000
index 0000000000..105c0c31d7
--- /dev/null
+++ b/Lang/Perl-6/Nautical-bell
@@ -0,0 +1 @@
+../../Task/Nautical-bell/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Non-continuous-subsequences b/Lang/Perl-6/Non-continuous-subsequences
new file mode 120000
index 0000000000..8576d72404
--- /dev/null
+++ b/Lang/Perl-6/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Non-decimal-radices-Convert b/Lang/Perl-6/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..e479c88e80
--- /dev/null
+++ b/Lang/Perl-6/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Non-decimal-radices-Input b/Lang/Perl-6/Non-decimal-radices-Input
new file mode 120000
index 0000000000..7a97bbf3f0
--- /dev/null
+++ b/Lang/Perl-6/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Non-decimal-radices-Output b/Lang/Perl-6/Non-decimal-radices-Output
new file mode 120000
index 0000000000..e42446a9a6
--- /dev/null
+++ b/Lang/Perl-6/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Nth-root b/Lang/Perl-6/Nth-root
new file mode 120000
index 0000000000..26793e6e85
--- /dev/null
+++ b/Lang/Perl-6/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Null-object b/Lang/Perl-6/Null-object
new file mode 120000
index 0000000000..b987a93de4
--- /dev/null
+++ b/Lang/Perl-6/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Number-names b/Lang/Perl-6/Number-names
new file mode 120000
index 0000000000..a553c94a9a
--- /dev/null
+++ b/Lang/Perl-6/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Number-reversal-game b/Lang/Perl-6/Number-reversal-game
new file mode 120000
index 0000000000..69c81fc53f
--- /dev/null
+++ b/Lang/Perl-6/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Numeric-error-propagation b/Lang/Perl-6/Numeric-error-propagation
new file mode 120000
index 0000000000..0d2420d69b
--- /dev/null
+++ b/Lang/Perl-6/Numeric-error-propagation
@@ -0,0 +1 @@
+../../Task/Numeric-error-propagation/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Numerical-integration b/Lang/Perl-6/Numerical-integration
new file mode 120000
index 0000000000..e983e0b704
--- /dev/null
+++ b/Lang/Perl-6/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Numerical-integration-Gauss-Legendre-Quadrature b/Lang/Perl-6/Numerical-integration-Gauss-Legendre-Quadrature
new file mode 120000
index 0000000000..fbd485047c
--- /dev/null
+++ b/Lang/Perl-6/Numerical-integration-Gauss-Legendre-Quadrature
@@ -0,0 +1 @@
+../../Task/Numerical-integration-Gauss-Legendre-Quadrature/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/One-dimensional-cellular-automata b/Lang/Perl-6/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..988533c89c
--- /dev/null
+++ b/Lang/Perl-6/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/One-of-n-lines-in-a-file b/Lang/Perl-6/One-of-n-lines-in-a-file
new file mode 120000
index 0000000000..7e3070ca26
--- /dev/null
+++ b/Lang/Perl-6/One-of-n-lines-in-a-file
@@ -0,0 +1 @@
+../../Task/One-of-n-lines-in-a-file/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Optional-parameters b/Lang/Perl-6/Optional-parameters
new file mode 120000
index 0000000000..0925494e00
--- /dev/null
+++ b/Lang/Perl-6/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Order-two-numerical-lists b/Lang/Perl-6/Order-two-numerical-lists
new file mode 120000
index 0000000000..408108a1f8
--- /dev/null
+++ b/Lang/Perl-6/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Ordered-Partitions b/Lang/Perl-6/Ordered-Partitions
new file mode 120000
index 0000000000..15b034213b
--- /dev/null
+++ b/Lang/Perl-6/Ordered-Partitions
@@ -0,0 +1 @@
+../../Task/Ordered-Partitions/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Palindrome-detection b/Lang/Perl-6/Palindrome-detection
new file mode 120000
index 0000000000..566087deae
--- /dev/null
+++ b/Lang/Perl-6/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Pangram-checker b/Lang/Perl-6/Pangram-checker
new file mode 120000
index 0000000000..25ee0f1901
--- /dev/null
+++ b/Lang/Perl-6/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Parallel-calculations b/Lang/Perl-6/Parallel-calculations
new file mode 120000
index 0000000000..c1f8c70acf
--- /dev/null
+++ b/Lang/Perl-6/Parallel-calculations
@@ -0,0 +1 @@
+../../Task/Parallel-calculations/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Parametric-polymorphism b/Lang/Perl-6/Parametric-polymorphism
new file mode 120000
index 0000000000..d5051015d2
--- /dev/null
+++ b/Lang/Perl-6/Parametric-polymorphism
@@ -0,0 +1 @@
+../../Task/Parametric-polymorphism/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Parsing-RPN-calculator-algorithm b/Lang/Perl-6/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..be25b1724d
--- /dev/null
+++ b/Lang/Perl-6/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Parsing-RPN-to-infix-conversion b/Lang/Perl-6/Parsing-RPN-to-infix-conversion
new file mode 120000
index 0000000000..8331c8b036
--- /dev/null
+++ b/Lang/Perl-6/Parsing-RPN-to-infix-conversion
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-to-infix-conversion/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Partial-function-application b/Lang/Perl-6/Partial-function-application
new file mode 120000
index 0000000000..2fab3232f7
--- /dev/null
+++ b/Lang/Perl-6/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Pascals-triangle b/Lang/Perl-6/Pascals-triangle
new file mode 120000
index 0000000000..aada89754d
--- /dev/null
+++ b/Lang/Perl-6/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Pattern-matching b/Lang/Perl-6/Pattern-matching
new file mode 120000
index 0000000000..3961c4037a
--- /dev/null
+++ b/Lang/Perl-6/Pattern-matching
@@ -0,0 +1 @@
+../../Task/Pattern-matching/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Perfect-numbers b/Lang/Perl-6/Perfect-numbers
new file mode 120000
index 0000000000..d0ca6c5edc
--- /dev/null
+++ b/Lang/Perl-6/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Permutations b/Lang/Perl-6/Permutations
new file mode 120000
index 0000000000..47bb11fd52
--- /dev/null
+++ b/Lang/Perl-6/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Permutations-Derangements b/Lang/Perl-6/Permutations-Derangements
new file mode 120000
index 0000000000..02cea89887
--- /dev/null
+++ b/Lang/Perl-6/Permutations-Derangements
@@ -0,0 +1 @@
+../../Task/Permutations-Derangements/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Permutations-by-swapping b/Lang/Perl-6/Permutations-by-swapping
new file mode 120000
index 0000000000..71475db6fe
--- /dev/null
+++ b/Lang/Perl-6/Permutations-by-swapping
@@ -0,0 +1 @@
+../../Task/Permutations-by-swapping/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Pick-random-element b/Lang/Perl-6/Pick-random-element
new file mode 120000
index 0000000000..3825a5e056
--- /dev/null
+++ b/Lang/Perl-6/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Pig-the-dice-game b/Lang/Perl-6/Pig-the-dice-game
new file mode 120000
index 0000000000..cf9dfc41a8
--- /dev/null
+++ b/Lang/Perl-6/Pig-the-dice-game
@@ -0,0 +1 @@
+../../Task/Pig-the-dice-game/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Playing-cards b/Lang/Perl-6/Playing-cards
new file mode 120000
index 0000000000..8d34e6c62b
--- /dev/null
+++ b/Lang/Perl-6/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Plot-coordinate-pairs b/Lang/Perl-6/Plot-coordinate-pairs
new file mode 120000
index 0000000000..6adcf00ede
--- /dev/null
+++ b/Lang/Perl-6/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Pointers-and-references b/Lang/Perl-6/Pointers-and-references
new file mode 120000
index 0000000000..20f5f1f551
--- /dev/null
+++ b/Lang/Perl-6/Pointers-and-references
@@ -0,0 +1 @@
+../../Task/Pointers-and-references/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Polymorphic-copy b/Lang/Perl-6/Polymorphic-copy
new file mode 120000
index 0000000000..649df7b3ca
--- /dev/null
+++ b/Lang/Perl-6/Polymorphic-copy
@@ -0,0 +1 @@
+../../Task/Polymorphic-copy/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Polymorphism b/Lang/Perl-6/Polymorphism
new file mode 120000
index 0000000000..c39c2e9cea
--- /dev/null
+++ b/Lang/Perl-6/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Polynomial-long-division b/Lang/Perl-6/Polynomial-long-division
new file mode 120000
index 0000000000..a94c726448
--- /dev/null
+++ b/Lang/Perl-6/Polynomial-long-division
@@ -0,0 +1 @@
+../../Task/Polynomial-long-division/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Power-set b/Lang/Perl-6/Power-set
new file mode 120000
index 0000000000..aa111b66ba
--- /dev/null
+++ b/Lang/Perl-6/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Pragmatic-directives b/Lang/Perl-6/Pragmatic-directives
new file mode 120000
index 0000000000..4ab40e8062
--- /dev/null
+++ b/Lang/Perl-6/Pragmatic-directives
@@ -0,0 +1 @@
+../../Task/Pragmatic-directives/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Price-fraction b/Lang/Perl-6/Price-fraction
new file mode 120000
index 0000000000..dd2eb0423d
--- /dev/null
+++ b/Lang/Perl-6/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Primality-by-trial-division b/Lang/Perl-6/Primality-by-trial-division
new file mode 120000
index 0000000000..c6ddb6bcb5
--- /dev/null
+++ b/Lang/Perl-6/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Prime-decomposition b/Lang/Perl-6/Prime-decomposition
new file mode 120000
index 0000000000..bba3fdcb3a
--- /dev/null
+++ b/Lang/Perl-6/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Priority-queue b/Lang/Perl-6/Priority-queue
new file mode 120000
index 0000000000..da2d0abe44
--- /dev/null
+++ b/Lang/Perl-6/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Probabilistic-choice b/Lang/Perl-6/Probabilistic-choice
new file mode 120000
index 0000000000..d506cd0683
--- /dev/null
+++ b/Lang/Perl-6/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Problem-of-Apollonius b/Lang/Perl-6/Problem-of-Apollonius
new file mode 120000
index 0000000000..26bad895bc
--- /dev/null
+++ b/Lang/Perl-6/Problem-of-Apollonius
@@ -0,0 +1 @@
+../../Task/Problem-of-Apollonius/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Program-name b/Lang/Perl-6/Program-name
new file mode 120000
index 0000000000..8ddd489b1e
--- /dev/null
+++ b/Lang/Perl-6/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Program-termination b/Lang/Perl-6/Program-termination
new file mode 120000
index 0000000000..8f5bf22572
--- /dev/null
+++ b/Lang/Perl-6/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Pythagorean-triples b/Lang/Perl-6/Pythagorean-triples
new file mode 120000
index 0000000000..fefe4adcec
--- /dev/null
+++ b/Lang/Perl-6/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Quaternion-type b/Lang/Perl-6/Quaternion-type
new file mode 120000
index 0000000000..5acc18b04f
--- /dev/null
+++ b/Lang/Perl-6/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Queue-Definition b/Lang/Perl-6/Queue-Definition
new file mode 120000
index 0000000000..6d1570c826
--- /dev/null
+++ b/Lang/Perl-6/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Queue-Usage b/Lang/Perl-6/Queue-Usage
new file mode 120000
index 0000000000..3a79d1e7f2
--- /dev/null
+++ b/Lang/Perl-6/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/RIPEMD-160 b/Lang/Perl-6/RIPEMD-160
new file mode 120000
index 0000000000..a789f0537e
--- /dev/null
+++ b/Lang/Perl-6/RIPEMD-160
@@ -0,0 +1 @@
+../../Task/RIPEMD-160/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Random-number-generator--device- b/Lang/Perl-6/Random-number-generator--device-
new file mode 120000
index 0000000000..15fe009c25
--- /dev/null
+++ b/Lang/Perl-6/Random-number-generator--device-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--device-/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Random-numbers b/Lang/Perl-6/Random-numbers
new file mode 120000
index 0000000000..babe0056fd
--- /dev/null
+++ b/Lang/Perl-6/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Range-expansion b/Lang/Perl-6/Range-expansion
new file mode 120000
index 0000000000..b01b32e7d6
--- /dev/null
+++ b/Lang/Perl-6/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Range-extraction b/Lang/Perl-6/Range-extraction
new file mode 120000
index 0000000000..a65ad700ed
--- /dev/null
+++ b/Lang/Perl-6/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Rate-counter b/Lang/Perl-6/Rate-counter
new file mode 120000
index 0000000000..e0a57b118c
--- /dev/null
+++ b/Lang/Perl-6/Rate-counter
@@ -0,0 +1 @@
+../../Task/Rate-counter/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Ray-casting-algorithm b/Lang/Perl-6/Ray-casting-algorithm
new file mode 120000
index 0000000000..cb849d065d
--- /dev/null
+++ b/Lang/Perl-6/Ray-casting-algorithm
@@ -0,0 +1 @@
+../../Task/Ray-casting-algorithm/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Read-a-configuration-file b/Lang/Perl-6/Read-a-configuration-file
new file mode 120000
index 0000000000..0f9290ce17
--- /dev/null
+++ b/Lang/Perl-6/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Read-a-file-line-by-line b/Lang/Perl-6/Read-a-file-line-by-line
new file mode 120000
index 0000000000..b162017566
--- /dev/null
+++ b/Lang/Perl-6/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Read-a-specific-line-from-a-file b/Lang/Perl-6/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..917b728000
--- /dev/null
+++ b/Lang/Perl-6/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Read-entire-file b/Lang/Perl-6/Read-entire-file
new file mode 120000
index 0000000000..a37c9a95fb
--- /dev/null
+++ b/Lang/Perl-6/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Real-constants-and-functions b/Lang/Perl-6/Real-constants-and-functions
new file mode 120000
index 0000000000..a754ef4229
--- /dev/null
+++ b/Lang/Perl-6/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Reduced-row-echelon-form b/Lang/Perl-6/Reduced-row-echelon-form
new file mode 120000
index 0000000000..b376221e81
--- /dev/null
+++ b/Lang/Perl-6/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Regular-expressions b/Lang/Perl-6/Regular-expressions
new file mode 120000
index 0000000000..8b5268f8f8
--- /dev/null
+++ b/Lang/Perl-6/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Remove-duplicate-elements b/Lang/Perl-6/Remove-duplicate-elements
new file mode 120000
index 0000000000..e1d40e1033
--- /dev/null
+++ b/Lang/Perl-6/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Remove-lines-from-a-file b/Lang/Perl-6/Remove-lines-from-a-file
new file mode 120000
index 0000000000..11c3b82b0b
--- /dev/null
+++ b/Lang/Perl-6/Remove-lines-from-a-file
@@ -0,0 +1 @@
+../../Task/Remove-lines-from-a-file/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Rename-a-file b/Lang/Perl-6/Rename-a-file
new file mode 120000
index 0000000000..5d5f6ed896
--- /dev/null
+++ b/Lang/Perl-6/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Repeat-a-string b/Lang/Perl-6/Repeat-a-string
new file mode 120000
index 0000000000..88d783ad16
--- /dev/null
+++ b/Lang/Perl-6/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Resistor-mesh b/Lang/Perl-6/Resistor-mesh
new file mode 120000
index 0000000000..8f99acef55
--- /dev/null
+++ b/Lang/Perl-6/Resistor-mesh
@@ -0,0 +1 @@
+../../Task/Resistor-mesh/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Respond-to-an-unknown-method-call b/Lang/Perl-6/Respond-to-an-unknown-method-call
new file mode 120000
index 0000000000..9951501142
--- /dev/null
+++ b/Lang/Perl-6/Respond-to-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Respond-to-an-unknown-method-call/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Return-multiple-values b/Lang/Perl-6/Return-multiple-values
new file mode 120000
index 0000000000..f6714050d6
--- /dev/null
+++ b/Lang/Perl-6/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Reverse-a-string b/Lang/Perl-6/Reverse-a-string
new file mode 120000
index 0000000000..1e76ff0c10
--- /dev/null
+++ b/Lang/Perl-6/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Rock-paper-scissors b/Lang/Perl-6/Rock-paper-scissors
new file mode 120000
index 0000000000..d508db4f75
--- /dev/null
+++ b/Lang/Perl-6/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Roman-numerals-Decode b/Lang/Perl-6/Roman-numerals-Decode
new file mode 120000
index 0000000000..d80b616863
--- /dev/null
+++ b/Lang/Perl-6/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Roman-numerals-Encode b/Lang/Perl-6/Roman-numerals-Encode
new file mode 120000
index 0000000000..2d16a3c9c4
--- /dev/null
+++ b/Lang/Perl-6/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Roots-of-a-function b/Lang/Perl-6/Roots-of-a-function
new file mode 120000
index 0000000000..5dbb4f7442
--- /dev/null
+++ b/Lang/Perl-6/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Roots-of-a-quadratic-function b/Lang/Perl-6/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..78cbf06d89
--- /dev/null
+++ b/Lang/Perl-6/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Roots-of-unity b/Lang/Perl-6/Roots-of-unity
new file mode 120000
index 0000000000..7a2cb49710
--- /dev/null
+++ b/Lang/Perl-6/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Rosetta-Code-Rank-languages-by-popularity b/Lang/Perl-6/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..d84ceb645d
--- /dev/null
+++ b/Lang/Perl-6/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Rot-13 b/Lang/Perl-6/Rot-13
new file mode 120000
index 0000000000..e70f003a7a
--- /dev/null
+++ b/Lang/Perl-6/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Run-length-encoding b/Lang/Perl-6/Run-length-encoding
new file mode 120000
index 0000000000..df41957fa3
--- /dev/null
+++ b/Lang/Perl-6/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Runtime-evaluation b/Lang/Perl-6/Runtime-evaluation
new file mode 120000
index 0000000000..0259ac0ac9
--- /dev/null
+++ b/Lang/Perl-6/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Runtime-evaluation-In-an-environment b/Lang/Perl-6/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..a12feaba70
--- /dev/null
+++ b/Lang/Perl-6/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/S-Expressions b/Lang/Perl-6/S-Expressions
new file mode 120000
index 0000000000..a637660519
--- /dev/null
+++ b/Lang/Perl-6/S-Expressions
@@ -0,0 +1 @@
+../../Task/S-Expressions/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/SEDOLs b/Lang/Perl-6/SEDOLs
new file mode 120000
index 0000000000..a9e991a6fb
--- /dev/null
+++ b/Lang/Perl-6/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Same-Fringe b/Lang/Perl-6/Same-Fringe
new file mode 120000
index 0000000000..957685efdc
--- /dev/null
+++ b/Lang/Perl-6/Same-Fringe
@@ -0,0 +1 @@
+../../Task/Same-Fringe/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Scope-Function-names-and-labels b/Lang/Perl-6/Scope-Function-names-and-labels
new file mode 120000
index 0000000000..dea56ea725
--- /dev/null
+++ b/Lang/Perl-6/Scope-Function-names-and-labels
@@ -0,0 +1 @@
+../../Task/Scope-Function-names-and-labels/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Scope-modifiers b/Lang/Perl-6/Scope-modifiers
new file mode 120000
index 0000000000..6032459204
--- /dev/null
+++ b/Lang/Perl-6/Scope-modifiers
@@ -0,0 +1 @@
+../../Task/Scope-modifiers/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Self-describing-numbers b/Lang/Perl-6/Self-describing-numbers
new file mode 120000
index 0000000000..2d752e2877
--- /dev/null
+++ b/Lang/Perl-6/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Self-referential-sequence b/Lang/Perl-6/Self-referential-sequence
new file mode 120000
index 0000000000..e0c7545b00
--- /dev/null
+++ b/Lang/Perl-6/Self-referential-sequence
@@ -0,0 +1 @@
+../../Task/Self-referential-sequence/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Semordnilap b/Lang/Perl-6/Semordnilap
new file mode 120000
index 0000000000..0ffa16f3ab
--- /dev/null
+++ b/Lang/Perl-6/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Send-an-unknown-method-call b/Lang/Perl-6/Send-an-unknown-method-call
new file mode 120000
index 0000000000..e0b4dc9caf
--- /dev/null
+++ b/Lang/Perl-6/Send-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Send-an-unknown-method-call/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Sequence-of-non-squares b/Lang/Perl-6/Sequence-of-non-squares
new file mode 120000
index 0000000000..d8229a7018
--- /dev/null
+++ b/Lang/Perl-6/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Set b/Lang/Perl-6/Set
new file mode 120000
index 0000000000..d613ab36fb
--- /dev/null
+++ b/Lang/Perl-6/Set
@@ -0,0 +1 @@
+../../Task/Set/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Set-consolidation b/Lang/Perl-6/Set-consolidation
new file mode 120000
index 0000000000..d1a2b9700b
--- /dev/null
+++ b/Lang/Perl-6/Set-consolidation
@@ -0,0 +1 @@
+../../Task/Set-consolidation/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl-6/Set-of-real-numbers b/Lang/Perl-6/Set-of-real-numbers
new file mode 120000
index 0000000000..a54492c6b7
--- /dev/null
+++ b/Lang/Perl-6/Set-of-real-numbers
@@ -0,0 +1 @@
+../../Task/Set-of-real-numbers/Perl-6
\ No newline at end of file
diff --git a/Lang/Perl/Arbitrary-precision-integers--included- b/Lang/Perl/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..916bf42ca6
--- /dev/null
+++ b/Lang/Perl/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Arbitrary-precision-integers-included b/Lang/Perl/Arbitrary-precision-integers-included
deleted file mode 120000
index b499abc9be..0000000000
--- a/Lang/Perl/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Binary-digits b/Lang/Perl/Binary-digits
new file mode 120000
index 0000000000..c67028cb23
--- /dev/null
+++ b/Lang/Perl/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Brownian-tree b/Lang/Perl/Brownian-tree
new file mode 120000
index 0000000000..54f77790b3
--- /dev/null
+++ b/Lang/Perl/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Calendar---for-real-programmers b/Lang/Perl/Calendar---for-real-programmers
new file mode 120000
index 0000000000..85c695f20e
--- /dev/null
+++ b/Lang/Perl/Calendar---for-real-programmers
@@ -0,0 +1 @@
+../../Task/Calendar---for-real-programmers/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Calendar-for-real-programmers b/Lang/Perl/Calendar-for-real-programmers
deleted file mode 120000
index d78355e212..0000000000
--- a/Lang/Perl/Calendar-for-real-programmers
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Calendar-for-real-programmers/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Catalan-numbers b/Lang/Perl/Catalan-numbers
new file mode 120000
index 0000000000..2781799300
--- /dev/null
+++ b/Lang/Perl/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Copy-a-string b/Lang/Perl/Copy-a-string
new file mode 120000
index 0000000000..7b84da198e
--- /dev/null
+++ b/Lang/Perl/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Environment-variables b/Lang/Perl/Environment-variables
new file mode 120000
index 0000000000..782796a957
--- /dev/null
+++ b/Lang/Perl/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Execute-a-Markov-algorithm b/Lang/Perl/Execute-a-Markov-algorithm
new file mode 120000
index 0000000000..3baf579d74
--- /dev/null
+++ b/Lang/Perl/Execute-a-Markov-algorithm
@@ -0,0 +1 @@
+../../Task/Execute-a-Markov-algorithm/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Guess-the-number-With-feedback--player- b/Lang/Perl/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..005b1384af
--- /dev/null
+++ b/Lang/Perl/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Guess-the-number-With-feedback-player b/Lang/Perl/Guess-the-number-With-feedback-player
deleted file mode 120000
index 4445655734..0000000000
--- a/Lang/Perl/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/Perl
\ No newline at end of file
diff --git a/Lang/Perl/N-queens-problem b/Lang/Perl/N-queens-problem
new file mode 120000
index 0000000000..8d3e3a1239
--- /dev/null
+++ b/Lang/Perl/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Named-parameters b/Lang/Perl/Named-parameters
new file mode 120000
index 0000000000..20e927f4c2
--- /dev/null
+++ b/Lang/Perl/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Non-continuous-subsequences b/Lang/Perl/Non-continuous-subsequences
new file mode 120000
index 0000000000..35427a981a
--- /dev/null
+++ b/Lang/Perl/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Non-decimal-radices-Convert b/Lang/Perl/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..c085f0f63b
--- /dev/null
+++ b/Lang/Perl/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Non-decimal-radices-Input b/Lang/Perl/Non-decimal-radices-Input
new file mode 120000
index 0000000000..177bd53103
--- /dev/null
+++ b/Lang/Perl/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Non-decimal-radices-Output b/Lang/Perl/Non-decimal-radices-Output
new file mode 120000
index 0000000000..c82ea367b6
--- /dev/null
+++ b/Lang/Perl/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Nth-root b/Lang/Perl/Nth-root
new file mode 120000
index 0000000000..b7ef5a3802
--- /dev/null
+++ b/Lang/Perl/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Null-object b/Lang/Perl/Null-object
new file mode 120000
index 0000000000..1eed6c367b
--- /dev/null
+++ b/Lang/Perl/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Number-names b/Lang/Perl/Number-names
new file mode 120000
index 0000000000..9d3f30b8ce
--- /dev/null
+++ b/Lang/Perl/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Number-reversal-game b/Lang/Perl/Number-reversal-game
new file mode 120000
index 0000000000..8c2b552321
--- /dev/null
+++ b/Lang/Perl/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Numeric-error-propagation b/Lang/Perl/Numeric-error-propagation
new file mode 120000
index 0000000000..b09875d0a3
--- /dev/null
+++ b/Lang/Perl/Numeric-error-propagation
@@ -0,0 +1 @@
+../../Task/Numeric-error-propagation/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Object-serialization b/Lang/Perl/Object-serialization
new file mode 120000
index 0000000000..4046bad668
--- /dev/null
+++ b/Lang/Perl/Object-serialization
@@ -0,0 +1 @@
+../../Task/Object-serialization/Perl
\ No newline at end of file
diff --git a/Lang/Perl/One-dimensional-cellular-automata b/Lang/Perl/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..1f3eff03e5
--- /dev/null
+++ b/Lang/Perl/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Perl
\ No newline at end of file
diff --git a/Lang/Perl/OpenGL b/Lang/Perl/OpenGL
new file mode 120000
index 0000000000..b99cf33eb8
--- /dev/null
+++ b/Lang/Perl/OpenGL
@@ -0,0 +1 @@
+../../Task/OpenGL/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Optional-parameters b/Lang/Perl/Optional-parameters
new file mode 120000
index 0000000000..6c7e673693
--- /dev/null
+++ b/Lang/Perl/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Order-two-numerical-lists b/Lang/Perl/Order-two-numerical-lists
new file mode 120000
index 0000000000..f3832b0eaf
--- /dev/null
+++ b/Lang/Perl/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Ordered-Partitions b/Lang/Perl/Ordered-Partitions
new file mode 120000
index 0000000000..501534c434
--- /dev/null
+++ b/Lang/Perl/Ordered-Partitions
@@ -0,0 +1 @@
+../../Task/Ordered-Partitions/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Palindrome-detection b/Lang/Perl/Palindrome-detection
new file mode 120000
index 0000000000..2b6591aca9
--- /dev/null
+++ b/Lang/Perl/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Pangram-checker b/Lang/Perl/Pangram-checker
new file mode 120000
index 0000000000..e3290fc182
--- /dev/null
+++ b/Lang/Perl/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Parametrized-SQL-statement b/Lang/Perl/Parametrized-SQL-statement
new file mode 120000
index 0000000000..d3f4c5645f
--- /dev/null
+++ b/Lang/Perl/Parametrized-SQL-statement
@@ -0,0 +1 @@
+../../Task/Parametrized-SQL-statement/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Parsing-RPN-calculator-algorithm b/Lang/Perl/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..4b3083b376
--- /dev/null
+++ b/Lang/Perl/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Parsing-RPN-to-infix-conversion b/Lang/Perl/Parsing-RPN-to-infix-conversion
new file mode 120000
index 0000000000..e6d7315580
--- /dev/null
+++ b/Lang/Perl/Parsing-RPN-to-infix-conversion
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-to-infix-conversion/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Partial-function-application b/Lang/Perl/Partial-function-application
new file mode 120000
index 0000000000..b503f3c930
--- /dev/null
+++ b/Lang/Perl/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Pascals-triangle b/Lang/Perl/Pascals-triangle
new file mode 120000
index 0000000000..515d30446a
--- /dev/null
+++ b/Lang/Perl/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Perfect-numbers b/Lang/Perl/Perfect-numbers
new file mode 120000
index 0000000000..30c24617e4
--- /dev/null
+++ b/Lang/Perl/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Permutations b/Lang/Perl/Permutations
new file mode 120000
index 0000000000..8d7817bec8
--- /dev/null
+++ b/Lang/Perl/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Permutations-Derangements b/Lang/Perl/Permutations-Derangements
new file mode 120000
index 0000000000..a9760d8bbd
--- /dev/null
+++ b/Lang/Perl/Permutations-Derangements
@@ -0,0 +1 @@
+../../Task/Permutations-Derangements/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Pick-random-element b/Lang/Perl/Pick-random-element
new file mode 120000
index 0000000000..468714892e
--- /dev/null
+++ b/Lang/Perl/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Playing-cards b/Lang/Perl/Playing-cards
new file mode 120000
index 0000000000..84721257fc
--- /dev/null
+++ b/Lang/Perl/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Plot-coordinate-pairs b/Lang/Perl/Plot-coordinate-pairs
new file mode 120000
index 0000000000..20b56ee0ea
--- /dev/null
+++ b/Lang/Perl/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Pointers-and-references b/Lang/Perl/Pointers-and-references
new file mode 120000
index 0000000000..3adfe04432
--- /dev/null
+++ b/Lang/Perl/Pointers-and-references
@@ -0,0 +1 @@
+../../Task/Pointers-and-references/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Polymorphic-copy b/Lang/Perl/Polymorphic-copy
new file mode 120000
index 0000000000..37493f1e9f
--- /dev/null
+++ b/Lang/Perl/Polymorphic-copy
@@ -0,0 +1 @@
+../../Task/Polymorphic-copy/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Polymorphism b/Lang/Perl/Polymorphism
new file mode 120000
index 0000000000..adfcaa953f
--- /dev/null
+++ b/Lang/Perl/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Polynomial-long-division b/Lang/Perl/Polynomial-long-division
new file mode 120000
index 0000000000..f9ea3ea04d
--- /dev/null
+++ b/Lang/Perl/Polynomial-long-division
@@ -0,0 +1 @@
+../../Task/Polynomial-long-division/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Power-set b/Lang/Perl/Power-set
new file mode 120000
index 0000000000..f02c13a943
--- /dev/null
+++ b/Lang/Perl/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Pragmatic-directives b/Lang/Perl/Pragmatic-directives
new file mode 120000
index 0000000000..6a06f11eea
--- /dev/null
+++ b/Lang/Perl/Pragmatic-directives
@@ -0,0 +1 @@
+../../Task/Pragmatic-directives/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Price-fraction b/Lang/Perl/Price-fraction
new file mode 120000
index 0000000000..d5e6e5940c
--- /dev/null
+++ b/Lang/Perl/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Primality-by-trial-division b/Lang/Perl/Primality-by-trial-division
new file mode 120000
index 0000000000..66f2b9e1b9
--- /dev/null
+++ b/Lang/Perl/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Prime-decomposition b/Lang/Perl/Prime-decomposition
new file mode 120000
index 0000000000..d7d08df3ee
--- /dev/null
+++ b/Lang/Perl/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Priority-queue b/Lang/Perl/Priority-queue
new file mode 120000
index 0000000000..b38644c5de
--- /dev/null
+++ b/Lang/Perl/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Probabilistic-choice b/Lang/Perl/Probabilistic-choice
new file mode 120000
index 0000000000..38e0000a83
--- /dev/null
+++ b/Lang/Perl/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Program-name b/Lang/Perl/Program-name
new file mode 120000
index 0000000000..3903317a41
--- /dev/null
+++ b/Lang/Perl/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Program-termination b/Lang/Perl/Program-termination
new file mode 120000
index 0000000000..995e2aa509
--- /dev/null
+++ b/Lang/Perl/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Quaternion-type b/Lang/Perl/Quaternion-type
new file mode 120000
index 0000000000..6c26830ce6
--- /dev/null
+++ b/Lang/Perl/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Queue-Definition b/Lang/Perl/Queue-Definition
new file mode 120000
index 0000000000..c9501e0521
--- /dev/null
+++ b/Lang/Perl/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Queue-Usage b/Lang/Perl/Queue-Usage
new file mode 120000
index 0000000000..79114443b0
--- /dev/null
+++ b/Lang/Perl/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Random-number-generator--device- b/Lang/Perl/Random-number-generator--device-
new file mode 120000
index 0000000000..4ca99c431f
--- /dev/null
+++ b/Lang/Perl/Random-number-generator--device-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--device-/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Random-numbers b/Lang/Perl/Random-numbers
new file mode 120000
index 0000000000..7ee0f1f611
--- /dev/null
+++ b/Lang/Perl/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Range-expansion b/Lang/Perl/Range-expansion
new file mode 120000
index 0000000000..3c097c57dc
--- /dev/null
+++ b/Lang/Perl/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Range-extraction b/Lang/Perl/Range-extraction
new file mode 120000
index 0000000000..3c79d9a63b
--- /dev/null
+++ b/Lang/Perl/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Rate-counter b/Lang/Perl/Rate-counter
new file mode 120000
index 0000000000..09df5d39d2
--- /dev/null
+++ b/Lang/Perl/Rate-counter
@@ -0,0 +1 @@
+../../Task/Rate-counter/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Ray-casting-algorithm b/Lang/Perl/Ray-casting-algorithm
new file mode 120000
index 0000000000..80161f57fc
--- /dev/null
+++ b/Lang/Perl/Ray-casting-algorithm
@@ -0,0 +1 @@
+../../Task/Ray-casting-algorithm/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Read-a-configuration-file b/Lang/Perl/Read-a-configuration-file
new file mode 120000
index 0000000000..8d85a10ec9
--- /dev/null
+++ b/Lang/Perl/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Read-a-file-line-by-line b/Lang/Perl/Read-a-file-line-by-line
new file mode 120000
index 0000000000..05b0a1b800
--- /dev/null
+++ b/Lang/Perl/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Read-a-specific-line-from-a-file b/Lang/Perl/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..c5c39eaf4e
--- /dev/null
+++ b/Lang/Perl/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Read-entire-file b/Lang/Perl/Read-entire-file
new file mode 120000
index 0000000000..e86bf90228
--- /dev/null
+++ b/Lang/Perl/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Real-constants-and-functions b/Lang/Perl/Real-constants-and-functions
new file mode 120000
index 0000000000..7bbe0413d2
--- /dev/null
+++ b/Lang/Perl/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Reduced-row-echelon-form b/Lang/Perl/Reduced-row-echelon-form
new file mode 120000
index 0000000000..7517fadbfb
--- /dev/null
+++ b/Lang/Perl/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Regular-expressions b/Lang/Perl/Regular-expressions
new file mode 120000
index 0000000000..10c87e6ebd
--- /dev/null
+++ b/Lang/Perl/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Remove-duplicate-elements b/Lang/Perl/Remove-duplicate-elements
new file mode 120000
index 0000000000..ece7753190
--- /dev/null
+++ b/Lang/Perl/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Remove-lines-from-a-file b/Lang/Perl/Remove-lines-from-a-file
new file mode 120000
index 0000000000..53c78edc9f
--- /dev/null
+++ b/Lang/Perl/Remove-lines-from-a-file
@@ -0,0 +1 @@
+../../Task/Remove-lines-from-a-file/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Rename-a-file b/Lang/Perl/Rename-a-file
new file mode 120000
index 0000000000..8ce72a4aa9
--- /dev/null
+++ b/Lang/Perl/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Repeat-a-string b/Lang/Perl/Repeat-a-string
new file mode 120000
index 0000000000..621e51e648
--- /dev/null
+++ b/Lang/Perl/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Resistor-mesh b/Lang/Perl/Resistor-mesh
new file mode 120000
index 0000000000..3398c7624e
--- /dev/null
+++ b/Lang/Perl/Resistor-mesh
@@ -0,0 +1 @@
+../../Task/Resistor-mesh/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Respond-to-an-unknown-method-call b/Lang/Perl/Respond-to-an-unknown-method-call
new file mode 120000
index 0000000000..6d919d2160
--- /dev/null
+++ b/Lang/Perl/Respond-to-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Respond-to-an-unknown-method-call/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Return-multiple-values b/Lang/Perl/Return-multiple-values
new file mode 120000
index 0000000000..5c942594a3
--- /dev/null
+++ b/Lang/Perl/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Reverse-a-string b/Lang/Perl/Reverse-a-string
new file mode 120000
index 0000000000..0b2bf1668d
--- /dev/null
+++ b/Lang/Perl/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Roman-numerals-Decode b/Lang/Perl/Roman-numerals-Decode
new file mode 120000
index 0000000000..13186f1ef6
--- /dev/null
+++ b/Lang/Perl/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Roman-numerals-Encode b/Lang/Perl/Roman-numerals-Encode
new file mode 120000
index 0000000000..4b9c94cfe6
--- /dev/null
+++ b/Lang/Perl/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Roots-of-a-function b/Lang/Perl/Roots-of-a-function
new file mode 120000
index 0000000000..b55f313527
--- /dev/null
+++ b/Lang/Perl/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Roots-of-a-quadratic-function b/Lang/Perl/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..b9b02be12a
--- /dev/null
+++ b/Lang/Perl/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Roots-of-unity b/Lang/Perl/Roots-of-unity
new file mode 120000
index 0000000000..3b55e71db4
--- /dev/null
+++ b/Lang/Perl/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Rosetta-Code-Count-examples b/Lang/Perl/Rosetta-Code-Count-examples
new file mode 120000
index 0000000000..7b3ef57551
--- /dev/null
+++ b/Lang/Perl/Rosetta-Code-Count-examples
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Count-examples/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Rosetta-Code-Find-unimplemented-tasks b/Lang/Perl/Rosetta-Code-Find-unimplemented-tasks
new file mode 120000
index 0000000000..0e72c4d01e
--- /dev/null
+++ b/Lang/Perl/Rosetta-Code-Find-unimplemented-tasks
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Find-unimplemented-tasks/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Rosetta-Code-Fix-code-tags b/Lang/Perl/Rosetta-Code-Fix-code-tags
new file mode 120000
index 0000000000..9cc24cd62d
--- /dev/null
+++ b/Lang/Perl/Rosetta-Code-Fix-code-tags
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Fix-code-tags/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Rosetta-Code-Rank-languages-by-popularity b/Lang/Perl/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..d1749cec95
--- /dev/null
+++ b/Lang/Perl/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Rot-13 b/Lang/Perl/Rot-13
new file mode 120000
index 0000000000..6428de6398
--- /dev/null
+++ b/Lang/Perl/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Run-length-encoding b/Lang/Perl/Run-length-encoding
new file mode 120000
index 0000000000..de7b189c81
--- /dev/null
+++ b/Lang/Perl/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Runtime-evaluation b/Lang/Perl/Runtime-evaluation
new file mode 120000
index 0000000000..c6c2ce79d0
--- /dev/null
+++ b/Lang/Perl/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Runtime-evaluation-In-an-environment b/Lang/Perl/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..6eda884818
--- /dev/null
+++ b/Lang/Perl/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/Perl
\ No newline at end of file
diff --git a/Lang/Perl/S-Expressions b/Lang/Perl/S-Expressions
new file mode 120000
index 0000000000..b34842fada
--- /dev/null
+++ b/Lang/Perl/S-Expressions
@@ -0,0 +1 @@
+../../Task/S-Expressions/Perl
\ No newline at end of file
diff --git a/Lang/Perl/SEDOLs b/Lang/Perl/SEDOLs
new file mode 120000
index 0000000000..00f3b5fd00
--- /dev/null
+++ b/Lang/Perl/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Scope-modifiers b/Lang/Perl/Scope-modifiers
new file mode 120000
index 0000000000..fa510f45fa
--- /dev/null
+++ b/Lang/Perl/Scope-modifiers
@@ -0,0 +1 @@
+../../Task/Scope-modifiers/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Secure-temporary-file b/Lang/Perl/Secure-temporary-file
new file mode 120000
index 0000000000..c2e5a961f1
--- /dev/null
+++ b/Lang/Perl/Secure-temporary-file
@@ -0,0 +1 @@
+../../Task/Secure-temporary-file/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Self-describing-numbers b/Lang/Perl/Self-describing-numbers
new file mode 120000
index 0000000000..a675994ee9
--- /dev/null
+++ b/Lang/Perl/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Self-referential-sequence b/Lang/Perl/Self-referential-sequence
new file mode 120000
index 0000000000..298df6c33e
--- /dev/null
+++ b/Lang/Perl/Self-referential-sequence
@@ -0,0 +1 @@
+../../Task/Self-referential-sequence/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Semordnilap b/Lang/Perl/Semordnilap
new file mode 120000
index 0000000000..a8b4977878
--- /dev/null
+++ b/Lang/Perl/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Send-an-unknown-method-call b/Lang/Perl/Send-an-unknown-method-call
new file mode 120000
index 0000000000..82039e9436
--- /dev/null
+++ b/Lang/Perl/Send-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Send-an-unknown-method-call/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Send-email b/Lang/Perl/Send-email
new file mode 120000
index 0000000000..33768af184
--- /dev/null
+++ b/Lang/Perl/Send-email
@@ -0,0 +1 @@
+../../Task/Send-email/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Sequence-of-non-squares b/Lang/Perl/Sequence-of-non-squares
new file mode 120000
index 0000000000..92325966d4
--- /dev/null
+++ b/Lang/Perl/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Set b/Lang/Perl/Set
new file mode 120000
index 0000000000..2911c98922
--- /dev/null
+++ b/Lang/Perl/Set
@@ -0,0 +1 @@
+../../Task/Set/Perl
\ No newline at end of file
diff --git a/Lang/Perl/Set-of-real-numbers b/Lang/Perl/Set-of-real-numbers
new file mode 120000
index 0000000000..24de043445
--- /dev/null
+++ b/Lang/Perl/Set-of-real-numbers
@@ -0,0 +1 @@
+../../Task/Set-of-real-numbers/Perl
\ No newline at end of file
diff --git a/Lang/PicoLisp/Arbitrary-precision-integers--included- b/Lang/PicoLisp/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..38db36b44f
--- /dev/null
+++ b/Lang/PicoLisp/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Arbitrary-precision-integers-included b/Lang/PicoLisp/Arbitrary-precision-integers-included
deleted file mode 120000
index 39a922253a..0000000000
--- a/Lang/PicoLisp/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Binary-digits b/Lang/PicoLisp/Binary-digits
new file mode 120000
index 0000000000..30b8440cb3
--- /dev/null
+++ b/Lang/PicoLisp/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Brownian-tree b/Lang/PicoLisp/Brownian-tree
new file mode 120000
index 0000000000..c5be1dd320
--- /dev/null
+++ b/Lang/PicoLisp/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Calendar---for-real-programmers b/Lang/PicoLisp/Calendar---for-real-programmers
new file mode 120000
index 0000000000..c49ce49cbc
--- /dev/null
+++ b/Lang/PicoLisp/Calendar---for-real-programmers
@@ -0,0 +1 @@
+../../Task/Calendar---for-real-programmers/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Calendar-for-real-programmers b/Lang/PicoLisp/Calendar-for-real-programmers
deleted file mode 120000
index cf80e6361b..0000000000
--- a/Lang/PicoLisp/Calendar-for-real-programmers
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Calendar-for-real-programmers/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Catalan-numbers b/Lang/PicoLisp/Catalan-numbers
new file mode 120000
index 0000000000..bb05e7916e
--- /dev/null
+++ b/Lang/PicoLisp/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Copy-a-string b/Lang/PicoLisp/Copy-a-string
new file mode 120000
index 0000000000..2baac4edb7
--- /dev/null
+++ b/Lang/PicoLisp/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Dragon-curve b/Lang/PicoLisp/Dragon-curve
new file mode 120000
index 0000000000..abc0fb9fe4
--- /dev/null
+++ b/Lang/PicoLisp/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Environment-variables b/Lang/PicoLisp/Environment-variables
new file mode 120000
index 0000000000..c0afc2cbd7
--- /dev/null
+++ b/Lang/PicoLisp/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Execute-a-Markov-algorithm b/Lang/PicoLisp/Execute-a-Markov-algorithm
new file mode 120000
index 0000000000..4e00f71451
--- /dev/null
+++ b/Lang/PicoLisp/Execute-a-Markov-algorithm
@@ -0,0 +1 @@
+../../Task/Execute-a-Markov-algorithm/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Guess-the-number-With-feedback--player- b/Lang/PicoLisp/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..cd898a484d
--- /dev/null
+++ b/Lang/PicoLisp/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Guess-the-number-With-feedback-player b/Lang/PicoLisp/Guess-the-number-With-feedback-player
deleted file mode 120000
index a0372b7f9a..0000000000
--- a/Lang/PicoLisp/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/N-queens-problem b/Lang/PicoLisp/N-queens-problem
new file mode 120000
index 0000000000..04e5ece40a
--- /dev/null
+++ b/Lang/PicoLisp/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Named-parameters b/Lang/PicoLisp/Named-parameters
new file mode 120000
index 0000000000..6fdd6e778f
--- /dev/null
+++ b/Lang/PicoLisp/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Non-continuous-subsequences b/Lang/PicoLisp/Non-continuous-subsequences
new file mode 120000
index 0000000000..edc18a2f3f
--- /dev/null
+++ b/Lang/PicoLisp/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Non-decimal-radices-Convert b/Lang/PicoLisp/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..0f0b125e59
--- /dev/null
+++ b/Lang/PicoLisp/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Non-decimal-radices-Input b/Lang/PicoLisp/Non-decimal-radices-Input
new file mode 120000
index 0000000000..67fc082fd0
--- /dev/null
+++ b/Lang/PicoLisp/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Non-decimal-radices-Output b/Lang/PicoLisp/Non-decimal-radices-Output
new file mode 120000
index 0000000000..4238b7a91d
--- /dev/null
+++ b/Lang/PicoLisp/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Nth-root b/Lang/PicoLisp/Nth-root
new file mode 120000
index 0000000000..851d1e3bd0
--- /dev/null
+++ b/Lang/PicoLisp/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Null-object b/Lang/PicoLisp/Null-object
new file mode 120000
index 0000000000..f083b369d7
--- /dev/null
+++ b/Lang/PicoLisp/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Number-names b/Lang/PicoLisp/Number-names
new file mode 120000
index 0000000000..f02ca43a46
--- /dev/null
+++ b/Lang/PicoLisp/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Number-reversal-game b/Lang/PicoLisp/Number-reversal-game
new file mode 120000
index 0000000000..9a92f09936
--- /dev/null
+++ b/Lang/PicoLisp/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Numeric-error-propagation b/Lang/PicoLisp/Numeric-error-propagation
new file mode 120000
index 0000000000..016213f063
--- /dev/null
+++ b/Lang/PicoLisp/Numeric-error-propagation
@@ -0,0 +1 @@
+../../Task/Numeric-error-propagation/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Numerical-integration b/Lang/PicoLisp/Numerical-integration
new file mode 120000
index 0000000000..bf82a61971
--- /dev/null
+++ b/Lang/PicoLisp/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Object-serialization b/Lang/PicoLisp/Object-serialization
new file mode 120000
index 0000000000..278c0dfca6
--- /dev/null
+++ b/Lang/PicoLisp/Object-serialization
@@ -0,0 +1 @@
+../../Task/Object-serialization/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/One-dimensional-cellular-automata b/Lang/PicoLisp/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..67e2a91844
--- /dev/null
+++ b/Lang/PicoLisp/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/One-of-n-lines-in-a-file b/Lang/PicoLisp/One-of-n-lines-in-a-file
new file mode 120000
index 0000000000..050edcba8e
--- /dev/null
+++ b/Lang/PicoLisp/One-of-n-lines-in-a-file
@@ -0,0 +1 @@
+../../Task/One-of-n-lines-in-a-file/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/OpenGL b/Lang/PicoLisp/OpenGL
new file mode 120000
index 0000000000..568cec3f43
--- /dev/null
+++ b/Lang/PicoLisp/OpenGL
@@ -0,0 +1 @@
+../../Task/OpenGL/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Optional-parameters b/Lang/PicoLisp/Optional-parameters
new file mode 120000
index 0000000000..af4e112113
--- /dev/null
+++ b/Lang/PicoLisp/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Order-two-numerical-lists b/Lang/PicoLisp/Order-two-numerical-lists
new file mode 120000
index 0000000000..ded2602bd8
--- /dev/null
+++ b/Lang/PicoLisp/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Ordered-Partitions b/Lang/PicoLisp/Ordered-Partitions
new file mode 120000
index 0000000000..efcd8d6880
--- /dev/null
+++ b/Lang/PicoLisp/Ordered-Partitions
@@ -0,0 +1 @@
+../../Task/Ordered-Partitions/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Palindrome-detection b/Lang/PicoLisp/Palindrome-detection
new file mode 120000
index 0000000000..b22eeb30d7
--- /dev/null
+++ b/Lang/PicoLisp/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Pangram-checker b/Lang/PicoLisp/Pangram-checker
new file mode 120000
index 0000000000..058d4e86de
--- /dev/null
+++ b/Lang/PicoLisp/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Parallel-calculations b/Lang/PicoLisp/Parallel-calculations
new file mode 120000
index 0000000000..9278b97279
--- /dev/null
+++ b/Lang/PicoLisp/Parallel-calculations
@@ -0,0 +1 @@
+../../Task/Parallel-calculations/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Parametric-polymorphism b/Lang/PicoLisp/Parametric-polymorphism
new file mode 120000
index 0000000000..517afe1913
--- /dev/null
+++ b/Lang/PicoLisp/Parametric-polymorphism
@@ -0,0 +1 @@
+../../Task/Parametric-polymorphism/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Parametrized-SQL-statement b/Lang/PicoLisp/Parametrized-SQL-statement
new file mode 120000
index 0000000000..5dd89ff82d
--- /dev/null
+++ b/Lang/PicoLisp/Parametrized-SQL-statement
@@ -0,0 +1 @@
+../../Task/Parametrized-SQL-statement/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Parsing-RPN-calculator-algorithm b/Lang/PicoLisp/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..03ebbce6f4
--- /dev/null
+++ b/Lang/PicoLisp/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Parsing-RPN-to-infix-conversion b/Lang/PicoLisp/Parsing-RPN-to-infix-conversion
new file mode 120000
index 0000000000..d0efe5e095
--- /dev/null
+++ b/Lang/PicoLisp/Parsing-RPN-to-infix-conversion
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-to-infix-conversion/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Parsing-Shunting-yard-algorithm b/Lang/PicoLisp/Parsing-Shunting-yard-algorithm
new file mode 120000
index 0000000000..258d21a3fb
--- /dev/null
+++ b/Lang/PicoLisp/Parsing-Shunting-yard-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-Shunting-yard-algorithm/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Partial-function-application b/Lang/PicoLisp/Partial-function-application
new file mode 120000
index 0000000000..b8f4d940e4
--- /dev/null
+++ b/Lang/PicoLisp/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Pascals-triangle b/Lang/PicoLisp/Pascals-triangle
new file mode 120000
index 0000000000..e47107447c
--- /dev/null
+++ b/Lang/PicoLisp/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Pascals-triangle-Puzzle b/Lang/PicoLisp/Pascals-triangle-Puzzle
new file mode 120000
index 0000000000..a690fd829a
--- /dev/null
+++ b/Lang/PicoLisp/Pascals-triangle-Puzzle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle-Puzzle/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Pattern-matching b/Lang/PicoLisp/Pattern-matching
new file mode 120000
index 0000000000..1c401c9f9d
--- /dev/null
+++ b/Lang/PicoLisp/Pattern-matching
@@ -0,0 +1 @@
+../../Task/Pattern-matching/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Percentage-difference-between-images b/Lang/PicoLisp/Percentage-difference-between-images
new file mode 120000
index 0000000000..d58458df91
--- /dev/null
+++ b/Lang/PicoLisp/Percentage-difference-between-images
@@ -0,0 +1 @@
+../../Task/Percentage-difference-between-images/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Perfect-numbers b/Lang/PicoLisp/Perfect-numbers
new file mode 120000
index 0000000000..5db34753e0
--- /dev/null
+++ b/Lang/PicoLisp/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Permutation-test b/Lang/PicoLisp/Permutation-test
new file mode 120000
index 0000000000..d380b48e4c
--- /dev/null
+++ b/Lang/PicoLisp/Permutation-test
@@ -0,0 +1 @@
+../../Task/Permutation-test/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Permutations b/Lang/PicoLisp/Permutations
new file mode 120000
index 0000000000..5bfbf35fd0
--- /dev/null
+++ b/Lang/PicoLisp/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Permutations-Derangements b/Lang/PicoLisp/Permutations-Derangements
new file mode 120000
index 0000000000..d53b7e70e8
--- /dev/null
+++ b/Lang/PicoLisp/Permutations-Derangements
@@ -0,0 +1 @@
+../../Task/Permutations-Derangements/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Pick-random-element b/Lang/PicoLisp/Pick-random-element
new file mode 120000
index 0000000000..d3a882a7de
--- /dev/null
+++ b/Lang/PicoLisp/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Pinstripe-Display b/Lang/PicoLisp/Pinstripe-Display
new file mode 120000
index 0000000000..db0aa60e46
--- /dev/null
+++ b/Lang/PicoLisp/Pinstripe-Display
@@ -0,0 +1 @@
+../../Task/Pinstripe-Display/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Pinstripe-Printer b/Lang/PicoLisp/Pinstripe-Printer
new file mode 120000
index 0000000000..d563416fea
--- /dev/null
+++ b/Lang/PicoLisp/Pinstripe-Printer
@@ -0,0 +1 @@
+../../Task/Pinstripe-Printer/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Play-recorded-sounds b/Lang/PicoLisp/Play-recorded-sounds
new file mode 120000
index 0000000000..170206d178
--- /dev/null
+++ b/Lang/PicoLisp/Play-recorded-sounds
@@ -0,0 +1 @@
+../../Task/Play-recorded-sounds/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Playing-cards b/Lang/PicoLisp/Playing-cards
new file mode 120000
index 0000000000..2fe77f11a9
--- /dev/null
+++ b/Lang/PicoLisp/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Plot-coordinate-pairs b/Lang/PicoLisp/Plot-coordinate-pairs
new file mode 120000
index 0000000000..1246a72f3b
--- /dev/null
+++ b/Lang/PicoLisp/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Pointers-and-references b/Lang/PicoLisp/Pointers-and-references
new file mode 120000
index 0000000000..920af76aeb
--- /dev/null
+++ b/Lang/PicoLisp/Pointers-and-references
@@ -0,0 +1 @@
+../../Task/Pointers-and-references/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Polymorphic-copy b/Lang/PicoLisp/Polymorphic-copy
new file mode 120000
index 0000000000..6ef1cc6ee3
--- /dev/null
+++ b/Lang/PicoLisp/Polymorphic-copy
@@ -0,0 +1 @@
+../../Task/Polymorphic-copy/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Polymorphism b/Lang/PicoLisp/Polymorphism
new file mode 120000
index 0000000000..a92f918ad7
--- /dev/null
+++ b/Lang/PicoLisp/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Polynomial-long-division b/Lang/PicoLisp/Polynomial-long-division
new file mode 120000
index 0000000000..453f3608e7
--- /dev/null
+++ b/Lang/PicoLisp/Polynomial-long-division
@@ -0,0 +1 @@
+../../Task/Polynomial-long-division/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Power-set b/Lang/PicoLisp/Power-set
new file mode 120000
index 0000000000..f1d46d8915
--- /dev/null
+++ b/Lang/PicoLisp/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Price-fraction b/Lang/PicoLisp/Price-fraction
new file mode 120000
index 0000000000..27966890c5
--- /dev/null
+++ b/Lang/PicoLisp/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Primality-by-trial-division b/Lang/PicoLisp/Primality-by-trial-division
new file mode 120000
index 0000000000..ff2526d00d
--- /dev/null
+++ b/Lang/PicoLisp/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Prime-decomposition b/Lang/PicoLisp/Prime-decomposition
new file mode 120000
index 0000000000..86299eb6c5
--- /dev/null
+++ b/Lang/PicoLisp/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Priority-queue b/Lang/PicoLisp/Priority-queue
new file mode 120000
index 0000000000..046c71f39b
--- /dev/null
+++ b/Lang/PicoLisp/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Probabilistic-choice b/Lang/PicoLisp/Probabilistic-choice
new file mode 120000
index 0000000000..9edbef38b9
--- /dev/null
+++ b/Lang/PicoLisp/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Program-name b/Lang/PicoLisp/Program-name
new file mode 120000
index 0000000000..86b8643488
--- /dev/null
+++ b/Lang/PicoLisp/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Program-termination b/Lang/PicoLisp/Program-termination
new file mode 120000
index 0000000000..dad607c4c4
--- /dev/null
+++ b/Lang/PicoLisp/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Pythagorean-triples b/Lang/PicoLisp/Pythagorean-triples
new file mode 120000
index 0000000000..b35415708a
--- /dev/null
+++ b/Lang/PicoLisp/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Quaternion-type b/Lang/PicoLisp/Quaternion-type
new file mode 120000
index 0000000000..2120681801
--- /dev/null
+++ b/Lang/PicoLisp/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Queue-Definition b/Lang/PicoLisp/Queue-Definition
new file mode 120000
index 0000000000..3b473618e3
--- /dev/null
+++ b/Lang/PicoLisp/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Queue-Usage b/Lang/PicoLisp/Queue-Usage
new file mode 120000
index 0000000000..4779f7bb52
--- /dev/null
+++ b/Lang/PicoLisp/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Random-number-generator--device- b/Lang/PicoLisp/Random-number-generator--device-
new file mode 120000
index 0000000000..d519e3e28e
--- /dev/null
+++ b/Lang/PicoLisp/Random-number-generator--device-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--device-/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Random-numbers b/Lang/PicoLisp/Random-numbers
new file mode 120000
index 0000000000..c4681aecd8
--- /dev/null
+++ b/Lang/PicoLisp/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Range-expansion b/Lang/PicoLisp/Range-expansion
new file mode 120000
index 0000000000..781347662d
--- /dev/null
+++ b/Lang/PicoLisp/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Range-extraction b/Lang/PicoLisp/Range-extraction
new file mode 120000
index 0000000000..9fc1652bd8
--- /dev/null
+++ b/Lang/PicoLisp/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Rate-counter b/Lang/PicoLisp/Rate-counter
new file mode 120000
index 0000000000..ae0c3c60cd
--- /dev/null
+++ b/Lang/PicoLisp/Rate-counter
@@ -0,0 +1 @@
+../../Task/Rate-counter/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Ray-casting-algorithm b/Lang/PicoLisp/Ray-casting-algorithm
new file mode 120000
index 0000000000..08c706d0c8
--- /dev/null
+++ b/Lang/PicoLisp/Ray-casting-algorithm
@@ -0,0 +1 @@
+../../Task/Ray-casting-algorithm/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Read-a-configuration-file b/Lang/PicoLisp/Read-a-configuration-file
new file mode 120000
index 0000000000..08f856c6ab
--- /dev/null
+++ b/Lang/PicoLisp/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Read-a-file-line-by-line b/Lang/PicoLisp/Read-a-file-line-by-line
new file mode 120000
index 0000000000..4c30867892
--- /dev/null
+++ b/Lang/PicoLisp/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Read-a-specific-line-from-a-file b/Lang/PicoLisp/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..5250c1fd8a
--- /dev/null
+++ b/Lang/PicoLisp/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Read-entire-file b/Lang/PicoLisp/Read-entire-file
new file mode 120000
index 0000000000..5fe5d63936
--- /dev/null
+++ b/Lang/PicoLisp/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Real-constants-and-functions b/Lang/PicoLisp/Real-constants-and-functions
new file mode 120000
index 0000000000..8569bfb56f
--- /dev/null
+++ b/Lang/PicoLisp/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Record-sound b/Lang/PicoLisp/Record-sound
new file mode 120000
index 0000000000..0ed6953616
--- /dev/null
+++ b/Lang/PicoLisp/Record-sound
@@ -0,0 +1 @@
+../../Task/Record-sound/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Reduced-row-echelon-form b/Lang/PicoLisp/Reduced-row-echelon-form
new file mode 120000
index 0000000000..2016d99530
--- /dev/null
+++ b/Lang/PicoLisp/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Regular-expressions b/Lang/PicoLisp/Regular-expressions
new file mode 120000
index 0000000000..aa788a17dd
--- /dev/null
+++ b/Lang/PicoLisp/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Remove-duplicate-elements b/Lang/PicoLisp/Remove-duplicate-elements
new file mode 120000
index 0000000000..8904682523
--- /dev/null
+++ b/Lang/PicoLisp/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Remove-lines-from-a-file b/Lang/PicoLisp/Remove-lines-from-a-file
new file mode 120000
index 0000000000..66b5256765
--- /dev/null
+++ b/Lang/PicoLisp/Remove-lines-from-a-file
@@ -0,0 +1 @@
+../../Task/Remove-lines-from-a-file/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Rename-a-file b/Lang/PicoLisp/Rename-a-file
new file mode 120000
index 0000000000..a04d8e252b
--- /dev/null
+++ b/Lang/PicoLisp/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Rendezvous b/Lang/PicoLisp/Rendezvous
new file mode 120000
index 0000000000..c1e4f568f1
--- /dev/null
+++ b/Lang/PicoLisp/Rendezvous
@@ -0,0 +1 @@
+../../Task/Rendezvous/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Repeat-a-string b/Lang/PicoLisp/Repeat-a-string
new file mode 120000
index 0000000000..c17acdda8a
--- /dev/null
+++ b/Lang/PicoLisp/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Respond-to-an-unknown-method-call b/Lang/PicoLisp/Respond-to-an-unknown-method-call
new file mode 120000
index 0000000000..7c2bd5363b
--- /dev/null
+++ b/Lang/PicoLisp/Respond-to-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Respond-to-an-unknown-method-call/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Return-multiple-values b/Lang/PicoLisp/Return-multiple-values
new file mode 120000
index 0000000000..7183862530
--- /dev/null
+++ b/Lang/PicoLisp/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Reverse-a-string b/Lang/PicoLisp/Reverse-a-string
new file mode 120000
index 0000000000..9969b2cf95
--- /dev/null
+++ b/Lang/PicoLisp/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Rock-paper-scissors b/Lang/PicoLisp/Rock-paper-scissors
new file mode 120000
index 0000000000..6626b8ba84
--- /dev/null
+++ b/Lang/PicoLisp/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Roman-numerals-Decode b/Lang/PicoLisp/Roman-numerals-Decode
new file mode 120000
index 0000000000..dcd0043757
--- /dev/null
+++ b/Lang/PicoLisp/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Roman-numerals-Encode b/Lang/PicoLisp/Roman-numerals-Encode
new file mode 120000
index 0000000000..18d1b5ffc4
--- /dev/null
+++ b/Lang/PicoLisp/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Roots-of-a-function b/Lang/PicoLisp/Roots-of-a-function
new file mode 120000
index 0000000000..26a345a302
--- /dev/null
+++ b/Lang/PicoLisp/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Roots-of-a-quadratic-function b/Lang/PicoLisp/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..5bcc1cadbd
--- /dev/null
+++ b/Lang/PicoLisp/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Roots-of-unity b/Lang/PicoLisp/Roots-of-unity
new file mode 120000
index 0000000000..022c4d4cc3
--- /dev/null
+++ b/Lang/PicoLisp/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Rosetta-Code-Count-examples b/Lang/PicoLisp/Rosetta-Code-Count-examples
new file mode 120000
index 0000000000..ed1164c47b
--- /dev/null
+++ b/Lang/PicoLisp/Rosetta-Code-Count-examples
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Count-examples/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Rosetta-Code-Find-unimplemented-tasks b/Lang/PicoLisp/Rosetta-Code-Find-unimplemented-tasks
new file mode 120000
index 0000000000..bb0e9205ed
--- /dev/null
+++ b/Lang/PicoLisp/Rosetta-Code-Find-unimplemented-tasks
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Find-unimplemented-tasks/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Rosetta-Code-Fix-code-tags b/Lang/PicoLisp/Rosetta-Code-Fix-code-tags
new file mode 120000
index 0000000000..835c48277c
--- /dev/null
+++ b/Lang/PicoLisp/Rosetta-Code-Fix-code-tags
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Fix-code-tags/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Rosetta-Code-Rank-languages-by-popularity b/Lang/PicoLisp/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..67fe9faec9
--- /dev/null
+++ b/Lang/PicoLisp/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Rot-13 b/Lang/PicoLisp/Rot-13
new file mode 120000
index 0000000000..6afa8921cf
--- /dev/null
+++ b/Lang/PicoLisp/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Run-length-encoding b/Lang/PicoLisp/Run-length-encoding
new file mode 120000
index 0000000000..f2b4c711c4
--- /dev/null
+++ b/Lang/PicoLisp/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Runtime-evaluation-In-an-environment b/Lang/PicoLisp/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..e5a32613b6
--- /dev/null
+++ b/Lang/PicoLisp/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/S-Expressions b/Lang/PicoLisp/S-Expressions
new file mode 120000
index 0000000000..6b95687480
--- /dev/null
+++ b/Lang/PicoLisp/S-Expressions
@@ -0,0 +1 @@
+../../Task/S-Expressions/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/SEDOLs b/Lang/PicoLisp/SEDOLs
new file mode 120000
index 0000000000..6c1d05c2bc
--- /dev/null
+++ b/Lang/PicoLisp/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Same-Fringe b/Lang/PicoLisp/Same-Fringe
new file mode 120000
index 0000000000..d17b02853e
--- /dev/null
+++ b/Lang/PicoLisp/Same-Fringe
@@ -0,0 +1 @@
+../../Task/Same-Fringe/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Secure-temporary-file b/Lang/PicoLisp/Secure-temporary-file
new file mode 120000
index 0000000000..6ef3c443ee
--- /dev/null
+++ b/Lang/PicoLisp/Secure-temporary-file
@@ -0,0 +1 @@
+../../Task/Secure-temporary-file/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Self-describing-numbers b/Lang/PicoLisp/Self-describing-numbers
new file mode 120000
index 0000000000..1d3da8b94b
--- /dev/null
+++ b/Lang/PicoLisp/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Self-referential-sequence b/Lang/PicoLisp/Self-referential-sequence
new file mode 120000
index 0000000000..1e8c5a0a00
--- /dev/null
+++ b/Lang/PicoLisp/Self-referential-sequence
@@ -0,0 +1 @@
+../../Task/Self-referential-sequence/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Send-an-unknown-method-call b/Lang/PicoLisp/Send-an-unknown-method-call
new file mode 120000
index 0000000000..934dc796c5
--- /dev/null
+++ b/Lang/PicoLisp/Send-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Send-an-unknown-method-call/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Send-email b/Lang/PicoLisp/Send-email
new file mode 120000
index 0000000000..d5f622bc28
--- /dev/null
+++ b/Lang/PicoLisp/Send-email
@@ -0,0 +1 @@
+../../Task/Send-email/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Sequence-of-non-squares b/Lang/PicoLisp/Sequence-of-non-squares
new file mode 120000
index 0000000000..904760b430
--- /dev/null
+++ b/Lang/PicoLisp/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Set b/Lang/PicoLisp/Set
new file mode 120000
index 0000000000..74ec2443c2
--- /dev/null
+++ b/Lang/PicoLisp/Set
@@ -0,0 +1 @@
+../../Task/Set/PicoLisp
\ No newline at end of file
diff --git a/Lang/PicoLisp/Set-consolidation b/Lang/PicoLisp/Set-consolidation
new file mode 120000
index 0000000000..4929c7e3ba
--- /dev/null
+++ b/Lang/PicoLisp/Set-consolidation
@@ -0,0 +1 @@
+../../Task/Set-consolidation/PicoLisp
\ No newline at end of file
diff --git a/Lang/Pike/Arbitrary-precision-integers--included- b/Lang/Pike/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..5b528d9d23
--- /dev/null
+++ b/Lang/Pike/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Pike
\ No newline at end of file
diff --git a/Lang/Pike/Arbitrary-precision-integers-included b/Lang/Pike/Arbitrary-precision-integers-included
deleted file mode 120000
index 3309bbf95d..0000000000
--- a/Lang/Pike/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Pike
\ No newline at end of file
diff --git a/Lang/Pike/Copy-a-string b/Lang/Pike/Copy-a-string
new file mode 120000
index 0000000000..784afd833b
--- /dev/null
+++ b/Lang/Pike/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Pike
\ No newline at end of file
diff --git a/Lang/Pike/Null-object b/Lang/Pike/Null-object
new file mode 120000
index 0000000000..5705834c1d
--- /dev/null
+++ b/Lang/Pike/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Pike
\ No newline at end of file
diff --git a/Lang/Pike/OpenGL b/Lang/Pike/OpenGL
new file mode 120000
index 0000000000..b911cda5ea
--- /dev/null
+++ b/Lang/Pike/OpenGL
@@ -0,0 +1 @@
+../../Task/OpenGL/Pike
\ No newline at end of file
diff --git a/Lang/Pike/Order-two-numerical-lists b/Lang/Pike/Order-two-numerical-lists
new file mode 120000
index 0000000000..3c068ce97d
--- /dev/null
+++ b/Lang/Pike/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/Pike
\ No newline at end of file
diff --git a/Lang/Pike/Palindrome-detection b/Lang/Pike/Palindrome-detection
new file mode 120000
index 0000000000..641095e298
--- /dev/null
+++ b/Lang/Pike/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Pike
\ No newline at end of file
diff --git a/Lang/Pike/Read-entire-file b/Lang/Pike/Read-entire-file
new file mode 120000
index 0000000000..8f07fad47a
--- /dev/null
+++ b/Lang/Pike/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Pike
\ No newline at end of file
diff --git a/Lang/Pike/Rename-a-file b/Lang/Pike/Rename-a-file
new file mode 120000
index 0000000000..28acc8448a
--- /dev/null
+++ b/Lang/Pike/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Pike
\ No newline at end of file
diff --git a/Lang/Pike/Repeat-a-string b/Lang/Pike/Repeat-a-string
new file mode 120000
index 0000000000..445380faa3
--- /dev/null
+++ b/Lang/Pike/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Pike
\ No newline at end of file
diff --git a/Lang/Pike/Respond-to-an-unknown-method-call b/Lang/Pike/Respond-to-an-unknown-method-call
new file mode 120000
index 0000000000..b5ecb4ba56
--- /dev/null
+++ b/Lang/Pike/Respond-to-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Respond-to-an-unknown-method-call/Pike
\ No newline at end of file
diff --git a/Lang/Pike/Return-multiple-values b/Lang/Pike/Return-multiple-values
new file mode 120000
index 0000000000..75cfe5b1ef
--- /dev/null
+++ b/Lang/Pike/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Pike
\ No newline at end of file
diff --git a/Lang/Pike/Roman-numerals-Encode b/Lang/Pike/Roman-numerals-Encode
new file mode 120000
index 0000000000..c849359f69
--- /dev/null
+++ b/Lang/Pike/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Pike
\ No newline at end of file
diff --git a/Lang/Pike/Rot-13 b/Lang/Pike/Rot-13
new file mode 120000
index 0000000000..341ab98259
--- /dev/null
+++ b/Lang/Pike/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Pike
\ No newline at end of file
diff --git a/Lang/Pike/Runtime-evaluation b/Lang/Pike/Runtime-evaluation
new file mode 120000
index 0000000000..eddaca7e1a
--- /dev/null
+++ b/Lang/Pike/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/Pike
\ No newline at end of file
diff --git a/Lang/Pike/Runtime-evaluation-In-an-environment b/Lang/Pike/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..9f0793cb12
--- /dev/null
+++ b/Lang/Pike/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/Pike
\ No newline at end of file
diff --git a/Lang/Pike/S-Expressions b/Lang/Pike/S-Expressions
new file mode 120000
index 0000000000..2832af8a69
--- /dev/null
+++ b/Lang/Pike/S-Expressions
@@ -0,0 +1 @@
+../../Task/S-Expressions/Pike
\ No newline at end of file
diff --git a/Lang/Pike/Send-an-unknown-method-call b/Lang/Pike/Send-an-unknown-method-call
new file mode 120000
index 0000000000..d94d5b2a3a
--- /dev/null
+++ b/Lang/Pike/Send-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Send-an-unknown-method-call/Pike
\ No newline at end of file
diff --git a/Lang/Pike/Send-email b/Lang/Pike/Send-email
new file mode 120000
index 0000000000..bc3a91d8f1
--- /dev/null
+++ b/Lang/Pike/Send-email
@@ -0,0 +1 @@
+../../Task/Send-email/Pike
\ No newline at end of file
diff --git a/Lang/PlainTeX/Catalan-numbers b/Lang/PlainTeX/Catalan-numbers
new file mode 120000
index 0000000000..2267dc7058
--- /dev/null
+++ b/Lang/PlainTeX/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/PlainTeX
\ No newline at end of file
diff --git a/Lang/Pop11/Copy-a-string b/Lang/Pop11/Copy-a-string
new file mode 120000
index 0000000000..ba8d6bbed5
--- /dev/null
+++ b/Lang/Pop11/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Pop11
\ No newline at end of file
diff --git a/Lang/Pop11/Non-continuous-subsequences b/Lang/Pop11/Non-continuous-subsequences
new file mode 120000
index 0000000000..dd70149263
--- /dev/null
+++ b/Lang/Pop11/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/Pop11
\ No newline at end of file
diff --git a/Lang/Pop11/Non-decimal-radices-Convert b/Lang/Pop11/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..318d5fc140
--- /dev/null
+++ b/Lang/Pop11/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/Pop11
\ No newline at end of file
diff --git a/Lang/Pop11/Polymorphism b/Lang/Pop11/Polymorphism
new file mode 120000
index 0000000000..f32e644d8f
--- /dev/null
+++ b/Lang/Pop11/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/Pop11
\ No newline at end of file
diff --git a/Lang/Pop11/Program-termination b/Lang/Pop11/Program-termination
new file mode 120000
index 0000000000..4ad91f549a
--- /dev/null
+++ b/Lang/Pop11/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Pop11
\ No newline at end of file
diff --git a/Lang/Pop11/Random-numbers b/Lang/Pop11/Random-numbers
new file mode 120000
index 0000000000..3960bd882e
--- /dev/null
+++ b/Lang/Pop11/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Pop11
\ No newline at end of file
diff --git a/Lang/Pop11/Real-constants-and-functions b/Lang/Pop11/Real-constants-and-functions
new file mode 120000
index 0000000000..25d425194b
--- /dev/null
+++ b/Lang/Pop11/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Pop11
\ No newline at end of file
diff --git a/Lang/Pop11/Remove-duplicate-elements b/Lang/Pop11/Remove-duplicate-elements
new file mode 120000
index 0000000000..9e2f64df2a
--- /dev/null
+++ b/Lang/Pop11/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Pop11
\ No newline at end of file
diff --git a/Lang/Pop11/Rename-a-file b/Lang/Pop11/Rename-a-file
new file mode 120000
index 0000000000..333659b7b9
--- /dev/null
+++ b/Lang/Pop11/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Pop11
\ No newline at end of file
diff --git a/Lang/Pop11/Reverse-a-string b/Lang/Pop11/Reverse-a-string
new file mode 120000
index 0000000000..0098df8778
--- /dev/null
+++ b/Lang/Pop11/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Pop11
\ No newline at end of file
diff --git a/Lang/Pop11/Rot-13 b/Lang/Pop11/Rot-13
new file mode 120000
index 0000000000..199aa194b2
--- /dev/null
+++ b/Lang/Pop11/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Pop11
\ No newline at end of file
diff --git a/Lang/PostScript/Copy-a-string b/Lang/PostScript/Copy-a-string
new file mode 120000
index 0000000000..8cc1c3a8c0
--- /dev/null
+++ b/Lang/PostScript/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/PostScript
\ No newline at end of file
diff --git a/Lang/PostScript/Dragon-curve b/Lang/PostScript/Dragon-curve
new file mode 120000
index 0000000000..c3ec4dcabb
--- /dev/null
+++ b/Lang/PostScript/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/PostScript
\ No newline at end of file
diff --git a/Lang/PostScript/Plot-coordinate-pairs b/Lang/PostScript/Plot-coordinate-pairs
new file mode 120000
index 0000000000..0fd1012b40
--- /dev/null
+++ b/Lang/PostScript/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/PostScript
\ No newline at end of file
diff --git a/Lang/PostScript/Program-termination b/Lang/PostScript/Program-termination
new file mode 120000
index 0000000000..2b15b89549
--- /dev/null
+++ b/Lang/PostScript/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/PostScript
\ No newline at end of file
diff --git a/Lang/PostScript/Queue-Definition b/Lang/PostScript/Queue-Definition
new file mode 120000
index 0000000000..1d1930f078
--- /dev/null
+++ b/Lang/PostScript/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/PostScript
\ No newline at end of file
diff --git a/Lang/PostScript/Queue-Usage b/Lang/PostScript/Queue-Usage
new file mode 120000
index 0000000000..7d68cd9d80
--- /dev/null
+++ b/Lang/PostScript/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/PostScript
\ No newline at end of file
diff --git a/Lang/PostScript/Remove-duplicate-elements b/Lang/PostScript/Remove-duplicate-elements
new file mode 120000
index 0000000000..abb49a0669
--- /dev/null
+++ b/Lang/PostScript/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/PostScript
\ No newline at end of file
diff --git a/Lang/PostScript/Repeat-a-string b/Lang/PostScript/Repeat-a-string
new file mode 120000
index 0000000000..22113abc80
--- /dev/null
+++ b/Lang/PostScript/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/PostScript
\ No newline at end of file
diff --git a/Lang/PostScript/Reverse-a-string b/Lang/PostScript/Reverse-a-string
new file mode 120000
index 0000000000..e43dea5ddf
--- /dev/null
+++ b/Lang/PostScript/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/PostScript
\ No newline at end of file
diff --git a/Lang/PostScript/Rot-13 b/Lang/PostScript/Rot-13
new file mode 120000
index 0000000000..c439d5e4b0
--- /dev/null
+++ b/Lang/PostScript/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/PostScript
\ No newline at end of file
diff --git a/Lang/PostScript/Sequence-of-non-squares b/Lang/PostScript/Sequence-of-non-squares
new file mode 120000
index 0000000000..162d7a5460
--- /dev/null
+++ b/Lang/PostScript/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/PostScript
\ No newline at end of file
diff --git a/Lang/PowerBASIC/N-queens-problem b/Lang/PowerBASIC/N-queens-problem
new file mode 120000
index 0000000000..48e0f147ef
--- /dev/null
+++ b/Lang/PowerBASIC/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/PowerBASIC
\ No newline at end of file
diff --git a/Lang/PowerBASIC/Number-names b/Lang/PowerBASIC/Number-names
new file mode 120000
index 0000000000..8db3fecd1f
--- /dev/null
+++ b/Lang/PowerBASIC/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/PowerBASIC
\ No newline at end of file
diff --git a/Lang/PowerBASIC/Palindrome-detection b/Lang/PowerBASIC/Palindrome-detection
new file mode 120000
index 0000000000..5cb0acf872
--- /dev/null
+++ b/Lang/PowerBASIC/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/PowerBASIC
\ No newline at end of file
diff --git a/Lang/PowerBASIC/Permutations b/Lang/PowerBASIC/Permutations
new file mode 120000
index 0000000000..fbe4ebf90f
--- /dev/null
+++ b/Lang/PowerBASIC/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/PowerBASIC
\ No newline at end of file
diff --git a/Lang/PowerBASIC/Program-name b/Lang/PowerBASIC/Program-name
new file mode 120000
index 0000000000..744edb77b0
--- /dev/null
+++ b/Lang/PowerBASIC/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/PowerBASIC
\ No newline at end of file
diff --git a/Lang/PowerBASIC/Remove-lines-from-a-file b/Lang/PowerBASIC/Remove-lines-from-a-file
new file mode 120000
index 0000000000..813c171e77
--- /dev/null
+++ b/Lang/PowerBASIC/Remove-lines-from-a-file
@@ -0,0 +1 @@
+../../Task/Remove-lines-from-a-file/PowerBASIC
\ No newline at end of file
diff --git a/Lang/PowerBASIC/Repeat-a-string b/Lang/PowerBASIC/Repeat-a-string
new file mode 120000
index 0000000000..b02d6a9ba7
--- /dev/null
+++ b/Lang/PowerBASIC/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/PowerBASIC
\ No newline at end of file
diff --git a/Lang/PowerBASIC/Roman-numerals-Encode b/Lang/PowerBASIC/Roman-numerals-Encode
new file mode 120000
index 0000000000..c9ce44963c
--- /dev/null
+++ b/Lang/PowerBASIC/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/PowerBASIC
\ No newline at end of file
diff --git a/Lang/PowerBASIC/Run-length-encoding b/Lang/PowerBASIC/Run-length-encoding
new file mode 120000
index 0000000000..7799b79573
--- /dev/null
+++ b/Lang/PowerBASIC/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/PowerBASIC
\ No newline at end of file
diff --git a/Lang/PowerShell/Binary-digits b/Lang/PowerShell/Binary-digits
new file mode 120000
index 0000000000..3ef026e414
--- /dev/null
+++ b/Lang/PowerShell/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Copy-a-string b/Lang/PowerShell/Copy-a-string
new file mode 120000
index 0000000000..a5237e6645
--- /dev/null
+++ b/Lang/PowerShell/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Environment-variables b/Lang/PowerShell/Environment-variables
new file mode 120000
index 0000000000..9e910f1d4b
--- /dev/null
+++ b/Lang/PowerShell/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Named-parameters b/Lang/PowerShell/Named-parameters
new file mode 120000
index 0000000000..3d1de1878e
--- /dev/null
+++ b/Lang/PowerShell/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Non-continuous-subsequences b/Lang/PowerShell/Non-continuous-subsequences
new file mode 120000
index 0000000000..eac62e20e3
--- /dev/null
+++ b/Lang/PowerShell/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Non-decimal-radices-Output b/Lang/PowerShell/Non-decimal-radices-Output
new file mode 120000
index 0000000000..46528ece17
--- /dev/null
+++ b/Lang/PowerShell/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Null-object b/Lang/PowerShell/Null-object
new file mode 120000
index 0000000000..6d30e53e8a
--- /dev/null
+++ b/Lang/PowerShell/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Pascals-triangle b/Lang/PowerShell/Pascals-triangle
new file mode 120000
index 0000000000..2e595f8182
--- /dev/null
+++ b/Lang/PowerShell/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Perfect-numbers b/Lang/PowerShell/Perfect-numbers
new file mode 120000
index 0000000000..5393f070e1
--- /dev/null
+++ b/Lang/PowerShell/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Primality-by-trial-division b/Lang/PowerShell/Primality-by-trial-division
new file mode 120000
index 0000000000..71ef2750dc
--- /dev/null
+++ b/Lang/PowerShell/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Program-termination b/Lang/PowerShell/Program-termination
new file mode 120000
index 0000000000..2c92a77751
--- /dev/null
+++ b/Lang/PowerShell/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Read-entire-file b/Lang/PowerShell/Read-entire-file
new file mode 120000
index 0000000000..f4a37e9df8
--- /dev/null
+++ b/Lang/PowerShell/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Real-constants-and-functions b/Lang/PowerShell/Real-constants-and-functions
new file mode 120000
index 0000000000..6115d67c6a
--- /dev/null
+++ b/Lang/PowerShell/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Regular-expressions b/Lang/PowerShell/Regular-expressions
new file mode 120000
index 0000000000..d0b6b2d58a
--- /dev/null
+++ b/Lang/PowerShell/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Remove-duplicate-elements b/Lang/PowerShell/Remove-duplicate-elements
new file mode 120000
index 0000000000..25b8b50bfa
--- /dev/null
+++ b/Lang/PowerShell/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Rename-a-file b/Lang/PowerShell/Rename-a-file
new file mode 120000
index 0000000000..7ed1b28693
--- /dev/null
+++ b/Lang/PowerShell/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Repeat-a-string b/Lang/PowerShell/Repeat-a-string
new file mode 120000
index 0000000000..7f9cfba278
--- /dev/null
+++ b/Lang/PowerShell/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Reverse-a-string b/Lang/PowerShell/Reverse-a-string
new file mode 120000
index 0000000000..c43d8f413a
--- /dev/null
+++ b/Lang/PowerShell/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Rot-13 b/Lang/PowerShell/Rot-13
new file mode 120000
index 0000000000..b75ae7dc11
--- /dev/null
+++ b/Lang/PowerShell/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Run-length-encoding b/Lang/PowerShell/Run-length-encoding
new file mode 120000
index 0000000000..1695062639
--- /dev/null
+++ b/Lang/PowerShell/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Scope-modifiers b/Lang/PowerShell/Scope-modifiers
new file mode 120000
index 0000000000..c8cc78783b
--- /dev/null
+++ b/Lang/PowerShell/Scope-modifiers
@@ -0,0 +1 @@
+../../Task/Scope-modifiers/PowerShell
\ No newline at end of file
diff --git a/Lang/PowerShell/Sequence-of-non-squares b/Lang/PowerShell/Sequence-of-non-squares
new file mode 120000
index 0000000000..a7a9ba5914
--- /dev/null
+++ b/Lang/PowerShell/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/PowerShell
\ No newline at end of file
diff --git a/Lang/ProDOS/Copy-a-string b/Lang/ProDOS/Copy-a-string
new file mode 120000
index 0000000000..b83260f903
--- /dev/null
+++ b/Lang/ProDOS/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/ProDOS
\ No newline at end of file
diff --git a/Lang/ProDOS/Random-number-generator--device- b/Lang/ProDOS/Random-number-generator--device-
new file mode 120000
index 0000000000..ad7db73733
--- /dev/null
+++ b/Lang/ProDOS/Random-number-generator--device-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--device-/ProDOS
\ No newline at end of file
diff --git a/Lang/ProDOS/Rename-a-file b/Lang/ProDOS/Rename-a-file
new file mode 120000
index 0000000000..c2165eafb3
--- /dev/null
+++ b/Lang/ProDOS/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/ProDOS
\ No newline at end of file
diff --git a/Lang/Prolog/Catalan-numbers b/Lang/Prolog/Catalan-numbers
new file mode 120000
index 0000000000..010b509392
--- /dev/null
+++ b/Lang/Prolog/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Dragon-curve b/Lang/Prolog/Dragon-curve
new file mode 120000
index 0000000000..065f1deacb
--- /dev/null
+++ b/Lang/Prolog/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/N-queens-problem b/Lang/Prolog/N-queens-problem
new file mode 120000
index 0000000000..463751c370
--- /dev/null
+++ b/Lang/Prolog/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Non-continuous-subsequences b/Lang/Prolog/Non-continuous-subsequences
new file mode 120000
index 0000000000..611567f219
--- /dev/null
+++ b/Lang/Prolog/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/One-dimensional-cellular-automata b/Lang/Prolog/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..4cad26b6d0
--- /dev/null
+++ b/Lang/Prolog/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Palindrome-detection b/Lang/Prolog/Palindrome-detection
new file mode 120000
index 0000000000..7cec5ab9d6
--- /dev/null
+++ b/Lang/Prolog/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Pangram-checker b/Lang/Prolog/Pangram-checker
new file mode 120000
index 0000000000..cbd67fdcee
--- /dev/null
+++ b/Lang/Prolog/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Parallel-calculations b/Lang/Prolog/Parallel-calculations
new file mode 120000
index 0000000000..4703070433
--- /dev/null
+++ b/Lang/Prolog/Parallel-calculations
@@ -0,0 +1 @@
+../../Task/Parallel-calculations/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Parsing-RPN-calculator-algorithm b/Lang/Prolog/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..7319019fb5
--- /dev/null
+++ b/Lang/Prolog/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Partial-function-application b/Lang/Prolog/Partial-function-application
new file mode 120000
index 0000000000..6ae28767ce
--- /dev/null
+++ b/Lang/Prolog/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Pascals-triangle b/Lang/Prolog/Pascals-triangle
new file mode 120000
index 0000000000..48551d8c91
--- /dev/null
+++ b/Lang/Prolog/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Pascals-triangle-Puzzle b/Lang/Prolog/Pascals-triangle-Puzzle
new file mode 120000
index 0000000000..0c91324c2c
--- /dev/null
+++ b/Lang/Prolog/Pascals-triangle-Puzzle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle-Puzzle/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Perfect-numbers b/Lang/Prolog/Perfect-numbers
new file mode 120000
index 0000000000..ff37152e2d
--- /dev/null
+++ b/Lang/Prolog/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Permutations b/Lang/Prolog/Permutations
new file mode 120000
index 0000000000..ffc84c73d3
--- /dev/null
+++ b/Lang/Prolog/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Playing-cards b/Lang/Prolog/Playing-cards
new file mode 120000
index 0000000000..4c045e8d84
--- /dev/null
+++ b/Lang/Prolog/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Power-set b/Lang/Prolog/Power-set
new file mode 120000
index 0000000000..14c11f502e
--- /dev/null
+++ b/Lang/Prolog/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Primality-by-trial-division b/Lang/Prolog/Primality-by-trial-division
new file mode 120000
index 0000000000..89eec36cdb
--- /dev/null
+++ b/Lang/Prolog/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Prime-decomposition b/Lang/Prolog/Prime-decomposition
new file mode 120000
index 0000000000..525fb04fba
--- /dev/null
+++ b/Lang/Prolog/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Priority-queue b/Lang/Prolog/Priority-queue
new file mode 120000
index 0000000000..fc3b203f0e
--- /dev/null
+++ b/Lang/Prolog/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Program-termination b/Lang/Prolog/Program-termination
new file mode 120000
index 0000000000..9f47fc61ec
--- /dev/null
+++ b/Lang/Prolog/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Queue-Definition b/Lang/Prolog/Queue-Definition
new file mode 120000
index 0000000000..1e6657dcfc
--- /dev/null
+++ b/Lang/Prolog/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Queue-Usage b/Lang/Prolog/Queue-Usage
new file mode 120000
index 0000000000..2aa8deafb9
--- /dev/null
+++ b/Lang/Prolog/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Range-expansion b/Lang/Prolog/Range-expansion
new file mode 120000
index 0000000000..ee39124dd3
--- /dev/null
+++ b/Lang/Prolog/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Range-extraction b/Lang/Prolog/Range-extraction
new file mode 120000
index 0000000000..1557b0239f
--- /dev/null
+++ b/Lang/Prolog/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Remove-duplicate-elements b/Lang/Prolog/Remove-duplicate-elements
new file mode 120000
index 0000000000..b94efa1b16
--- /dev/null
+++ b/Lang/Prolog/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Repeat-a-string b/Lang/Prolog/Repeat-a-string
new file mode 120000
index 0000000000..42a32ea559
--- /dev/null
+++ b/Lang/Prolog/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Reverse-a-string b/Lang/Prolog/Reverse-a-string
new file mode 120000
index 0000000000..889a55d97c
--- /dev/null
+++ b/Lang/Prolog/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Roman-numerals-Decode b/Lang/Prolog/Roman-numerals-Decode
new file mode 120000
index 0000000000..d092db27d8
--- /dev/null
+++ b/Lang/Prolog/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Roman-numerals-Encode b/Lang/Prolog/Roman-numerals-Encode
new file mode 120000
index 0000000000..0a77fafdaa
--- /dev/null
+++ b/Lang/Prolog/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Rot-13 b/Lang/Prolog/Rot-13
new file mode 120000
index 0000000000..80ca52728a
--- /dev/null
+++ b/Lang/Prolog/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Run-length-encoding b/Lang/Prolog/Run-length-encoding
new file mode 120000
index 0000000000..8fbb54b560
--- /dev/null
+++ b/Lang/Prolog/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Self-describing-numbers b/Lang/Prolog/Self-describing-numbers
new file mode 120000
index 0000000000..4f20b33d11
--- /dev/null
+++ b/Lang/Prolog/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/Prolog
\ No newline at end of file
diff --git a/Lang/Prolog/Set b/Lang/Prolog/Set
new file mode 120000
index 0000000000..5607a2bfeb
--- /dev/null
+++ b/Lang/Prolog/Set
@@ -0,0 +1 @@
+../../Task/Set/Prolog
\ No newline at end of file
diff --git a/Lang/Protium/Read-a-configuration-file b/Lang/Protium/Read-a-configuration-file
new file mode 120000
index 0000000000..730de14d65
--- /dev/null
+++ b/Lang/Protium/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/Protium
\ No newline at end of file
diff --git a/Lang/Protium/Reverse-a-string b/Lang/Protium/Reverse-a-string
new file mode 120000
index 0000000000..d345e34882
--- /dev/null
+++ b/Lang/Protium/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Protium
\ No newline at end of file
diff --git a/Lang/Protium/Roman-numerals-Encode b/Lang/Protium/Roman-numerals-Encode
new file mode 120000
index 0000000000..2dd886ad2f
--- /dev/null
+++ b/Lang/Protium/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Protium
\ No newline at end of file
diff --git a/Lang/Pure/Prime-decomposition b/Lang/Pure/Prime-decomposition
new file mode 120000
index 0000000000..4776c83c5e
--- /dev/null
+++ b/Lang/Pure/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Pure
\ No newline at end of file
diff --git a/Lang/Pure/Repeat-a-string b/Lang/Pure/Repeat-a-string
new file mode 120000
index 0000000000..9c0dc6e47e
--- /dev/null
+++ b/Lang/Pure/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Pure
\ No newline at end of file
diff --git a/Lang/Pure/Run-length-encoding b/Lang/Pure/Run-length-encoding
new file mode 120000
index 0000000000..5ede793269
--- /dev/null
+++ b/Lang/Pure/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Pure
\ No newline at end of file
diff --git a/Lang/PureBasic/Arbitrary-precision-integers--included- b/Lang/PureBasic/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..a4d0ba106d
--- /dev/null
+++ b/Lang/PureBasic/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Arbitrary-precision-integers-included b/Lang/PureBasic/Arbitrary-precision-integers-included
deleted file mode 120000
index c2272798fe..0000000000
--- a/Lang/PureBasic/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Binary-digits b/Lang/PureBasic/Binary-digits
new file mode 120000
index 0000000000..24801780bd
--- /dev/null
+++ b/Lang/PureBasic/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Brownian-tree b/Lang/PureBasic/Brownian-tree
new file mode 120000
index 0000000000..2d8be95a59
--- /dev/null
+++ b/Lang/PureBasic/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Catalan-numbers b/Lang/PureBasic/Catalan-numbers
new file mode 120000
index 0000000000..c6d0b8b69d
--- /dev/null
+++ b/Lang/PureBasic/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Copy-a-string b/Lang/PureBasic/Copy-a-string
new file mode 120000
index 0000000000..ed1c56ad2d
--- /dev/null
+++ b/Lang/PureBasic/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Dragon-curve b/Lang/PureBasic/Dragon-curve
new file mode 120000
index 0000000000..5c03084098
--- /dev/null
+++ b/Lang/PureBasic/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Environment-variables b/Lang/PureBasic/Environment-variables
new file mode 120000
index 0000000000..6d29018b55
--- /dev/null
+++ b/Lang/PureBasic/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Execute-a-Markov-algorithm b/Lang/PureBasic/Execute-a-Markov-algorithm
new file mode 120000
index 0000000000..7e1cb29e30
--- /dev/null
+++ b/Lang/PureBasic/Execute-a-Markov-algorithm
@@ -0,0 +1 @@
+../../Task/Execute-a-Markov-algorithm/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Guess-the-number-With-feedback--player- b/Lang/PureBasic/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..6b972de354
--- /dev/null
+++ b/Lang/PureBasic/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Guess-the-number-With-feedback-player b/Lang/PureBasic/Guess-the-number-With-feedback-player
deleted file mode 120000
index 2965b502e7..0000000000
--- a/Lang/PureBasic/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/N-queens-problem b/Lang/PureBasic/N-queens-problem
new file mode 120000
index 0000000000..2a95d99ed8
--- /dev/null
+++ b/Lang/PureBasic/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Non-decimal-radices-Convert b/Lang/PureBasic/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..4b7cad7101
--- /dev/null
+++ b/Lang/PureBasic/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Non-decimal-radices-Input b/Lang/PureBasic/Non-decimal-radices-Input
new file mode 120000
index 0000000000..ef225480a6
--- /dev/null
+++ b/Lang/PureBasic/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Non-decimal-radices-Output b/Lang/PureBasic/Non-decimal-radices-Output
new file mode 120000
index 0000000000..32ac403c42
--- /dev/null
+++ b/Lang/PureBasic/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Nth-root b/Lang/PureBasic/Nth-root
new file mode 120000
index 0000000000..8ee1d9d038
--- /dev/null
+++ b/Lang/PureBasic/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Null-object b/Lang/PureBasic/Null-object
new file mode 120000
index 0000000000..f6c2eae809
--- /dev/null
+++ b/Lang/PureBasic/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Number-names b/Lang/PureBasic/Number-names
new file mode 120000
index 0000000000..5199905750
--- /dev/null
+++ b/Lang/PureBasic/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Number-reversal-game b/Lang/PureBasic/Number-reversal-game
new file mode 120000
index 0000000000..68926bc217
--- /dev/null
+++ b/Lang/PureBasic/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Numerical-integration b/Lang/PureBasic/Numerical-integration
new file mode 120000
index 0000000000..d2417158e7
--- /dev/null
+++ b/Lang/PureBasic/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/One-dimensional-cellular-automata b/Lang/PureBasic/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..702bef2011
--- /dev/null
+++ b/Lang/PureBasic/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/One-of-n-lines-in-a-file b/Lang/PureBasic/One-of-n-lines-in-a-file
new file mode 120000
index 0000000000..bd460ae514
--- /dev/null
+++ b/Lang/PureBasic/One-of-n-lines-in-a-file
@@ -0,0 +1 @@
+../../Task/One-of-n-lines-in-a-file/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/OpenGL b/Lang/PureBasic/OpenGL
new file mode 120000
index 0000000000..6d09ac2cc1
--- /dev/null
+++ b/Lang/PureBasic/OpenGL
@@ -0,0 +1 @@
+../../Task/OpenGL/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Order-two-numerical-lists b/Lang/PureBasic/Order-two-numerical-lists
new file mode 120000
index 0000000000..f709fed1aa
--- /dev/null
+++ b/Lang/PureBasic/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Palindrome-detection b/Lang/PureBasic/Palindrome-detection
new file mode 120000
index 0000000000..88ba568216
--- /dev/null
+++ b/Lang/PureBasic/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Pangram-checker b/Lang/PureBasic/Pangram-checker
new file mode 120000
index 0000000000..d3276530f7
--- /dev/null
+++ b/Lang/PureBasic/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Parallel-calculations b/Lang/PureBasic/Parallel-calculations
new file mode 120000
index 0000000000..c205f37440
--- /dev/null
+++ b/Lang/PureBasic/Parallel-calculations
@@ -0,0 +1 @@
+../../Task/Parallel-calculations/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Parametrized-SQL-statement b/Lang/PureBasic/Parametrized-SQL-statement
new file mode 120000
index 0000000000..338fff7a0c
--- /dev/null
+++ b/Lang/PureBasic/Parametrized-SQL-statement
@@ -0,0 +1 @@
+../../Task/Parametrized-SQL-statement/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Pascals-triangle b/Lang/PureBasic/Pascals-triangle
new file mode 120000
index 0000000000..417ceaea32
--- /dev/null
+++ b/Lang/PureBasic/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Pascals-triangle-Puzzle b/Lang/PureBasic/Pascals-triangle-Puzzle
new file mode 120000
index 0000000000..74b963ccd5
--- /dev/null
+++ b/Lang/PureBasic/Pascals-triangle-Puzzle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle-Puzzle/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Percentage-difference-between-images b/Lang/PureBasic/Percentage-difference-between-images
new file mode 120000
index 0000000000..714b84ef96
--- /dev/null
+++ b/Lang/PureBasic/Percentage-difference-between-images
@@ -0,0 +1 @@
+../../Task/Percentage-difference-between-images/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Perfect-numbers b/Lang/PureBasic/Perfect-numbers
new file mode 120000
index 0000000000..8e7741863c
--- /dev/null
+++ b/Lang/PureBasic/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Permutation-test b/Lang/PureBasic/Permutation-test
new file mode 120000
index 0000000000..df739b44e4
--- /dev/null
+++ b/Lang/PureBasic/Permutation-test
@@ -0,0 +1 @@
+../../Task/Permutation-test/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Permutations b/Lang/PureBasic/Permutations
new file mode 120000
index 0000000000..1912ae3b10
--- /dev/null
+++ b/Lang/PureBasic/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Permutations-Derangements b/Lang/PureBasic/Permutations-Derangements
new file mode 120000
index 0000000000..b4fb936255
--- /dev/null
+++ b/Lang/PureBasic/Permutations-Derangements
@@ -0,0 +1 @@
+../../Task/Permutations-Derangements/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Pick-random-element b/Lang/PureBasic/Pick-random-element
new file mode 120000
index 0000000000..befd858d5d
--- /dev/null
+++ b/Lang/PureBasic/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Pinstripe-Display b/Lang/PureBasic/Pinstripe-Display
new file mode 120000
index 0000000000..cc081f5820
--- /dev/null
+++ b/Lang/PureBasic/Pinstripe-Display
@@ -0,0 +1 @@
+../../Task/Pinstripe-Display/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Play-recorded-sounds b/Lang/PureBasic/Play-recorded-sounds
new file mode 120000
index 0000000000..fac50a00f7
--- /dev/null
+++ b/Lang/PureBasic/Play-recorded-sounds
@@ -0,0 +1 @@
+../../Task/Play-recorded-sounds/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Playing-cards b/Lang/PureBasic/Playing-cards
new file mode 120000
index 0000000000..130f99ca96
--- /dev/null
+++ b/Lang/PureBasic/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Plot-coordinate-pairs b/Lang/PureBasic/Plot-coordinate-pairs
new file mode 120000
index 0000000000..de3f948a6e
--- /dev/null
+++ b/Lang/PureBasic/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Pointers-and-references b/Lang/PureBasic/Pointers-and-references
new file mode 120000
index 0000000000..f69b055099
--- /dev/null
+++ b/Lang/PureBasic/Pointers-and-references
@@ -0,0 +1 @@
+../../Task/Pointers-and-references/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Polymorphism b/Lang/PureBasic/Polymorphism
new file mode 120000
index 0000000000..c611924c91
--- /dev/null
+++ b/Lang/PureBasic/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Power-set b/Lang/PureBasic/Power-set
new file mode 120000
index 0000000000..cb5e804458
--- /dev/null
+++ b/Lang/PureBasic/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Price-fraction b/Lang/PureBasic/Price-fraction
new file mode 120000
index 0000000000..0d0c5d4679
--- /dev/null
+++ b/Lang/PureBasic/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Primality-by-trial-division b/Lang/PureBasic/Primality-by-trial-division
new file mode 120000
index 0000000000..2f05823fd4
--- /dev/null
+++ b/Lang/PureBasic/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Prime-decomposition b/Lang/PureBasic/Prime-decomposition
new file mode 120000
index 0000000000..0911bbf692
--- /dev/null
+++ b/Lang/PureBasic/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Priority-queue b/Lang/PureBasic/Priority-queue
new file mode 120000
index 0000000000..b162eeb514
--- /dev/null
+++ b/Lang/PureBasic/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Probabilistic-choice b/Lang/PureBasic/Probabilistic-choice
new file mode 120000
index 0000000000..3a16943f8d
--- /dev/null
+++ b/Lang/PureBasic/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Problem-of-Apollonius b/Lang/PureBasic/Problem-of-Apollonius
new file mode 120000
index 0000000000..7e1db16c23
--- /dev/null
+++ b/Lang/PureBasic/Problem-of-Apollonius
@@ -0,0 +1 @@
+../../Task/Problem-of-Apollonius/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Program-name b/Lang/PureBasic/Program-name
new file mode 120000
index 0000000000..7b645974f6
--- /dev/null
+++ b/Lang/PureBasic/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Program-termination b/Lang/PureBasic/Program-termination
new file mode 120000
index 0000000000..5c2e095cd9
--- /dev/null
+++ b/Lang/PureBasic/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Pythagorean-triples b/Lang/PureBasic/Pythagorean-triples
new file mode 120000
index 0000000000..dbe694d13e
--- /dev/null
+++ b/Lang/PureBasic/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Quaternion-type b/Lang/PureBasic/Quaternion-type
new file mode 120000
index 0000000000..6551ed8e89
--- /dev/null
+++ b/Lang/PureBasic/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Queue-Definition b/Lang/PureBasic/Queue-Definition
new file mode 120000
index 0000000000..8f687c6b48
--- /dev/null
+++ b/Lang/PureBasic/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Queue-Usage b/Lang/PureBasic/Queue-Usage
new file mode 120000
index 0000000000..df0f2b16a6
--- /dev/null
+++ b/Lang/PureBasic/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Random-number-generator--device- b/Lang/PureBasic/Random-number-generator--device-
new file mode 120000
index 0000000000..3792d21084
--- /dev/null
+++ b/Lang/PureBasic/Random-number-generator--device-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--device-/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Random-numbers b/Lang/PureBasic/Random-numbers
new file mode 120000
index 0000000000..084260546a
--- /dev/null
+++ b/Lang/PureBasic/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Range-expansion b/Lang/PureBasic/Range-expansion
new file mode 120000
index 0000000000..91b28e30fa
--- /dev/null
+++ b/Lang/PureBasic/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Range-extraction b/Lang/PureBasic/Range-extraction
new file mode 120000
index 0000000000..73f107bbae
--- /dev/null
+++ b/Lang/PureBasic/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Rate-counter b/Lang/PureBasic/Rate-counter
new file mode 120000
index 0000000000..1c6811a20b
--- /dev/null
+++ b/Lang/PureBasic/Rate-counter
@@ -0,0 +1 @@
+../../Task/Rate-counter/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Ray-casting-algorithm b/Lang/PureBasic/Ray-casting-algorithm
new file mode 120000
index 0000000000..c60d596f2b
--- /dev/null
+++ b/Lang/PureBasic/Ray-casting-algorithm
@@ -0,0 +1 @@
+../../Task/Ray-casting-algorithm/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Read-a-file-line-by-line b/Lang/PureBasic/Read-a-file-line-by-line
new file mode 120000
index 0000000000..17a16bd357
--- /dev/null
+++ b/Lang/PureBasic/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Read-a-specific-line-from-a-file b/Lang/PureBasic/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..8a80fd7f78
--- /dev/null
+++ b/Lang/PureBasic/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Read-entire-file b/Lang/PureBasic/Read-entire-file
new file mode 120000
index 0000000000..69f67e5f97
--- /dev/null
+++ b/Lang/PureBasic/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Real-constants-and-functions b/Lang/PureBasic/Real-constants-and-functions
new file mode 120000
index 0000000000..f5fe025214
--- /dev/null
+++ b/Lang/PureBasic/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Regular-expressions b/Lang/PureBasic/Regular-expressions
new file mode 120000
index 0000000000..5d7bdf3ad7
--- /dev/null
+++ b/Lang/PureBasic/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Remove-duplicate-elements b/Lang/PureBasic/Remove-duplicate-elements
new file mode 120000
index 0000000000..51a3d179b0
--- /dev/null
+++ b/Lang/PureBasic/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Rename-a-file b/Lang/PureBasic/Rename-a-file
new file mode 120000
index 0000000000..73975254c6
--- /dev/null
+++ b/Lang/PureBasic/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Repeat-a-string b/Lang/PureBasic/Repeat-a-string
new file mode 120000
index 0000000000..0cef9d643d
--- /dev/null
+++ b/Lang/PureBasic/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Return-multiple-values b/Lang/PureBasic/Return-multiple-values
new file mode 120000
index 0000000000..e5a29f611d
--- /dev/null
+++ b/Lang/PureBasic/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Reverse-a-string b/Lang/PureBasic/Reverse-a-string
new file mode 120000
index 0000000000..0a304dadc5
--- /dev/null
+++ b/Lang/PureBasic/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Rock-paper-scissors b/Lang/PureBasic/Rock-paper-scissors
new file mode 120000
index 0000000000..032aa071d0
--- /dev/null
+++ b/Lang/PureBasic/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Roman-numerals-Decode b/Lang/PureBasic/Roman-numerals-Decode
new file mode 120000
index 0000000000..73ae78c3fb
--- /dev/null
+++ b/Lang/PureBasic/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Roman-numerals-Encode b/Lang/PureBasic/Roman-numerals-Encode
new file mode 120000
index 0000000000..5101d225f9
--- /dev/null
+++ b/Lang/PureBasic/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Roots-of-a-function b/Lang/PureBasic/Roots-of-a-function
new file mode 120000
index 0000000000..5fc1af321a
--- /dev/null
+++ b/Lang/PureBasic/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Roots-of-unity b/Lang/PureBasic/Roots-of-unity
new file mode 120000
index 0000000000..fa63898155
--- /dev/null
+++ b/Lang/PureBasic/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Rosetta-Code-Count-examples b/Lang/PureBasic/Rosetta-Code-Count-examples
new file mode 120000
index 0000000000..36eb6d77bc
--- /dev/null
+++ b/Lang/PureBasic/Rosetta-Code-Count-examples
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Count-examples/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Rosetta-Code-Fix-code-tags b/Lang/PureBasic/Rosetta-Code-Fix-code-tags
new file mode 120000
index 0000000000..be0183b9a5
--- /dev/null
+++ b/Lang/PureBasic/Rosetta-Code-Fix-code-tags
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Fix-code-tags/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Rosetta-Code-Rank-languages-by-popularity b/Lang/PureBasic/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..2b3a6ed635
--- /dev/null
+++ b/Lang/PureBasic/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Rot-13 b/Lang/PureBasic/Rot-13
new file mode 120000
index 0000000000..0e158e6397
--- /dev/null
+++ b/Lang/PureBasic/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Run-length-encoding b/Lang/PureBasic/Run-length-encoding
new file mode 120000
index 0000000000..700446c542
--- /dev/null
+++ b/Lang/PureBasic/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/SEDOLs b/Lang/PureBasic/SEDOLs
new file mode 120000
index 0000000000..aeecd805f5
--- /dev/null
+++ b/Lang/PureBasic/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Scope-modifiers b/Lang/PureBasic/Scope-modifiers
new file mode 120000
index 0000000000..c198680eed
--- /dev/null
+++ b/Lang/PureBasic/Scope-modifiers
@@ -0,0 +1 @@
+../../Task/Scope-modifiers/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Secure-temporary-file b/Lang/PureBasic/Secure-temporary-file
new file mode 120000
index 0000000000..f1f31607d0
--- /dev/null
+++ b/Lang/PureBasic/Secure-temporary-file
@@ -0,0 +1 @@
+../../Task/Secure-temporary-file/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Self-describing-numbers b/Lang/PureBasic/Self-describing-numbers
new file mode 120000
index 0000000000..ed20c2cae3
--- /dev/null
+++ b/Lang/PureBasic/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Send-email b/Lang/PureBasic/Send-email
new file mode 120000
index 0000000000..0a9aca4ee9
--- /dev/null
+++ b/Lang/PureBasic/Send-email
@@ -0,0 +1 @@
+../../Task/Send-email/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Sequence-of-non-squares b/Lang/PureBasic/Sequence-of-non-squares
new file mode 120000
index 0000000000..904ecddb2b
--- /dev/null
+++ b/Lang/PureBasic/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/PureBasic
\ No newline at end of file
diff --git a/Lang/PureBasic/Set b/Lang/PureBasic/Set
new file mode 120000
index 0000000000..4d11ff0373
--- /dev/null
+++ b/Lang/PureBasic/Set
@@ -0,0 +1 @@
+../../Task/Set/PureBasic
\ No newline at end of file
diff --git a/Lang/Python/Arbitrary-precision-integers--included- b/Lang/Python/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..b2afb0323e
--- /dev/null
+++ b/Lang/Python/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Python
\ No newline at end of file
diff --git a/Lang/Python/Arbitrary-precision-integers-included b/Lang/Python/Arbitrary-precision-integers-included
deleted file mode 120000
index df9f38070c..0000000000
--- a/Lang/Python/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Python
\ No newline at end of file
diff --git a/Lang/Python/Binary-digits b/Lang/Python/Binary-digits
new file mode 120000
index 0000000000..11fbc30009
--- /dev/null
+++ b/Lang/Python/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Python
\ No newline at end of file
diff --git a/Lang/Python/Brownian-tree b/Lang/Python/Brownian-tree
new file mode 120000
index 0000000000..efadd243e0
--- /dev/null
+++ b/Lang/Python/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/Python
\ No newline at end of file
diff --git a/Lang/Python/Catalan-numbers b/Lang/Python/Catalan-numbers
new file mode 120000
index 0000000000..bbda357899
--- /dev/null
+++ b/Lang/Python/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Python
\ No newline at end of file
diff --git a/Lang/Python/Copy-a-string b/Lang/Python/Copy-a-string
new file mode 120000
index 0000000000..545a27a1ff
--- /dev/null
+++ b/Lang/Python/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Python
\ No newline at end of file
diff --git a/Lang/Python/Dragon-curve b/Lang/Python/Dragon-curve
new file mode 120000
index 0000000000..8453c92da6
--- /dev/null
+++ b/Lang/Python/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/Python
\ No newline at end of file
diff --git a/Lang/Python/Environment-variables b/Lang/Python/Environment-variables
new file mode 120000
index 0000000000..024c36ed2e
--- /dev/null
+++ b/Lang/Python/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Python
\ No newline at end of file
diff --git a/Lang/Python/Execute-a-Markov-algorithm b/Lang/Python/Execute-a-Markov-algorithm
new file mode 120000
index 0000000000..c820a0e827
--- /dev/null
+++ b/Lang/Python/Execute-a-Markov-algorithm
@@ -0,0 +1 @@
+../../Task/Execute-a-Markov-algorithm/Python
\ No newline at end of file
diff --git a/Lang/Python/Guess-the-number-With-feedback--player- b/Lang/Python/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..be14dd6add
--- /dev/null
+++ b/Lang/Python/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/Python
\ No newline at end of file
diff --git a/Lang/Python/Guess-the-number-With-feedback-player b/Lang/Python/Guess-the-number-With-feedback-player
deleted file mode 120000
index 4163c2bb98..0000000000
--- a/Lang/Python/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/Python
\ No newline at end of file
diff --git a/Lang/Python/N-queens-problem b/Lang/Python/N-queens-problem
new file mode 120000
index 0000000000..d7ed48554d
--- /dev/null
+++ b/Lang/Python/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Python
\ No newline at end of file
diff --git a/Lang/Python/Named-parameters b/Lang/Python/Named-parameters
new file mode 120000
index 0000000000..a97241b25c
--- /dev/null
+++ b/Lang/Python/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/Python
\ No newline at end of file
diff --git a/Lang/Python/Nautical-bell b/Lang/Python/Nautical-bell
new file mode 120000
index 0000000000..06a0ce18cb
--- /dev/null
+++ b/Lang/Python/Nautical-bell
@@ -0,0 +1 @@
+../../Task/Nautical-bell/Python
\ No newline at end of file
diff --git a/Lang/Python/Non-continuous-subsequences b/Lang/Python/Non-continuous-subsequences
new file mode 120000
index 0000000000..97a473eea6
--- /dev/null
+++ b/Lang/Python/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/Python
\ No newline at end of file
diff --git a/Lang/Python/Non-decimal-radices-Convert b/Lang/Python/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..e6ed82ba42
--- /dev/null
+++ b/Lang/Python/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/Python
\ No newline at end of file
diff --git a/Lang/Python/Non-decimal-radices-Input b/Lang/Python/Non-decimal-radices-Input
new file mode 120000
index 0000000000..462bcf1bd3
--- /dev/null
+++ b/Lang/Python/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/Python
\ No newline at end of file
diff --git a/Lang/Python/Non-decimal-radices-Output b/Lang/Python/Non-decimal-radices-Output
new file mode 120000
index 0000000000..9fa7688b00
--- /dev/null
+++ b/Lang/Python/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/Python
\ No newline at end of file
diff --git a/Lang/Python/Nth-root b/Lang/Python/Nth-root
new file mode 120000
index 0000000000..e61021e359
--- /dev/null
+++ b/Lang/Python/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Python
\ No newline at end of file
diff --git a/Lang/Python/Null-object b/Lang/Python/Null-object
new file mode 120000
index 0000000000..e7cc0fa0b0
--- /dev/null
+++ b/Lang/Python/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Python
\ No newline at end of file
diff --git a/Lang/Python/Number-reversal-game b/Lang/Python/Number-reversal-game
new file mode 120000
index 0000000000..e47d749221
--- /dev/null
+++ b/Lang/Python/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/Python
\ No newline at end of file
diff --git a/Lang/Python/Numeric-error-propagation b/Lang/Python/Numeric-error-propagation
new file mode 120000
index 0000000000..7294b79b27
--- /dev/null
+++ b/Lang/Python/Numeric-error-propagation
@@ -0,0 +1 @@
+../../Task/Numeric-error-propagation/Python
\ No newline at end of file
diff --git a/Lang/Python/Numerical-integration b/Lang/Python/Numerical-integration
new file mode 120000
index 0000000000..df8a8ca54f
--- /dev/null
+++ b/Lang/Python/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/Python
\ No newline at end of file
diff --git a/Lang/Python/Numerical-integration-Gauss-Legendre-Quadrature b/Lang/Python/Numerical-integration-Gauss-Legendre-Quadrature
new file mode 120000
index 0000000000..18e65c60c7
--- /dev/null
+++ b/Lang/Python/Numerical-integration-Gauss-Legendre-Quadrature
@@ -0,0 +1 @@
+../../Task/Numerical-integration-Gauss-Legendre-Quadrature/Python
\ No newline at end of file
diff --git a/Lang/Python/OLE-Automation b/Lang/Python/OLE-Automation
new file mode 120000
index 0000000000..25de9a4e2d
--- /dev/null
+++ b/Lang/Python/OLE-Automation
@@ -0,0 +1 @@
+../../Task/OLE-Automation/Python
\ No newline at end of file
diff --git a/Lang/Python/Object-serialization b/Lang/Python/Object-serialization
new file mode 120000
index 0000000000..46019775e4
--- /dev/null
+++ b/Lang/Python/Object-serialization
@@ -0,0 +1 @@
+../../Task/Object-serialization/Python
\ No newline at end of file
diff --git a/Lang/Python/One-dimensional-cellular-automata b/Lang/Python/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..9b894d50d0
--- /dev/null
+++ b/Lang/Python/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Python
\ No newline at end of file
diff --git a/Lang/Python/One-of-n-lines-in-a-file b/Lang/Python/One-of-n-lines-in-a-file
new file mode 120000
index 0000000000..d0feddcc14
--- /dev/null
+++ b/Lang/Python/One-of-n-lines-in-a-file
@@ -0,0 +1 @@
+../../Task/One-of-n-lines-in-a-file/Python
\ No newline at end of file
diff --git a/Lang/Python/OpenGL b/Lang/Python/OpenGL
new file mode 120000
index 0000000000..ad2c182051
--- /dev/null
+++ b/Lang/Python/OpenGL
@@ -0,0 +1 @@
+../../Task/OpenGL/Python
\ No newline at end of file
diff --git a/Lang/Python/Optional-parameters b/Lang/Python/Optional-parameters
new file mode 120000
index 0000000000..f35704b95b
--- /dev/null
+++ b/Lang/Python/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/Python
\ No newline at end of file
diff --git a/Lang/Python/Order-two-numerical-lists b/Lang/Python/Order-two-numerical-lists
new file mode 120000
index 0000000000..1323408fb5
--- /dev/null
+++ b/Lang/Python/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/Python
\ No newline at end of file
diff --git a/Lang/Python/Ordered-Partitions b/Lang/Python/Ordered-Partitions
new file mode 120000
index 0000000000..6662756310
--- /dev/null
+++ b/Lang/Python/Ordered-Partitions
@@ -0,0 +1 @@
+../../Task/Ordered-Partitions/Python
\ No newline at end of file
diff --git a/Lang/Python/Palindrome-detection b/Lang/Python/Palindrome-detection
new file mode 120000
index 0000000000..ecdf413b98
--- /dev/null
+++ b/Lang/Python/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Python
\ No newline at end of file
diff --git a/Lang/Python/Pangram-checker b/Lang/Python/Pangram-checker
new file mode 120000
index 0000000000..34e8ed2cb2
--- /dev/null
+++ b/Lang/Python/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Python
\ No newline at end of file
diff --git a/Lang/Python/Parallel-calculations b/Lang/Python/Parallel-calculations
new file mode 120000
index 0000000000..d1e1cfe873
--- /dev/null
+++ b/Lang/Python/Parallel-calculations
@@ -0,0 +1 @@
+../../Task/Parallel-calculations/Python
\ No newline at end of file
diff --git a/Lang/Python/Parametrized-SQL-statement b/Lang/Python/Parametrized-SQL-statement
new file mode 120000
index 0000000000..992e927180
--- /dev/null
+++ b/Lang/Python/Parametrized-SQL-statement
@@ -0,0 +1 @@
+../../Task/Parametrized-SQL-statement/Python
\ No newline at end of file
diff --git a/Lang/Python/Parsing-RPN-calculator-algorithm b/Lang/Python/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..694cf45a88
--- /dev/null
+++ b/Lang/Python/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/Python
\ No newline at end of file
diff --git a/Lang/Python/Parsing-RPN-to-infix-conversion b/Lang/Python/Parsing-RPN-to-infix-conversion
new file mode 120000
index 0000000000..026b00406e
--- /dev/null
+++ b/Lang/Python/Parsing-RPN-to-infix-conversion
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-to-infix-conversion/Python
\ No newline at end of file
diff --git a/Lang/Python/Parsing-Shunting-yard-algorithm b/Lang/Python/Parsing-Shunting-yard-algorithm
new file mode 120000
index 0000000000..c885ee98bd
--- /dev/null
+++ b/Lang/Python/Parsing-Shunting-yard-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-Shunting-yard-algorithm/Python
\ No newline at end of file
diff --git a/Lang/Python/Partial-function-application b/Lang/Python/Partial-function-application
new file mode 120000
index 0000000000..ad835a0eee
--- /dev/null
+++ b/Lang/Python/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/Python
\ No newline at end of file
diff --git a/Lang/Python/Pascals-triangle b/Lang/Python/Pascals-triangle
new file mode 120000
index 0000000000..ecc601ec55
--- /dev/null
+++ b/Lang/Python/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Python
\ No newline at end of file
diff --git a/Lang/Python/Pascals-triangle-Puzzle b/Lang/Python/Pascals-triangle-Puzzle
new file mode 120000
index 0000000000..30bff378bd
--- /dev/null
+++ b/Lang/Python/Pascals-triangle-Puzzle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle-Puzzle/Python
\ No newline at end of file
diff --git a/Lang/Python/Percentage-difference-between-images b/Lang/Python/Percentage-difference-between-images
new file mode 120000
index 0000000000..c4eb8ad7d9
--- /dev/null
+++ b/Lang/Python/Percentage-difference-between-images
@@ -0,0 +1 @@
+../../Task/Percentage-difference-between-images/Python
\ No newline at end of file
diff --git a/Lang/Python/Perfect-numbers b/Lang/Python/Perfect-numbers
new file mode 120000
index 0000000000..f3e76358f3
--- /dev/null
+++ b/Lang/Python/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Python
\ No newline at end of file
diff --git a/Lang/Python/Permutation-test b/Lang/Python/Permutation-test
new file mode 120000
index 0000000000..e3522a6333
--- /dev/null
+++ b/Lang/Python/Permutation-test
@@ -0,0 +1 @@
+../../Task/Permutation-test/Python
\ No newline at end of file
diff --git a/Lang/Python/Permutations b/Lang/Python/Permutations
new file mode 120000
index 0000000000..96b4036fed
--- /dev/null
+++ b/Lang/Python/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Python
\ No newline at end of file
diff --git a/Lang/Python/Permutations-Derangements b/Lang/Python/Permutations-Derangements
new file mode 120000
index 0000000000..91d2271f29
--- /dev/null
+++ b/Lang/Python/Permutations-Derangements
@@ -0,0 +1 @@
+../../Task/Permutations-Derangements/Python
\ No newline at end of file
diff --git a/Lang/Python/Permutations-by-swapping b/Lang/Python/Permutations-by-swapping
new file mode 120000
index 0000000000..0fdbfbd0c8
--- /dev/null
+++ b/Lang/Python/Permutations-by-swapping
@@ -0,0 +1 @@
+../../Task/Permutations-by-swapping/Python
\ No newline at end of file
diff --git a/Lang/Python/Pick-random-element b/Lang/Python/Pick-random-element
new file mode 120000
index 0000000000..0938679c78
--- /dev/null
+++ b/Lang/Python/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Python
\ No newline at end of file
diff --git a/Lang/Python/Pig-the-dice-game b/Lang/Python/Pig-the-dice-game
new file mode 120000
index 0000000000..0a19c19589
--- /dev/null
+++ b/Lang/Python/Pig-the-dice-game
@@ -0,0 +1 @@
+../../Task/Pig-the-dice-game/Python
\ No newline at end of file
diff --git a/Lang/Python/Pig-the-dice-game-Player b/Lang/Python/Pig-the-dice-game-Player
new file mode 120000
index 0000000000..9476c6d06e
--- /dev/null
+++ b/Lang/Python/Pig-the-dice-game-Player
@@ -0,0 +1 @@
+../../Task/Pig-the-dice-game-Player/Python
\ No newline at end of file
diff --git a/Lang/Python/Play-recorded-sounds b/Lang/Python/Play-recorded-sounds
new file mode 120000
index 0000000000..a936bbd003
--- /dev/null
+++ b/Lang/Python/Play-recorded-sounds
@@ -0,0 +1 @@
+../../Task/Play-recorded-sounds/Python
\ No newline at end of file
diff --git a/Lang/Python/Playing-cards b/Lang/Python/Playing-cards
new file mode 120000
index 0000000000..7b063d4d0f
--- /dev/null
+++ b/Lang/Python/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/Python
\ No newline at end of file
diff --git a/Lang/Python/Plot-coordinate-pairs b/Lang/Python/Plot-coordinate-pairs
new file mode 120000
index 0000000000..2d4fde74e7
--- /dev/null
+++ b/Lang/Python/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/Python
\ No newline at end of file
diff --git a/Lang/Python/Pointers-and-references b/Lang/Python/Pointers-and-references
new file mode 120000
index 0000000000..599f9af74c
--- /dev/null
+++ b/Lang/Python/Pointers-and-references
@@ -0,0 +1 @@
+../../Task/Pointers-and-references/Python
\ No newline at end of file
diff --git a/Lang/Python/Polymorphic-copy b/Lang/Python/Polymorphic-copy
new file mode 120000
index 0000000000..78d4d11b00
--- /dev/null
+++ b/Lang/Python/Polymorphic-copy
@@ -0,0 +1 @@
+../../Task/Polymorphic-copy/Python
\ No newline at end of file
diff --git a/Lang/Python/Polymorphism b/Lang/Python/Polymorphism
new file mode 120000
index 0000000000..80fc1d74c1
--- /dev/null
+++ b/Lang/Python/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/Python
\ No newline at end of file
diff --git a/Lang/Python/Polynomial-long-division b/Lang/Python/Polynomial-long-division
new file mode 120000
index 0000000000..f84507545b
--- /dev/null
+++ b/Lang/Python/Polynomial-long-division
@@ -0,0 +1 @@
+../../Task/Polynomial-long-division/Python
\ No newline at end of file
diff --git a/Lang/Python/Polynomial-regression b/Lang/Python/Polynomial-regression
new file mode 120000
index 0000000000..cefc175f1d
--- /dev/null
+++ b/Lang/Python/Polynomial-regression
@@ -0,0 +1 @@
+../../Task/Polynomial-regression/Python
\ No newline at end of file
diff --git a/Lang/Python/Power-set b/Lang/Python/Power-set
new file mode 120000
index 0000000000..26987f8660
--- /dev/null
+++ b/Lang/Python/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Python
\ No newline at end of file
diff --git a/Lang/Python/Pragmatic-directives b/Lang/Python/Pragmatic-directives
new file mode 120000
index 0000000000..7acd9875f1
--- /dev/null
+++ b/Lang/Python/Pragmatic-directives
@@ -0,0 +1 @@
+../../Task/Pragmatic-directives/Python
\ No newline at end of file
diff --git a/Lang/Python/Price-fraction b/Lang/Python/Price-fraction
new file mode 120000
index 0000000000..512febe612
--- /dev/null
+++ b/Lang/Python/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/Python
\ No newline at end of file
diff --git a/Lang/Python/Primality-by-trial-division b/Lang/Python/Primality-by-trial-division
new file mode 120000
index 0000000000..827d0faff8
--- /dev/null
+++ b/Lang/Python/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Python
\ No newline at end of file
diff --git a/Lang/Python/Prime-decomposition b/Lang/Python/Prime-decomposition
new file mode 120000
index 0000000000..1e22a5da44
--- /dev/null
+++ b/Lang/Python/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Python
\ No newline at end of file
diff --git a/Lang/Python/Priority-queue b/Lang/Python/Priority-queue
new file mode 120000
index 0000000000..0e4ca522fb
--- /dev/null
+++ b/Lang/Python/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/Python
\ No newline at end of file
diff --git a/Lang/Python/Probabilistic-choice b/Lang/Python/Probabilistic-choice
new file mode 120000
index 0000000000..bfc7db9ace
--- /dev/null
+++ b/Lang/Python/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/Python
\ No newline at end of file
diff --git a/Lang/Python/Problem-of-Apollonius b/Lang/Python/Problem-of-Apollonius
new file mode 120000
index 0000000000..cefd3f0891
--- /dev/null
+++ b/Lang/Python/Problem-of-Apollonius
@@ -0,0 +1 @@
+../../Task/Problem-of-Apollonius/Python
\ No newline at end of file
diff --git a/Lang/Python/Program-name b/Lang/Python/Program-name
new file mode 120000
index 0000000000..270d382b92
--- /dev/null
+++ b/Lang/Python/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Python
\ No newline at end of file
diff --git a/Lang/Python/Program-termination b/Lang/Python/Program-termination
new file mode 120000
index 0000000000..7c33d4d31b
--- /dev/null
+++ b/Lang/Python/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Python
\ No newline at end of file
diff --git a/Lang/Python/Pythagorean-triples b/Lang/Python/Pythagorean-triples
new file mode 120000
index 0000000000..8a05d8353e
--- /dev/null
+++ b/Lang/Python/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/Python
\ No newline at end of file
diff --git a/Lang/Python/Quaternion-type b/Lang/Python/Quaternion-type
new file mode 120000
index 0000000000..4219e34b85
--- /dev/null
+++ b/Lang/Python/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/Python
\ No newline at end of file
diff --git a/Lang/Python/Queue-Definition b/Lang/Python/Queue-Definition
new file mode 120000
index 0000000000..7541a3253c
--- /dev/null
+++ b/Lang/Python/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Python
\ No newline at end of file
diff --git a/Lang/Python/Queue-Usage b/Lang/Python/Queue-Usage
new file mode 120000
index 0000000000..a4780c0146
--- /dev/null
+++ b/Lang/Python/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/Python
\ No newline at end of file
diff --git a/Lang/Python/RIPEMD-160 b/Lang/Python/RIPEMD-160
new file mode 120000
index 0000000000..a2c89a1d90
--- /dev/null
+++ b/Lang/Python/RIPEMD-160
@@ -0,0 +1 @@
+../../Task/RIPEMD-160/Python
\ No newline at end of file
diff --git a/Lang/Python/Random-number-generator--device- b/Lang/Python/Random-number-generator--device-
new file mode 120000
index 0000000000..91a7dee506
--- /dev/null
+++ b/Lang/Python/Random-number-generator--device-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--device-/Python
\ No newline at end of file
diff --git a/Lang/Python/Random-numbers b/Lang/Python/Random-numbers
new file mode 120000
index 0000000000..9776797d2b
--- /dev/null
+++ b/Lang/Python/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Python
\ No newline at end of file
diff --git a/Lang/Python/Range-expansion b/Lang/Python/Range-expansion
new file mode 120000
index 0000000000..6924043a77
--- /dev/null
+++ b/Lang/Python/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/Python
\ No newline at end of file
diff --git a/Lang/Python/Range-extraction b/Lang/Python/Range-extraction
new file mode 120000
index 0000000000..7ca44982ab
--- /dev/null
+++ b/Lang/Python/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/Python
\ No newline at end of file
diff --git a/Lang/Python/Rate-counter b/Lang/Python/Rate-counter
new file mode 120000
index 0000000000..5450e425c9
--- /dev/null
+++ b/Lang/Python/Rate-counter
@@ -0,0 +1 @@
+../../Task/Rate-counter/Python
\ No newline at end of file
diff --git a/Lang/Python/Ray-casting-algorithm b/Lang/Python/Ray-casting-algorithm
new file mode 120000
index 0000000000..c0814ba9a2
--- /dev/null
+++ b/Lang/Python/Ray-casting-algorithm
@@ -0,0 +1 @@
+../../Task/Ray-casting-algorithm/Python
\ No newline at end of file
diff --git a/Lang/Python/Read-a-configuration-file b/Lang/Python/Read-a-configuration-file
new file mode 120000
index 0000000000..476abeacd5
--- /dev/null
+++ b/Lang/Python/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/Python
\ No newline at end of file
diff --git a/Lang/Python/Read-a-file-line-by-line b/Lang/Python/Read-a-file-line-by-line
new file mode 120000
index 0000000000..1073828041
--- /dev/null
+++ b/Lang/Python/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Python
\ No newline at end of file
diff --git a/Lang/Python/Read-a-specific-line-from-a-file b/Lang/Python/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..165b4f371c
--- /dev/null
+++ b/Lang/Python/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/Python
\ No newline at end of file
diff --git a/Lang/Python/Read-entire-file b/Lang/Python/Read-entire-file
new file mode 120000
index 0000000000..e532d5a88f
--- /dev/null
+++ b/Lang/Python/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Python
\ No newline at end of file
diff --git a/Lang/Python/Real-constants-and-functions b/Lang/Python/Real-constants-and-functions
new file mode 120000
index 0000000000..e15c7019e0
--- /dev/null
+++ b/Lang/Python/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Python
\ No newline at end of file
diff --git a/Lang/Python/Record-sound b/Lang/Python/Record-sound
new file mode 120000
index 0000000000..ac51a3b391
--- /dev/null
+++ b/Lang/Python/Record-sound
@@ -0,0 +1 @@
+../../Task/Record-sound/Python
\ No newline at end of file
diff --git a/Lang/Python/Reduced-row-echelon-form b/Lang/Python/Reduced-row-echelon-form
new file mode 120000
index 0000000000..4b0af30ee8
--- /dev/null
+++ b/Lang/Python/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/Python
\ No newline at end of file
diff --git a/Lang/Python/Regular-expressions b/Lang/Python/Regular-expressions
new file mode 120000
index 0000000000..ffa4b2a5f6
--- /dev/null
+++ b/Lang/Python/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Python
\ No newline at end of file
diff --git a/Lang/Python/Remove-duplicate-elements b/Lang/Python/Remove-duplicate-elements
new file mode 120000
index 0000000000..5cb1b58a62
--- /dev/null
+++ b/Lang/Python/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Python
\ No newline at end of file
diff --git a/Lang/Python/Remove-lines-from-a-file b/Lang/Python/Remove-lines-from-a-file
new file mode 120000
index 0000000000..0509be5845
--- /dev/null
+++ b/Lang/Python/Remove-lines-from-a-file
@@ -0,0 +1 @@
+../../Task/Remove-lines-from-a-file/Python
\ No newline at end of file
diff --git a/Lang/Python/Rename-a-file b/Lang/Python/Rename-a-file
new file mode 120000
index 0000000000..896729ec59
--- /dev/null
+++ b/Lang/Python/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Python
\ No newline at end of file
diff --git a/Lang/Python/Repeat-a-string b/Lang/Python/Repeat-a-string
new file mode 120000
index 0000000000..fce4a2265f
--- /dev/null
+++ b/Lang/Python/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Python
\ No newline at end of file
diff --git a/Lang/Python/Resistor-mesh b/Lang/Python/Resistor-mesh
new file mode 120000
index 0000000000..a68cff9ce5
--- /dev/null
+++ b/Lang/Python/Resistor-mesh
@@ -0,0 +1 @@
+../../Task/Resistor-mesh/Python
\ No newline at end of file
diff --git a/Lang/Python/Respond-to-an-unknown-method-call b/Lang/Python/Respond-to-an-unknown-method-call
new file mode 120000
index 0000000000..37a6a070b6
--- /dev/null
+++ b/Lang/Python/Respond-to-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Respond-to-an-unknown-method-call/Python
\ No newline at end of file
diff --git a/Lang/Python/Return-multiple-values b/Lang/Python/Return-multiple-values
new file mode 120000
index 0000000000..95a875df03
--- /dev/null
+++ b/Lang/Python/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Python
\ No newline at end of file
diff --git a/Lang/Python/Reverse-a-string b/Lang/Python/Reverse-a-string
new file mode 120000
index 0000000000..ff7229af87
--- /dev/null
+++ b/Lang/Python/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Python
\ No newline at end of file
diff --git a/Lang/Python/Rock-paper-scissors b/Lang/Python/Rock-paper-scissors
new file mode 120000
index 0000000000..d5efdf9b27
--- /dev/null
+++ b/Lang/Python/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/Python
\ No newline at end of file
diff --git a/Lang/Python/Roman-numerals-Decode b/Lang/Python/Roman-numerals-Decode
new file mode 120000
index 0000000000..fdc635c504
--- /dev/null
+++ b/Lang/Python/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/Python
\ No newline at end of file
diff --git a/Lang/Python/Roman-numerals-Encode b/Lang/Python/Roman-numerals-Encode
new file mode 120000
index 0000000000..e1499f27ed
--- /dev/null
+++ b/Lang/Python/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Python
\ No newline at end of file
diff --git a/Lang/Python/Roots-of-a-function b/Lang/Python/Roots-of-a-function
new file mode 120000
index 0000000000..b96e17e7e8
--- /dev/null
+++ b/Lang/Python/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/Python
\ No newline at end of file
diff --git a/Lang/Python/Roots-of-a-quadratic-function b/Lang/Python/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..855190986c
--- /dev/null
+++ b/Lang/Python/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/Python
\ No newline at end of file
diff --git a/Lang/Python/Roots-of-unity b/Lang/Python/Roots-of-unity
new file mode 120000
index 0000000000..ac6d272dc8
--- /dev/null
+++ b/Lang/Python/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/Python
\ No newline at end of file
diff --git a/Lang/Python/Rosetta-Code-Count-examples b/Lang/Python/Rosetta-Code-Count-examples
new file mode 120000
index 0000000000..96ad5ae313
--- /dev/null
+++ b/Lang/Python/Rosetta-Code-Count-examples
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Count-examples/Python
\ No newline at end of file
diff --git a/Lang/Python/Rosetta-Code-Fix-code-tags b/Lang/Python/Rosetta-Code-Fix-code-tags
new file mode 120000
index 0000000000..f942dbff1e
--- /dev/null
+++ b/Lang/Python/Rosetta-Code-Fix-code-tags
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Fix-code-tags/Python
\ No newline at end of file
diff --git a/Lang/Python/Rosetta-Code-Rank-languages-by-popularity b/Lang/Python/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..1b575573fe
--- /dev/null
+++ b/Lang/Python/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/Python
\ No newline at end of file
diff --git a/Lang/Python/Rot-13 b/Lang/Python/Rot-13
new file mode 120000
index 0000000000..99dbbb491c
--- /dev/null
+++ b/Lang/Python/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Python
\ No newline at end of file
diff --git a/Lang/Python/Run-length-encoding b/Lang/Python/Run-length-encoding
new file mode 120000
index 0000000000..400c106955
--- /dev/null
+++ b/Lang/Python/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Python
\ No newline at end of file
diff --git a/Lang/Python/Runtime-evaluation b/Lang/Python/Runtime-evaluation
new file mode 120000
index 0000000000..731059ab5d
--- /dev/null
+++ b/Lang/Python/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/Python
\ No newline at end of file
diff --git a/Lang/Python/Runtime-evaluation-In-an-environment b/Lang/Python/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..f322e031e6
--- /dev/null
+++ b/Lang/Python/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/Python
\ No newline at end of file
diff --git a/Lang/Python/S-Expressions b/Lang/Python/S-Expressions
new file mode 120000
index 0000000000..337cc74445
--- /dev/null
+++ b/Lang/Python/S-Expressions
@@ -0,0 +1 @@
+../../Task/S-Expressions/Python
\ No newline at end of file
diff --git a/Lang/Python/SEDOLs b/Lang/Python/SEDOLs
new file mode 120000
index 0000000000..5f5955763c
--- /dev/null
+++ b/Lang/Python/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/Python
\ No newline at end of file
diff --git a/Lang/Python/Safe-addition b/Lang/Python/Safe-addition
new file mode 120000
index 0000000000..b5a4998ec9
--- /dev/null
+++ b/Lang/Python/Safe-addition
@@ -0,0 +1 @@
+../../Task/Safe-addition/Python
\ No newline at end of file
diff --git a/Lang/Python/Same-Fringe b/Lang/Python/Same-Fringe
new file mode 120000
index 0000000000..04bb3a2c2e
--- /dev/null
+++ b/Lang/Python/Same-Fringe
@@ -0,0 +1 @@
+../../Task/Same-Fringe/Python
\ No newline at end of file
diff --git a/Lang/Python/Scope-modifiers b/Lang/Python/Scope-modifiers
new file mode 120000
index 0000000000..ce2813cfd8
--- /dev/null
+++ b/Lang/Python/Scope-modifiers
@@ -0,0 +1 @@
+../../Task/Scope-modifiers/Python
\ No newline at end of file
diff --git a/Lang/Python/Secure-temporary-file b/Lang/Python/Secure-temporary-file
new file mode 120000
index 0000000000..15ca7ba11e
--- /dev/null
+++ b/Lang/Python/Secure-temporary-file
@@ -0,0 +1 @@
+../../Task/Secure-temporary-file/Python
\ No newline at end of file
diff --git a/Lang/Python/Self-describing-numbers b/Lang/Python/Self-describing-numbers
new file mode 120000
index 0000000000..c1a08cc58b
--- /dev/null
+++ b/Lang/Python/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/Python
\ No newline at end of file
diff --git a/Lang/Python/Self-referential-sequence b/Lang/Python/Self-referential-sequence
new file mode 120000
index 0000000000..c279c52818
--- /dev/null
+++ b/Lang/Python/Self-referential-sequence
@@ -0,0 +1 @@
+../../Task/Self-referential-sequence/Python
\ No newline at end of file
diff --git a/Lang/Python/Semordnilap b/Lang/Python/Semordnilap
new file mode 120000
index 0000000000..d230e12243
--- /dev/null
+++ b/Lang/Python/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/Python
\ No newline at end of file
diff --git a/Lang/Python/Send-an-unknown-method-call b/Lang/Python/Send-an-unknown-method-call
new file mode 120000
index 0000000000..95696e8a9a
--- /dev/null
+++ b/Lang/Python/Send-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Send-an-unknown-method-call/Python
\ No newline at end of file
diff --git a/Lang/Python/Send-email b/Lang/Python/Send-email
new file mode 120000
index 0000000000..16f801e669
--- /dev/null
+++ b/Lang/Python/Send-email
@@ -0,0 +1 @@
+../../Task/Send-email/Python
\ No newline at end of file
diff --git a/Lang/Python/Sequence-of-non-squares b/Lang/Python/Sequence-of-non-squares
new file mode 120000
index 0000000000..658770c336
--- /dev/null
+++ b/Lang/Python/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Python
\ No newline at end of file
diff --git a/Lang/Python/Set b/Lang/Python/Set
new file mode 120000
index 0000000000..81f248a541
--- /dev/null
+++ b/Lang/Python/Set
@@ -0,0 +1 @@
+../../Task/Set/Python
\ No newline at end of file
diff --git a/Lang/Python/Set-consolidation b/Lang/Python/Set-consolidation
new file mode 120000
index 0000000000..1aa318f240
--- /dev/null
+++ b/Lang/Python/Set-consolidation
@@ -0,0 +1 @@
+../../Task/Set-consolidation/Python
\ No newline at end of file
diff --git a/Lang/Python/Set-of-real-numbers b/Lang/Python/Set-of-real-numbers
new file mode 120000
index 0000000000..c75c7b0780
--- /dev/null
+++ b/Lang/Python/Set-of-real-numbers
@@ -0,0 +1 @@
+../../Task/Set-of-real-numbers/Python
\ No newline at end of file
diff --git a/Lang/Qi/Pascals-triangle b/Lang/Qi/Pascals-triangle
new file mode 120000
index 0000000000..e73673c01d
--- /dev/null
+++ b/Lang/Qi/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Qi
\ No newline at end of file
diff --git a/Lang/Qi/Permutations b/Lang/Qi/Permutations
new file mode 120000
index 0000000000..72057b4082
--- /dev/null
+++ b/Lang/Qi/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Qi
\ No newline at end of file
diff --git a/Lang/Qi/Power-set b/Lang/Qi/Power-set
new file mode 120000
index 0000000000..fc6c6d48a4
--- /dev/null
+++ b/Lang/Qi/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Qi
\ No newline at end of file
diff --git a/Lang/Qi/Primality-by-trial-division b/Lang/Qi/Primality-by-trial-division
new file mode 120000
index 0000000000..f8034bcd79
--- /dev/null
+++ b/Lang/Qi/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Qi
\ No newline at end of file
diff --git a/Lang/Qi/Range-extraction b/Lang/Qi/Range-extraction
new file mode 120000
index 0000000000..80b46a7f70
--- /dev/null
+++ b/Lang/Qi/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/Qi
\ No newline at end of file
diff --git a/Lang/Qi/Remove-duplicate-elements b/Lang/Qi/Remove-duplicate-elements
new file mode 120000
index 0000000000..91b72560ba
--- /dev/null
+++ b/Lang/Qi/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Qi
\ No newline at end of file
diff --git a/Lang/Qi/Reverse-a-string b/Lang/Qi/Reverse-a-string
new file mode 120000
index 0000000000..331fb27dbe
--- /dev/null
+++ b/Lang/Qi/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Qi
\ No newline at end of file
diff --git a/Lang/Qi/Send-an-unknown-method-call b/Lang/Qi/Send-an-unknown-method-call
new file mode 120000
index 0000000000..591365b7fb
--- /dev/null
+++ b/Lang/Qi/Send-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Send-an-unknown-method-call/Qi
\ No newline at end of file
diff --git a/Lang/R/Arbitrary-precision-integers--included- b/Lang/R/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..61353dedbd
--- /dev/null
+++ b/Lang/R/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/R
\ No newline at end of file
diff --git a/Lang/R/Arbitrary-precision-integers-included b/Lang/R/Arbitrary-precision-integers-included
deleted file mode 120000
index 171de676d6..0000000000
--- a/Lang/R/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/R
\ No newline at end of file
diff --git a/Lang/R/Catalan-numbers b/Lang/R/Catalan-numbers
new file mode 120000
index 0000000000..8182737bf9
--- /dev/null
+++ b/Lang/R/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/R
\ No newline at end of file
diff --git a/Lang/R/Copy-a-string b/Lang/R/Copy-a-string
new file mode 120000
index 0000000000..2df38ea849
--- /dev/null
+++ b/Lang/R/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/R
\ No newline at end of file
diff --git a/Lang/R/Environment-variables b/Lang/R/Environment-variables
new file mode 120000
index 0000000000..4cf3ca4246
--- /dev/null
+++ b/Lang/R/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/R
\ No newline at end of file
diff --git a/Lang/R/N-queens-problem b/Lang/R/N-queens-problem
new file mode 120000
index 0000000000..5dcc62f7cd
--- /dev/null
+++ b/Lang/R/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/R
\ No newline at end of file
diff --git a/Lang/R/Named-parameters b/Lang/R/Named-parameters
new file mode 120000
index 0000000000..2c949a2600
--- /dev/null
+++ b/Lang/R/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/R
\ No newline at end of file
diff --git a/Lang/R/Non-continuous-subsequences b/Lang/R/Non-continuous-subsequences
new file mode 120000
index 0000000000..9101390604
--- /dev/null
+++ b/Lang/R/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/R
\ No newline at end of file
diff --git a/Lang/R/Non-decimal-radices-Input b/Lang/R/Non-decimal-radices-Input
new file mode 120000
index 0000000000..0158bbdbb5
--- /dev/null
+++ b/Lang/R/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/R
\ No newline at end of file
diff --git a/Lang/R/Non-decimal-radices-Output b/Lang/R/Non-decimal-radices-Output
new file mode 120000
index 0000000000..d6b11e65cd
--- /dev/null
+++ b/Lang/R/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/R
\ No newline at end of file
diff --git a/Lang/R/Nth-root b/Lang/R/Nth-root
new file mode 120000
index 0000000000..7e4b123733
--- /dev/null
+++ b/Lang/R/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/R
\ No newline at end of file
diff --git a/Lang/R/Null-object b/Lang/R/Null-object
new file mode 120000
index 0000000000..21312e976d
--- /dev/null
+++ b/Lang/R/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/R
\ No newline at end of file
diff --git a/Lang/R/Number-reversal-game b/Lang/R/Number-reversal-game
new file mode 120000
index 0000000000..93abaa3f41
--- /dev/null
+++ b/Lang/R/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/R
\ No newline at end of file
diff --git a/Lang/R/Numerical-integration b/Lang/R/Numerical-integration
new file mode 120000
index 0000000000..026bf1bd86
--- /dev/null
+++ b/Lang/R/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/R
\ No newline at end of file
diff --git a/Lang/R/One-dimensional-cellular-automata b/Lang/R/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..8274e5a2f7
--- /dev/null
+++ b/Lang/R/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/R
\ No newline at end of file
diff --git a/Lang/R/OpenGL b/Lang/R/OpenGL
new file mode 120000
index 0000000000..4c3a799752
--- /dev/null
+++ b/Lang/R/OpenGL
@@ -0,0 +1 @@
+../../Task/OpenGL/R
\ No newline at end of file
diff --git a/Lang/R/Optional-parameters b/Lang/R/Optional-parameters
new file mode 120000
index 0000000000..201dab653e
--- /dev/null
+++ b/Lang/R/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/R
\ No newline at end of file
diff --git a/Lang/R/Palindrome-detection b/Lang/R/Palindrome-detection
new file mode 120000
index 0000000000..3a53722e17
--- /dev/null
+++ b/Lang/R/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/R
\ No newline at end of file
diff --git a/Lang/R/Pangram-checker b/Lang/R/Pangram-checker
new file mode 120000
index 0000000000..782b4e7eb7
--- /dev/null
+++ b/Lang/R/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/R
\ No newline at end of file
diff --git a/Lang/R/Partial-function-application b/Lang/R/Partial-function-application
new file mode 120000
index 0000000000..b11e411be8
--- /dev/null
+++ b/Lang/R/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/R
\ No newline at end of file
diff --git a/Lang/R/Pascals-triangle b/Lang/R/Pascals-triangle
new file mode 120000
index 0000000000..70887cf5c5
--- /dev/null
+++ b/Lang/R/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/R
\ No newline at end of file
diff --git a/Lang/R/Perfect-numbers b/Lang/R/Perfect-numbers
new file mode 120000
index 0000000000..934529f2c9
--- /dev/null
+++ b/Lang/R/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/R
\ No newline at end of file
diff --git a/Lang/R/Permutation-test b/Lang/R/Permutation-test
new file mode 120000
index 0000000000..901c7ba904
--- /dev/null
+++ b/Lang/R/Permutation-test
@@ -0,0 +1 @@
+../../Task/Permutation-test/R
\ No newline at end of file
diff --git a/Lang/R/Permutations b/Lang/R/Permutations
new file mode 120000
index 0000000000..201751a0a0
--- /dev/null
+++ b/Lang/R/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/R
\ No newline at end of file
diff --git a/Lang/R/Pick-random-element b/Lang/R/Pick-random-element
new file mode 120000
index 0000000000..08bbc58271
--- /dev/null
+++ b/Lang/R/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/R
\ No newline at end of file
diff --git a/Lang/R/Play-recorded-sounds b/Lang/R/Play-recorded-sounds
new file mode 120000
index 0000000000..93cd1c10d3
--- /dev/null
+++ b/Lang/R/Play-recorded-sounds
@@ -0,0 +1 @@
+../../Task/Play-recorded-sounds/R
\ No newline at end of file
diff --git a/Lang/R/Playing-cards b/Lang/R/Playing-cards
new file mode 120000
index 0000000000..f1612850ea
--- /dev/null
+++ b/Lang/R/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/R
\ No newline at end of file
diff --git a/Lang/R/Plot-coordinate-pairs b/Lang/R/Plot-coordinate-pairs
new file mode 120000
index 0000000000..0b26442cd8
--- /dev/null
+++ b/Lang/R/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/R
\ No newline at end of file
diff --git a/Lang/R/Polymorphism b/Lang/R/Polymorphism
new file mode 120000
index 0000000000..5889b07d2d
--- /dev/null
+++ b/Lang/R/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/R
\ No newline at end of file
diff --git a/Lang/R/Polynomial-long-division b/Lang/R/Polynomial-long-division
new file mode 120000
index 0000000000..5e8c7892bc
--- /dev/null
+++ b/Lang/R/Polynomial-long-division
@@ -0,0 +1 @@
+../../Task/Polynomial-long-division/R
\ No newline at end of file
diff --git a/Lang/R/Polynomial-regression b/Lang/R/Polynomial-regression
new file mode 120000
index 0000000000..859c717c58
--- /dev/null
+++ b/Lang/R/Polynomial-regression
@@ -0,0 +1 @@
+../../Task/Polynomial-regression/R
\ No newline at end of file
diff --git a/Lang/R/Power-set b/Lang/R/Power-set
new file mode 120000
index 0000000000..7eae1bd4a3
--- /dev/null
+++ b/Lang/R/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/R
\ No newline at end of file
diff --git a/Lang/R/Price-fraction b/Lang/R/Price-fraction
new file mode 120000
index 0000000000..4baeffdf9c
--- /dev/null
+++ b/Lang/R/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/R
\ No newline at end of file
diff --git a/Lang/R/Primality-by-trial-division b/Lang/R/Primality-by-trial-division
new file mode 120000
index 0000000000..4bbe33c841
--- /dev/null
+++ b/Lang/R/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/R
\ No newline at end of file
diff --git a/Lang/R/Prime-decomposition b/Lang/R/Prime-decomposition
new file mode 120000
index 0000000000..ea96cd54d8
--- /dev/null
+++ b/Lang/R/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/R
\ No newline at end of file
diff --git a/Lang/R/Priority-queue b/Lang/R/Priority-queue
new file mode 120000
index 0000000000..2a7f94a159
--- /dev/null
+++ b/Lang/R/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/R
\ No newline at end of file
diff --git a/Lang/R/Probabilistic-choice b/Lang/R/Probabilistic-choice
new file mode 120000
index 0000000000..936778ce71
--- /dev/null
+++ b/Lang/R/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/R
\ No newline at end of file
diff --git a/Lang/R/Program-name b/Lang/R/Program-name
new file mode 120000
index 0000000000..0e68c1d330
--- /dev/null
+++ b/Lang/R/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/R
\ No newline at end of file
diff --git a/Lang/R/Program-termination b/Lang/R/Program-termination
new file mode 120000
index 0000000000..6812fe8dd3
--- /dev/null
+++ b/Lang/R/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/R
\ No newline at end of file
diff --git a/Lang/R/QR-decomposition b/Lang/R/QR-decomposition
new file mode 120000
index 0000000000..de73c899ee
--- /dev/null
+++ b/Lang/R/QR-decomposition
@@ -0,0 +1 @@
+../../Task/QR-decomposition/R
\ No newline at end of file
diff --git a/Lang/R/Quaternion-type b/Lang/R/Quaternion-type
new file mode 120000
index 0000000000..2e826895b9
--- /dev/null
+++ b/Lang/R/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/R
\ No newline at end of file
diff --git a/Lang/R/Queue-Definition b/Lang/R/Queue-Definition
new file mode 120000
index 0000000000..fc47f77de5
--- /dev/null
+++ b/Lang/R/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/R
\ No newline at end of file
diff --git a/Lang/R/Random-number-generator--included- b/Lang/R/Random-number-generator--included-
new file mode 120000
index 0000000000..bae78fb1ca
--- /dev/null
+++ b/Lang/R/Random-number-generator--included-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--included-/R
\ No newline at end of file
diff --git a/Lang/R/Random-numbers b/Lang/R/Random-numbers
new file mode 120000
index 0000000000..02bdc086b4
--- /dev/null
+++ b/Lang/R/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/R
\ No newline at end of file
diff --git a/Lang/R/Range-expansion b/Lang/R/Range-expansion
new file mode 120000
index 0000000000..dc32e7fb6e
--- /dev/null
+++ b/Lang/R/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/R
\ No newline at end of file
diff --git a/Lang/R/Ray-casting-algorithm b/Lang/R/Ray-casting-algorithm
new file mode 120000
index 0000000000..3d76d44ba8
--- /dev/null
+++ b/Lang/R/Ray-casting-algorithm
@@ -0,0 +1 @@
+../../Task/Ray-casting-algorithm/R
\ No newline at end of file
diff --git a/Lang/R/Read-a-file-line-by-line b/Lang/R/Read-a-file-line-by-line
new file mode 120000
index 0000000000..12b2666d2f
--- /dev/null
+++ b/Lang/R/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/R
\ No newline at end of file
diff --git a/Lang/R/Read-a-specific-line-from-a-file b/Lang/R/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..ac41dddbfc
--- /dev/null
+++ b/Lang/R/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/R
\ No newline at end of file
diff --git a/Lang/R/Read-entire-file b/Lang/R/Read-entire-file
new file mode 120000
index 0000000000..f27895e147
--- /dev/null
+++ b/Lang/R/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/R
\ No newline at end of file
diff --git a/Lang/R/Real-constants-and-functions b/Lang/R/Real-constants-and-functions
new file mode 120000
index 0000000000..99707749dc
--- /dev/null
+++ b/Lang/R/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/R
\ No newline at end of file
diff --git a/Lang/R/Reduced-row-echelon-form b/Lang/R/Reduced-row-echelon-form
new file mode 120000
index 0000000000..fa13d99787
--- /dev/null
+++ b/Lang/R/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/R
\ No newline at end of file
diff --git a/Lang/R/Regular-expressions b/Lang/R/Regular-expressions
new file mode 120000
index 0000000000..58251bece1
--- /dev/null
+++ b/Lang/R/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/R
\ No newline at end of file
diff --git a/Lang/R/Rename-a-file b/Lang/R/Rename-a-file
new file mode 120000
index 0000000000..d3214c3f95
--- /dev/null
+++ b/Lang/R/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/R
\ No newline at end of file
diff --git a/Lang/R/Repeat-a-string b/Lang/R/Repeat-a-string
new file mode 120000
index 0000000000..3796815973
--- /dev/null
+++ b/Lang/R/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/R
\ No newline at end of file
diff --git a/Lang/R/Return-multiple-values b/Lang/R/Return-multiple-values
new file mode 120000
index 0000000000..0799839e73
--- /dev/null
+++ b/Lang/R/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/R
\ No newline at end of file
diff --git a/Lang/R/Reverse-a-string b/Lang/R/Reverse-a-string
new file mode 120000
index 0000000000..7de72fadb0
--- /dev/null
+++ b/Lang/R/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/R
\ No newline at end of file
diff --git a/Lang/R/Roman-numerals-Encode b/Lang/R/Roman-numerals-Encode
new file mode 120000
index 0000000000..7c04412a00
--- /dev/null
+++ b/Lang/R/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/R
\ No newline at end of file
diff --git a/Lang/R/Roots-of-a-function b/Lang/R/Roots-of-a-function
new file mode 120000
index 0000000000..8c91781850
--- /dev/null
+++ b/Lang/R/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/R
\ No newline at end of file
diff --git a/Lang/R/Roots-of-a-quadratic-function b/Lang/R/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..e8c29af260
--- /dev/null
+++ b/Lang/R/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/R
\ No newline at end of file
diff --git a/Lang/R/Roots-of-unity b/Lang/R/Roots-of-unity
new file mode 120000
index 0000000000..699087d9b5
--- /dev/null
+++ b/Lang/R/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/R
\ No newline at end of file
diff --git a/Lang/R/Rosetta-Code-Count-examples b/Lang/R/Rosetta-Code-Count-examples
new file mode 120000
index 0000000000..d6d6b87161
--- /dev/null
+++ b/Lang/R/Rosetta-Code-Count-examples
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Count-examples/R
\ No newline at end of file
diff --git a/Lang/R/Rosetta-Code-Find-unimplemented-tasks b/Lang/R/Rosetta-Code-Find-unimplemented-tasks
new file mode 120000
index 0000000000..712b1b6e80
--- /dev/null
+++ b/Lang/R/Rosetta-Code-Find-unimplemented-tasks
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Find-unimplemented-tasks/R
\ No newline at end of file
diff --git a/Lang/R/Rosetta-Code-Fix-code-tags b/Lang/R/Rosetta-Code-Fix-code-tags
new file mode 120000
index 0000000000..d83d287f10
--- /dev/null
+++ b/Lang/R/Rosetta-Code-Fix-code-tags
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Fix-code-tags/R
\ No newline at end of file
diff --git a/Lang/R/Rosetta-Code-Rank-languages-by-popularity b/Lang/R/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..7477d0e199
--- /dev/null
+++ b/Lang/R/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/R
\ No newline at end of file
diff --git a/Lang/R/Rot-13 b/Lang/R/Rot-13
new file mode 120000
index 0000000000..0d917fbc27
--- /dev/null
+++ b/Lang/R/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/R
\ No newline at end of file
diff --git a/Lang/R/Run-length-encoding b/Lang/R/Run-length-encoding
new file mode 120000
index 0000000000..7b6960f804
--- /dev/null
+++ b/Lang/R/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/R
\ No newline at end of file
diff --git a/Lang/R/Runtime-evaluation b/Lang/R/Runtime-evaluation
new file mode 120000
index 0000000000..431ac6e477
--- /dev/null
+++ b/Lang/R/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/R
\ No newline at end of file
diff --git a/Lang/R/Runtime-evaluation-In-an-environment b/Lang/R/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..2f677724c7
--- /dev/null
+++ b/Lang/R/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/R
\ No newline at end of file
diff --git a/Lang/R/SEDOLs b/Lang/R/SEDOLs
new file mode 120000
index 0000000000..86134c2254
--- /dev/null
+++ b/Lang/R/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/R
\ No newline at end of file
diff --git a/Lang/R/Scope-modifiers b/Lang/R/Scope-modifiers
new file mode 120000
index 0000000000..810906172d
--- /dev/null
+++ b/Lang/R/Scope-modifiers
@@ -0,0 +1 @@
+../../Task/Scope-modifiers/R
\ No newline at end of file
diff --git a/Lang/R/Sequence-of-non-squares b/Lang/R/Sequence-of-non-squares
new file mode 120000
index 0000000000..a2546250ce
--- /dev/null
+++ b/Lang/R/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/R
\ No newline at end of file
diff --git a/Lang/REALbasic/Read-entire-file b/Lang/REALbasic/Read-entire-file
new file mode 120000
index 0000000000..9cc725d4f2
--- /dev/null
+++ b/Lang/REALbasic/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/REALbasic
\ No newline at end of file
diff --git a/Lang/REALbasic/Rename-a-file b/Lang/REALbasic/Rename-a-file
new file mode 120000
index 0000000000..55d8c9450d
--- /dev/null
+++ b/Lang/REALbasic/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/REALbasic
\ No newline at end of file
diff --git a/Lang/REALbasic/Repeat-a-string b/Lang/REALbasic/Repeat-a-string
new file mode 120000
index 0000000000..e8bd90e071
--- /dev/null
+++ b/Lang/REALbasic/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/REALbasic
\ No newline at end of file
diff --git a/Lang/REBOL/Copy-a-string b/Lang/REBOL/Copy-a-string
new file mode 120000
index 0000000000..8babad9959
--- /dev/null
+++ b/Lang/REBOL/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Environment-variables b/Lang/REBOL/Environment-variables
new file mode 120000
index 0000000000..1742700711
--- /dev/null
+++ b/Lang/REBOL/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Null-object b/Lang/REBOL/Null-object
new file mode 120000
index 0000000000..0b324069d2
--- /dev/null
+++ b/Lang/REBOL/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Palindrome-detection b/Lang/REBOL/Palindrome-detection
new file mode 120000
index 0000000000..45e3490dd4
--- /dev/null
+++ b/Lang/REBOL/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Percentage-difference-between-images b/Lang/REBOL/Percentage-difference-between-images
new file mode 120000
index 0000000000..47e0c29027
--- /dev/null
+++ b/Lang/REBOL/Percentage-difference-between-images
@@ -0,0 +1 @@
+../../Task/Percentage-difference-between-images/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Perfect-numbers b/Lang/REBOL/Perfect-numbers
new file mode 120000
index 0000000000..888589d0dd
--- /dev/null
+++ b/Lang/REBOL/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Primality-by-trial-division b/Lang/REBOL/Primality-by-trial-division
new file mode 120000
index 0000000000..6e14471054
--- /dev/null
+++ b/Lang/REBOL/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Program-termination b/Lang/REBOL/Program-termination
new file mode 120000
index 0000000000..7c4ce8b3c8
--- /dev/null
+++ b/Lang/REBOL/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Queue-Definition b/Lang/REBOL/Queue-Definition
new file mode 120000
index 0000000000..aa21697e36
--- /dev/null
+++ b/Lang/REBOL/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Queue-Usage b/Lang/REBOL/Queue-Usage
new file mode 120000
index 0000000000..488c4682f8
--- /dev/null
+++ b/Lang/REBOL/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Read-entire-file b/Lang/REBOL/Read-entire-file
new file mode 120000
index 0000000000..8d1ffdb8c8
--- /dev/null
+++ b/Lang/REBOL/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Regular-expressions b/Lang/REBOL/Regular-expressions
new file mode 120000
index 0000000000..cc056f3dfc
--- /dev/null
+++ b/Lang/REBOL/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Remove-duplicate-elements b/Lang/REBOL/Remove-duplicate-elements
new file mode 120000
index 0000000000..989597f93c
--- /dev/null
+++ b/Lang/REBOL/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Rename-a-file b/Lang/REBOL/Rename-a-file
new file mode 120000
index 0000000000..d5b1f76dba
--- /dev/null
+++ b/Lang/REBOL/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Repeat-a-string b/Lang/REBOL/Repeat-a-string
new file mode 120000
index 0000000000..df3bda003c
--- /dev/null
+++ b/Lang/REBOL/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Reverse-a-string b/Lang/REBOL/Reverse-a-string
new file mode 120000
index 0000000000..4fa66fa042
--- /dev/null
+++ b/Lang/REBOL/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Rot-13 b/Lang/REBOL/Rot-13
new file mode 120000
index 0000000000..344b9949b8
--- /dev/null
+++ b/Lang/REBOL/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Runtime-evaluation-In-an-environment b/Lang/REBOL/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..00ac88948d
--- /dev/null
+++ b/Lang/REBOL/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/REBOL
\ No newline at end of file
diff --git a/Lang/REBOL/Send-email b/Lang/REBOL/Send-email
new file mode 120000
index 0000000000..7a102c33ea
--- /dev/null
+++ b/Lang/REBOL/Send-email
@@ -0,0 +1 @@
+../../Task/Send-email/REBOL
\ No newline at end of file
diff --git a/Lang/REXX/Arbitrary-precision-integers--included- b/Lang/REXX/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..0936a3fe02
--- /dev/null
+++ b/Lang/REXX/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Arbitrary-precision-integers-included b/Lang/REXX/Arbitrary-precision-integers-included
deleted file mode 120000
index fdedb62758..0000000000
--- a/Lang/REXX/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Binary-digits b/Lang/REXX/Binary-digits
new file mode 120000
index 0000000000..3c052e6c1b
--- /dev/null
+++ b/Lang/REXX/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Brownian-tree b/Lang/REXX/Brownian-tree
new file mode 120000
index 0000000000..a60b84534a
--- /dev/null
+++ b/Lang/REXX/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Calendar---for-real-programmers b/Lang/REXX/Calendar---for-real-programmers
new file mode 120000
index 0000000000..2c110329c1
--- /dev/null
+++ b/Lang/REXX/Calendar---for-real-programmers
@@ -0,0 +1 @@
+../../Task/Calendar---for-real-programmers/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Calendar-for-real-programmers b/Lang/REXX/Calendar-for-real-programmers
deleted file mode 120000
index 958d1bcc9b..0000000000
--- a/Lang/REXX/Calendar-for-real-programmers
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Calendar-for-real-programmers/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Catalan-numbers b/Lang/REXX/Catalan-numbers
new file mode 120000
index 0000000000..e5461acb24
--- /dev/null
+++ b/Lang/REXX/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Copy-a-string b/Lang/REXX/Copy-a-string
new file mode 120000
index 0000000000..6a2f84452f
--- /dev/null
+++ b/Lang/REXX/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Dragon-curve b/Lang/REXX/Dragon-curve
new file mode 120000
index 0000000000..1cf0803332
--- /dev/null
+++ b/Lang/REXX/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Environment-variables b/Lang/REXX/Environment-variables
new file mode 120000
index 0000000000..671ae7b0fb
--- /dev/null
+++ b/Lang/REXX/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Execute-a-Markov-algorithm b/Lang/REXX/Execute-a-Markov-algorithm
new file mode 120000
index 0000000000..7c3ce7c541
--- /dev/null
+++ b/Lang/REXX/Execute-a-Markov-algorithm
@@ -0,0 +1 @@
+../../Task/Execute-a-Markov-algorithm/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Guess-the-number-With-feedback--player- b/Lang/REXX/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..28180abdab
--- /dev/null
+++ b/Lang/REXX/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Guess-the-number-With-feedback-player b/Lang/REXX/Guess-the-number-With-feedback-player
deleted file mode 120000
index 3804a73ab0..0000000000
--- a/Lang/REXX/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/REXX
\ No newline at end of file
diff --git a/Lang/REXX/N-queens-problem b/Lang/REXX/N-queens-problem
new file mode 120000
index 0000000000..0da1e94289
--- /dev/null
+++ b/Lang/REXX/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Named-parameters b/Lang/REXX/Named-parameters
new file mode 120000
index 0000000000..50e20b2855
--- /dev/null
+++ b/Lang/REXX/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Nautical-bell b/Lang/REXX/Nautical-bell
new file mode 120000
index 0000000000..f29fd30908
--- /dev/null
+++ b/Lang/REXX/Nautical-bell
@@ -0,0 +1 @@
+../../Task/Nautical-bell/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Non-continuous-subsequences b/Lang/REXX/Non-continuous-subsequences
new file mode 120000
index 0000000000..1aa8657af5
--- /dev/null
+++ b/Lang/REXX/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Non-decimal-radices-Convert b/Lang/REXX/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..c73b26ae95
--- /dev/null
+++ b/Lang/REXX/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Non-decimal-radices-Input b/Lang/REXX/Non-decimal-radices-Input
new file mode 120000
index 0000000000..e8ecf606eb
--- /dev/null
+++ b/Lang/REXX/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Non-decimal-radices-Output b/Lang/REXX/Non-decimal-radices-Output
new file mode 120000
index 0000000000..44f07707dd
--- /dev/null
+++ b/Lang/REXX/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Nth-root b/Lang/REXX/Nth-root
new file mode 120000
index 0000000000..06b7c2d826
--- /dev/null
+++ b/Lang/REXX/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Null-object b/Lang/REXX/Null-object
new file mode 120000
index 0000000000..898e0753d8
--- /dev/null
+++ b/Lang/REXX/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Number-reversal-game b/Lang/REXX/Number-reversal-game
new file mode 120000
index 0000000000..5eb8f7b437
--- /dev/null
+++ b/Lang/REXX/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Numerical-integration b/Lang/REXX/Numerical-integration
new file mode 120000
index 0000000000..225462b771
--- /dev/null
+++ b/Lang/REXX/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/REXX
\ No newline at end of file
diff --git a/Lang/REXX/One-of-n-lines-in-a-file b/Lang/REXX/One-of-n-lines-in-a-file
new file mode 120000
index 0000000000..d34cc398f0
--- /dev/null
+++ b/Lang/REXX/One-of-n-lines-in-a-file
@@ -0,0 +1 @@
+../../Task/One-of-n-lines-in-a-file/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Operator-precedence b/Lang/REXX/Operator-precedence
new file mode 120000
index 0000000000..91c8a67272
--- /dev/null
+++ b/Lang/REXX/Operator-precedence
@@ -0,0 +1 @@
+../../Task/Operator-precedence/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Palindrome-detection b/Lang/REXX/Palindrome-detection
new file mode 120000
index 0000000000..5d2a1cc56b
--- /dev/null
+++ b/Lang/REXX/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Pangram-checker b/Lang/REXX/Pangram-checker
new file mode 120000
index 0000000000..6acf288302
--- /dev/null
+++ b/Lang/REXX/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Parsing-RPN-calculator-algorithm b/Lang/REXX/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..e5b15221ce
--- /dev/null
+++ b/Lang/REXX/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Parsing-RPN-to-infix-conversion b/Lang/REXX/Parsing-RPN-to-infix-conversion
new file mode 120000
index 0000000000..3d61a9fc3a
--- /dev/null
+++ b/Lang/REXX/Parsing-RPN-to-infix-conversion
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-to-infix-conversion/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Parsing-Shunting-yard-algorithm b/Lang/REXX/Parsing-Shunting-yard-algorithm
new file mode 120000
index 0000000000..1729538091
--- /dev/null
+++ b/Lang/REXX/Parsing-Shunting-yard-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-Shunting-yard-algorithm/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Pascals-triangle b/Lang/REXX/Pascals-triangle
new file mode 120000
index 0000000000..f1813390f9
--- /dev/null
+++ b/Lang/REXX/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Pascals-triangle-Puzzle b/Lang/REXX/Pascals-triangle-Puzzle
new file mode 120000
index 0000000000..2882b08f05
--- /dev/null
+++ b/Lang/REXX/Pascals-triangle-Puzzle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle-Puzzle/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Perfect-numbers b/Lang/REXX/Perfect-numbers
new file mode 120000
index 0000000000..4f37d7d4bc
--- /dev/null
+++ b/Lang/REXX/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Permutation-test b/Lang/REXX/Permutation-test
new file mode 120000
index 0000000000..6915191f29
--- /dev/null
+++ b/Lang/REXX/Permutation-test
@@ -0,0 +1 @@
+../../Task/Permutation-test/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Permutations b/Lang/REXX/Permutations
new file mode 120000
index 0000000000..5d4586c72e
--- /dev/null
+++ b/Lang/REXX/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Permutations-Derangements b/Lang/REXX/Permutations-Derangements
new file mode 120000
index 0000000000..4fe70a8959
--- /dev/null
+++ b/Lang/REXX/Permutations-Derangements
@@ -0,0 +1 @@
+../../Task/Permutations-Derangements/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Pick-random-element b/Lang/REXX/Pick-random-element
new file mode 120000
index 0000000000..9e9fec1c68
--- /dev/null
+++ b/Lang/REXX/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Pig-the-dice-game b/Lang/REXX/Pig-the-dice-game
new file mode 120000
index 0000000000..f17b6d6be3
--- /dev/null
+++ b/Lang/REXX/Pig-the-dice-game
@@ -0,0 +1 @@
+../../Task/Pig-the-dice-game/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Pig-the-dice-game-Player b/Lang/REXX/Pig-the-dice-game-Player
new file mode 120000
index 0000000000..c3d0727149
--- /dev/null
+++ b/Lang/REXX/Pig-the-dice-game-Player
@@ -0,0 +1 @@
+../../Task/Pig-the-dice-game-Player/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Playing-cards b/Lang/REXX/Playing-cards
new file mode 120000
index 0000000000..64a3048595
--- /dev/null
+++ b/Lang/REXX/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Power-set b/Lang/REXX/Power-set
new file mode 120000
index 0000000000..d18d583571
--- /dev/null
+++ b/Lang/REXX/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Price-fraction b/Lang/REXX/Price-fraction
new file mode 120000
index 0000000000..c850746155
--- /dev/null
+++ b/Lang/REXX/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Primality-by-trial-division b/Lang/REXX/Primality-by-trial-division
new file mode 120000
index 0000000000..3a2e0efd62
--- /dev/null
+++ b/Lang/REXX/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Prime-decomposition b/Lang/REXX/Prime-decomposition
new file mode 120000
index 0000000000..3911d179ca
--- /dev/null
+++ b/Lang/REXX/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Probabilistic-choice b/Lang/REXX/Probabilistic-choice
new file mode 120000
index 0000000000..1867d1d050
--- /dev/null
+++ b/Lang/REXX/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Problem-of-Apollonius b/Lang/REXX/Problem-of-Apollonius
new file mode 120000
index 0000000000..151a8cf715
--- /dev/null
+++ b/Lang/REXX/Problem-of-Apollonius
@@ -0,0 +1 @@
+../../Task/Problem-of-Apollonius/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Program-name b/Lang/REXX/Program-name
new file mode 120000
index 0000000000..4d7a0e7a41
--- /dev/null
+++ b/Lang/REXX/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Program-termination b/Lang/REXX/Program-termination
new file mode 120000
index 0000000000..10cae02417
--- /dev/null
+++ b/Lang/REXX/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Pythagorean-triples b/Lang/REXX/Pythagorean-triples
new file mode 120000
index 0000000000..21832243f3
--- /dev/null
+++ b/Lang/REXX/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Quaternion-type b/Lang/REXX/Quaternion-type
new file mode 120000
index 0000000000..18e452fac4
--- /dev/null
+++ b/Lang/REXX/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Queue-Definition b/Lang/REXX/Queue-Definition
new file mode 120000
index 0000000000..9ec61358b8
--- /dev/null
+++ b/Lang/REXX/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Queue-Usage b/Lang/REXX/Queue-Usage
new file mode 120000
index 0000000000..1432dca3e5
--- /dev/null
+++ b/Lang/REXX/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Random-number-generator--device- b/Lang/REXX/Random-number-generator--device-
new file mode 120000
index 0000000000..d9e045e435
--- /dev/null
+++ b/Lang/REXX/Random-number-generator--device-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--device-/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Random-numbers b/Lang/REXX/Random-numbers
new file mode 120000
index 0000000000..2a4fa79539
--- /dev/null
+++ b/Lang/REXX/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Range-expansion b/Lang/REXX/Range-expansion
new file mode 120000
index 0000000000..dd5e1cc362
--- /dev/null
+++ b/Lang/REXX/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Range-extraction b/Lang/REXX/Range-extraction
new file mode 120000
index 0000000000..c73915776d
--- /dev/null
+++ b/Lang/REXX/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Rate-counter b/Lang/REXX/Rate-counter
new file mode 120000
index 0000000000..408b5ff0d2
--- /dev/null
+++ b/Lang/REXX/Rate-counter
@@ -0,0 +1 @@
+../../Task/Rate-counter/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Ray-casting-algorithm b/Lang/REXX/Ray-casting-algorithm
new file mode 120000
index 0000000000..b2e933a356
--- /dev/null
+++ b/Lang/REXX/Ray-casting-algorithm
@@ -0,0 +1 @@
+../../Task/Ray-casting-algorithm/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Read-a-configuration-file b/Lang/REXX/Read-a-configuration-file
new file mode 120000
index 0000000000..6ec2b0918e
--- /dev/null
+++ b/Lang/REXX/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Read-a-file-line-by-line b/Lang/REXX/Read-a-file-line-by-line
new file mode 120000
index 0000000000..7ad6a6344d
--- /dev/null
+++ b/Lang/REXX/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Read-a-specific-line-from-a-file b/Lang/REXX/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..de97f25830
--- /dev/null
+++ b/Lang/REXX/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Read-entire-file b/Lang/REXX/Read-entire-file
new file mode 120000
index 0000000000..097147f3c7
--- /dev/null
+++ b/Lang/REXX/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Real-constants-and-functions b/Lang/REXX/Real-constants-and-functions
new file mode 120000
index 0000000000..c00ba2a683
--- /dev/null
+++ b/Lang/REXX/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Reduced-row-echelon-form b/Lang/REXX/Reduced-row-echelon-form
new file mode 120000
index 0000000000..e6cdf46da5
--- /dev/null
+++ b/Lang/REXX/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Regular-expressions b/Lang/REXX/Regular-expressions
new file mode 120000
index 0000000000..36c1d2296c
--- /dev/null
+++ b/Lang/REXX/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Remove-duplicate-elements b/Lang/REXX/Remove-duplicate-elements
new file mode 120000
index 0000000000..7a52b1c102
--- /dev/null
+++ b/Lang/REXX/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Remove-lines-from-a-file b/Lang/REXX/Remove-lines-from-a-file
new file mode 120000
index 0000000000..7d42e53ef4
--- /dev/null
+++ b/Lang/REXX/Remove-lines-from-a-file
@@ -0,0 +1 @@
+../../Task/Remove-lines-from-a-file/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Rename-a-file b/Lang/REXX/Rename-a-file
new file mode 120000
index 0000000000..ff6fd28b40
--- /dev/null
+++ b/Lang/REXX/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Repeat-a-string b/Lang/REXX/Repeat-a-string
new file mode 120000
index 0000000000..4ab11f95c8
--- /dev/null
+++ b/Lang/REXX/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Resistor-mesh b/Lang/REXX/Resistor-mesh
new file mode 120000
index 0000000000..6175984644
--- /dev/null
+++ b/Lang/REXX/Resistor-mesh
@@ -0,0 +1 @@
+../../Task/Resistor-mesh/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Return-multiple-values b/Lang/REXX/Return-multiple-values
new file mode 120000
index 0000000000..d48d47ff2f
--- /dev/null
+++ b/Lang/REXX/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Reverse-a-string b/Lang/REXX/Reverse-a-string
new file mode 120000
index 0000000000..69dfe828c5
--- /dev/null
+++ b/Lang/REXX/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Roman-numerals-Decode b/Lang/REXX/Roman-numerals-Decode
new file mode 120000
index 0000000000..7bca66c963
--- /dev/null
+++ b/Lang/REXX/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Roman-numerals-Encode b/Lang/REXX/Roman-numerals-Encode
new file mode 120000
index 0000000000..cf96bd2d84
--- /dev/null
+++ b/Lang/REXX/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Roots-of-a-function b/Lang/REXX/Roots-of-a-function
new file mode 120000
index 0000000000..3072b53e7e
--- /dev/null
+++ b/Lang/REXX/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Roots-of-a-quadratic-function b/Lang/REXX/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..2b09a8415c
--- /dev/null
+++ b/Lang/REXX/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Roots-of-unity b/Lang/REXX/Roots-of-unity
new file mode 120000
index 0000000000..37cb34034d
--- /dev/null
+++ b/Lang/REXX/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Rosetta-Code-Fix-code-tags b/Lang/REXX/Rosetta-Code-Fix-code-tags
new file mode 120000
index 0000000000..e17cd45332
--- /dev/null
+++ b/Lang/REXX/Rosetta-Code-Fix-code-tags
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Fix-code-tags/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Rosetta-Code-Rank-languages-by-popularity b/Lang/REXX/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..0a03be6588
--- /dev/null
+++ b/Lang/REXX/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Rot-13 b/Lang/REXX/Rot-13
new file mode 120000
index 0000000000..f8b25d02db
--- /dev/null
+++ b/Lang/REXX/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Run-length-encoding b/Lang/REXX/Run-length-encoding
new file mode 120000
index 0000000000..c1d2b3b1ba
--- /dev/null
+++ b/Lang/REXX/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Runtime-evaluation b/Lang/REXX/Runtime-evaluation
new file mode 120000
index 0000000000..466cad95fa
--- /dev/null
+++ b/Lang/REXX/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Runtime-evaluation-In-an-environment b/Lang/REXX/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..d310345e24
--- /dev/null
+++ b/Lang/REXX/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/REXX
\ No newline at end of file
diff --git a/Lang/REXX/S-Expressions b/Lang/REXX/S-Expressions
new file mode 120000
index 0000000000..91fff3c782
--- /dev/null
+++ b/Lang/REXX/S-Expressions
@@ -0,0 +1 @@
+../../Task/S-Expressions/REXX
\ No newline at end of file
diff --git a/Lang/REXX/SEDOLs b/Lang/REXX/SEDOLs
new file mode 120000
index 0000000000..8beff02726
--- /dev/null
+++ b/Lang/REXX/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Safe-addition b/Lang/REXX/Safe-addition
new file mode 120000
index 0000000000..9b8f43514e
--- /dev/null
+++ b/Lang/REXX/Safe-addition
@@ -0,0 +1 @@
+../../Task/Safe-addition/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Same-Fringe b/Lang/REXX/Same-Fringe
new file mode 120000
index 0000000000..1b84770878
--- /dev/null
+++ b/Lang/REXX/Same-Fringe
@@ -0,0 +1 @@
+../../Task/Same-Fringe/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Scope-Function-names-and-labels b/Lang/REXX/Scope-Function-names-and-labels
new file mode 120000
index 0000000000..28e84caf4e
--- /dev/null
+++ b/Lang/REXX/Scope-Function-names-and-labels
@@ -0,0 +1 @@
+../../Task/Scope-Function-names-and-labels/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Scope-modifiers b/Lang/REXX/Scope-modifiers
new file mode 120000
index 0000000000..d8721ed9b7
--- /dev/null
+++ b/Lang/REXX/Scope-modifiers
@@ -0,0 +1 @@
+../../Task/Scope-modifiers/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Self-describing-numbers b/Lang/REXX/Self-describing-numbers
new file mode 120000
index 0000000000..4225b28b97
--- /dev/null
+++ b/Lang/REXX/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Self-referential-sequence b/Lang/REXX/Self-referential-sequence
new file mode 120000
index 0000000000..c02f1069be
--- /dev/null
+++ b/Lang/REXX/Self-referential-sequence
@@ -0,0 +1 @@
+../../Task/Self-referential-sequence/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Semordnilap b/Lang/REXX/Semordnilap
new file mode 120000
index 0000000000..200fec0cc9
--- /dev/null
+++ b/Lang/REXX/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Sequence-of-non-squares b/Lang/REXX/Sequence-of-non-squares
new file mode 120000
index 0000000000..90f760ada6
--- /dev/null
+++ b/Lang/REXX/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Set b/Lang/REXX/Set
new file mode 120000
index 0000000000..42041aceac
--- /dev/null
+++ b/Lang/REXX/Set
@@ -0,0 +1 @@
+../../Task/Set/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Set-consolidation b/Lang/REXX/Set-consolidation
new file mode 120000
index 0000000000..08e5b64a30
--- /dev/null
+++ b/Lang/REXX/Set-consolidation
@@ -0,0 +1 @@
+../../Task/Set-consolidation/REXX
\ No newline at end of file
diff --git a/Lang/REXX/Set-of-real-numbers b/Lang/REXX/Set-of-real-numbers
new file mode 120000
index 0000000000..dc6723fe81
--- /dev/null
+++ b/Lang/REXX/Set-of-real-numbers
@@ -0,0 +1 @@
+../../Task/Set-of-real-numbers/REXX
\ No newline at end of file
diff --git a/Lang/RLaB/Copy-a-string b/Lang/RLaB/Copy-a-string
new file mode 120000
index 0000000000..cf75dd8386
--- /dev/null
+++ b/Lang/RLaB/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/RLaB
\ No newline at end of file
diff --git a/Lang/RLaB/Real-constants-and-functions b/Lang/RLaB/Real-constants-and-functions
new file mode 120000
index 0000000000..5721033435
--- /dev/null
+++ b/Lang/RLaB/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/RLaB
\ No newline at end of file
diff --git a/Lang/RLaB/Reverse-a-string b/Lang/RLaB/Reverse-a-string
new file mode 120000
index 0000000000..e3aa30d8cd
--- /dev/null
+++ b/Lang/RLaB/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/RLaB
\ No newline at end of file
diff --git a/Lang/RLaB/Roots-of-a-function b/Lang/RLaB/Roots-of-a-function
new file mode 120000
index 0000000000..70fada4700
--- /dev/null
+++ b/Lang/RLaB/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/RLaB
\ No newline at end of file
diff --git a/Lang/RLaB/Roots-of-unity b/Lang/RLaB/Roots-of-unity
new file mode 120000
index 0000000000..47f9034e83
--- /dev/null
+++ b/Lang/RLaB/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/RLaB
\ No newline at end of file
diff --git a/Lang/Racket/Arbitrary-precision-integers--included- b/Lang/Racket/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..559cd2bf09
--- /dev/null
+++ b/Lang/Racket/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Arbitrary-precision-integers-included b/Lang/Racket/Arbitrary-precision-integers-included
deleted file mode 120000
index 6c3f0607cf..0000000000
--- a/Lang/Racket/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Binary-digits b/Lang/Racket/Binary-digits
new file mode 120000
index 0000000000..e49e4eb506
--- /dev/null
+++ b/Lang/Racket/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Catalan-numbers b/Lang/Racket/Catalan-numbers
new file mode 120000
index 0000000000..af60dd5e02
--- /dev/null
+++ b/Lang/Racket/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Dragon-curve b/Lang/Racket/Dragon-curve
new file mode 120000
index 0000000000..90b8ab370c
--- /dev/null
+++ b/Lang/Racket/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Environment-variables b/Lang/Racket/Environment-variables
new file mode 120000
index 0000000000..3fd627dc47
--- /dev/null
+++ b/Lang/Racket/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Named-parameters b/Lang/Racket/Named-parameters
new file mode 120000
index 0000000000..5cb0bee5b2
--- /dev/null
+++ b/Lang/Racket/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/Racket
\ No newline at end of file
diff --git a/Lang/Racket/OpenGL b/Lang/Racket/OpenGL
new file mode 120000
index 0000000000..2a0836c4a5
--- /dev/null
+++ b/Lang/Racket/OpenGL
@@ -0,0 +1 @@
+../../Task/OpenGL/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Optional-parameters b/Lang/Racket/Optional-parameters
new file mode 120000
index 0000000000..16be2757fb
--- /dev/null
+++ b/Lang/Racket/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Palindrome-detection b/Lang/Racket/Palindrome-detection
new file mode 120000
index 0000000000..e8d03fdc55
--- /dev/null
+++ b/Lang/Racket/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Parametric-polymorphism b/Lang/Racket/Parametric-polymorphism
new file mode 120000
index 0000000000..ca3dd1224e
--- /dev/null
+++ b/Lang/Racket/Parametric-polymorphism
@@ -0,0 +1 @@
+../../Task/Parametric-polymorphism/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Partial-function-application b/Lang/Racket/Partial-function-application
new file mode 120000
index 0000000000..627e9d622c
--- /dev/null
+++ b/Lang/Racket/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Pascals-triangle b/Lang/Racket/Pascals-triangle
new file mode 120000
index 0000000000..fd8717c37e
--- /dev/null
+++ b/Lang/Racket/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Pattern-matching b/Lang/Racket/Pattern-matching
new file mode 120000
index 0000000000..ba978936b2
--- /dev/null
+++ b/Lang/Racket/Pattern-matching
@@ -0,0 +1 @@
+../../Task/Pattern-matching/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Playing-cards b/Lang/Racket/Playing-cards
new file mode 120000
index 0000000000..86966428f7
--- /dev/null
+++ b/Lang/Racket/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Power-set b/Lang/Racket/Power-set
new file mode 120000
index 0000000000..fa1f6c5976
--- /dev/null
+++ b/Lang/Racket/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Program-name b/Lang/Racket/Program-name
new file mode 120000
index 0000000000..42d59ab93f
--- /dev/null
+++ b/Lang/Racket/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Range-expansion b/Lang/Racket/Range-expansion
new file mode 120000
index 0000000000..5a9864d5f9
--- /dev/null
+++ b/Lang/Racket/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Ray-casting-algorithm b/Lang/Racket/Ray-casting-algorithm
new file mode 120000
index 0000000000..5663de4cc7
--- /dev/null
+++ b/Lang/Racket/Ray-casting-algorithm
@@ -0,0 +1 @@
+../../Task/Ray-casting-algorithm/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Read-a-file-line-by-line b/Lang/Racket/Read-a-file-line-by-line
new file mode 120000
index 0000000000..352f8c34c5
--- /dev/null
+++ b/Lang/Racket/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Read-entire-file b/Lang/Racket/Read-entire-file
new file mode 120000
index 0000000000..4b78264aec
--- /dev/null
+++ b/Lang/Racket/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Real-constants-and-functions b/Lang/Racket/Real-constants-and-functions
new file mode 120000
index 0000000000..2a086e840a
--- /dev/null
+++ b/Lang/Racket/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Reduced-row-echelon-form b/Lang/Racket/Reduced-row-echelon-form
new file mode 120000
index 0000000000..7d76d31716
--- /dev/null
+++ b/Lang/Racket/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Regular-expressions b/Lang/Racket/Regular-expressions
new file mode 120000
index 0000000000..613fb3e6bf
--- /dev/null
+++ b/Lang/Racket/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Rename-a-file b/Lang/Racket/Rename-a-file
new file mode 120000
index 0000000000..41ea094e16
--- /dev/null
+++ b/Lang/Racket/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Repeat-a-string b/Lang/Racket/Repeat-a-string
new file mode 120000
index 0000000000..74a0b1421c
--- /dev/null
+++ b/Lang/Racket/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Reverse-a-string b/Lang/Racket/Reverse-a-string
new file mode 120000
index 0000000000..79e64205cd
--- /dev/null
+++ b/Lang/Racket/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Roots-of-unity b/Lang/Racket/Roots-of-unity
new file mode 120000
index 0000000000..a278babe08
--- /dev/null
+++ b/Lang/Racket/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Rosetta-Code-Rank-languages-by-popularity b/Lang/Racket/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..aeb304d9d7
--- /dev/null
+++ b/Lang/Racket/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Rot-13 b/Lang/Racket/Rot-13
new file mode 120000
index 0000000000..8d244e3704
--- /dev/null
+++ b/Lang/Racket/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Racket
\ No newline at end of file
diff --git a/Lang/Racket/S-Expressions b/Lang/Racket/S-Expressions
new file mode 120000
index 0000000000..b9f6e46da7
--- /dev/null
+++ b/Lang/Racket/S-Expressions
@@ -0,0 +1 @@
+../../Task/S-Expressions/Racket
\ No newline at end of file
diff --git a/Lang/Racket/SEDOLs b/Lang/Racket/SEDOLs
new file mode 120000
index 0000000000..7775cc1d21
--- /dev/null
+++ b/Lang/Racket/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Same-Fringe b/Lang/Racket/Same-Fringe
new file mode 120000
index 0000000000..fc1bbb9e8b
--- /dev/null
+++ b/Lang/Racket/Same-Fringe
@@ -0,0 +1 @@
+../../Task/Same-Fringe/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Secure-temporary-file b/Lang/Racket/Secure-temporary-file
new file mode 120000
index 0000000000..580a7ae9f8
--- /dev/null
+++ b/Lang/Racket/Secure-temporary-file
@@ -0,0 +1 @@
+../../Task/Secure-temporary-file/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Send-email b/Lang/Racket/Send-email
new file mode 120000
index 0000000000..75737d75c4
--- /dev/null
+++ b/Lang/Racket/Send-email
@@ -0,0 +1 @@
+../../Task/Send-email/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Sequence-of-non-squares b/Lang/Racket/Sequence-of-non-squares
new file mode 120000
index 0000000000..5ef7338916
--- /dev/null
+++ b/Lang/Racket/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Racket
\ No newline at end of file
diff --git a/Lang/Racket/Set b/Lang/Racket/Set
new file mode 120000
index 0000000000..6f0e7b7b70
--- /dev/null
+++ b/Lang/Racket/Set
@@ -0,0 +1 @@
+../../Task/Set/Racket
\ No newline at end of file
diff --git a/Lang/RapidQ/Dragon-curve b/Lang/RapidQ/Dragon-curve
new file mode 120000
index 0000000000..159dfbfd18
--- /dev/null
+++ b/Lang/RapidQ/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/RapidQ
\ No newline at end of file
diff --git a/Lang/RapidQ/Pascals-triangle b/Lang/RapidQ/Pascals-triangle
new file mode 120000
index 0000000000..20fbee861a
--- /dev/null
+++ b/Lang/RapidQ/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/RapidQ
\ No newline at end of file
diff --git a/Lang/Rascal/N-queens-problem b/Lang/Rascal/N-queens-problem
new file mode 120000
index 0000000000..e99dc38088
--- /dev/null
+++ b/Lang/Rascal/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Rascal
\ No newline at end of file
diff --git a/Lang/Rascal/Number-reversal-game b/Lang/Rascal/Number-reversal-game
new file mode 120000
index 0000000000..cc686eb3ca
--- /dev/null
+++ b/Lang/Rascal/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/Rascal
\ No newline at end of file
diff --git a/Lang/Rascal/Order-two-numerical-lists b/Lang/Rascal/Order-two-numerical-lists
new file mode 120000
index 0000000000..7a7d271f91
--- /dev/null
+++ b/Lang/Rascal/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/Rascal
\ No newline at end of file
diff --git a/Lang/Rascal/Palindrome-detection b/Lang/Rascal/Palindrome-detection
new file mode 120000
index 0000000000..1a318a960c
--- /dev/null
+++ b/Lang/Rascal/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Rascal
\ No newline at end of file
diff --git a/Lang/Rascal/Pattern-matching b/Lang/Rascal/Pattern-matching
new file mode 120000
index 0000000000..0af64220f6
--- /dev/null
+++ b/Lang/Rascal/Pattern-matching
@@ -0,0 +1 @@
+../../Task/Pattern-matching/Rascal
\ No newline at end of file
diff --git a/Lang/Rascal/Power-set b/Lang/Rascal/Power-set
new file mode 120000
index 0000000000..116b742efa
--- /dev/null
+++ b/Lang/Rascal/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Rascal
\ No newline at end of file
diff --git a/Lang/Rascal/QR-decomposition b/Lang/Rascal/QR-decomposition
new file mode 120000
index 0000000000..7c9dd649b2
--- /dev/null
+++ b/Lang/Rascal/QR-decomposition
@@ -0,0 +1 @@
+../../Task/QR-decomposition/Rascal
\ No newline at end of file
diff --git a/Lang/Rascal/Random-number-generator--included- b/Lang/Rascal/Random-number-generator--included-
new file mode 120000
index 0000000000..d3d563c4db
--- /dev/null
+++ b/Lang/Rascal/Random-number-generator--included-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--included-/Rascal
\ No newline at end of file
diff --git a/Lang/Rascal/Reverse-a-string b/Lang/Rascal/Reverse-a-string
new file mode 120000
index 0000000000..b0ec38fd36
--- /dev/null
+++ b/Lang/Rascal/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Rascal
\ No newline at end of file
diff --git a/Lang/Rascal/Rock-paper-scissors b/Lang/Rascal/Rock-paper-scissors
new file mode 120000
index 0000000000..46cc7556ec
--- /dev/null
+++ b/Lang/Rascal/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/Rascal
\ No newline at end of file
diff --git a/Lang/Raven/Copy-a-string b/Lang/Raven/Copy-a-string
new file mode 120000
index 0000000000..4a40da245c
--- /dev/null
+++ b/Lang/Raven/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Raven
\ No newline at end of file
diff --git a/Lang/Raven/Regular-expressions b/Lang/Raven/Regular-expressions
new file mode 120000
index 0000000000..e69e5f6e39
--- /dev/null
+++ b/Lang/Raven/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Raven
\ No newline at end of file
diff --git a/Lang/Raven/Remove-duplicate-elements b/Lang/Raven/Remove-duplicate-elements
new file mode 120000
index 0000000000..5f55e817e9
--- /dev/null
+++ b/Lang/Raven/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Raven
\ No newline at end of file
diff --git a/Lang/Retro/Binary-digits b/Lang/Retro/Binary-digits
new file mode 120000
index 0000000000..324e8b5cf1
--- /dev/null
+++ b/Lang/Retro/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Retro
\ No newline at end of file
diff --git a/Lang/Retro/Copy-a-string b/Lang/Retro/Copy-a-string
new file mode 120000
index 0000000000..3380283f7b
--- /dev/null
+++ b/Lang/Retro/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Retro
\ No newline at end of file
diff --git a/Lang/Retro/Environment-variables b/Lang/Retro/Environment-variables
new file mode 120000
index 0000000000..3e1944e79e
--- /dev/null
+++ b/Lang/Retro/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Retro
\ No newline at end of file
diff --git a/Lang/Retro/One-dimensional-cellular-automata b/Lang/Retro/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..6031fc86a0
--- /dev/null
+++ b/Lang/Retro/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Retro
\ No newline at end of file
diff --git a/Lang/Retro/Palindrome-detection b/Lang/Retro/Palindrome-detection
new file mode 120000
index 0000000000..dcd02004e3
--- /dev/null
+++ b/Lang/Retro/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Retro
\ No newline at end of file
diff --git a/Lang/Retro/Pangram-checker b/Lang/Retro/Pangram-checker
new file mode 120000
index 0000000000..920b580086
--- /dev/null
+++ b/Lang/Retro/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Retro
\ No newline at end of file
diff --git a/Lang/Retro/Pascals-triangle b/Lang/Retro/Pascals-triangle
new file mode 120000
index 0000000000..191118546a
--- /dev/null
+++ b/Lang/Retro/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Retro
\ No newline at end of file
diff --git a/Lang/Retro/Program-termination b/Lang/Retro/Program-termination
new file mode 120000
index 0000000000..c60bf42b0d
--- /dev/null
+++ b/Lang/Retro/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Retro
\ No newline at end of file
diff --git a/Lang/Retro/Read-entire-file b/Lang/Retro/Read-entire-file
new file mode 120000
index 0000000000..c008614eda
--- /dev/null
+++ b/Lang/Retro/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Retro
\ No newline at end of file
diff --git a/Lang/Retro/Repeat-a-string b/Lang/Retro/Repeat-a-string
new file mode 120000
index 0000000000..f28e856665
--- /dev/null
+++ b/Lang/Retro/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Retro
\ No newline at end of file
diff --git a/Lang/Retro/Return-multiple-values b/Lang/Retro/Return-multiple-values
new file mode 120000
index 0000000000..3e28fb0d34
--- /dev/null
+++ b/Lang/Retro/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Retro
\ No newline at end of file
diff --git a/Lang/Retro/Reverse-a-string b/Lang/Retro/Reverse-a-string
new file mode 120000
index 0000000000..0a403db433
--- /dev/null
+++ b/Lang/Retro/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Retro
\ No newline at end of file
diff --git a/Lang/Retro/Roman-numerals-Encode b/Lang/Retro/Roman-numerals-Encode
new file mode 120000
index 0000000000..40a434963d
--- /dev/null
+++ b/Lang/Retro/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Retro
\ No newline at end of file
diff --git a/Lang/Retro/Rot-13 b/Lang/Retro/Rot-13
new file mode 120000
index 0000000000..1c48c8caa9
--- /dev/null
+++ b/Lang/Retro/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Retro
\ No newline at end of file
diff --git a/Lang/Ruby/Arbitrary-precision-integers--included- b/Lang/Ruby/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..ad485bc0e9
--- /dev/null
+++ b/Lang/Ruby/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Arbitrary-precision-integers-included b/Lang/Ruby/Arbitrary-precision-integers-included
deleted file mode 120000
index 565a808afb..0000000000
--- a/Lang/Ruby/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Binary-digits b/Lang/Ruby/Binary-digits
new file mode 120000
index 0000000000..29996e3029
--- /dev/null
+++ b/Lang/Ruby/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Brownian-tree b/Lang/Ruby/Brownian-tree
new file mode 120000
index 0000000000..1e23df17e1
--- /dev/null
+++ b/Lang/Ruby/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Calendar---for-real-programmers b/Lang/Ruby/Calendar---for-real-programmers
new file mode 120000
index 0000000000..15df2b5f1b
--- /dev/null
+++ b/Lang/Ruby/Calendar---for-real-programmers
@@ -0,0 +1 @@
+../../Task/Calendar---for-real-programmers/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Calendar-for-real-programmers b/Lang/Ruby/Calendar-for-real-programmers
deleted file mode 120000
index 3da8978d69..0000000000
--- a/Lang/Ruby/Calendar-for-real-programmers
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Calendar-for-real-programmers/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Catalan-numbers b/Lang/Ruby/Catalan-numbers
new file mode 120000
index 0000000000..6812496e61
--- /dev/null
+++ b/Lang/Ruby/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N b/Lang/Ruby/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N
deleted file mode 120000
index 2e751f5f43..0000000000
--- a/Lang/Ruby/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N- b/Lang/Ruby/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-
new file mode 120000
index 0000000000..385d87387a
--- /dev/null
+++ b/Lang/Ruby/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Copy-a-string b/Lang/Ruby/Copy-a-string
new file mode 120000
index 0000000000..7d9ed18c4b
--- /dev/null
+++ b/Lang/Ruby/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Dragon-curve b/Lang/Ruby/Dragon-curve
new file mode 120000
index 0000000000..186e9fb3ef
--- /dev/null
+++ b/Lang/Ruby/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Environment-variables b/Lang/Ruby/Environment-variables
new file mode 120000
index 0000000000..4f8468ad3d
--- /dev/null
+++ b/Lang/Ruby/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Execute-a-Markov-algorithm b/Lang/Ruby/Execute-a-Markov-algorithm
new file mode 120000
index 0000000000..e0f557e8a6
--- /dev/null
+++ b/Lang/Ruby/Execute-a-Markov-algorithm
@@ -0,0 +1 @@
+../../Task/Execute-a-Markov-algorithm/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Guess-the-number-With-feedback--player- b/Lang/Ruby/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..dc31f3c802
--- /dev/null
+++ b/Lang/Ruby/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Guess-the-number-With-feedback-player b/Lang/Ruby/Guess-the-number-With-feedback-player
deleted file mode 120000
index 821cc0809f..0000000000
--- a/Lang/Ruby/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/N-queens-problem b/Lang/Ruby/N-queens-problem
new file mode 120000
index 0000000000..89f15b293c
--- /dev/null
+++ b/Lang/Ruby/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Named-parameters b/Lang/Ruby/Named-parameters
new file mode 120000
index 0000000000..f9becde6b1
--- /dev/null
+++ b/Lang/Ruby/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Non-continuous-subsequences b/Lang/Ruby/Non-continuous-subsequences
new file mode 120000
index 0000000000..553ba253d5
--- /dev/null
+++ b/Lang/Ruby/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Non-decimal-radices-Convert b/Lang/Ruby/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..be4e4de90c
--- /dev/null
+++ b/Lang/Ruby/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Non-decimal-radices-Input b/Lang/Ruby/Non-decimal-radices-Input
new file mode 120000
index 0000000000..3163599893
--- /dev/null
+++ b/Lang/Ruby/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Non-decimal-radices-Output b/Lang/Ruby/Non-decimal-radices-Output
new file mode 120000
index 0000000000..4ca7cf0c1c
--- /dev/null
+++ b/Lang/Ruby/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Nth-root b/Lang/Ruby/Nth-root
new file mode 120000
index 0000000000..639f33f0a3
--- /dev/null
+++ b/Lang/Ruby/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Null-object b/Lang/Ruby/Null-object
new file mode 120000
index 0000000000..2f7dc1adbd
--- /dev/null
+++ b/Lang/Ruby/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Number-names b/Lang/Ruby/Number-names
new file mode 120000
index 0000000000..d742466311
--- /dev/null
+++ b/Lang/Ruby/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Number-reversal-game b/Lang/Ruby/Number-reversal-game
new file mode 120000
index 0000000000..97556b6739
--- /dev/null
+++ b/Lang/Ruby/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Numeric-error-propagation b/Lang/Ruby/Numeric-error-propagation
new file mode 120000
index 0000000000..3310d094c7
--- /dev/null
+++ b/Lang/Ruby/Numeric-error-propagation
@@ -0,0 +1 @@
+../../Task/Numeric-error-propagation/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Numerical-integration b/Lang/Ruby/Numerical-integration
new file mode 120000
index 0000000000..b0dbb34ab4
--- /dev/null
+++ b/Lang/Ruby/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Object-serialization b/Lang/Ruby/Object-serialization
new file mode 120000
index 0000000000..7b4130f73f
--- /dev/null
+++ b/Lang/Ruby/Object-serialization
@@ -0,0 +1 @@
+../../Task/Object-serialization/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/One-dimensional-cellular-automata b/Lang/Ruby/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..9df8fbd920
--- /dev/null
+++ b/Lang/Ruby/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/One-of-n-lines-in-a-file b/Lang/Ruby/One-of-n-lines-in-a-file
new file mode 120000
index 0000000000..f33dd8afd7
--- /dev/null
+++ b/Lang/Ruby/One-of-n-lines-in-a-file
@@ -0,0 +1 @@
+../../Task/One-of-n-lines-in-a-file/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/OpenGL b/Lang/Ruby/OpenGL
new file mode 120000
index 0000000000..0e10686755
--- /dev/null
+++ b/Lang/Ruby/OpenGL
@@ -0,0 +1 @@
+../../Task/OpenGL/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Optional-parameters b/Lang/Ruby/Optional-parameters
new file mode 120000
index 0000000000..e20e472f66
--- /dev/null
+++ b/Lang/Ruby/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Order-two-numerical-lists b/Lang/Ruby/Order-two-numerical-lists
new file mode 120000
index 0000000000..66200e844a
--- /dev/null
+++ b/Lang/Ruby/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Palindrome-detection b/Lang/Ruby/Palindrome-detection
new file mode 120000
index 0000000000..dc5fcf1b7a
--- /dev/null
+++ b/Lang/Ruby/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Pangram-checker b/Lang/Ruby/Pangram-checker
new file mode 120000
index 0000000000..473b8a9db8
--- /dev/null
+++ b/Lang/Ruby/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Parametrized-SQL-statement b/Lang/Ruby/Parametrized-SQL-statement
new file mode 120000
index 0000000000..ec341ad0a1
--- /dev/null
+++ b/Lang/Ruby/Parametrized-SQL-statement
@@ -0,0 +1 @@
+../../Task/Parametrized-SQL-statement/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Parsing-RPN-calculator-algorithm b/Lang/Ruby/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..0359b2d963
--- /dev/null
+++ b/Lang/Ruby/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Parsing-RPN-to-infix-conversion b/Lang/Ruby/Parsing-RPN-to-infix-conversion
new file mode 120000
index 0000000000..8a8f58af70
--- /dev/null
+++ b/Lang/Ruby/Parsing-RPN-to-infix-conversion
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-to-infix-conversion/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Parsing-Shunting-yard-algorithm b/Lang/Ruby/Parsing-Shunting-yard-algorithm
new file mode 120000
index 0000000000..4bd21fb660
--- /dev/null
+++ b/Lang/Ruby/Parsing-Shunting-yard-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-Shunting-yard-algorithm/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Partial-function-application b/Lang/Ruby/Partial-function-application
new file mode 120000
index 0000000000..6c19a09363
--- /dev/null
+++ b/Lang/Ruby/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Pascals-triangle b/Lang/Ruby/Pascals-triangle
new file mode 120000
index 0000000000..2c82746eca
--- /dev/null
+++ b/Lang/Ruby/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Pascals-triangle-Puzzle b/Lang/Ruby/Pascals-triangle-Puzzle
new file mode 120000
index 0000000000..7ddc7f38a8
--- /dev/null
+++ b/Lang/Ruby/Pascals-triangle-Puzzle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle-Puzzle/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Percentage-difference-between-images b/Lang/Ruby/Percentage-difference-between-images
new file mode 120000
index 0000000000..6e6f0cec84
--- /dev/null
+++ b/Lang/Ruby/Percentage-difference-between-images
@@ -0,0 +1 @@
+../../Task/Percentage-difference-between-images/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Perfect-numbers b/Lang/Ruby/Perfect-numbers
new file mode 120000
index 0000000000..b5421cbdc5
--- /dev/null
+++ b/Lang/Ruby/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Permutations b/Lang/Ruby/Permutations
new file mode 120000
index 0000000000..83016d47b9
--- /dev/null
+++ b/Lang/Ruby/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Permutations-Derangements b/Lang/Ruby/Permutations-Derangements
new file mode 120000
index 0000000000..4cbb96febf
--- /dev/null
+++ b/Lang/Ruby/Permutations-Derangements
@@ -0,0 +1 @@
+../../Task/Permutations-Derangements/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Pick-random-element b/Lang/Ruby/Pick-random-element
new file mode 120000
index 0000000000..ab2c1f4c23
--- /dev/null
+++ b/Lang/Ruby/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Pig-the-dice-game b/Lang/Ruby/Pig-the-dice-game
new file mode 120000
index 0000000000..5f289bbcb3
--- /dev/null
+++ b/Lang/Ruby/Pig-the-dice-game
@@ -0,0 +1 @@
+../../Task/Pig-the-dice-game/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Play-recorded-sounds b/Lang/Ruby/Play-recorded-sounds
new file mode 120000
index 0000000000..afbec1f431
--- /dev/null
+++ b/Lang/Ruby/Play-recorded-sounds
@@ -0,0 +1 @@
+../../Task/Play-recorded-sounds/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Playing-cards b/Lang/Ruby/Playing-cards
new file mode 120000
index 0000000000..b994fea228
--- /dev/null
+++ b/Lang/Ruby/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Plot-coordinate-pairs b/Lang/Ruby/Plot-coordinate-pairs
new file mode 120000
index 0000000000..c348107f3b
--- /dev/null
+++ b/Lang/Ruby/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Polymorphic-copy b/Lang/Ruby/Polymorphic-copy
new file mode 120000
index 0000000000..20a886e17f
--- /dev/null
+++ b/Lang/Ruby/Polymorphic-copy
@@ -0,0 +1 @@
+../../Task/Polymorphic-copy/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Polymorphism b/Lang/Ruby/Polymorphism
new file mode 120000
index 0000000000..f4f4d36ee6
--- /dev/null
+++ b/Lang/Ruby/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Polynomial-long-division b/Lang/Ruby/Polynomial-long-division
new file mode 120000
index 0000000000..57c5672ddb
--- /dev/null
+++ b/Lang/Ruby/Polynomial-long-division
@@ -0,0 +1 @@
+../../Task/Polynomial-long-division/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Polynomial-regression b/Lang/Ruby/Polynomial-regression
new file mode 120000
index 0000000000..0de9cc263e
--- /dev/null
+++ b/Lang/Ruby/Polynomial-regression
@@ -0,0 +1 @@
+../../Task/Polynomial-regression/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Power-set b/Lang/Ruby/Power-set
new file mode 120000
index 0000000000..13a7be4ca8
--- /dev/null
+++ b/Lang/Ruby/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Price-fraction b/Lang/Ruby/Price-fraction
new file mode 120000
index 0000000000..08cd34ffc5
--- /dev/null
+++ b/Lang/Ruby/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Primality-by-trial-division b/Lang/Ruby/Primality-by-trial-division
new file mode 120000
index 0000000000..e4fec3721f
--- /dev/null
+++ b/Lang/Ruby/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Prime-decomposition b/Lang/Ruby/Prime-decomposition
new file mode 120000
index 0000000000..c25a7d54c6
--- /dev/null
+++ b/Lang/Ruby/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Priority-queue b/Lang/Ruby/Priority-queue
new file mode 120000
index 0000000000..59f81bf69b
--- /dev/null
+++ b/Lang/Ruby/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Probabilistic-choice b/Lang/Ruby/Probabilistic-choice
new file mode 120000
index 0000000000..7c562f8c51
--- /dev/null
+++ b/Lang/Ruby/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Problem-of-Apollonius b/Lang/Ruby/Problem-of-Apollonius
new file mode 120000
index 0000000000..1d9b1c4e09
--- /dev/null
+++ b/Lang/Ruby/Problem-of-Apollonius
@@ -0,0 +1 @@
+../../Task/Problem-of-Apollonius/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Program-name b/Lang/Ruby/Program-name
new file mode 120000
index 0000000000..d1f1a912ac
--- /dev/null
+++ b/Lang/Ruby/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Program-termination b/Lang/Ruby/Program-termination
new file mode 120000
index 0000000000..aa1d97c2c5
--- /dev/null
+++ b/Lang/Ruby/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Pythagorean-triples b/Lang/Ruby/Pythagorean-triples
new file mode 120000
index 0000000000..50aa3fa9e0
--- /dev/null
+++ b/Lang/Ruby/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Quaternion-type b/Lang/Ruby/Quaternion-type
new file mode 120000
index 0000000000..c1af2a1904
--- /dev/null
+++ b/Lang/Ruby/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Queue-Definition b/Lang/Ruby/Queue-Definition
new file mode 120000
index 0000000000..756a9f4b98
--- /dev/null
+++ b/Lang/Ruby/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/RIPEMD-160 b/Lang/Ruby/RIPEMD-160
new file mode 120000
index 0000000000..e05e2993c9
--- /dev/null
+++ b/Lang/Ruby/RIPEMD-160
@@ -0,0 +1 @@
+../../Task/RIPEMD-160/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Random-number-generator--device- b/Lang/Ruby/Random-number-generator--device-
new file mode 120000
index 0000000000..7bbcac7841
--- /dev/null
+++ b/Lang/Ruby/Random-number-generator--device-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--device-/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Random-numbers b/Lang/Ruby/Random-numbers
new file mode 120000
index 0000000000..2faccb47f6
--- /dev/null
+++ b/Lang/Ruby/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Range-expansion b/Lang/Ruby/Range-expansion
new file mode 120000
index 0000000000..858894c401
--- /dev/null
+++ b/Lang/Ruby/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Range-extraction b/Lang/Ruby/Range-extraction
new file mode 120000
index 0000000000..e371f7a5f6
--- /dev/null
+++ b/Lang/Ruby/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Read-a-configuration-file b/Lang/Ruby/Read-a-configuration-file
new file mode 120000
index 0000000000..603e658ffc
--- /dev/null
+++ b/Lang/Ruby/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Read-a-file-line-by-line b/Lang/Ruby/Read-a-file-line-by-line
new file mode 120000
index 0000000000..d33ef4e91d
--- /dev/null
+++ b/Lang/Ruby/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Read-a-specific-line-from-a-file b/Lang/Ruby/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..de5b1e2a56
--- /dev/null
+++ b/Lang/Ruby/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Read-entire-file b/Lang/Ruby/Read-entire-file
new file mode 120000
index 0000000000..29a49c680f
--- /dev/null
+++ b/Lang/Ruby/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Real-constants-and-functions b/Lang/Ruby/Real-constants-and-functions
new file mode 120000
index 0000000000..0a5e252d03
--- /dev/null
+++ b/Lang/Ruby/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Reduced-row-echelon-form b/Lang/Ruby/Reduced-row-echelon-form
new file mode 120000
index 0000000000..a61e528b32
--- /dev/null
+++ b/Lang/Ruby/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Regular-expressions b/Lang/Ruby/Regular-expressions
new file mode 120000
index 0000000000..03a9c512fd
--- /dev/null
+++ b/Lang/Ruby/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Remove-duplicate-elements b/Lang/Ruby/Remove-duplicate-elements
new file mode 120000
index 0000000000..d10474bb57
--- /dev/null
+++ b/Lang/Ruby/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Remove-lines-from-a-file b/Lang/Ruby/Remove-lines-from-a-file
new file mode 120000
index 0000000000..ae710f1305
--- /dev/null
+++ b/Lang/Ruby/Remove-lines-from-a-file
@@ -0,0 +1 @@
+../../Task/Remove-lines-from-a-file/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Rename-a-file b/Lang/Ruby/Rename-a-file
new file mode 120000
index 0000000000..3733c3b4a7
--- /dev/null
+++ b/Lang/Ruby/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Repeat-a-string b/Lang/Ruby/Repeat-a-string
new file mode 120000
index 0000000000..e264804f48
--- /dev/null
+++ b/Lang/Ruby/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Respond-to-an-unknown-method-call b/Lang/Ruby/Respond-to-an-unknown-method-call
new file mode 120000
index 0000000000..8bbb2bfb37
--- /dev/null
+++ b/Lang/Ruby/Respond-to-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Respond-to-an-unknown-method-call/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Return-multiple-values b/Lang/Ruby/Return-multiple-values
new file mode 120000
index 0000000000..8d168f5bf9
--- /dev/null
+++ b/Lang/Ruby/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Reverse-a-string b/Lang/Ruby/Reverse-a-string
new file mode 120000
index 0000000000..5e1fa0249f
--- /dev/null
+++ b/Lang/Ruby/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Rock-paper-scissors b/Lang/Ruby/Rock-paper-scissors
new file mode 120000
index 0000000000..f9a73165b2
--- /dev/null
+++ b/Lang/Ruby/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Roman-numerals-Decode b/Lang/Ruby/Roman-numerals-Decode
new file mode 120000
index 0000000000..01c5d77497
--- /dev/null
+++ b/Lang/Ruby/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Roman-numerals-Encode b/Lang/Ruby/Roman-numerals-Encode
new file mode 120000
index 0000000000..45099bbd0c
--- /dev/null
+++ b/Lang/Ruby/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Roots-of-a-function b/Lang/Ruby/Roots-of-a-function
new file mode 120000
index 0000000000..69f1228a55
--- /dev/null
+++ b/Lang/Ruby/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Roots-of-a-quadratic-function b/Lang/Ruby/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..7dc502a99a
--- /dev/null
+++ b/Lang/Ruby/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Roots-of-unity b/Lang/Ruby/Roots-of-unity
new file mode 120000
index 0000000000..989e543f14
--- /dev/null
+++ b/Lang/Ruby/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Rosetta-Code-Count-examples b/Lang/Ruby/Rosetta-Code-Count-examples
new file mode 120000
index 0000000000..642419c6b7
--- /dev/null
+++ b/Lang/Ruby/Rosetta-Code-Count-examples
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Count-examples/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Rosetta-Code-Find-unimplemented-tasks b/Lang/Ruby/Rosetta-Code-Find-unimplemented-tasks
new file mode 120000
index 0000000000..88d0272e54
--- /dev/null
+++ b/Lang/Ruby/Rosetta-Code-Find-unimplemented-tasks
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Find-unimplemented-tasks/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Rosetta-Code-Fix-code-tags b/Lang/Ruby/Rosetta-Code-Fix-code-tags
new file mode 120000
index 0000000000..6864bf1ad2
--- /dev/null
+++ b/Lang/Ruby/Rosetta-Code-Fix-code-tags
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Fix-code-tags/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Rosetta-Code-Rank-languages-by-popularity b/Lang/Ruby/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..500910a8f3
--- /dev/null
+++ b/Lang/Ruby/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Rot-13 b/Lang/Ruby/Rot-13
new file mode 120000
index 0000000000..05af0cc4bb
--- /dev/null
+++ b/Lang/Ruby/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Run-length-encoding b/Lang/Ruby/Run-length-encoding
new file mode 120000
index 0000000000..334dadaef2
--- /dev/null
+++ b/Lang/Ruby/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Runtime-evaluation b/Lang/Ruby/Runtime-evaluation
new file mode 120000
index 0000000000..8ecbaf2f94
--- /dev/null
+++ b/Lang/Ruby/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Runtime-evaluation-In-an-environment b/Lang/Ruby/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..d5cb8f8090
--- /dev/null
+++ b/Lang/Ruby/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/S-Expressions b/Lang/Ruby/S-Expressions
new file mode 120000
index 0000000000..33b666ee70
--- /dev/null
+++ b/Lang/Ruby/S-Expressions
@@ -0,0 +1 @@
+../../Task/S-Expressions/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/SEDOLs b/Lang/Ruby/SEDOLs
new file mode 120000
index 0000000000..ee5a94f0ed
--- /dev/null
+++ b/Lang/Ruby/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Safe-addition b/Lang/Ruby/Safe-addition
new file mode 120000
index 0000000000..bdafd5ecff
--- /dev/null
+++ b/Lang/Ruby/Safe-addition
@@ -0,0 +1 @@
+../../Task/Safe-addition/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Secure-temporary-file b/Lang/Ruby/Secure-temporary-file
new file mode 120000
index 0000000000..42a1d3bf71
--- /dev/null
+++ b/Lang/Ruby/Secure-temporary-file
@@ -0,0 +1 @@
+../../Task/Secure-temporary-file/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Self-describing-numbers b/Lang/Ruby/Self-describing-numbers
new file mode 120000
index 0000000000..0ebb27a7c1
--- /dev/null
+++ b/Lang/Ruby/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Self-referential-sequence b/Lang/Ruby/Self-referential-sequence
new file mode 120000
index 0000000000..608991a35e
--- /dev/null
+++ b/Lang/Ruby/Self-referential-sequence
@@ -0,0 +1 @@
+../../Task/Self-referential-sequence/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Semordnilap b/Lang/Ruby/Semordnilap
new file mode 120000
index 0000000000..083b63ea39
--- /dev/null
+++ b/Lang/Ruby/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Send-an-unknown-method-call b/Lang/Ruby/Send-an-unknown-method-call
new file mode 120000
index 0000000000..74089052a1
--- /dev/null
+++ b/Lang/Ruby/Send-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Send-an-unknown-method-call/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Send-email b/Lang/Ruby/Send-email
new file mode 120000
index 0000000000..0b90b2f838
--- /dev/null
+++ b/Lang/Ruby/Send-email
@@ -0,0 +1 @@
+../../Task/Send-email/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Sequence-of-non-squares b/Lang/Ruby/Sequence-of-non-squares
new file mode 120000
index 0000000000..256ae9f859
--- /dev/null
+++ b/Lang/Ruby/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Ruby
\ No newline at end of file
diff --git a/Lang/Ruby/Set b/Lang/Ruby/Set
new file mode 120000
index 0000000000..3aa65548da
--- /dev/null
+++ b/Lang/Ruby/Set
@@ -0,0 +1 @@
+../../Task/Set/Ruby
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Arbitrary-precision-integers--included- b/Lang/Run-BASIC/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..cdcb87d86b
--- /dev/null
+++ b/Lang/Run-BASIC/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Arbitrary-precision-integers-included b/Lang/Run-BASIC/Arbitrary-precision-integers-included
deleted file mode 120000
index 0acac1ad91..0000000000
--- a/Lang/Run-BASIC/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Binary-digits b/Lang/Run-BASIC/Binary-digits
new file mode 120000
index 0000000000..c066937a60
--- /dev/null
+++ b/Lang/Run-BASIC/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Brownian-tree b/Lang/Run-BASIC/Brownian-tree
new file mode 120000
index 0000000000..c4992449f4
--- /dev/null
+++ b/Lang/Run-BASIC/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Catalan-numbers b/Lang/Run-BASIC/Catalan-numbers
new file mode 120000
index 0000000000..96b708cc6f
--- /dev/null
+++ b/Lang/Run-BASIC/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Copy-a-string b/Lang/Run-BASIC/Copy-a-string
new file mode 120000
index 0000000000..427b38300f
--- /dev/null
+++ b/Lang/Run-BASIC/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Dragon-curve b/Lang/Run-BASIC/Dragon-curve
new file mode 120000
index 0000000000..f8a7f22417
--- /dev/null
+++ b/Lang/Run-BASIC/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Environment-variables b/Lang/Run-BASIC/Environment-variables
new file mode 120000
index 0000000000..053943ff6d
--- /dev/null
+++ b/Lang/Run-BASIC/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Non-decimal-radices-Convert b/Lang/Run-BASIC/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..50d44647b5
--- /dev/null
+++ b/Lang/Run-BASIC/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Nth-root b/Lang/Run-BASIC/Nth-root
new file mode 120000
index 0000000000..0ad5e1ed62
--- /dev/null
+++ b/Lang/Run-BASIC/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Number-reversal-game b/Lang/Run-BASIC/Number-reversal-game
new file mode 120000
index 0000000000..11275b85d5
--- /dev/null
+++ b/Lang/Run-BASIC/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/One-of-n-lines-in-a-file b/Lang/Run-BASIC/One-of-n-lines-in-a-file
new file mode 120000
index 0000000000..9a132b89a4
--- /dev/null
+++ b/Lang/Run-BASIC/One-of-n-lines-in-a-file
@@ -0,0 +1 @@
+../../Task/One-of-n-lines-in-a-file/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Palindrome-detection b/Lang/Run-BASIC/Palindrome-detection
new file mode 120000
index 0000000000..6297536da7
--- /dev/null
+++ b/Lang/Run-BASIC/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Pangram-checker b/Lang/Run-BASIC/Pangram-checker
new file mode 120000
index 0000000000..83bc5e6229
--- /dev/null
+++ b/Lang/Run-BASIC/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Parsing-RPN-calculator-algorithm b/Lang/Run-BASIC/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..45e61dd11c
--- /dev/null
+++ b/Lang/Run-BASIC/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Pascals-triangle b/Lang/Run-BASIC/Pascals-triangle
new file mode 120000
index 0000000000..c9989278dc
--- /dev/null
+++ b/Lang/Run-BASIC/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Perfect-numbers b/Lang/Run-BASIC/Perfect-numbers
new file mode 120000
index 0000000000..f269b39af5
--- /dev/null
+++ b/Lang/Run-BASIC/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Permutations b/Lang/Run-BASIC/Permutations
new file mode 120000
index 0000000000..642be9a30f
--- /dev/null
+++ b/Lang/Run-BASIC/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Pick-random-element b/Lang/Run-BASIC/Pick-random-element
new file mode 120000
index 0000000000..c33292e7c7
--- /dev/null
+++ b/Lang/Run-BASIC/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Pig-the-dice-game b/Lang/Run-BASIC/Pig-the-dice-game
new file mode 120000
index 0000000000..a78c05d035
--- /dev/null
+++ b/Lang/Run-BASIC/Pig-the-dice-game
@@ -0,0 +1 @@
+../../Task/Pig-the-dice-game/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Playing-cards b/Lang/Run-BASIC/Playing-cards
new file mode 120000
index 0000000000..4f3665324f
--- /dev/null
+++ b/Lang/Run-BASIC/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Price-fraction b/Lang/Run-BASIC/Price-fraction
new file mode 120000
index 0000000000..91e00824af
--- /dev/null
+++ b/Lang/Run-BASIC/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Primality-by-trial-division b/Lang/Run-BASIC/Primality-by-trial-division
new file mode 120000
index 0000000000..47c4199218
--- /dev/null
+++ b/Lang/Run-BASIC/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Priority-queue b/Lang/Run-BASIC/Priority-queue
new file mode 120000
index 0000000000..e3338c320b
--- /dev/null
+++ b/Lang/Run-BASIC/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Random-number-generator--included- b/Lang/Run-BASIC/Random-number-generator--included-
new file mode 120000
index 0000000000..9595f15d1c
--- /dev/null
+++ b/Lang/Run-BASIC/Random-number-generator--included-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--included-/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Random-numbers b/Lang/Run-BASIC/Random-numbers
new file mode 120000
index 0000000000..0e5271a65a
--- /dev/null
+++ b/Lang/Run-BASIC/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Range-expansion b/Lang/Run-BASIC/Range-expansion
new file mode 120000
index 0000000000..888b189dcd
--- /dev/null
+++ b/Lang/Run-BASIC/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Rate-counter b/Lang/Run-BASIC/Rate-counter
new file mode 120000
index 0000000000..308f69781d
--- /dev/null
+++ b/Lang/Run-BASIC/Rate-counter
@@ -0,0 +1 @@
+../../Task/Rate-counter/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Read-a-file-line-by-line b/Lang/Run-BASIC/Read-a-file-line-by-line
new file mode 120000
index 0000000000..deb8975475
--- /dev/null
+++ b/Lang/Run-BASIC/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Read-a-specific-line-from-a-file b/Lang/Run-BASIC/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..5d07dd9f65
--- /dev/null
+++ b/Lang/Run-BASIC/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Real-constants-and-functions b/Lang/Run-BASIC/Real-constants-and-functions
new file mode 120000
index 0000000000..c55a96f55a
--- /dev/null
+++ b/Lang/Run-BASIC/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Regular-expressions b/Lang/Run-BASIC/Regular-expressions
new file mode 120000
index 0000000000..5651728290
--- /dev/null
+++ b/Lang/Run-BASIC/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Remove-lines-from-a-file b/Lang/Run-BASIC/Remove-lines-from-a-file
new file mode 120000
index 0000000000..965f87e094
--- /dev/null
+++ b/Lang/Run-BASIC/Remove-lines-from-a-file
@@ -0,0 +1 @@
+../../Task/Remove-lines-from-a-file/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Rename-a-file b/Lang/Run-BASIC/Rename-a-file
new file mode 120000
index 0000000000..7a0c720d5b
--- /dev/null
+++ b/Lang/Run-BASIC/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Repeat-a-string b/Lang/Run-BASIC/Repeat-a-string
new file mode 120000
index 0000000000..01aedaae7a
--- /dev/null
+++ b/Lang/Run-BASIC/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Return-multiple-values b/Lang/Run-BASIC/Return-multiple-values
new file mode 120000
index 0000000000..6a131dec89
--- /dev/null
+++ b/Lang/Run-BASIC/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Reverse-a-string b/Lang/Run-BASIC/Reverse-a-string
new file mode 120000
index 0000000000..4f6cc4f86d
--- /dev/null
+++ b/Lang/Run-BASIC/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Rock-paper-scissors b/Lang/Run-BASIC/Rock-paper-scissors
new file mode 120000
index 0000000000..1b3db3b2b0
--- /dev/null
+++ b/Lang/Run-BASIC/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Roman-numerals-Decode b/Lang/Run-BASIC/Roman-numerals-Decode
new file mode 120000
index 0000000000..7db14bab99
--- /dev/null
+++ b/Lang/Run-BASIC/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Roman-numerals-Encode b/Lang/Run-BASIC/Roman-numerals-Encode
new file mode 120000
index 0000000000..78de940da7
--- /dev/null
+++ b/Lang/Run-BASIC/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Roots-of-a-quadratic-function b/Lang/Run-BASIC/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..eeeb05c3e1
--- /dev/null
+++ b/Lang/Run-BASIC/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Rosetta-Code-Count-examples b/Lang/Run-BASIC/Rosetta-Code-Count-examples
new file mode 120000
index 0000000000..7d3f78c25d
--- /dev/null
+++ b/Lang/Run-BASIC/Rosetta-Code-Count-examples
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Count-examples/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Rosetta-Code-Find-unimplemented-tasks b/Lang/Run-BASIC/Rosetta-Code-Find-unimplemented-tasks
new file mode 120000
index 0000000000..9a5cded71d
--- /dev/null
+++ b/Lang/Run-BASIC/Rosetta-Code-Find-unimplemented-tasks
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Find-unimplemented-tasks/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Rosetta-Code-Rank-languages-by-popularity b/Lang/Run-BASIC/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..f635ee846d
--- /dev/null
+++ b/Lang/Run-BASIC/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Rot-13 b/Lang/Run-BASIC/Rot-13
new file mode 120000
index 0000000000..e8787269c7
--- /dev/null
+++ b/Lang/Run-BASIC/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Run-length-encoding b/Lang/Run-BASIC/Run-length-encoding
new file mode 120000
index 0000000000..08b72e2eb4
--- /dev/null
+++ b/Lang/Run-BASIC/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Run-BASIC/Self-describing-numbers b/Lang/Run-BASIC/Self-describing-numbers
new file mode 120000
index 0000000000..ed69449d0b
--- /dev/null
+++ b/Lang/Run-BASIC/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/Run-BASIC
\ No newline at end of file
diff --git a/Lang/Rust/Program-name b/Lang/Rust/Program-name
new file mode 120000
index 0000000000..a3da006ccd
--- /dev/null
+++ b/Lang/Rust/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Rust
\ No newline at end of file
diff --git a/Lang/SAS/N-queens-problem b/Lang/SAS/N-queens-problem
new file mode 120000
index 0000000000..e4afb32180
--- /dev/null
+++ b/Lang/SAS/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/SAS
\ No newline at end of file
diff --git a/Lang/SAS/Permutations b/Lang/SAS/Permutations
new file mode 120000
index 0000000000..a0fcb45b66
--- /dev/null
+++ b/Lang/SAS/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/SAS
\ No newline at end of file
diff --git a/Lang/SAS/Pointers-and-references b/Lang/SAS/Pointers-and-references
new file mode 120000
index 0000000000..cbe93f961e
--- /dev/null
+++ b/Lang/SAS/Pointers-and-references
@@ -0,0 +1 @@
+../../Task/Pointers-and-references/SAS
\ No newline at end of file
diff --git a/Lang/SAS/Primality-by-trial-division b/Lang/SAS/Primality-by-trial-division
new file mode 120000
index 0000000000..09c6d7b629
--- /dev/null
+++ b/Lang/SAS/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/SAS
\ No newline at end of file
diff --git a/Lang/SAS/QR-decomposition b/Lang/SAS/QR-decomposition
new file mode 120000
index 0000000000..a6c0a2b24a
--- /dev/null
+++ b/Lang/SAS/QR-decomposition
@@ -0,0 +1 @@
+../../Task/QR-decomposition/SAS
\ No newline at end of file
diff --git a/Lang/SAS/Reverse-a-string b/Lang/SAS/Reverse-a-string
new file mode 120000
index 0000000000..5ce0ddac28
--- /dev/null
+++ b/Lang/SAS/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/SAS
\ No newline at end of file
diff --git a/Lang/SAS/Send-email b/Lang/SAS/Send-email
new file mode 120000
index 0000000000..0e26f867cd
--- /dev/null
+++ b/Lang/SAS/Send-email
@@ -0,0 +1 @@
+../../Task/Send-email/SAS
\ No newline at end of file
diff --git a/Lang/SETL/Remove-duplicate-elements b/Lang/SETL/Remove-duplicate-elements
new file mode 120000
index 0000000000..09786a04a1
--- /dev/null
+++ b/Lang/SETL/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/SETL
\ No newline at end of file
diff --git a/Lang/SIMPOL/Arbitrary-precision-integers--included- b/Lang/SIMPOL/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..6962e440bf
--- /dev/null
+++ b/Lang/SIMPOL/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/SIMPOL
\ No newline at end of file
diff --git a/Lang/SIMPOL/Arbitrary-precision-integers-included b/Lang/SIMPOL/Arbitrary-precision-integers-included
deleted file mode 120000
index 975a0231cc..0000000000
--- a/Lang/SIMPOL/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/SIMPOL
\ No newline at end of file
diff --git a/Lang/SIMPOL/Polymorphism b/Lang/SIMPOL/Polymorphism
new file mode 120000
index 0000000000..0e29275df8
--- /dev/null
+++ b/Lang/SIMPOL/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/SIMPOL
\ No newline at end of file
diff --git a/Lang/SNOBOL4/Copy-a-string b/Lang/SNOBOL4/Copy-a-string
new file mode 120000
index 0000000000..45e90660ab
--- /dev/null
+++ b/Lang/SNOBOL4/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/SNOBOL4
\ No newline at end of file
diff --git a/Lang/SNOBOL4/Environment-variables b/Lang/SNOBOL4/Environment-variables
new file mode 120000
index 0000000000..932a92266c
--- /dev/null
+++ b/Lang/SNOBOL4/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/SNOBOL4
\ No newline at end of file
diff --git a/Lang/SNOBOL4/N-queens-problem b/Lang/SNOBOL4/N-queens-problem
new file mode 120000
index 0000000000..1a9cb9bd77
--- /dev/null
+++ b/Lang/SNOBOL4/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/SNOBOL4
\ No newline at end of file
diff --git a/Lang/SNOBOL4/Palindrome-detection b/Lang/SNOBOL4/Palindrome-detection
new file mode 120000
index 0000000000..6786511817
--- /dev/null
+++ b/Lang/SNOBOL4/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/SNOBOL4
\ No newline at end of file
diff --git a/Lang/SNOBOL4/Pangram-checker b/Lang/SNOBOL4/Pangram-checker
new file mode 120000
index 0000000000..558164f8ab
--- /dev/null
+++ b/Lang/SNOBOL4/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/SNOBOL4
\ No newline at end of file
diff --git a/Lang/SNOBOL4/Primality-by-trial-division b/Lang/SNOBOL4/Primality-by-trial-division
new file mode 120000
index 0000000000..9f0eafd8df
--- /dev/null
+++ b/Lang/SNOBOL4/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/SNOBOL4
\ No newline at end of file
diff --git a/Lang/SNOBOL4/Program-termination b/Lang/SNOBOL4/Program-termination
new file mode 120000
index 0000000000..83cc63d47c
--- /dev/null
+++ b/Lang/SNOBOL4/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/SNOBOL4
\ No newline at end of file
diff --git a/Lang/SNOBOL4/Range-expansion b/Lang/SNOBOL4/Range-expansion
new file mode 120000
index 0000000000..fa4ceb61ec
--- /dev/null
+++ b/Lang/SNOBOL4/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/SNOBOL4
\ No newline at end of file
diff --git a/Lang/SNOBOL4/Range-extraction b/Lang/SNOBOL4/Range-extraction
new file mode 120000
index 0000000000..4a748e8bf0
--- /dev/null
+++ b/Lang/SNOBOL4/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/SNOBOL4
\ No newline at end of file
diff --git a/Lang/SNOBOL4/Read-a-file-line-by-line b/Lang/SNOBOL4/Read-a-file-line-by-line
new file mode 120000
index 0000000000..a3498e11ca
--- /dev/null
+++ b/Lang/SNOBOL4/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/SNOBOL4
\ No newline at end of file
diff --git a/Lang/SNOBOL4/Read-entire-file b/Lang/SNOBOL4/Read-entire-file
new file mode 120000
index 0000000000..62da90e8d3
--- /dev/null
+++ b/Lang/SNOBOL4/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/SNOBOL4
\ No newline at end of file
diff --git a/Lang/SNOBOL4/Regular-expressions b/Lang/SNOBOL4/Regular-expressions
new file mode 120000
index 0000000000..edff15d73a
--- /dev/null
+++ b/Lang/SNOBOL4/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/SNOBOL4
\ No newline at end of file
diff --git a/Lang/SNOBOL4/Repeat-a-string b/Lang/SNOBOL4/Repeat-a-string
new file mode 120000
index 0000000000..c86b5abf64
--- /dev/null
+++ b/Lang/SNOBOL4/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/SNOBOL4
\ No newline at end of file
diff --git a/Lang/SNOBOL4/Reverse-a-string b/Lang/SNOBOL4/Reverse-a-string
new file mode 120000
index 0000000000..00d7977b55
--- /dev/null
+++ b/Lang/SNOBOL4/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/SNOBOL4
\ No newline at end of file
diff --git a/Lang/SNOBOL4/Roman-numerals-Decode b/Lang/SNOBOL4/Roman-numerals-Decode
new file mode 120000
index 0000000000..73596c7e5a
--- /dev/null
+++ b/Lang/SNOBOL4/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/SNOBOL4
\ No newline at end of file
diff --git a/Lang/SNOBOL4/Roman-numerals-Encode b/Lang/SNOBOL4/Roman-numerals-Encode
new file mode 120000
index 0000000000..0cea452d61
--- /dev/null
+++ b/Lang/SNOBOL4/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/SNOBOL4
\ No newline at end of file
diff --git a/Lang/SNOBOL4/Rot-13 b/Lang/SNOBOL4/Rot-13
new file mode 120000
index 0000000000..e978be7a5c
--- /dev/null
+++ b/Lang/SNOBOL4/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/SNOBOL4
\ No newline at end of file
diff --git a/Lang/SNOBOL4/Run-length-encoding b/Lang/SNOBOL4/Run-length-encoding
new file mode 120000
index 0000000000..997ee82adf
--- /dev/null
+++ b/Lang/SNOBOL4/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/SNOBOL4
\ No newline at end of file
diff --git a/Lang/SNOBOL4/Runtime-evaluation b/Lang/SNOBOL4/Runtime-evaluation
new file mode 120000
index 0000000000..12fb391536
--- /dev/null
+++ b/Lang/SNOBOL4/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/SNOBOL4
\ No newline at end of file
diff --git a/Lang/SNOBOL4/Runtime-evaluation-In-an-environment b/Lang/SNOBOL4/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..4ad915d2ed
--- /dev/null
+++ b/Lang/SNOBOL4/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/SNOBOL4
\ No newline at end of file
diff --git a/Lang/SQL/Repeat-a-string b/Lang/SQL/Repeat-a-string
new file mode 120000
index 0000000000..b50a2484be
--- /dev/null
+++ b/Lang/SQL/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/SQL
\ No newline at end of file
diff --git a/Lang/SQL/Roman-numerals-Encode b/Lang/SQL/Roman-numerals-Encode
new file mode 120000
index 0000000000..3db56271bc
--- /dev/null
+++ b/Lang/SQL/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/SQL
\ No newline at end of file
diff --git a/Lang/Sage/Reduced-row-echelon-form b/Lang/Sage/Reduced-row-echelon-form
new file mode 120000
index 0000000000..5301829aad
--- /dev/null
+++ b/Lang/Sage/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/Sage
\ No newline at end of file
diff --git a/Lang/Sather/Arbitrary-precision-integers--included- b/Lang/Sather/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..9bc40a1621
--- /dev/null
+++ b/Lang/Sather/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Sather
\ No newline at end of file
diff --git a/Lang/Sather/Arbitrary-precision-integers-included b/Lang/Sather/Arbitrary-precision-integers-included
deleted file mode 120000
index 7283ce66c0..0000000000
--- a/Lang/Sather/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Sather
\ No newline at end of file
diff --git a/Lang/Sather/Copy-a-string b/Lang/Sather/Copy-a-string
new file mode 120000
index 0000000000..f0fa509ac0
--- /dev/null
+++ b/Lang/Sather/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Sather
\ No newline at end of file
diff --git a/Lang/Sather/Nth-root b/Lang/Sather/Nth-root
new file mode 120000
index 0000000000..6afde21d4e
--- /dev/null
+++ b/Lang/Sather/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Sather
\ No newline at end of file
diff --git a/Lang/Sather/Random-numbers b/Lang/Sather/Random-numbers
new file mode 120000
index 0000000000..512f162e64
--- /dev/null
+++ b/Lang/Sather/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Sather
\ No newline at end of file
diff --git a/Lang/Sather/Regular-expressions b/Lang/Sather/Regular-expressions
new file mode 120000
index 0000000000..2f59dd633d
--- /dev/null
+++ b/Lang/Sather/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Sather
\ No newline at end of file
diff --git a/Lang/Sather/Reverse-a-string b/Lang/Sather/Reverse-a-string
new file mode 120000
index 0000000000..e49d752e9c
--- /dev/null
+++ b/Lang/Sather/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Sather
\ No newline at end of file
diff --git a/Lang/Scala/Arbitrary-precision-integers--included- b/Lang/Scala/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..66e0413578
--- /dev/null
+++ b/Lang/Scala/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Arbitrary-precision-integers-included b/Lang/Scala/Arbitrary-precision-integers-included
deleted file mode 120000
index 98c3992076..0000000000
--- a/Lang/Scala/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Binary-digits b/Lang/Scala/Binary-digits
new file mode 120000
index 0000000000..e49bab0eab
--- /dev/null
+++ b/Lang/Scala/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Catalan-numbers b/Lang/Scala/Catalan-numbers
new file mode 120000
index 0000000000..cf15c3f83f
--- /dev/null
+++ b/Lang/Scala/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Copy-a-string b/Lang/Scala/Copy-a-string
new file mode 120000
index 0000000000..0a29f965c0
--- /dev/null
+++ b/Lang/Scala/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Execute-a-Markov-algorithm b/Lang/Scala/Execute-a-Markov-algorithm
new file mode 120000
index 0000000000..e83c74cd53
--- /dev/null
+++ b/Lang/Scala/Execute-a-Markov-algorithm
@@ -0,0 +1 @@
+../../Task/Execute-a-Markov-algorithm/Scala
\ No newline at end of file
diff --git a/Lang/Scala/N-queens-problem b/Lang/Scala/N-queens-problem
new file mode 120000
index 0000000000..aad4fc76bd
--- /dev/null
+++ b/Lang/Scala/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Named-parameters b/Lang/Scala/Named-parameters
new file mode 120000
index 0000000000..66e443a17d
--- /dev/null
+++ b/Lang/Scala/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Nth-root b/Lang/Scala/Nth-root
new file mode 120000
index 0000000000..ae015d87a3
--- /dev/null
+++ b/Lang/Scala/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Null-object b/Lang/Scala/Null-object
new file mode 120000
index 0000000000..2b4c68e331
--- /dev/null
+++ b/Lang/Scala/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Numerical-integration b/Lang/Scala/Numerical-integration
new file mode 120000
index 0000000000..3e4e97b128
--- /dev/null
+++ b/Lang/Scala/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/Scala
\ No newline at end of file
diff --git a/Lang/Scala/One-dimensional-cellular-automata b/Lang/Scala/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..7887684cc8
--- /dev/null
+++ b/Lang/Scala/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Optional-parameters b/Lang/Scala/Optional-parameters
new file mode 120000
index 0000000000..b9337fa496
--- /dev/null
+++ b/Lang/Scala/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Palindrome-detection b/Lang/Scala/Palindrome-detection
new file mode 120000
index 0000000000..1f0cdc3e97
--- /dev/null
+++ b/Lang/Scala/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Pangram-checker b/Lang/Scala/Pangram-checker
new file mode 120000
index 0000000000..f340df9edc
--- /dev/null
+++ b/Lang/Scala/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Parametric-polymorphism b/Lang/Scala/Parametric-polymorphism
new file mode 120000
index 0000000000..bd63b07e8c
--- /dev/null
+++ b/Lang/Scala/Parametric-polymorphism
@@ -0,0 +1 @@
+../../Task/Parametric-polymorphism/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Partial-function-application b/Lang/Scala/Partial-function-application
new file mode 120000
index 0000000000..57545b9d69
--- /dev/null
+++ b/Lang/Scala/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Pascals-triangle b/Lang/Scala/Pascals-triangle
new file mode 120000
index 0000000000..c5b3dc9c59
--- /dev/null
+++ b/Lang/Scala/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Pattern-matching b/Lang/Scala/Pattern-matching
new file mode 120000
index 0000000000..50f07f5986
--- /dev/null
+++ b/Lang/Scala/Pattern-matching
@@ -0,0 +1 @@
+../../Task/Pattern-matching/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Perfect-numbers b/Lang/Scala/Perfect-numbers
new file mode 120000
index 0000000000..37efea02c8
--- /dev/null
+++ b/Lang/Scala/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Permutations b/Lang/Scala/Permutations
new file mode 120000
index 0000000000..b9e02c809d
--- /dev/null
+++ b/Lang/Scala/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Plot-coordinate-pairs b/Lang/Scala/Plot-coordinate-pairs
new file mode 120000
index 0000000000..d0ed6468db
--- /dev/null
+++ b/Lang/Scala/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Power-set b/Lang/Scala/Power-set
new file mode 120000
index 0000000000..d1ed9bd2e2
--- /dev/null
+++ b/Lang/Scala/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Price-fraction b/Lang/Scala/Price-fraction
new file mode 120000
index 0000000000..f954db7613
--- /dev/null
+++ b/Lang/Scala/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Primality-by-trial-division b/Lang/Scala/Primality-by-trial-division
new file mode 120000
index 0000000000..41c3a5db84
--- /dev/null
+++ b/Lang/Scala/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Prime-decomposition b/Lang/Scala/Prime-decomposition
new file mode 120000
index 0000000000..ebc63e3714
--- /dev/null
+++ b/Lang/Scala/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Priority-queue b/Lang/Scala/Priority-queue
new file mode 120000
index 0000000000..0f0b258db8
--- /dev/null
+++ b/Lang/Scala/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Problem-of-Apollonius b/Lang/Scala/Problem-of-Apollonius
new file mode 120000
index 0000000000..149d39a86d
--- /dev/null
+++ b/Lang/Scala/Problem-of-Apollonius
@@ -0,0 +1 @@
+../../Task/Problem-of-Apollonius/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Program-name b/Lang/Scala/Program-name
new file mode 120000
index 0000000000..d4b16f6668
--- /dev/null
+++ b/Lang/Scala/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Quaternion-type b/Lang/Scala/Quaternion-type
new file mode 120000
index 0000000000..15f3eda4c9
--- /dev/null
+++ b/Lang/Scala/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Queue-Definition b/Lang/Scala/Queue-Definition
new file mode 120000
index 0000000000..ecc1009753
--- /dev/null
+++ b/Lang/Scala/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Queue-Usage b/Lang/Scala/Queue-Usage
new file mode 120000
index 0000000000..e56221a71c
--- /dev/null
+++ b/Lang/Scala/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Random-numbers b/Lang/Scala/Random-numbers
new file mode 120000
index 0000000000..d040f5810d
--- /dev/null
+++ b/Lang/Scala/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Range-expansion b/Lang/Scala/Range-expansion
new file mode 120000
index 0000000000..0ef7cea0b8
--- /dev/null
+++ b/Lang/Scala/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Range-extraction b/Lang/Scala/Range-extraction
new file mode 120000
index 0000000000..32fada2563
--- /dev/null
+++ b/Lang/Scala/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Rate-counter b/Lang/Scala/Rate-counter
new file mode 120000
index 0000000000..6627a0f8f4
--- /dev/null
+++ b/Lang/Scala/Rate-counter
@@ -0,0 +1 @@
+../../Task/Rate-counter/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Read-a-file-line-by-line b/Lang/Scala/Read-a-file-line-by-line
new file mode 120000
index 0000000000..8dc8f13e19
--- /dev/null
+++ b/Lang/Scala/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Read-a-specific-line-from-a-file b/Lang/Scala/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..101d84db7c
--- /dev/null
+++ b/Lang/Scala/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Regular-expressions b/Lang/Scala/Regular-expressions
new file mode 120000
index 0000000000..9c12a51c54
--- /dev/null
+++ b/Lang/Scala/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Remove-duplicate-elements b/Lang/Scala/Remove-duplicate-elements
new file mode 120000
index 0000000000..4a9834087a
--- /dev/null
+++ b/Lang/Scala/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Rename-a-file b/Lang/Scala/Rename-a-file
new file mode 120000
index 0000000000..111e06e116
--- /dev/null
+++ b/Lang/Scala/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Repeat-a-string b/Lang/Scala/Repeat-a-string
new file mode 120000
index 0000000000..4032eb0292
--- /dev/null
+++ b/Lang/Scala/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Respond-to-an-unknown-method-call b/Lang/Scala/Respond-to-an-unknown-method-call
new file mode 120000
index 0000000000..d1e9cbfba2
--- /dev/null
+++ b/Lang/Scala/Respond-to-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Respond-to-an-unknown-method-call/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Return-multiple-values b/Lang/Scala/Return-multiple-values
new file mode 120000
index 0000000000..bf18e1e87e
--- /dev/null
+++ b/Lang/Scala/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Reverse-a-string b/Lang/Scala/Reverse-a-string
new file mode 120000
index 0000000000..98c4392ac6
--- /dev/null
+++ b/Lang/Scala/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Roman-numerals-Decode b/Lang/Scala/Roman-numerals-Decode
new file mode 120000
index 0000000000..ae1ab0c4c2
--- /dev/null
+++ b/Lang/Scala/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Roman-numerals-Encode b/Lang/Scala/Roman-numerals-Encode
new file mode 120000
index 0000000000..9d9111add2
--- /dev/null
+++ b/Lang/Scala/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Roots-of-a-quadratic-function b/Lang/Scala/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..2f03f255fc
--- /dev/null
+++ b/Lang/Scala/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Roots-of-unity b/Lang/Scala/Roots-of-unity
new file mode 120000
index 0000000000..00796e1b01
--- /dev/null
+++ b/Lang/Scala/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Rosetta-Code-Count-examples b/Lang/Scala/Rosetta-Code-Count-examples
new file mode 120000
index 0000000000..0afd632de1
--- /dev/null
+++ b/Lang/Scala/Rosetta-Code-Count-examples
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Count-examples/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Rosetta-Code-Rank-languages-by-popularity b/Lang/Scala/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..c2db137221
--- /dev/null
+++ b/Lang/Scala/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Rot-13 b/Lang/Scala/Rot-13
new file mode 120000
index 0000000000..e0226a11bd
--- /dev/null
+++ b/Lang/Scala/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Run-length-encoding b/Lang/Scala/Run-length-encoding
new file mode 120000
index 0000000000..539516e368
--- /dev/null
+++ b/Lang/Scala/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Scala
\ No newline at end of file
diff --git a/Lang/Scala/SEDOLs b/Lang/Scala/SEDOLs
new file mode 120000
index 0000000000..3e768667dc
--- /dev/null
+++ b/Lang/Scala/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Secure-temporary-file b/Lang/Scala/Secure-temporary-file
new file mode 120000
index 0000000000..153df5b1ba
--- /dev/null
+++ b/Lang/Scala/Secure-temporary-file
@@ -0,0 +1 @@
+../../Task/Secure-temporary-file/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Sequence-of-non-squares b/Lang/Scala/Sequence-of-non-squares
new file mode 120000
index 0000000000..54c7435578
--- /dev/null
+++ b/Lang/Scala/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Scala
\ No newline at end of file
diff --git a/Lang/Scala/Set b/Lang/Scala/Set
new file mode 120000
index 0000000000..a08fb8a18a
--- /dev/null
+++ b/Lang/Scala/Set
@@ -0,0 +1 @@
+../../Task/Set/Scala
\ No newline at end of file
diff --git a/Lang/Scheme/Arbitrary-precision-integers--included- b/Lang/Scheme/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..7beb0c5e2d
--- /dev/null
+++ b/Lang/Scheme/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Arbitrary-precision-integers-included b/Lang/Scheme/Arbitrary-precision-integers-included
deleted file mode 120000
index 2421538c94..0000000000
--- a/Lang/Scheme/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Binary-digits b/Lang/Scheme/Binary-digits
new file mode 120000
index 0000000000..911a72ac26
--- /dev/null
+++ b/Lang/Scheme/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Brownian-tree b/Lang/Scheme/Brownian-tree
new file mode 120000
index 0000000000..00f69cf01c
--- /dev/null
+++ b/Lang/Scheme/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Catalan-numbers b/Lang/Scheme/Catalan-numbers
new file mode 120000
index 0000000000..09fe90f279
--- /dev/null
+++ b/Lang/Scheme/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Copy-a-string b/Lang/Scheme/Copy-a-string
new file mode 120000
index 0000000000..e64a7dec06
--- /dev/null
+++ b/Lang/Scheme/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Execute-a-Markov-algorithm b/Lang/Scheme/Execute-a-Markov-algorithm
new file mode 120000
index 0000000000..38de448074
--- /dev/null
+++ b/Lang/Scheme/Execute-a-Markov-algorithm
@@ -0,0 +1 @@
+../../Task/Execute-a-Markov-algorithm/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Guess-the-number-With-feedback--player- b/Lang/Scheme/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..da77932878
--- /dev/null
+++ b/Lang/Scheme/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Guess-the-number-With-feedback-player b/Lang/Scheme/Guess-the-number-With-feedback-player
deleted file mode 120000
index 5a88b0302d..0000000000
--- a/Lang/Scheme/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Named-parameters b/Lang/Scheme/Named-parameters
new file mode 120000
index 0000000000..fde2b07a25
--- /dev/null
+++ b/Lang/Scheme/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Non-continuous-subsequences b/Lang/Scheme/Non-continuous-subsequences
new file mode 120000
index 0000000000..b928feb956
--- /dev/null
+++ b/Lang/Scheme/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Non-decimal-radices-Input b/Lang/Scheme/Non-decimal-radices-Input
new file mode 120000
index 0000000000..784c36d8b9
--- /dev/null
+++ b/Lang/Scheme/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Non-decimal-radices-Output b/Lang/Scheme/Non-decimal-radices-Output
new file mode 120000
index 0000000000..5274a131d7
--- /dev/null
+++ b/Lang/Scheme/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Nth-root b/Lang/Scheme/Nth-root
new file mode 120000
index 0000000000..ddb4c9c66e
--- /dev/null
+++ b/Lang/Scheme/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Null-object b/Lang/Scheme/Null-object
new file mode 120000
index 0000000000..28dbfcbc2d
--- /dev/null
+++ b/Lang/Scheme/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Numerical-integration b/Lang/Scheme/Numerical-integration
new file mode 120000
index 0000000000..8c62a63b4c
--- /dev/null
+++ b/Lang/Scheme/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/One-dimensional-cellular-automata b/Lang/Scheme/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..410428a3a5
--- /dev/null
+++ b/Lang/Scheme/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Order-two-numerical-lists b/Lang/Scheme/Order-two-numerical-lists
new file mode 120000
index 0000000000..ed12ff5a38
--- /dev/null
+++ b/Lang/Scheme/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Palindrome-detection b/Lang/Scheme/Palindrome-detection
new file mode 120000
index 0000000000..309a5d928d
--- /dev/null
+++ b/Lang/Scheme/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Pascals-triangle b/Lang/Scheme/Pascals-triangle
new file mode 120000
index 0000000000..700dc1f8f3
--- /dev/null
+++ b/Lang/Scheme/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Perfect-numbers b/Lang/Scheme/Perfect-numbers
new file mode 120000
index 0000000000..9a6830efb5
--- /dev/null
+++ b/Lang/Scheme/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Permutations b/Lang/Scheme/Permutations
new file mode 120000
index 0000000000..ee49e1a091
--- /dev/null
+++ b/Lang/Scheme/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Playing-cards b/Lang/Scheme/Playing-cards
new file mode 120000
index 0000000000..dc543f16e7
--- /dev/null
+++ b/Lang/Scheme/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Power-set b/Lang/Scheme/Power-set
new file mode 120000
index 0000000000..ea8f06088f
--- /dev/null
+++ b/Lang/Scheme/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Primality-by-trial-division b/Lang/Scheme/Primality-by-trial-division
new file mode 120000
index 0000000000..24b62b5d18
--- /dev/null
+++ b/Lang/Scheme/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Prime-decomposition b/Lang/Scheme/Prime-decomposition
new file mode 120000
index 0000000000..8639b125e0
--- /dev/null
+++ b/Lang/Scheme/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Program-name b/Lang/Scheme/Program-name
new file mode 120000
index 0000000000..fa1c84be0b
--- /dev/null
+++ b/Lang/Scheme/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Program-termination b/Lang/Scheme/Program-termination
new file mode 120000
index 0000000000..e2192ab2d1
--- /dev/null
+++ b/Lang/Scheme/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Queue-Definition b/Lang/Scheme/Queue-Definition
new file mode 120000
index 0000000000..9142cb71bb
--- /dev/null
+++ b/Lang/Scheme/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Random-numbers b/Lang/Scheme/Random-numbers
new file mode 120000
index 0000000000..0e54aaf893
--- /dev/null
+++ b/Lang/Scheme/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Range-expansion b/Lang/Scheme/Range-expansion
new file mode 120000
index 0000000000..a08783aa54
--- /dev/null
+++ b/Lang/Scheme/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Range-extraction b/Lang/Scheme/Range-extraction
new file mode 120000
index 0000000000..0240f2c6ab
--- /dev/null
+++ b/Lang/Scheme/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Read-a-file-line-by-line b/Lang/Scheme/Read-a-file-line-by-line
new file mode 120000
index 0000000000..057caa49fa
--- /dev/null
+++ b/Lang/Scheme/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Real-constants-and-functions b/Lang/Scheme/Real-constants-and-functions
new file mode 120000
index 0000000000..05e42f44b6
--- /dev/null
+++ b/Lang/Scheme/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Reduced-row-echelon-form b/Lang/Scheme/Reduced-row-echelon-form
new file mode 120000
index 0000000000..d2141faf07
--- /dev/null
+++ b/Lang/Scheme/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Remove-duplicate-elements b/Lang/Scheme/Remove-duplicate-elements
new file mode 120000
index 0000000000..0fd607a08c
--- /dev/null
+++ b/Lang/Scheme/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Rename-a-file b/Lang/Scheme/Rename-a-file
new file mode 120000
index 0000000000..f76d394abd
--- /dev/null
+++ b/Lang/Scheme/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Repeat-a-string b/Lang/Scheme/Repeat-a-string
new file mode 120000
index 0000000000..fda41fe73e
--- /dev/null
+++ b/Lang/Scheme/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Return-multiple-values b/Lang/Scheme/Return-multiple-values
new file mode 120000
index 0000000000..3856e7cb31
--- /dev/null
+++ b/Lang/Scheme/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Reverse-a-string b/Lang/Scheme/Reverse-a-string
new file mode 120000
index 0000000000..cc6d4bdcf3
--- /dev/null
+++ b/Lang/Scheme/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Roman-numerals-Encode b/Lang/Scheme/Roman-numerals-Encode
new file mode 120000
index 0000000000..0725136a76
--- /dev/null
+++ b/Lang/Scheme/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Roots-of-a-quadratic-function b/Lang/Scheme/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..2cd36ac000
--- /dev/null
+++ b/Lang/Scheme/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Roots-of-unity b/Lang/Scheme/Roots-of-unity
new file mode 120000
index 0000000000..b8d44c1108
--- /dev/null
+++ b/Lang/Scheme/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Rot-13 b/Lang/Scheme/Rot-13
new file mode 120000
index 0000000000..1fe62d0e10
--- /dev/null
+++ b/Lang/Scheme/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Run-length-encoding b/Lang/Scheme/Run-length-encoding
new file mode 120000
index 0000000000..066263dfa5
--- /dev/null
+++ b/Lang/Scheme/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Runtime-evaluation b/Lang/Scheme/Runtime-evaluation
new file mode 120000
index 0000000000..3897ba153e
--- /dev/null
+++ b/Lang/Scheme/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Runtime-evaluation-In-an-environment b/Lang/Scheme/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..f193b575fe
--- /dev/null
+++ b/Lang/Scheme/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/S-Expressions b/Lang/Scheme/S-Expressions
new file mode 120000
index 0000000000..fa69d0d40a
--- /dev/null
+++ b/Lang/Scheme/S-Expressions
@@ -0,0 +1 @@
+../../Task/S-Expressions/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Sequence-of-non-squares b/Lang/Scheme/Sequence-of-non-squares
new file mode 120000
index 0000000000..089263cea8
--- /dev/null
+++ b/Lang/Scheme/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Scheme
\ No newline at end of file
diff --git a/Lang/Scheme/Set b/Lang/Scheme/Set
new file mode 120000
index 0000000000..a9d3a8d9de
--- /dev/null
+++ b/Lang/Scheme/Set
@@ -0,0 +1 @@
+../../Task/Set/Scheme
\ No newline at end of file
diff --git a/Lang/Sed/Read-a-file-line-by-line b/Lang/Sed/Read-a-file-line-by-line
new file mode 120000
index 0000000000..5b1d183009
--- /dev/null
+++ b/Lang/Sed/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Sed
\ No newline at end of file
diff --git a/Lang/Sed/Reverse-a-string b/Lang/Sed/Reverse-a-string
new file mode 120000
index 0000000000..a6d4beafb3
--- /dev/null
+++ b/Lang/Sed/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Sed
\ No newline at end of file
diff --git a/Lang/Seed7/Arbitrary-precision-integers--included- b/Lang/Seed7/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..7f5a5d99cd
--- /dev/null
+++ b/Lang/Seed7/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Arbitrary-precision-integers-included b/Lang/Seed7/Arbitrary-precision-integers-included
deleted file mode 120000
index 76f16a7fd3..0000000000
--- a/Lang/Seed7/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Binary-digits b/Lang/Seed7/Binary-digits
new file mode 120000
index 0000000000..c3ab614abc
--- /dev/null
+++ b/Lang/Seed7/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Brownian-tree b/Lang/Seed7/Brownian-tree
new file mode 120000
index 0000000000..3acb7d24a9
--- /dev/null
+++ b/Lang/Seed7/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Copy-a-string b/Lang/Seed7/Copy-a-string
new file mode 120000
index 0000000000..4c50996d2a
--- /dev/null
+++ b/Lang/Seed7/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Dragon-curve b/Lang/Seed7/Dragon-curve
new file mode 120000
index 0000000000..dec54ca1aa
--- /dev/null
+++ b/Lang/Seed7/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Environment-variables b/Lang/Seed7/Environment-variables
new file mode 120000
index 0000000000..fe56ff78e7
--- /dev/null
+++ b/Lang/Seed7/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Non-decimal-radices-Output b/Lang/Seed7/Non-decimal-radices-Output
new file mode 120000
index 0000000000..7414389c16
--- /dev/null
+++ b/Lang/Seed7/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Nth-root b/Lang/Seed7/Nth-root
new file mode 120000
index 0000000000..f97173ab54
--- /dev/null
+++ b/Lang/Seed7/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Number-names b/Lang/Seed7/Number-names
new file mode 120000
index 0000000000..94328ab294
--- /dev/null
+++ b/Lang/Seed7/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/One-dimensional-cellular-automata b/Lang/Seed7/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..e256d8aa77
--- /dev/null
+++ b/Lang/Seed7/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/One-of-n-lines-in-a-file b/Lang/Seed7/One-of-n-lines-in-a-file
new file mode 120000
index 0000000000..cb58493053
--- /dev/null
+++ b/Lang/Seed7/One-of-n-lines-in-a-file
@@ -0,0 +1 @@
+../../Task/One-of-n-lines-in-a-file/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Palindrome-detection b/Lang/Seed7/Palindrome-detection
new file mode 120000
index 0000000000..cfbda1418b
--- /dev/null
+++ b/Lang/Seed7/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Pangram-checker b/Lang/Seed7/Pangram-checker
new file mode 120000
index 0000000000..694e9208db
--- /dev/null
+++ b/Lang/Seed7/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Parametric-polymorphism b/Lang/Seed7/Parametric-polymorphism
new file mode 120000
index 0000000000..c5789108b8
--- /dev/null
+++ b/Lang/Seed7/Parametric-polymorphism
@@ -0,0 +1 @@
+../../Task/Parametric-polymorphism/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Pascals-triangle b/Lang/Seed7/Pascals-triangle
new file mode 120000
index 0000000000..6346acd352
--- /dev/null
+++ b/Lang/Seed7/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Perfect-numbers b/Lang/Seed7/Perfect-numbers
new file mode 120000
index 0000000000..c3e8f51b12
--- /dev/null
+++ b/Lang/Seed7/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Permutations b/Lang/Seed7/Permutations
new file mode 120000
index 0000000000..2d65708f5e
--- /dev/null
+++ b/Lang/Seed7/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Pick-random-element b/Lang/Seed7/Pick-random-element
new file mode 120000
index 0000000000..e81291c8c6
--- /dev/null
+++ b/Lang/Seed7/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Power-set b/Lang/Seed7/Power-set
new file mode 120000
index 0000000000..137c84839a
--- /dev/null
+++ b/Lang/Seed7/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Price-fraction b/Lang/Seed7/Price-fraction
new file mode 120000
index 0000000000..da68469fb0
--- /dev/null
+++ b/Lang/Seed7/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Primality-by-trial-division b/Lang/Seed7/Primality-by-trial-division
new file mode 120000
index 0000000000..0b29d9dba3
--- /dev/null
+++ b/Lang/Seed7/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Prime-decomposition b/Lang/Seed7/Prime-decomposition
new file mode 120000
index 0000000000..ecb24d7c6a
--- /dev/null
+++ b/Lang/Seed7/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Probabilistic-choice b/Lang/Seed7/Probabilistic-choice
new file mode 120000
index 0000000000..04ca22af27
--- /dev/null
+++ b/Lang/Seed7/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Program-name b/Lang/Seed7/Program-name
new file mode 120000
index 0000000000..ab7ef0c0fa
--- /dev/null
+++ b/Lang/Seed7/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Program-termination b/Lang/Seed7/Program-termination
new file mode 120000
index 0000000000..7727673a5c
--- /dev/null
+++ b/Lang/Seed7/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Pythagorean-triples b/Lang/Seed7/Pythagorean-triples
new file mode 120000
index 0000000000..9036575931
--- /dev/null
+++ b/Lang/Seed7/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Random-numbers b/Lang/Seed7/Random-numbers
new file mode 120000
index 0000000000..58d5ce3400
--- /dev/null
+++ b/Lang/Seed7/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Range-expansion b/Lang/Seed7/Range-expansion
new file mode 120000
index 0000000000..51fdacd2cf
--- /dev/null
+++ b/Lang/Seed7/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Range-extraction b/Lang/Seed7/Range-extraction
new file mode 120000
index 0000000000..76c04a6b9d
--- /dev/null
+++ b/Lang/Seed7/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Read-a-configuration-file b/Lang/Seed7/Read-a-configuration-file
new file mode 120000
index 0000000000..239b8b1caa
--- /dev/null
+++ b/Lang/Seed7/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Read-a-file-line-by-line b/Lang/Seed7/Read-a-file-line-by-line
new file mode 120000
index 0000000000..ac6318c9da
--- /dev/null
+++ b/Lang/Seed7/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Read-a-specific-line-from-a-file b/Lang/Seed7/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..1ecf283ed2
--- /dev/null
+++ b/Lang/Seed7/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Reduced-row-echelon-form b/Lang/Seed7/Reduced-row-echelon-form
new file mode 120000
index 0000000000..ae5a95d5df
--- /dev/null
+++ b/Lang/Seed7/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Remove-duplicate-elements b/Lang/Seed7/Remove-duplicate-elements
new file mode 120000
index 0000000000..415dd98449
--- /dev/null
+++ b/Lang/Seed7/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Remove-lines-from-a-file b/Lang/Seed7/Remove-lines-from-a-file
new file mode 120000
index 0000000000..44385c5f78
--- /dev/null
+++ b/Lang/Seed7/Remove-lines-from-a-file
@@ -0,0 +1 @@
+../../Task/Remove-lines-from-a-file/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Rename-a-file b/Lang/Seed7/Rename-a-file
new file mode 120000
index 0000000000..87eabcaf67
--- /dev/null
+++ b/Lang/Seed7/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Repeat-a-string b/Lang/Seed7/Repeat-a-string
new file mode 120000
index 0000000000..0b9ba94464
--- /dev/null
+++ b/Lang/Seed7/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Return-multiple-values b/Lang/Seed7/Return-multiple-values
new file mode 120000
index 0000000000..4e675f3093
--- /dev/null
+++ b/Lang/Seed7/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Reverse-a-string b/Lang/Seed7/Reverse-a-string
new file mode 120000
index 0000000000..6a4f884195
--- /dev/null
+++ b/Lang/Seed7/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Roman-numerals-Decode b/Lang/Seed7/Roman-numerals-Decode
new file mode 120000
index 0000000000..bb18d17ea7
--- /dev/null
+++ b/Lang/Seed7/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Roman-numerals-Encode b/Lang/Seed7/Roman-numerals-Encode
new file mode 120000
index 0000000000..aa9bf3a87f
--- /dev/null
+++ b/Lang/Seed7/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Roots-of-a-quadratic-function b/Lang/Seed7/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..b64d756ea5
--- /dev/null
+++ b/Lang/Seed7/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Roots-of-unity b/Lang/Seed7/Roots-of-unity
new file mode 120000
index 0000000000..6b8ef3e533
--- /dev/null
+++ b/Lang/Seed7/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Rot-13 b/Lang/Seed7/Rot-13
new file mode 120000
index 0000000000..02108d1879
--- /dev/null
+++ b/Lang/Seed7/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Run-length-encoding b/Lang/Seed7/Run-length-encoding
new file mode 120000
index 0000000000..7653e6803a
--- /dev/null
+++ b/Lang/Seed7/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/SEDOLs b/Lang/Seed7/SEDOLs
new file mode 120000
index 0000000000..2bb559cbb1
--- /dev/null
+++ b/Lang/Seed7/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Self-describing-numbers b/Lang/Seed7/Self-describing-numbers
new file mode 120000
index 0000000000..20b566b3dc
--- /dev/null
+++ b/Lang/Seed7/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Sequence-of-non-squares b/Lang/Seed7/Sequence-of-non-squares
new file mode 120000
index 0000000000..c0a9aa2333
--- /dev/null
+++ b/Lang/Seed7/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Seed7
\ No newline at end of file
diff --git a/Lang/Seed7/Set b/Lang/Seed7/Set
new file mode 120000
index 0000000000..4f6f1d713f
--- /dev/null
+++ b/Lang/Seed7/Set
@@ -0,0 +1 @@
+../../Task/Set/Seed7
\ No newline at end of file
diff --git a/Lang/Shiny/Copy-a-string b/Lang/Shiny/Copy-a-string
new file mode 120000
index 0000000000..e16f997ab7
--- /dev/null
+++ b/Lang/Shiny/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Shiny
\ No newline at end of file
diff --git a/Lang/Shiny/Regular-expressions b/Lang/Shiny/Regular-expressions
new file mode 120000
index 0000000000..5a0ba863cc
--- /dev/null
+++ b/Lang/Shiny/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Shiny
\ No newline at end of file
diff --git a/Lang/Slate/Copy-a-string b/Lang/Slate/Copy-a-string
new file mode 120000
index 0000000000..e6effe2b78
--- /dev/null
+++ b/Lang/Slate/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Slate
\ No newline at end of file
diff --git a/Lang/Slate/Environment-variables b/Lang/Slate/Environment-variables
new file mode 120000
index 0000000000..23aa618a6b
--- /dev/null
+++ b/Lang/Slate/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Slate
\ No newline at end of file
diff --git a/Lang/Slate/Non-decimal-radices-Convert b/Lang/Slate/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..6399fb95f0
--- /dev/null
+++ b/Lang/Slate/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/Slate
\ No newline at end of file
diff --git a/Lang/Slate/Null-object b/Lang/Slate/Null-object
new file mode 120000
index 0000000000..32bf98f223
--- /dev/null
+++ b/Lang/Slate/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Slate
\ No newline at end of file
diff --git a/Lang/Slate/Optional-parameters b/Lang/Slate/Optional-parameters
new file mode 120000
index 0000000000..cc0096a03c
--- /dev/null
+++ b/Lang/Slate/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/Slate
\ No newline at end of file
diff --git a/Lang/Slate/Palindrome-detection b/Lang/Slate/Palindrome-detection
new file mode 120000
index 0000000000..39f5d67990
--- /dev/null
+++ b/Lang/Slate/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Slate
\ No newline at end of file
diff --git a/Lang/Slate/Perfect-numbers b/Lang/Slate/Perfect-numbers
new file mode 120000
index 0000000000..2fbee2b9c0
--- /dev/null
+++ b/Lang/Slate/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Slate
\ No newline at end of file
diff --git a/Lang/Slate/Polymorphic-copy b/Lang/Slate/Polymorphic-copy
new file mode 120000
index 0000000000..43e791d50c
--- /dev/null
+++ b/Lang/Slate/Polymorphic-copy
@@ -0,0 +1 @@
+../../Task/Polymorphic-copy/Slate
\ No newline at end of file
diff --git a/Lang/Slate/Polynomial-long-division b/Lang/Slate/Polynomial-long-division
new file mode 120000
index 0000000000..82012a68f0
--- /dev/null
+++ b/Lang/Slate/Polynomial-long-division
@@ -0,0 +1 @@
+../../Task/Polynomial-long-division/Slate
\ No newline at end of file
diff --git a/Lang/Slate/Prime-decomposition b/Lang/Slate/Prime-decomposition
new file mode 120000
index 0000000000..63d74dfeea
--- /dev/null
+++ b/Lang/Slate/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Slate
\ No newline at end of file
diff --git a/Lang/Slate/Program-termination b/Lang/Slate/Program-termination
new file mode 120000
index 0000000000..f78382b493
--- /dev/null
+++ b/Lang/Slate/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Slate
\ No newline at end of file
diff --git a/Lang/Slate/Queue-Definition b/Lang/Slate/Queue-Definition
new file mode 120000
index 0000000000..b8c42f138c
--- /dev/null
+++ b/Lang/Slate/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Slate
\ No newline at end of file
diff --git a/Lang/Slate/Real-constants-and-functions b/Lang/Slate/Real-constants-and-functions
new file mode 120000
index 0000000000..dde8dee75b
--- /dev/null
+++ b/Lang/Slate/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Slate
\ No newline at end of file
diff --git a/Lang/Slate/Regular-expressions b/Lang/Slate/Regular-expressions
new file mode 120000
index 0000000000..7985b1edb0
--- /dev/null
+++ b/Lang/Slate/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Slate
\ No newline at end of file
diff --git a/Lang/Slate/Remove-duplicate-elements b/Lang/Slate/Remove-duplicate-elements
new file mode 120000
index 0000000000..0695458f1d
--- /dev/null
+++ b/Lang/Slate/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Slate
\ No newline at end of file
diff --git a/Lang/Slate/Rename-a-file b/Lang/Slate/Rename-a-file
new file mode 120000
index 0000000000..3f4e309c5f
--- /dev/null
+++ b/Lang/Slate/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Slate
\ No newline at end of file
diff --git a/Lang/Slate/Respond-to-an-unknown-method-call b/Lang/Slate/Respond-to-an-unknown-method-call
new file mode 120000
index 0000000000..381bddef15
--- /dev/null
+++ b/Lang/Slate/Respond-to-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Respond-to-an-unknown-method-call/Slate
\ No newline at end of file
diff --git a/Lang/Slate/Reverse-a-string b/Lang/Slate/Reverse-a-string
new file mode 120000
index 0000000000..b21f358706
--- /dev/null
+++ b/Lang/Slate/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Slate
\ No newline at end of file
diff --git a/Lang/Slate/Rot-13 b/Lang/Slate/Rot-13
new file mode 120000
index 0000000000..8acc2c65d8
--- /dev/null
+++ b/Lang/Slate/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Slate
\ No newline at end of file
diff --git a/Lang/Slate/Runtime-evaluation b/Lang/Slate/Runtime-evaluation
new file mode 120000
index 0000000000..54e19136e5
--- /dev/null
+++ b/Lang/Slate/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/Slate
\ No newline at end of file
diff --git a/Lang/Smalltalk/Arbitrary-precision-integers--included- b/Lang/Smalltalk/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..eed475bf59
--- /dev/null
+++ b/Lang/Smalltalk/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Arbitrary-precision-integers-included b/Lang/Smalltalk/Arbitrary-precision-integers-included
deleted file mode 120000
index c4c742c9d3..0000000000
--- a/Lang/Smalltalk/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Binary-digits b/Lang/Smalltalk/Binary-digits
new file mode 120000
index 0000000000..2f10ff6572
--- /dev/null
+++ b/Lang/Smalltalk/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Copy-a-string b/Lang/Smalltalk/Copy-a-string
new file mode 120000
index 0000000000..b5b15874dc
--- /dev/null
+++ b/Lang/Smalltalk/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Guess-the-number-With-feedback--player- b/Lang/Smalltalk/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..a4d429eae6
--- /dev/null
+++ b/Lang/Smalltalk/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Guess-the-number-With-feedback-player b/Lang/Smalltalk/Guess-the-number-With-feedback-player
deleted file mode 120000
index 4f3cf09f40..0000000000
--- a/Lang/Smalltalk/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Named-parameters b/Lang/Smalltalk/Named-parameters
new file mode 120000
index 0000000000..a69c6414eb
--- /dev/null
+++ b/Lang/Smalltalk/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Non-decimal-radices-Output b/Lang/Smalltalk/Non-decimal-radices-Output
new file mode 120000
index 0000000000..b72411e684
--- /dev/null
+++ b/Lang/Smalltalk/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Nth-root b/Lang/Smalltalk/Nth-root
new file mode 120000
index 0000000000..2950d1ca0a
--- /dev/null
+++ b/Lang/Smalltalk/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Null-object b/Lang/Smalltalk/Null-object
new file mode 120000
index 0000000000..c08af7d9c5
--- /dev/null
+++ b/Lang/Smalltalk/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Palindrome-detection b/Lang/Smalltalk/Palindrome-detection
new file mode 120000
index 0000000000..26b3ecf7a3
--- /dev/null
+++ b/Lang/Smalltalk/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Pangram-checker b/Lang/Smalltalk/Pangram-checker
new file mode 120000
index 0000000000..7fbe0dc786
--- /dev/null
+++ b/Lang/Smalltalk/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Partial-function-application b/Lang/Smalltalk/Partial-function-application
new file mode 120000
index 0000000000..472f8f65e8
--- /dev/null
+++ b/Lang/Smalltalk/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Perfect-numbers b/Lang/Smalltalk/Perfect-numbers
new file mode 120000
index 0000000000..ba9ef7fe45
--- /dev/null
+++ b/Lang/Smalltalk/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Permutations b/Lang/Smalltalk/Permutations
new file mode 120000
index 0000000000..33e2d64d45
--- /dev/null
+++ b/Lang/Smalltalk/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Pick-random-element b/Lang/Smalltalk/Pick-random-element
new file mode 120000
index 0000000000..085e0a2bbe
--- /dev/null
+++ b/Lang/Smalltalk/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Playing-cards b/Lang/Smalltalk/Playing-cards
new file mode 120000
index 0000000000..4f1133fb0a
--- /dev/null
+++ b/Lang/Smalltalk/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Polymorphism b/Lang/Smalltalk/Polymorphism
new file mode 120000
index 0000000000..465c9c7cb4
--- /dev/null
+++ b/Lang/Smalltalk/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Polynomial-long-division b/Lang/Smalltalk/Polynomial-long-division
new file mode 120000
index 0000000000..ffcfe8783e
--- /dev/null
+++ b/Lang/Smalltalk/Polynomial-long-division
@@ -0,0 +1 @@
+../../Task/Polynomial-long-division/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Power-set b/Lang/Smalltalk/Power-set
new file mode 120000
index 0000000000..2b2fbf5aea
--- /dev/null
+++ b/Lang/Smalltalk/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Price-fraction b/Lang/Smalltalk/Price-fraction
new file mode 120000
index 0000000000..dc8a3b7e4a
--- /dev/null
+++ b/Lang/Smalltalk/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Prime-decomposition b/Lang/Smalltalk/Prime-decomposition
new file mode 120000
index 0000000000..a5337b6518
--- /dev/null
+++ b/Lang/Smalltalk/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Program-name b/Lang/Smalltalk/Program-name
new file mode 120000
index 0000000000..5879b4e2f7
--- /dev/null
+++ b/Lang/Smalltalk/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Queue-Definition b/Lang/Smalltalk/Queue-Definition
new file mode 120000
index 0000000000..a6cb1bf85a
--- /dev/null
+++ b/Lang/Smalltalk/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Rate-counter b/Lang/Smalltalk/Rate-counter
new file mode 120000
index 0000000000..6fdbcecec0
--- /dev/null
+++ b/Lang/Smalltalk/Rate-counter
@@ -0,0 +1 @@
+../../Task/Rate-counter/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Ray-casting-algorithm b/Lang/Smalltalk/Ray-casting-algorithm
new file mode 120000
index 0000000000..f926588d02
--- /dev/null
+++ b/Lang/Smalltalk/Ray-casting-algorithm
@@ -0,0 +1 @@
+../../Task/Ray-casting-algorithm/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Read-a-configuration-file b/Lang/Smalltalk/Read-a-configuration-file
new file mode 120000
index 0000000000..751641a564
--- /dev/null
+++ b/Lang/Smalltalk/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Read-a-file-line-by-line b/Lang/Smalltalk/Read-a-file-line-by-line
new file mode 120000
index 0000000000..d9355052c9
--- /dev/null
+++ b/Lang/Smalltalk/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Read-entire-file b/Lang/Smalltalk/Read-entire-file
new file mode 120000
index 0000000000..ec67d891e9
--- /dev/null
+++ b/Lang/Smalltalk/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Real-constants-and-functions b/Lang/Smalltalk/Real-constants-and-functions
new file mode 120000
index 0000000000..1c493e386a
--- /dev/null
+++ b/Lang/Smalltalk/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Regular-expressions b/Lang/Smalltalk/Regular-expressions
new file mode 120000
index 0000000000..4126679c26
--- /dev/null
+++ b/Lang/Smalltalk/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Remove-duplicate-elements b/Lang/Smalltalk/Remove-duplicate-elements
new file mode 120000
index 0000000000..e1f02f696e
--- /dev/null
+++ b/Lang/Smalltalk/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Rename-a-file b/Lang/Smalltalk/Rename-a-file
new file mode 120000
index 0000000000..9266f3d03a
--- /dev/null
+++ b/Lang/Smalltalk/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Repeat-a-string b/Lang/Smalltalk/Repeat-a-string
new file mode 120000
index 0000000000..1696d1edb1
--- /dev/null
+++ b/Lang/Smalltalk/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Respond-to-an-unknown-method-call b/Lang/Smalltalk/Respond-to-an-unknown-method-call
new file mode 120000
index 0000000000..518c6f74c3
--- /dev/null
+++ b/Lang/Smalltalk/Respond-to-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Respond-to-an-unknown-method-call/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Reverse-a-string b/Lang/Smalltalk/Reverse-a-string
new file mode 120000
index 0000000000..3603e3036a
--- /dev/null
+++ b/Lang/Smalltalk/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Roman-numerals-Encode b/Lang/Smalltalk/Roman-numerals-Encode
new file mode 120000
index 0000000000..4e2b1bb135
--- /dev/null
+++ b/Lang/Smalltalk/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Rot-13 b/Lang/Smalltalk/Rot-13
new file mode 120000
index 0000000000..33b1e8841d
--- /dev/null
+++ b/Lang/Smalltalk/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Runtime-evaluation b/Lang/Smalltalk/Runtime-evaluation
new file mode 120000
index 0000000000..551f6a5e4c
--- /dev/null
+++ b/Lang/Smalltalk/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/SEDOLs b/Lang/Smalltalk/SEDOLs
new file mode 120000
index 0000000000..3abe8dec62
--- /dev/null
+++ b/Lang/Smalltalk/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Send-an-unknown-method-call b/Lang/Smalltalk/Send-an-unknown-method-call
new file mode 120000
index 0000000000..dcf2a152a2
--- /dev/null
+++ b/Lang/Smalltalk/Send-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Send-an-unknown-method-call/Smalltalk
\ No newline at end of file
diff --git a/Lang/Smalltalk/Set b/Lang/Smalltalk/Set
new file mode 120000
index 0000000000..78e9f906d8
--- /dev/null
+++ b/Lang/Smalltalk/Set
@@ -0,0 +1 @@
+../../Task/Set/Smalltalk
\ No newline at end of file
diff --git a/Lang/Standard-ML/Arbitrary-precision-integers--included- b/Lang/Standard-ML/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..f6441d1625
--- /dev/null
+++ b/Lang/Standard-ML/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Arbitrary-precision-integers-included b/Lang/Standard-ML/Arbitrary-precision-integers-included
deleted file mode 120000
index 8360f335a2..0000000000
--- a/Lang/Standard-ML/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Binary-digits b/Lang/Standard-ML/Binary-digits
new file mode 120000
index 0000000000..b1cc363159
--- /dev/null
+++ b/Lang/Standard-ML/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Catalan-numbers b/Lang/Standard-ML/Catalan-numbers
new file mode 120000
index 0000000000..02bb555ff0
--- /dev/null
+++ b/Lang/Standard-ML/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Copy-a-string b/Lang/Standard-ML/Copy-a-string
new file mode 120000
index 0000000000..2baf3d2881
--- /dev/null
+++ b/Lang/Standard-ML/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Environment-variables b/Lang/Standard-ML/Environment-variables
new file mode 120000
index 0000000000..ca30bf32a2
--- /dev/null
+++ b/Lang/Standard-ML/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/N-queens-problem b/Lang/Standard-ML/N-queens-problem
new file mode 120000
index 0000000000..5b423ed880
--- /dev/null
+++ b/Lang/Standard-ML/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Non-continuous-subsequences b/Lang/Standard-ML/Non-continuous-subsequences
new file mode 120000
index 0000000000..b8a861cdc3
--- /dev/null
+++ b/Lang/Standard-ML/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Non-decimal-radices-Convert b/Lang/Standard-ML/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..2e8fe105ec
--- /dev/null
+++ b/Lang/Standard-ML/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Non-decimal-radices-Input b/Lang/Standard-ML/Non-decimal-radices-Input
new file mode 120000
index 0000000000..e082ab158d
--- /dev/null
+++ b/Lang/Standard-ML/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Non-decimal-radices-Output b/Lang/Standard-ML/Non-decimal-radices-Output
new file mode 120000
index 0000000000..2477ec2286
--- /dev/null
+++ b/Lang/Standard-ML/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Null-object b/Lang/Standard-ML/Null-object
new file mode 120000
index 0000000000..b092ba35fc
--- /dev/null
+++ b/Lang/Standard-ML/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Numerical-integration b/Lang/Standard-ML/Numerical-integration
new file mode 120000
index 0000000000..45ebd4acd2
--- /dev/null
+++ b/Lang/Standard-ML/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Order-two-numerical-lists b/Lang/Standard-ML/Order-two-numerical-lists
new file mode 120000
index 0000000000..6fb12e81cc
--- /dev/null
+++ b/Lang/Standard-ML/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Parametric-polymorphism b/Lang/Standard-ML/Parametric-polymorphism
new file mode 120000
index 0000000000..b8dbc589a5
--- /dev/null
+++ b/Lang/Standard-ML/Parametric-polymorphism
@@ -0,0 +1 @@
+../../Task/Parametric-polymorphism/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Pattern-matching b/Lang/Standard-ML/Pattern-matching
new file mode 120000
index 0000000000..2eb29c7ffa
--- /dev/null
+++ b/Lang/Standard-ML/Pattern-matching
@@ -0,0 +1 @@
+../../Task/Pattern-matching/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Pointers-and-references b/Lang/Standard-ML/Pointers-and-references
new file mode 120000
index 0000000000..f9a649a551
--- /dev/null
+++ b/Lang/Standard-ML/Pointers-and-references
@@ -0,0 +1 @@
+../../Task/Pointers-and-references/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Power-set b/Lang/Standard-ML/Power-set
new file mode 120000
index 0000000000..a752faf1e7
--- /dev/null
+++ b/Lang/Standard-ML/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Primality-by-trial-division b/Lang/Standard-ML/Primality-by-trial-division
new file mode 120000
index 0000000000..b8a094692a
--- /dev/null
+++ b/Lang/Standard-ML/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Priority-queue b/Lang/Standard-ML/Priority-queue
new file mode 120000
index 0000000000..014949b204
--- /dev/null
+++ b/Lang/Standard-ML/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Program-name b/Lang/Standard-ML/Program-name
new file mode 120000
index 0000000000..2ac6e704a8
--- /dev/null
+++ b/Lang/Standard-ML/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Program-termination b/Lang/Standard-ML/Program-termination
new file mode 120000
index 0000000000..d5f35d863b
--- /dev/null
+++ b/Lang/Standard-ML/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Queue-Definition b/Lang/Standard-ML/Queue-Definition
new file mode 120000
index 0000000000..2052737959
--- /dev/null
+++ b/Lang/Standard-ML/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Queue-Usage b/Lang/Standard-ML/Queue-Usage
new file mode 120000
index 0000000000..168b0c97d1
--- /dev/null
+++ b/Lang/Standard-ML/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Random-numbers b/Lang/Standard-ML/Random-numbers
new file mode 120000
index 0000000000..add9574603
--- /dev/null
+++ b/Lang/Standard-ML/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Real-constants-and-functions b/Lang/Standard-ML/Real-constants-and-functions
new file mode 120000
index 0000000000..2fb854f20b
--- /dev/null
+++ b/Lang/Standard-ML/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Regular-expressions b/Lang/Standard-ML/Regular-expressions
new file mode 120000
index 0000000000..148e7c0927
--- /dev/null
+++ b/Lang/Standard-ML/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Rename-a-file b/Lang/Standard-ML/Rename-a-file
new file mode 120000
index 0000000000..4eddbb6092
--- /dev/null
+++ b/Lang/Standard-ML/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Repeat-a-string b/Lang/Standard-ML/Repeat-a-string
new file mode 120000
index 0000000000..a3b4f520c4
--- /dev/null
+++ b/Lang/Standard-ML/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Return-multiple-values b/Lang/Standard-ML/Return-multiple-values
new file mode 120000
index 0000000000..025e48162e
--- /dev/null
+++ b/Lang/Standard-ML/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Reverse-a-string b/Lang/Standard-ML/Reverse-a-string
new file mode 120000
index 0000000000..0d03db79b0
--- /dev/null
+++ b/Lang/Standard-ML/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Rot-13 b/Lang/Standard-ML/Rot-13
new file mode 120000
index 0000000000..8dd80a3357
--- /dev/null
+++ b/Lang/Standard-ML/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Run-length-encoding b/Lang/Standard-ML/Run-length-encoding
new file mode 120000
index 0000000000..ed635ded69
--- /dev/null
+++ b/Lang/Standard-ML/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/SEDOLs b/Lang/Standard-ML/SEDOLs
new file mode 120000
index 0000000000..cf5942c2b4
--- /dev/null
+++ b/Lang/Standard-ML/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Secure-temporary-file b/Lang/Standard-ML/Secure-temporary-file
new file mode 120000
index 0000000000..64de1b6c24
--- /dev/null
+++ b/Lang/Standard-ML/Secure-temporary-file
@@ -0,0 +1 @@
+../../Task/Secure-temporary-file/Standard-ML
\ No newline at end of file
diff --git a/Lang/Standard-ML/Sequence-of-non-squares b/Lang/Standard-ML/Sequence-of-non-squares
new file mode 120000
index 0000000000..7e7da23260
--- /dev/null
+++ b/Lang/Standard-ML/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Standard-ML
\ No newline at end of file
diff --git a/Lang/Suneido/Named-parameters b/Lang/Suneido/Named-parameters
new file mode 120000
index 0000000000..3d5b2e94c0
--- /dev/null
+++ b/Lang/Suneido/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/Suneido
\ No newline at end of file
diff --git a/Lang/Suneido/Repeat-a-string b/Lang/Suneido/Repeat-a-string
new file mode 120000
index 0000000000..d685ccc0dc
--- /dev/null
+++ b/Lang/Suneido/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Suneido
\ No newline at end of file
diff --git a/Lang/SystemVerilog/N-queens-problem b/Lang/SystemVerilog/N-queens-problem
new file mode 120000
index 0000000000..54c2eee07e
--- /dev/null
+++ b/Lang/SystemVerilog/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/SystemVerilog
\ No newline at end of file
diff --git a/Lang/SystemVerilog/Pascals-triangle-Puzzle b/Lang/SystemVerilog/Pascals-triangle-Puzzle
new file mode 120000
index 0000000000..26377a2453
--- /dev/null
+++ b/Lang/SystemVerilog/Pascals-triangle-Puzzle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle-Puzzle/SystemVerilog
\ No newline at end of file
diff --git a/Lang/TI-83-BASIC/Binary-digits b/Lang/TI-83-BASIC/Binary-digits
new file mode 120000
index 0000000000..466485a437
--- /dev/null
+++ b/Lang/TI-83-BASIC/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/TI-83-BASIC
\ No newline at end of file
diff --git a/Lang/TI-83-BASIC/Brownian-tree b/Lang/TI-83-BASIC/Brownian-tree
new file mode 120000
index 0000000000..ec6ef29e99
--- /dev/null
+++ b/Lang/TI-83-BASIC/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/TI-83-BASIC
\ No newline at end of file
diff --git a/Lang/TI-83-BASIC/Catalan-numbers b/Lang/TI-83-BASIC/Catalan-numbers
new file mode 120000
index 0000000000..d14ccc9fdb
--- /dev/null
+++ b/Lang/TI-83-BASIC/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/TI-83-BASIC
\ No newline at end of file
diff --git a/Lang/TI-83-BASIC/Copy-a-string b/Lang/TI-83-BASIC/Copy-a-string
new file mode 120000
index 0000000000..f8ca55ccf7
--- /dev/null
+++ b/Lang/TI-83-BASIC/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/TI-83-BASIC
\ No newline at end of file
diff --git a/Lang/TI-83-BASIC/Program-termination b/Lang/TI-83-BASIC/Program-termination
new file mode 120000
index 0000000000..21f7ae3833
--- /dev/null
+++ b/Lang/TI-83-BASIC/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/TI-83-BASIC
\ No newline at end of file
diff --git a/Lang/TI-83-BASIC/Reverse-a-string b/Lang/TI-83-BASIC/Reverse-a-string
new file mode 120000
index 0000000000..59f38f2e65
--- /dev/null
+++ b/Lang/TI-83-BASIC/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/TI-83-BASIC
\ No newline at end of file
diff --git a/Lang/TI-83-BASIC/Rock-paper-scissors b/Lang/TI-83-BASIC/Rock-paper-scissors
new file mode 120000
index 0000000000..391e63ff21
--- /dev/null
+++ b/Lang/TI-83-BASIC/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/TI-83-BASIC
\ No newline at end of file
diff --git a/Lang/TI-83-BASIC/Roman-numerals-Decode b/Lang/TI-83-BASIC/Roman-numerals-Decode
new file mode 120000
index 0000000000..88ee8fce37
--- /dev/null
+++ b/Lang/TI-83-BASIC/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/TI-83-BASIC
\ No newline at end of file
diff --git a/Lang/TI-83-BASIC/Roman-numerals-Encode b/Lang/TI-83-BASIC/Roman-numerals-Encode
new file mode 120000
index 0000000000..e7686c51a3
--- /dev/null
+++ b/Lang/TI-83-BASIC/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/TI-83-BASIC
\ No newline at end of file
diff --git a/Lang/TI-83-BASIC/Rot-13 b/Lang/TI-83-BASIC/Rot-13
new file mode 120000
index 0000000000..550da4cac4
--- /dev/null
+++ b/Lang/TI-83-BASIC/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/TI-83-BASIC
\ No newline at end of file
diff --git a/Lang/TI-89-BASIC/Copy-a-string b/Lang/TI-89-BASIC/Copy-a-string
new file mode 120000
index 0000000000..c81a98485f
--- /dev/null
+++ b/Lang/TI-89-BASIC/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/TI-89-BASIC
\ No newline at end of file
diff --git a/Lang/TI-89-BASIC/Dragon-curve b/Lang/TI-89-BASIC/Dragon-curve
new file mode 120000
index 0000000000..ec90d9aa1c
--- /dev/null
+++ b/Lang/TI-89-BASIC/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/TI-89-BASIC
\ No newline at end of file
diff --git a/Lang/TI-89-BASIC/Non-decimal-radices-Output b/Lang/TI-89-BASIC/Non-decimal-radices-Output
new file mode 120000
index 0000000000..ba9c72987f
--- /dev/null
+++ b/Lang/TI-89-BASIC/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/TI-89-BASIC
\ No newline at end of file
diff --git a/Lang/TI-89-BASIC/Plot-coordinate-pairs b/Lang/TI-89-BASIC/Plot-coordinate-pairs
new file mode 120000
index 0000000000..30ed8101ef
--- /dev/null
+++ b/Lang/TI-89-BASIC/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/TI-89-BASIC
\ No newline at end of file
diff --git a/Lang/TI-89-BASIC/Polynomial-regression b/Lang/TI-89-BASIC/Polynomial-regression
new file mode 120000
index 0000000000..56f6805c79
--- /dev/null
+++ b/Lang/TI-89-BASIC/Polynomial-regression
@@ -0,0 +1 @@
+../../Task/Polynomial-regression/TI-89-BASIC
\ No newline at end of file
diff --git a/Lang/TI-89-BASIC/Program-termination b/Lang/TI-89-BASIC/Program-termination
new file mode 120000
index 0000000000..2083222119
--- /dev/null
+++ b/Lang/TI-89-BASIC/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/TI-89-BASIC
\ No newline at end of file
diff --git a/Lang/TI-89-BASIC/Reduced-row-echelon-form b/Lang/TI-89-BASIC/Reduced-row-echelon-form
new file mode 120000
index 0000000000..a81f42e1e0
--- /dev/null
+++ b/Lang/TI-89-BASIC/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/TI-89-BASIC
\ No newline at end of file
diff --git a/Lang/TI-89-BASIC/Roots-of-unity b/Lang/TI-89-BASIC/Roots-of-unity
new file mode 120000
index 0000000000..8f3c5a7a81
--- /dev/null
+++ b/Lang/TI-89-BASIC/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/TI-89-BASIC
\ No newline at end of file
diff --git a/Lang/TI-89-BASIC/Runtime-evaluation-In-an-environment b/Lang/TI-89-BASIC/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..c453978702
--- /dev/null
+++ b/Lang/TI-89-BASIC/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/TI-89-BASIC
\ No newline at end of file
diff --git a/Lang/TI-89-BASIC/Scope-modifiers b/Lang/TI-89-BASIC/Scope-modifiers
new file mode 120000
index 0000000000..1e0ba88697
--- /dev/null
+++ b/Lang/TI-89-BASIC/Scope-modifiers
@@ -0,0 +1 @@
+../../Task/Scope-modifiers/TI-89-BASIC
\ No newline at end of file
diff --git a/Lang/TI-89-BASIC/Sequence-of-non-squares b/Lang/TI-89-BASIC/Sequence-of-non-squares
new file mode 120000
index 0000000000..d528f3f182
--- /dev/null
+++ b/Lang/TI-89-BASIC/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/TI-89-BASIC
\ No newline at end of file
diff --git a/Lang/TIScript/Optional-parameters b/Lang/TIScript/Optional-parameters
new file mode 120000
index 0000000000..d6325dd343
--- /dev/null
+++ b/Lang/TIScript/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/TIScript
\ No newline at end of file
diff --git a/Lang/TUSCRIPT/Copy-a-string b/Lang/TUSCRIPT/Copy-a-string
new file mode 120000
index 0000000000..cff897bced
--- /dev/null
+++ b/Lang/TUSCRIPT/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/TUSCRIPT
\ No newline at end of file
diff --git a/Lang/TUSCRIPT/Number-reversal-game b/Lang/TUSCRIPT/Number-reversal-game
new file mode 120000
index 0000000000..82acf37360
--- /dev/null
+++ b/Lang/TUSCRIPT/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/TUSCRIPT
\ No newline at end of file
diff --git a/Lang/TUSCRIPT/Order-two-numerical-lists b/Lang/TUSCRIPT/Order-two-numerical-lists
new file mode 120000
index 0000000000..741724bfe8
--- /dev/null
+++ b/Lang/TUSCRIPT/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/TUSCRIPT
\ No newline at end of file
diff --git a/Lang/TUSCRIPT/Palindrome-detection b/Lang/TUSCRIPT/Palindrome-detection
new file mode 120000
index 0000000000..8202a1e389
--- /dev/null
+++ b/Lang/TUSCRIPT/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/TUSCRIPT
\ No newline at end of file
diff --git a/Lang/TUSCRIPT/Pangram-checker b/Lang/TUSCRIPT/Pangram-checker
new file mode 120000
index 0000000000..71f434e595
--- /dev/null
+++ b/Lang/TUSCRIPT/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/TUSCRIPT
\ No newline at end of file
diff --git a/Lang/TUSCRIPT/Pick-random-element b/Lang/TUSCRIPT/Pick-random-element
new file mode 120000
index 0000000000..6c61a4a71e
--- /dev/null
+++ b/Lang/TUSCRIPT/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/TUSCRIPT
\ No newline at end of file
diff --git a/Lang/TUSCRIPT/Play-recorded-sounds b/Lang/TUSCRIPT/Play-recorded-sounds
new file mode 120000
index 0000000000..7016eba603
--- /dev/null
+++ b/Lang/TUSCRIPT/Play-recorded-sounds
@@ -0,0 +1 @@
+../../Task/Play-recorded-sounds/TUSCRIPT
\ No newline at end of file
diff --git a/Lang/TUSCRIPT/Program-termination b/Lang/TUSCRIPT/Program-termination
new file mode 120000
index 0000000000..4764297098
--- /dev/null
+++ b/Lang/TUSCRIPT/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/TUSCRIPT
\ No newline at end of file
diff --git a/Lang/TUSCRIPT/Range-expansion b/Lang/TUSCRIPT/Range-expansion
new file mode 120000
index 0000000000..f5fa02a889
--- /dev/null
+++ b/Lang/TUSCRIPT/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/TUSCRIPT
\ No newline at end of file
diff --git a/Lang/TUSCRIPT/Range-extraction b/Lang/TUSCRIPT/Range-extraction
new file mode 120000
index 0000000000..02a3fe1a9a
--- /dev/null
+++ b/Lang/TUSCRIPT/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/TUSCRIPT
\ No newline at end of file
diff --git a/Lang/TUSCRIPT/Read-a-file-line-by-line b/Lang/TUSCRIPT/Read-a-file-line-by-line
new file mode 120000
index 0000000000..f941e2e99c
--- /dev/null
+++ b/Lang/TUSCRIPT/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/TUSCRIPT
\ No newline at end of file
diff --git a/Lang/TUSCRIPT/Read-a-specific-line-from-a-file b/Lang/TUSCRIPT/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..7c7a75d383
--- /dev/null
+++ b/Lang/TUSCRIPT/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/TUSCRIPT
\ No newline at end of file
diff --git a/Lang/TUSCRIPT/Read-entire-file b/Lang/TUSCRIPT/Read-entire-file
new file mode 120000
index 0000000000..0cfca6af7c
--- /dev/null
+++ b/Lang/TUSCRIPT/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/TUSCRIPT
\ No newline at end of file
diff --git a/Lang/TUSCRIPT/Remove-duplicate-elements b/Lang/TUSCRIPT/Remove-duplicate-elements
new file mode 120000
index 0000000000..c22250d667
--- /dev/null
+++ b/Lang/TUSCRIPT/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/TUSCRIPT
\ No newline at end of file
diff --git a/Lang/TUSCRIPT/Remove-lines-from-a-file b/Lang/TUSCRIPT/Remove-lines-from-a-file
new file mode 120000
index 0000000000..98efde5b2b
--- /dev/null
+++ b/Lang/TUSCRIPT/Remove-lines-from-a-file
@@ -0,0 +1 @@
+../../Task/Remove-lines-from-a-file/TUSCRIPT
\ No newline at end of file
diff --git a/Lang/TUSCRIPT/Rename-a-file b/Lang/TUSCRIPT/Rename-a-file
new file mode 120000
index 0000000000..e53b759b54
--- /dev/null
+++ b/Lang/TUSCRIPT/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/TUSCRIPT
\ No newline at end of file
diff --git a/Lang/TUSCRIPT/Repeat-a-string b/Lang/TUSCRIPT/Repeat-a-string
new file mode 120000
index 0000000000..e3b6fa2a5c
--- /dev/null
+++ b/Lang/TUSCRIPT/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/TUSCRIPT
\ No newline at end of file
diff --git a/Lang/TUSCRIPT/Reverse-a-string b/Lang/TUSCRIPT/Reverse-a-string
new file mode 120000
index 0000000000..bf2be96f00
--- /dev/null
+++ b/Lang/TUSCRIPT/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/TUSCRIPT
\ No newline at end of file
diff --git a/Lang/TUSCRIPT/Roman-numerals-Decode b/Lang/TUSCRIPT/Roman-numerals-Decode
new file mode 120000
index 0000000000..d1fee1f2ae
--- /dev/null
+++ b/Lang/TUSCRIPT/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/TUSCRIPT
\ No newline at end of file
diff --git a/Lang/TUSCRIPT/Roman-numerals-Encode b/Lang/TUSCRIPT/Roman-numerals-Encode
new file mode 120000
index 0000000000..1fb28a32ef
--- /dev/null
+++ b/Lang/TUSCRIPT/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/TUSCRIPT
\ No newline at end of file
diff --git a/Lang/TUSCRIPT/Rosetta-Code-Count-examples b/Lang/TUSCRIPT/Rosetta-Code-Count-examples
new file mode 120000
index 0000000000..593f1db983
--- /dev/null
+++ b/Lang/TUSCRIPT/Rosetta-Code-Count-examples
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Count-examples/TUSCRIPT
\ No newline at end of file
diff --git a/Lang/TUSCRIPT/Rosetta-Code-Rank-languages-by-popularity b/Lang/TUSCRIPT/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..5c73e329b6
--- /dev/null
+++ b/Lang/TUSCRIPT/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/TUSCRIPT
\ No newline at end of file
diff --git a/Lang/TUSCRIPT/Run-length-encoding b/Lang/TUSCRIPT/Run-length-encoding
new file mode 120000
index 0000000000..2848a1e929
--- /dev/null
+++ b/Lang/TUSCRIPT/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/TUSCRIPT
\ No newline at end of file
diff --git a/Lang/TUSCRIPT/SEDOLs b/Lang/TUSCRIPT/SEDOLs
new file mode 120000
index 0000000000..5123339d88
--- /dev/null
+++ b/Lang/TUSCRIPT/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/TUSCRIPT
\ No newline at end of file
diff --git a/Lang/TUSCRIPT/Secure-temporary-file b/Lang/TUSCRIPT/Secure-temporary-file
new file mode 120000
index 0000000000..de39e01923
--- /dev/null
+++ b/Lang/TUSCRIPT/Secure-temporary-file
@@ -0,0 +1 @@
+../../Task/Secure-temporary-file/TUSCRIPT
\ No newline at end of file
diff --git a/Lang/TUSCRIPT/Semordnilap b/Lang/TUSCRIPT/Semordnilap
new file mode 120000
index 0000000000..f9f53b9590
--- /dev/null
+++ b/Lang/TUSCRIPT/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/TUSCRIPT
\ No newline at end of file
diff --git a/Lang/TUSCRIPT/Send-email b/Lang/TUSCRIPT/Send-email
new file mode 120000
index 0000000000..910ec1dfda
--- /dev/null
+++ b/Lang/TUSCRIPT/Send-email
@@ -0,0 +1 @@
+../../Task/Send-email/TUSCRIPT
\ No newline at end of file
diff --git a/Lang/TXR/Arbitrary-precision-integers--included- b/Lang/TXR/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..88f8567066
--- /dev/null
+++ b/Lang/TXR/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/TXR
\ No newline at end of file
diff --git a/Lang/TXR/Arbitrary-precision-integers-included b/Lang/TXR/Arbitrary-precision-integers-included
deleted file mode 120000
index 766c0db431..0000000000
--- a/Lang/TXR/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/TXR
\ No newline at end of file
diff --git a/Lang/TXR/Environment-variables b/Lang/TXR/Environment-variables
new file mode 120000
index 0000000000..3475bcead5
--- /dev/null
+++ b/Lang/TXR/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/TXR
\ No newline at end of file
diff --git a/Lang/TXR/Pangram-checker b/Lang/TXR/Pangram-checker
new file mode 120000
index 0000000000..c1be388a09
--- /dev/null
+++ b/Lang/TXR/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/TXR
\ No newline at end of file
diff --git a/Lang/TXR/Pick-random-element b/Lang/TXR/Pick-random-element
new file mode 120000
index 0000000000..5bde180eca
--- /dev/null
+++ b/Lang/TXR/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/TXR
\ No newline at end of file
diff --git a/Lang/TXR/Power-set b/Lang/TXR/Power-set
new file mode 120000
index 0000000000..d3107e0d7f
--- /dev/null
+++ b/Lang/TXR/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/TXR
\ No newline at end of file
diff --git a/Lang/TXR/Prime-decomposition b/Lang/TXR/Prime-decomposition
new file mode 120000
index 0000000000..eaa237842c
--- /dev/null
+++ b/Lang/TXR/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/TXR
\ No newline at end of file
diff --git a/Lang/TXR/Read-a-configuration-file b/Lang/TXR/Read-a-configuration-file
new file mode 120000
index 0000000000..d0a7dceb50
--- /dev/null
+++ b/Lang/TXR/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/TXR
\ No newline at end of file
diff --git a/Lang/TXR/Read-a-specific-line-from-a-file b/Lang/TXR/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..f379e3ef5c
--- /dev/null
+++ b/Lang/TXR/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/TXR
\ No newline at end of file
diff --git a/Lang/TXR/Read-entire-file b/Lang/TXR/Read-entire-file
new file mode 120000
index 0000000000..a19691fb78
--- /dev/null
+++ b/Lang/TXR/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/TXR
\ No newline at end of file
diff --git a/Lang/TXR/Regular-expressions b/Lang/TXR/Regular-expressions
new file mode 120000
index 0000000000..5f90361f19
--- /dev/null
+++ b/Lang/TXR/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/TXR
\ No newline at end of file
diff --git a/Lang/TXR/Return-multiple-values b/Lang/TXR/Return-multiple-values
new file mode 120000
index 0000000000..f4aee8ae58
--- /dev/null
+++ b/Lang/TXR/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/TXR
\ No newline at end of file
diff --git a/Lang/TXR/Rot-13 b/Lang/TXR/Rot-13
new file mode 120000
index 0000000000..70a3abb775
--- /dev/null
+++ b/Lang/TXR/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/TXR
\ No newline at end of file
diff --git a/Lang/TXR/Scope-modifiers b/Lang/TXR/Scope-modifiers
new file mode 120000
index 0000000000..3c6b2ddd8c
--- /dev/null
+++ b/Lang/TXR/Scope-modifiers
@@ -0,0 +1 @@
+../../Task/Scope-modifiers/TXR
\ No newline at end of file
diff --git a/Lang/TXR/Send-email b/Lang/TXR/Send-email
new file mode 120000
index 0000000000..e8f3ae9fea
--- /dev/null
+++ b/Lang/TXR/Send-email
@@ -0,0 +1 @@
+../../Task/Send-email/TXR
\ No newline at end of file
diff --git a/Lang/Tcl/Arbitrary-precision-integers--included- b/Lang/Tcl/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..5216d8625d
--- /dev/null
+++ b/Lang/Tcl/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Arbitrary-precision-integers-included b/Lang/Tcl/Arbitrary-precision-integers-included
deleted file mode 120000
index c1a2cb119a..0000000000
--- a/Lang/Tcl/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Binary-digits b/Lang/Tcl/Binary-digits
new file mode 120000
index 0000000000..488d23d3fb
--- /dev/null
+++ b/Lang/Tcl/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Brownian-tree b/Lang/Tcl/Brownian-tree
new file mode 120000
index 0000000000..c4524d252f
--- /dev/null
+++ b/Lang/Tcl/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Calendar---for-real-programmers b/Lang/Tcl/Calendar---for-real-programmers
new file mode 120000
index 0000000000..d49bf551a1
--- /dev/null
+++ b/Lang/Tcl/Calendar---for-real-programmers
@@ -0,0 +1 @@
+../../Task/Calendar---for-real-programmers/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Calendar-for-real-programmers b/Lang/Tcl/Calendar-for-real-programmers
deleted file mode 120000
index 97e97724d3..0000000000
--- a/Lang/Tcl/Calendar-for-real-programmers
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Calendar-for-real-programmers/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Catalan-numbers b/Lang/Tcl/Catalan-numbers
new file mode 120000
index 0000000000..3cd19b58cb
--- /dev/null
+++ b/Lang/Tcl/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N b/Lang/Tcl/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N
deleted file mode 120000
index 2ff9107c8e..0000000000
--- a/Lang/Tcl/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N- b/Lang/Tcl/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-
new file mode 120000
index 0000000000..7d65393585
--- /dev/null
+++ b/Lang/Tcl/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2 b/Lang/Tcl/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2
deleted file mode 120000
index a8987eb00c..0000000000
--- a/Lang/Tcl/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2- b/Lang/Tcl/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2-
new file mode 120000
index 0000000000..4967ab7af3
--- /dev/null
+++ b/Lang/Tcl/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2-
@@ -0,0 +1 @@
+../../Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2-/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Copy-a-string b/Lang/Tcl/Copy-a-string
new file mode 120000
index 0000000000..310425a40b
--- /dev/null
+++ b/Lang/Tcl/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Dragon-curve b/Lang/Tcl/Dragon-curve
new file mode 120000
index 0000000000..89549752ec
--- /dev/null
+++ b/Lang/Tcl/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Environment-variables b/Lang/Tcl/Environment-variables
new file mode 120000
index 0000000000..7c57a044ce
--- /dev/null
+++ b/Lang/Tcl/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Execute-a-Markov-algorithm b/Lang/Tcl/Execute-a-Markov-algorithm
new file mode 120000
index 0000000000..3b29b4bbe7
--- /dev/null
+++ b/Lang/Tcl/Execute-a-Markov-algorithm
@@ -0,0 +1 @@
+../../Task/Execute-a-Markov-algorithm/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Guess-the-number-With-feedback--player- b/Lang/Tcl/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..5a829f2a1a
--- /dev/null
+++ b/Lang/Tcl/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Guess-the-number-With-feedback-player b/Lang/Tcl/Guess-the-number-With-feedback-player
deleted file mode 120000
index 45eec94bee..0000000000
--- a/Lang/Tcl/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/N-queens-problem b/Lang/Tcl/N-queens-problem
new file mode 120000
index 0000000000..a9828a78d7
--- /dev/null
+++ b/Lang/Tcl/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Named-parameters b/Lang/Tcl/Named-parameters
new file mode 120000
index 0000000000..cfd6debc6b
--- /dev/null
+++ b/Lang/Tcl/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Nautical-bell b/Lang/Tcl/Nautical-bell
new file mode 120000
index 0000000000..0e2b2bacbf
--- /dev/null
+++ b/Lang/Tcl/Nautical-bell
@@ -0,0 +1 @@
+../../Task/Nautical-bell/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Non-continuous-subsequences b/Lang/Tcl/Non-continuous-subsequences
new file mode 120000
index 0000000000..5c3f136092
--- /dev/null
+++ b/Lang/Tcl/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Non-decimal-radices-Convert b/Lang/Tcl/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..846994e307
--- /dev/null
+++ b/Lang/Tcl/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Non-decimal-radices-Input b/Lang/Tcl/Non-decimal-radices-Input
new file mode 120000
index 0000000000..e483654ad3
--- /dev/null
+++ b/Lang/Tcl/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Non-decimal-radices-Output b/Lang/Tcl/Non-decimal-radices-Output
new file mode 120000
index 0000000000..6b7fb29d62
--- /dev/null
+++ b/Lang/Tcl/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Nth-root b/Lang/Tcl/Nth-root
new file mode 120000
index 0000000000..32daefcf78
--- /dev/null
+++ b/Lang/Tcl/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Null-object b/Lang/Tcl/Null-object
new file mode 120000
index 0000000000..b41fd799a0
--- /dev/null
+++ b/Lang/Tcl/Null-object
@@ -0,0 +1 @@
+../../Task/Null-object/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Number-names b/Lang/Tcl/Number-names
new file mode 120000
index 0000000000..9aeea63ca9
--- /dev/null
+++ b/Lang/Tcl/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Number-reversal-game b/Lang/Tcl/Number-reversal-game
new file mode 120000
index 0000000000..f95be2b6d0
--- /dev/null
+++ b/Lang/Tcl/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Numeric-error-propagation b/Lang/Tcl/Numeric-error-propagation
new file mode 120000
index 0000000000..95be34bdd1
--- /dev/null
+++ b/Lang/Tcl/Numeric-error-propagation
@@ -0,0 +1 @@
+../../Task/Numeric-error-propagation/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Numerical-integration b/Lang/Tcl/Numerical-integration
new file mode 120000
index 0000000000..b10d052296
--- /dev/null
+++ b/Lang/Tcl/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Numerical-integration-Gauss-Legendre-Quadrature b/Lang/Tcl/Numerical-integration-Gauss-Legendre-Quadrature
new file mode 120000
index 0000000000..023a5d59af
--- /dev/null
+++ b/Lang/Tcl/Numerical-integration-Gauss-Legendre-Quadrature
@@ -0,0 +1 @@
+../../Task/Numerical-integration-Gauss-Legendre-Quadrature/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Object-serialization b/Lang/Tcl/Object-serialization
new file mode 120000
index 0000000000..cedd8c9c07
--- /dev/null
+++ b/Lang/Tcl/Object-serialization
@@ -0,0 +1 @@
+../../Task/Object-serialization/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/One-dimensional-cellular-automata b/Lang/Tcl/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..4dd07ded85
--- /dev/null
+++ b/Lang/Tcl/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/One-of-n-lines-in-a-file b/Lang/Tcl/One-of-n-lines-in-a-file
new file mode 120000
index 0000000000..ecb8aea5ed
--- /dev/null
+++ b/Lang/Tcl/One-of-n-lines-in-a-file
@@ -0,0 +1 @@
+../../Task/One-of-n-lines-in-a-file/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/OpenGL b/Lang/Tcl/OpenGL
new file mode 120000
index 0000000000..aa16afdf47
--- /dev/null
+++ b/Lang/Tcl/OpenGL
@@ -0,0 +1 @@
+../../Task/OpenGL/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Optional-parameters b/Lang/Tcl/Optional-parameters
new file mode 120000
index 0000000000..99bca4ab01
--- /dev/null
+++ b/Lang/Tcl/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Order-two-numerical-lists b/Lang/Tcl/Order-two-numerical-lists
new file mode 120000
index 0000000000..0806dbec0a
--- /dev/null
+++ b/Lang/Tcl/Order-two-numerical-lists
@@ -0,0 +1 @@
+../../Task/Order-two-numerical-lists/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Ordered-Partitions b/Lang/Tcl/Ordered-Partitions
new file mode 120000
index 0000000000..23cfb8a5ce
--- /dev/null
+++ b/Lang/Tcl/Ordered-Partitions
@@ -0,0 +1 @@
+../../Task/Ordered-Partitions/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Palindrome-detection b/Lang/Tcl/Palindrome-detection
new file mode 120000
index 0000000000..4d864467b6
--- /dev/null
+++ b/Lang/Tcl/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Pangram-checker b/Lang/Tcl/Pangram-checker
new file mode 120000
index 0000000000..bd01efa957
--- /dev/null
+++ b/Lang/Tcl/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Parallel-calculations b/Lang/Tcl/Parallel-calculations
new file mode 120000
index 0000000000..efb47a1d33
--- /dev/null
+++ b/Lang/Tcl/Parallel-calculations
@@ -0,0 +1 @@
+../../Task/Parallel-calculations/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Parametrized-SQL-statement b/Lang/Tcl/Parametrized-SQL-statement
new file mode 120000
index 0000000000..f458522d2f
--- /dev/null
+++ b/Lang/Tcl/Parametrized-SQL-statement
@@ -0,0 +1 @@
+../../Task/Parametrized-SQL-statement/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Parsing-RPN-calculator-algorithm b/Lang/Tcl/Parsing-RPN-calculator-algorithm
new file mode 120000
index 0000000000..a80925b90b
--- /dev/null
+++ b/Lang/Tcl/Parsing-RPN-calculator-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-calculator-algorithm/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Parsing-RPN-to-infix-conversion b/Lang/Tcl/Parsing-RPN-to-infix-conversion
new file mode 120000
index 0000000000..cacddb4d93
--- /dev/null
+++ b/Lang/Tcl/Parsing-RPN-to-infix-conversion
@@ -0,0 +1 @@
+../../Task/Parsing-RPN-to-infix-conversion/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Parsing-Shunting-yard-algorithm b/Lang/Tcl/Parsing-Shunting-yard-algorithm
new file mode 120000
index 0000000000..b7d469b73e
--- /dev/null
+++ b/Lang/Tcl/Parsing-Shunting-yard-algorithm
@@ -0,0 +1 @@
+../../Task/Parsing-Shunting-yard-algorithm/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Partial-function-application b/Lang/Tcl/Partial-function-application
new file mode 120000
index 0000000000..7e4de9f2ec
--- /dev/null
+++ b/Lang/Tcl/Partial-function-application
@@ -0,0 +1 @@
+../../Task/Partial-function-application/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Pascals-triangle b/Lang/Tcl/Pascals-triangle
new file mode 120000
index 0000000000..417e75cad5
--- /dev/null
+++ b/Lang/Tcl/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Pascals-triangle-Puzzle b/Lang/Tcl/Pascals-triangle-Puzzle
new file mode 120000
index 0000000000..6bef90c6c1
--- /dev/null
+++ b/Lang/Tcl/Pascals-triangle-Puzzle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle-Puzzle/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Pattern-matching b/Lang/Tcl/Pattern-matching
new file mode 120000
index 0000000000..21ce76cdc3
--- /dev/null
+++ b/Lang/Tcl/Pattern-matching
@@ -0,0 +1 @@
+../../Task/Pattern-matching/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Percentage-difference-between-images b/Lang/Tcl/Percentage-difference-between-images
new file mode 120000
index 0000000000..0e4ed82c63
--- /dev/null
+++ b/Lang/Tcl/Percentage-difference-between-images
@@ -0,0 +1 @@
+../../Task/Percentage-difference-between-images/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Perfect-numbers b/Lang/Tcl/Perfect-numbers
new file mode 120000
index 0000000000..6fc4478798
--- /dev/null
+++ b/Lang/Tcl/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Permutation-test b/Lang/Tcl/Permutation-test
new file mode 120000
index 0000000000..2e009865bf
--- /dev/null
+++ b/Lang/Tcl/Permutation-test
@@ -0,0 +1 @@
+../../Task/Permutation-test/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Permutations b/Lang/Tcl/Permutations
new file mode 120000
index 0000000000..48a704f012
--- /dev/null
+++ b/Lang/Tcl/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Permutations-Derangements b/Lang/Tcl/Permutations-Derangements
new file mode 120000
index 0000000000..6d8953a886
--- /dev/null
+++ b/Lang/Tcl/Permutations-Derangements
@@ -0,0 +1 @@
+../../Task/Permutations-Derangements/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Permutations-by-swapping b/Lang/Tcl/Permutations-by-swapping
new file mode 120000
index 0000000000..7515bb46be
--- /dev/null
+++ b/Lang/Tcl/Permutations-by-swapping
@@ -0,0 +1 @@
+../../Task/Permutations-by-swapping/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Pick-random-element b/Lang/Tcl/Pick-random-element
new file mode 120000
index 0000000000..e691089bb1
--- /dev/null
+++ b/Lang/Tcl/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Pig-the-dice-game b/Lang/Tcl/Pig-the-dice-game
new file mode 120000
index 0000000000..032c67a498
--- /dev/null
+++ b/Lang/Tcl/Pig-the-dice-game
@@ -0,0 +1 @@
+../../Task/Pig-the-dice-game/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Pig-the-dice-game-Player b/Lang/Tcl/Pig-the-dice-game-Player
new file mode 120000
index 0000000000..232e1e43b2
--- /dev/null
+++ b/Lang/Tcl/Pig-the-dice-game-Player
@@ -0,0 +1 @@
+../../Task/Pig-the-dice-game-Player/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Pinstripe-Display b/Lang/Tcl/Pinstripe-Display
new file mode 120000
index 0000000000..244906821b
--- /dev/null
+++ b/Lang/Tcl/Pinstripe-Display
@@ -0,0 +1 @@
+../../Task/Pinstripe-Display/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Pinstripe-Printer b/Lang/Tcl/Pinstripe-Printer
new file mode 120000
index 0000000000..abcb8826cd
--- /dev/null
+++ b/Lang/Tcl/Pinstripe-Printer
@@ -0,0 +1 @@
+../../Task/Pinstripe-Printer/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Play-recorded-sounds b/Lang/Tcl/Play-recorded-sounds
new file mode 120000
index 0000000000..ce2f0f3919
--- /dev/null
+++ b/Lang/Tcl/Play-recorded-sounds
@@ -0,0 +1 @@
+../../Task/Play-recorded-sounds/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Playing-cards b/Lang/Tcl/Playing-cards
new file mode 120000
index 0000000000..fc655a60f1
--- /dev/null
+++ b/Lang/Tcl/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Plot-coordinate-pairs b/Lang/Tcl/Plot-coordinate-pairs
new file mode 120000
index 0000000000..230d5e5cd1
--- /dev/null
+++ b/Lang/Tcl/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Pointers-and-references b/Lang/Tcl/Pointers-and-references
new file mode 120000
index 0000000000..c44ab5110d
--- /dev/null
+++ b/Lang/Tcl/Pointers-and-references
@@ -0,0 +1 @@
+../../Task/Pointers-and-references/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Polymorphic-copy b/Lang/Tcl/Polymorphic-copy
new file mode 120000
index 0000000000..54a3067efa
--- /dev/null
+++ b/Lang/Tcl/Polymorphic-copy
@@ -0,0 +1 @@
+../../Task/Polymorphic-copy/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Polymorphism b/Lang/Tcl/Polymorphism
new file mode 120000
index 0000000000..652c03966a
--- /dev/null
+++ b/Lang/Tcl/Polymorphism
@@ -0,0 +1 @@
+../../Task/Polymorphism/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Polynomial-long-division b/Lang/Tcl/Polynomial-long-division
new file mode 120000
index 0000000000..d96f277b61
--- /dev/null
+++ b/Lang/Tcl/Polynomial-long-division
@@ -0,0 +1 @@
+../../Task/Polynomial-long-division/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Polynomial-regression b/Lang/Tcl/Polynomial-regression
new file mode 120000
index 0000000000..38fa80ebb4
--- /dev/null
+++ b/Lang/Tcl/Polynomial-regression
@@ -0,0 +1 @@
+../../Task/Polynomial-regression/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Power-set b/Lang/Tcl/Power-set
new file mode 120000
index 0000000000..8695fab572
--- /dev/null
+++ b/Lang/Tcl/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Price-fraction b/Lang/Tcl/Price-fraction
new file mode 120000
index 0000000000..09e2f88e1c
--- /dev/null
+++ b/Lang/Tcl/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Primality-by-trial-division b/Lang/Tcl/Primality-by-trial-division
new file mode 120000
index 0000000000..a631f45dd8
--- /dev/null
+++ b/Lang/Tcl/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Prime-decomposition b/Lang/Tcl/Prime-decomposition
new file mode 120000
index 0000000000..b005f44841
--- /dev/null
+++ b/Lang/Tcl/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Priority-queue b/Lang/Tcl/Priority-queue
new file mode 120000
index 0000000000..341ec799bf
--- /dev/null
+++ b/Lang/Tcl/Priority-queue
@@ -0,0 +1 @@
+../../Task/Priority-queue/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Probabilistic-choice b/Lang/Tcl/Probabilistic-choice
new file mode 120000
index 0000000000..c55fb66be5
--- /dev/null
+++ b/Lang/Tcl/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Problem-of-Apollonius b/Lang/Tcl/Problem-of-Apollonius
new file mode 120000
index 0000000000..44051fc539
--- /dev/null
+++ b/Lang/Tcl/Problem-of-Apollonius
@@ -0,0 +1 @@
+../../Task/Problem-of-Apollonius/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Program-name b/Lang/Tcl/Program-name
new file mode 120000
index 0000000000..c986247202
--- /dev/null
+++ b/Lang/Tcl/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Program-termination b/Lang/Tcl/Program-termination
new file mode 120000
index 0000000000..8e50ec8858
--- /dev/null
+++ b/Lang/Tcl/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Pythagorean-triples b/Lang/Tcl/Pythagorean-triples
new file mode 120000
index 0000000000..ed7803f67f
--- /dev/null
+++ b/Lang/Tcl/Pythagorean-triples
@@ -0,0 +1 @@
+../../Task/Pythagorean-triples/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/QR-decomposition b/Lang/Tcl/QR-decomposition
new file mode 120000
index 0000000000..b03d15f07d
--- /dev/null
+++ b/Lang/Tcl/QR-decomposition
@@ -0,0 +1 @@
+../../Task/QR-decomposition/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Quaternion-type b/Lang/Tcl/Quaternion-type
new file mode 120000
index 0000000000..50905d75b8
--- /dev/null
+++ b/Lang/Tcl/Quaternion-type
@@ -0,0 +1 @@
+../../Task/Quaternion-type/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Queue-Definition b/Lang/Tcl/Queue-Definition
new file mode 120000
index 0000000000..9648db75ad
--- /dev/null
+++ b/Lang/Tcl/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Queue-Usage b/Lang/Tcl/Queue-Usage
new file mode 120000
index 0000000000..85800b2931
--- /dev/null
+++ b/Lang/Tcl/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/RIPEMD-160 b/Lang/Tcl/RIPEMD-160
new file mode 120000
index 0000000000..e2d7a8ab99
--- /dev/null
+++ b/Lang/Tcl/RIPEMD-160
@@ -0,0 +1 @@
+../../Task/RIPEMD-160/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Random-number-generator--device- b/Lang/Tcl/Random-number-generator--device-
new file mode 120000
index 0000000000..3fc2722e2e
--- /dev/null
+++ b/Lang/Tcl/Random-number-generator--device-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--device-/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Random-numbers b/Lang/Tcl/Random-numbers
new file mode 120000
index 0000000000..585ecdc63c
--- /dev/null
+++ b/Lang/Tcl/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Range-expansion b/Lang/Tcl/Range-expansion
new file mode 120000
index 0000000000..ac6afea2c3
--- /dev/null
+++ b/Lang/Tcl/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Range-extraction b/Lang/Tcl/Range-extraction
new file mode 120000
index 0000000000..5214eb4f33
--- /dev/null
+++ b/Lang/Tcl/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Rate-counter b/Lang/Tcl/Rate-counter
new file mode 120000
index 0000000000..2bf98c6c50
--- /dev/null
+++ b/Lang/Tcl/Rate-counter
@@ -0,0 +1 @@
+../../Task/Rate-counter/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Ray-casting-algorithm b/Lang/Tcl/Ray-casting-algorithm
new file mode 120000
index 0000000000..f80d6a9c8a
--- /dev/null
+++ b/Lang/Tcl/Ray-casting-algorithm
@@ -0,0 +1 @@
+../../Task/Ray-casting-algorithm/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Read-a-configuration-file b/Lang/Tcl/Read-a-configuration-file
new file mode 120000
index 0000000000..aa2302225a
--- /dev/null
+++ b/Lang/Tcl/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Read-a-file-line-by-line b/Lang/Tcl/Read-a-file-line-by-line
new file mode 120000
index 0000000000..b298d0e3e3
--- /dev/null
+++ b/Lang/Tcl/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Read-a-specific-line-from-a-file b/Lang/Tcl/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..9b0677f828
--- /dev/null
+++ b/Lang/Tcl/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Read-entire-file b/Lang/Tcl/Read-entire-file
new file mode 120000
index 0000000000..23323e5bf3
--- /dev/null
+++ b/Lang/Tcl/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Real-constants-and-functions b/Lang/Tcl/Real-constants-and-functions
new file mode 120000
index 0000000000..2cffde7e9e
--- /dev/null
+++ b/Lang/Tcl/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Record-sound b/Lang/Tcl/Record-sound
new file mode 120000
index 0000000000..3910b97c1b
--- /dev/null
+++ b/Lang/Tcl/Record-sound
@@ -0,0 +1 @@
+../../Task/Record-sound/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Reduced-row-echelon-form b/Lang/Tcl/Reduced-row-echelon-form
new file mode 120000
index 0000000000..56eb81d8e5
--- /dev/null
+++ b/Lang/Tcl/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Regular-expressions b/Lang/Tcl/Regular-expressions
new file mode 120000
index 0000000000..ac19d8dad2
--- /dev/null
+++ b/Lang/Tcl/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Remove-duplicate-elements b/Lang/Tcl/Remove-duplicate-elements
new file mode 120000
index 0000000000..04f4485cb8
--- /dev/null
+++ b/Lang/Tcl/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Remove-lines-from-a-file b/Lang/Tcl/Remove-lines-from-a-file
new file mode 120000
index 0000000000..a85d122fd9
--- /dev/null
+++ b/Lang/Tcl/Remove-lines-from-a-file
@@ -0,0 +1 @@
+../../Task/Remove-lines-from-a-file/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Rename-a-file b/Lang/Tcl/Rename-a-file
new file mode 120000
index 0000000000..bb41e78bdd
--- /dev/null
+++ b/Lang/Tcl/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Rendezvous b/Lang/Tcl/Rendezvous
new file mode 120000
index 0000000000..73d6bdebb3
--- /dev/null
+++ b/Lang/Tcl/Rendezvous
@@ -0,0 +1 @@
+../../Task/Rendezvous/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Repeat-a-string b/Lang/Tcl/Repeat-a-string
new file mode 120000
index 0000000000..153d08b98c
--- /dev/null
+++ b/Lang/Tcl/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Resistor-mesh b/Lang/Tcl/Resistor-mesh
new file mode 120000
index 0000000000..6cf1b7265b
--- /dev/null
+++ b/Lang/Tcl/Resistor-mesh
@@ -0,0 +1 @@
+../../Task/Resistor-mesh/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Respond-to-an-unknown-method-call b/Lang/Tcl/Respond-to-an-unknown-method-call
new file mode 120000
index 0000000000..2b885a9acc
--- /dev/null
+++ b/Lang/Tcl/Respond-to-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Respond-to-an-unknown-method-call/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Return-multiple-values b/Lang/Tcl/Return-multiple-values
new file mode 120000
index 0000000000..ce7b683083
--- /dev/null
+++ b/Lang/Tcl/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Reverse-a-string b/Lang/Tcl/Reverse-a-string
new file mode 120000
index 0000000000..7a813a0a23
--- /dev/null
+++ b/Lang/Tcl/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Rock-paper-scissors b/Lang/Tcl/Rock-paper-scissors
new file mode 120000
index 0000000000..46bd29855f
--- /dev/null
+++ b/Lang/Tcl/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Roman-numerals-Decode b/Lang/Tcl/Roman-numerals-Decode
new file mode 120000
index 0000000000..a5b221aadf
--- /dev/null
+++ b/Lang/Tcl/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Roman-numerals-Encode b/Lang/Tcl/Roman-numerals-Encode
new file mode 120000
index 0000000000..f6021c5282
--- /dev/null
+++ b/Lang/Tcl/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Roots-of-a-function b/Lang/Tcl/Roots-of-a-function
new file mode 120000
index 0000000000..43a501d7eb
--- /dev/null
+++ b/Lang/Tcl/Roots-of-a-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-function/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Roots-of-a-quadratic-function b/Lang/Tcl/Roots-of-a-quadratic-function
new file mode 120000
index 0000000000..23a1b498b4
--- /dev/null
+++ b/Lang/Tcl/Roots-of-a-quadratic-function
@@ -0,0 +1 @@
+../../Task/Roots-of-a-quadratic-function/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Roots-of-unity b/Lang/Tcl/Roots-of-unity
new file mode 120000
index 0000000000..49fcb06620
--- /dev/null
+++ b/Lang/Tcl/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Rosetta-Code-Count-examples b/Lang/Tcl/Rosetta-Code-Count-examples
new file mode 120000
index 0000000000..36cc31efcb
--- /dev/null
+++ b/Lang/Tcl/Rosetta-Code-Count-examples
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Count-examples/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Rosetta-Code-Find-unimplemented-tasks b/Lang/Tcl/Rosetta-Code-Find-unimplemented-tasks
new file mode 120000
index 0000000000..22fbcdfd56
--- /dev/null
+++ b/Lang/Tcl/Rosetta-Code-Find-unimplemented-tasks
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Find-unimplemented-tasks/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Rosetta-Code-Fix-code-tags b/Lang/Tcl/Rosetta-Code-Fix-code-tags
new file mode 120000
index 0000000000..6ad7902ad5
--- /dev/null
+++ b/Lang/Tcl/Rosetta-Code-Fix-code-tags
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Fix-code-tags/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Rosetta-Code-Rank-languages-by-popularity b/Lang/Tcl/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..134eb7c0c3
--- /dev/null
+++ b/Lang/Tcl/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Rot-13 b/Lang/Tcl/Rot-13
new file mode 120000
index 0000000000..0d082ea236
--- /dev/null
+++ b/Lang/Tcl/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Run-length-encoding b/Lang/Tcl/Run-length-encoding
new file mode 120000
index 0000000000..a7c97ce368
--- /dev/null
+++ b/Lang/Tcl/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Runtime-evaluation b/Lang/Tcl/Runtime-evaluation
new file mode 120000
index 0000000000..f70bc28f18
--- /dev/null
+++ b/Lang/Tcl/Runtime-evaluation
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Runtime-evaluation-In-an-environment b/Lang/Tcl/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..1a4eb5fc24
--- /dev/null
+++ b/Lang/Tcl/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/S-Expressions b/Lang/Tcl/S-Expressions
new file mode 120000
index 0000000000..91c2c4de88
--- /dev/null
+++ b/Lang/Tcl/S-Expressions
@@ -0,0 +1 @@
+../../Task/S-Expressions/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/SEDOLs b/Lang/Tcl/SEDOLs
new file mode 120000
index 0000000000..1748a2068b
--- /dev/null
+++ b/Lang/Tcl/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Safe-addition b/Lang/Tcl/Safe-addition
new file mode 120000
index 0000000000..40502fad23
--- /dev/null
+++ b/Lang/Tcl/Safe-addition
@@ -0,0 +1 @@
+../../Task/Safe-addition/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Same-Fringe b/Lang/Tcl/Same-Fringe
new file mode 120000
index 0000000000..4e326e4862
--- /dev/null
+++ b/Lang/Tcl/Same-Fringe
@@ -0,0 +1 @@
+../../Task/Same-Fringe/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Scope-Function-names-and-labels b/Lang/Tcl/Scope-Function-names-and-labels
new file mode 120000
index 0000000000..f7f6628ef8
--- /dev/null
+++ b/Lang/Tcl/Scope-Function-names-and-labels
@@ -0,0 +1 @@
+../../Task/Scope-Function-names-and-labels/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Scope-modifiers b/Lang/Tcl/Scope-modifiers
new file mode 120000
index 0000000000..ba475f55ed
--- /dev/null
+++ b/Lang/Tcl/Scope-modifiers
@@ -0,0 +1 @@
+../../Task/Scope-modifiers/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Secure-temporary-file b/Lang/Tcl/Secure-temporary-file
new file mode 120000
index 0000000000..0cae3c8896
--- /dev/null
+++ b/Lang/Tcl/Secure-temporary-file
@@ -0,0 +1 @@
+../../Task/Secure-temporary-file/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Self-describing-numbers b/Lang/Tcl/Self-describing-numbers
new file mode 120000
index 0000000000..4c7b15f498
--- /dev/null
+++ b/Lang/Tcl/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Self-referential-sequence b/Lang/Tcl/Self-referential-sequence
new file mode 120000
index 0000000000..d2739746df
--- /dev/null
+++ b/Lang/Tcl/Self-referential-sequence
@@ -0,0 +1 @@
+../../Task/Self-referential-sequence/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Semordnilap b/Lang/Tcl/Semordnilap
new file mode 120000
index 0000000000..4fa36fd270
--- /dev/null
+++ b/Lang/Tcl/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Send-an-unknown-method-call b/Lang/Tcl/Send-an-unknown-method-call
new file mode 120000
index 0000000000..955c83ede2
--- /dev/null
+++ b/Lang/Tcl/Send-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Send-an-unknown-method-call/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Send-email b/Lang/Tcl/Send-email
new file mode 120000
index 0000000000..c27a14be91
--- /dev/null
+++ b/Lang/Tcl/Send-email
@@ -0,0 +1 @@
+../../Task/Send-email/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Sequence-of-non-squares b/Lang/Tcl/Sequence-of-non-squares
new file mode 120000
index 0000000000..20f0f44aa0
--- /dev/null
+++ b/Lang/Tcl/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Set b/Lang/Tcl/Set
new file mode 120000
index 0000000000..5d8848b523
--- /dev/null
+++ b/Lang/Tcl/Set
@@ -0,0 +1 @@
+../../Task/Set/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Set-consolidation b/Lang/Tcl/Set-consolidation
new file mode 120000
index 0000000000..6c28cc9ffe
--- /dev/null
+++ b/Lang/Tcl/Set-consolidation
@@ -0,0 +1 @@
+../../Task/Set-consolidation/Tcl
\ No newline at end of file
diff --git a/Lang/Tcl/Set-of-real-numbers b/Lang/Tcl/Set-of-real-numbers
new file mode 120000
index 0000000000..6bb17173ce
--- /dev/null
+++ b/Lang/Tcl/Set-of-real-numbers
@@ -0,0 +1 @@
+../../Task/Set-of-real-numbers/Tcl
\ No newline at end of file
diff --git a/Lang/Toka/Copy-a-string b/Lang/Toka/Copy-a-string
new file mode 120000
index 0000000000..1563ce7b42
--- /dev/null
+++ b/Lang/Toka/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Toka
\ No newline at end of file
diff --git a/Lang/Toka/Regular-expressions b/Lang/Toka/Regular-expressions
new file mode 120000
index 0000000000..b6ac1ae1ba
--- /dev/null
+++ b/Lang/Toka/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Toka
\ No newline at end of file
diff --git a/Lang/Toka/Rename-a-file b/Lang/Toka/Rename-a-file
new file mode 120000
index 0000000000..363cc9a2af
--- /dev/null
+++ b/Lang/Toka/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Toka
\ No newline at end of file
diff --git a/Lang/TorqueScript/Read-a-file-line-by-line b/Lang/TorqueScript/Read-a-file-line-by-line
new file mode 120000
index 0000000000..bf4be89cdb
--- /dev/null
+++ b/Lang/TorqueScript/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/TorqueScript
\ No newline at end of file
diff --git a/Lang/TorqueScript/Rename-a-file b/Lang/TorqueScript/Rename-a-file
new file mode 120000
index 0000000000..604980c6d9
--- /dev/null
+++ b/Lang/TorqueScript/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/TorqueScript
\ No newline at end of file
diff --git a/Lang/TorqueScript/Repeat-a-string b/Lang/TorqueScript/Repeat-a-string
new file mode 120000
index 0000000000..515b60f89d
--- /dev/null
+++ b/Lang/TorqueScript/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/TorqueScript
\ No newline at end of file
diff --git a/Lang/TorqueScript/Rock-paper-scissors b/Lang/TorqueScript/Rock-paper-scissors
new file mode 120000
index 0000000000..755fd75d2b
--- /dev/null
+++ b/Lang/TorqueScript/Rock-paper-scissors
@@ -0,0 +1 @@
+../../Task/Rock-paper-scissors/TorqueScript
\ No newline at end of file
diff --git a/Lang/TorqueScript/Rot-13 b/Lang/TorqueScript/Rot-13
new file mode 120000
index 0000000000..f6cffbe59e
--- /dev/null
+++ b/Lang/TorqueScript/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/TorqueScript
\ No newline at end of file
diff --git a/Lang/Trith/Copy-a-string b/Lang/Trith/Copy-a-string
new file mode 120000
index 0000000000..f36434fb31
--- /dev/null
+++ b/Lang/Trith/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Trith
\ No newline at end of file
diff --git a/Lang/Turing/Pascals-triangle b/Lang/Turing/Pascals-triangle
new file mode 120000
index 0000000000..8196f8b644
--- /dev/null
+++ b/Lang/Turing/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Turing
\ No newline at end of file
diff --git a/Lang/Turing/Reverse-a-string b/Lang/Turing/Reverse-a-string
new file mode 120000
index 0000000000..193b20b31f
--- /dev/null
+++ b/Lang/Turing/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Turing
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Binary-digits b/Lang/UNIX-Shell/Binary-digits
new file mode 120000
index 0000000000..fa982845b7
--- /dev/null
+++ b/Lang/UNIX-Shell/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Copy-a-string b/Lang/UNIX-Shell/Copy-a-string
new file mode 120000
index 0000000000..632c6e82ec
--- /dev/null
+++ b/Lang/UNIX-Shell/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Environment-variables b/Lang/UNIX-Shell/Environment-variables
new file mode 120000
index 0000000000..8ab4853507
--- /dev/null
+++ b/Lang/UNIX-Shell/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Number-reversal-game b/Lang/UNIX-Shell/Number-reversal-game
new file mode 120000
index 0000000000..1846122329
--- /dev/null
+++ b/Lang/UNIX-Shell/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Pangram-checker b/Lang/UNIX-Shell/Pangram-checker
new file mode 120000
index 0000000000..74fbe0ce15
--- /dev/null
+++ b/Lang/UNIX-Shell/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Play-recorded-sounds b/Lang/UNIX-Shell/Play-recorded-sounds
new file mode 120000
index 0000000000..7e77ed96d6
--- /dev/null
+++ b/Lang/UNIX-Shell/Play-recorded-sounds
@@ -0,0 +1 @@
+../../Task/Play-recorded-sounds/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Power-set b/Lang/UNIX-Shell/Power-set
new file mode 120000
index 0000000000..ed0288ceb6
--- /dev/null
+++ b/Lang/UNIX-Shell/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Pragmatic-directives b/Lang/UNIX-Shell/Pragmatic-directives
new file mode 120000
index 0000000000..44eb65a34c
--- /dev/null
+++ b/Lang/UNIX-Shell/Pragmatic-directives
@@ -0,0 +1 @@
+../../Task/Pragmatic-directives/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Primality-by-trial-division b/Lang/UNIX-Shell/Primality-by-trial-division
new file mode 120000
index 0000000000..94a4e67fdb
--- /dev/null
+++ b/Lang/UNIX-Shell/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Program-name b/Lang/UNIX-Shell/Program-name
new file mode 120000
index 0000000000..813d1c8d0c
--- /dev/null
+++ b/Lang/UNIX-Shell/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Program-termination b/Lang/UNIX-Shell/Program-termination
new file mode 120000
index 0000000000..607831ad2b
--- /dev/null
+++ b/Lang/UNIX-Shell/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Random-number-generator--included- b/Lang/UNIX-Shell/Random-number-generator--included-
new file mode 120000
index 0000000000..b19f9a8dc6
--- /dev/null
+++ b/Lang/UNIX-Shell/Random-number-generator--included-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--included-/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Rate-counter b/Lang/UNIX-Shell/Rate-counter
new file mode 120000
index 0000000000..325fa70842
--- /dev/null
+++ b/Lang/UNIX-Shell/Rate-counter
@@ -0,0 +1 @@
+../../Task/Rate-counter/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Read-a-file-line-by-line b/Lang/UNIX-Shell/Read-a-file-line-by-line
new file mode 120000
index 0000000000..2f7cb55f74
--- /dev/null
+++ b/Lang/UNIX-Shell/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Read-entire-file b/Lang/UNIX-Shell/Read-entire-file
new file mode 120000
index 0000000000..4d5380d321
--- /dev/null
+++ b/Lang/UNIX-Shell/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Remove-lines-from-a-file b/Lang/UNIX-Shell/Remove-lines-from-a-file
new file mode 120000
index 0000000000..c78faa9388
--- /dev/null
+++ b/Lang/UNIX-Shell/Remove-lines-from-a-file
@@ -0,0 +1 @@
+../../Task/Remove-lines-from-a-file/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Rename-a-file b/Lang/UNIX-Shell/Rename-a-file
new file mode 120000
index 0000000000..9ca4d0c9a0
--- /dev/null
+++ b/Lang/UNIX-Shell/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Repeat-a-string b/Lang/UNIX-Shell/Repeat-a-string
new file mode 120000
index 0000000000..48d53cda52
--- /dev/null
+++ b/Lang/UNIX-Shell/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Respond-to-an-unknown-method-call b/Lang/UNIX-Shell/Respond-to-an-unknown-method-call
new file mode 120000
index 0000000000..264fc1f60b
--- /dev/null
+++ b/Lang/UNIX-Shell/Respond-to-an-unknown-method-call
@@ -0,0 +1 @@
+../../Task/Respond-to-an-unknown-method-call/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Return-multiple-values b/Lang/UNIX-Shell/Return-multiple-values
new file mode 120000
index 0000000000..089dac996a
--- /dev/null
+++ b/Lang/UNIX-Shell/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Rot-13 b/Lang/UNIX-Shell/Rot-13
new file mode 120000
index 0000000000..49b3e302fe
--- /dev/null
+++ b/Lang/UNIX-Shell/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Runtime-evaluation-In-an-environment b/Lang/UNIX-Shell/Runtime-evaluation-In-an-environment
new file mode 120000
index 0000000000..492affc430
--- /dev/null
+++ b/Lang/UNIX-Shell/Runtime-evaluation-In-an-environment
@@ -0,0 +1 @@
+../../Task/Runtime-evaluation-In-an-environment/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Scope-Function-names-and-labels b/Lang/UNIX-Shell/Scope-Function-names-and-labels
new file mode 120000
index 0000000000..1189c47457
--- /dev/null
+++ b/Lang/UNIX-Shell/Scope-Function-names-and-labels
@@ -0,0 +1 @@
+../../Task/Scope-Function-names-and-labels/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/UNIX-Shell/Secure-temporary-file b/Lang/UNIX-Shell/Secure-temporary-file
new file mode 120000
index 0000000000..d6526c41a5
--- /dev/null
+++ b/Lang/UNIX-Shell/Secure-temporary-file
@@ -0,0 +1 @@
+../../Task/Secure-temporary-file/UNIX-Shell
\ No newline at end of file
diff --git a/Lang/UnixPipes/Power-set b/Lang/UnixPipes/Power-set
new file mode 120000
index 0000000000..d3bbc3076e
--- /dev/null
+++ b/Lang/UnixPipes/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/UnixPipes
\ No newline at end of file
diff --git a/Lang/UnixPipes/Queue-Definition b/Lang/UnixPipes/Queue-Definition
new file mode 120000
index 0000000000..af3cacc7d9
--- /dev/null
+++ b/Lang/UnixPipes/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/UnixPipes
\ No newline at end of file
diff --git a/Lang/UnixPipes/Remove-duplicate-elements b/Lang/UnixPipes/Remove-duplicate-elements
new file mode 120000
index 0000000000..f5330a1cc3
--- /dev/null
+++ b/Lang/UnixPipes/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/UnixPipes
\ No newline at end of file
diff --git a/Lang/UnixPipes/Rosetta-Code-Rank-languages-by-popularity b/Lang/UnixPipes/Rosetta-Code-Rank-languages-by-popularity
new file mode 120000
index 0000000000..dd8942e0ea
--- /dev/null
+++ b/Lang/UnixPipes/Rosetta-Code-Rank-languages-by-popularity
@@ -0,0 +1 @@
+../../Task/Rosetta-Code-Rank-languages-by-popularity/UnixPipes
\ No newline at end of file
diff --git a/Lang/Unlambda/Program-termination b/Lang/Unlambda/Program-termination
new file mode 120000
index 0000000000..9e137c15b3
--- /dev/null
+++ b/Lang/Unlambda/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Unlambda
\ No newline at end of file
diff --git a/Lang/Unlambda/Reverse-a-string b/Lang/Unlambda/Reverse-a-string
new file mode 120000
index 0000000000..f33df7d387
--- /dev/null
+++ b/Lang/Unlambda/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Unlambda
\ No newline at end of file
diff --git a/Lang/Unlambda/Rot-13 b/Lang/Unlambda/Rot-13
new file mode 120000
index 0000000000..1209b366cf
--- /dev/null
+++ b/Lang/Unlambda/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Unlambda
\ No newline at end of file
diff --git a/Lang/Ursala/Arbitrary-precision-integers--included- b/Lang/Ursala/Arbitrary-precision-integers--included-
new file mode 120000
index 0000000000..269a2dbe33
--- /dev/null
+++ b/Lang/Ursala/Arbitrary-precision-integers--included-
@@ -0,0 +1 @@
+../../Task/Arbitrary-precision-integers--included-/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Arbitrary-precision-integers-included b/Lang/Ursala/Arbitrary-precision-integers-included
deleted file mode 120000
index 2b3fab76dd..0000000000
--- a/Lang/Ursala/Arbitrary-precision-integers-included
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Arbitrary-precision-integers-included/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Catalan-numbers b/Lang/Ursala/Catalan-numbers
new file mode 120000
index 0000000000..1239a98c33
--- /dev/null
+++ b/Lang/Ursala/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Environment-variables b/Lang/Ursala/Environment-variables
new file mode 120000
index 0000000000..0c4151a4f6
--- /dev/null
+++ b/Lang/Ursala/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/N-queens-problem b/Lang/Ursala/N-queens-problem
new file mode 120000
index 0000000000..1c2201d121
--- /dev/null
+++ b/Lang/Ursala/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Non-continuous-subsequences b/Lang/Ursala/Non-continuous-subsequences
new file mode 120000
index 0000000000..8a96e6a117
--- /dev/null
+++ b/Lang/Ursala/Non-continuous-subsequences
@@ -0,0 +1 @@
+../../Task/Non-continuous-subsequences/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Non-decimal-radices-Convert b/Lang/Ursala/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..da9ba2e191
--- /dev/null
+++ b/Lang/Ursala/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Nth-root b/Lang/Ursala/Nth-root
new file mode 120000
index 0000000000..717fce9c08
--- /dev/null
+++ b/Lang/Ursala/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Numerical-integration b/Lang/Ursala/Numerical-integration
new file mode 120000
index 0000000000..19937bc066
--- /dev/null
+++ b/Lang/Ursala/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Numerical-integration-Gauss-Legendre-Quadrature b/Lang/Ursala/Numerical-integration-Gauss-Legendre-Quadrature
new file mode 120000
index 0000000000..7eed9dbd11
--- /dev/null
+++ b/Lang/Ursala/Numerical-integration-Gauss-Legendre-Quadrature
@@ -0,0 +1 @@
+../../Task/Numerical-integration-Gauss-Legendre-Quadrature/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/One-dimensional-cellular-automata b/Lang/Ursala/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..1d4b559166
--- /dev/null
+++ b/Lang/Ursala/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Optional-parameters b/Lang/Ursala/Optional-parameters
new file mode 120000
index 0000000000..be0dea530a
--- /dev/null
+++ b/Lang/Ursala/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Ordered-Partitions b/Lang/Ursala/Ordered-Partitions
new file mode 120000
index 0000000000..eb9fce793a
--- /dev/null
+++ b/Lang/Ursala/Ordered-Partitions
@@ -0,0 +1 @@
+../../Task/Ordered-Partitions/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Palindrome-detection b/Lang/Ursala/Palindrome-detection
new file mode 120000
index 0000000000..4d1c3cc274
--- /dev/null
+++ b/Lang/Ursala/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Pangram-checker b/Lang/Ursala/Pangram-checker
new file mode 120000
index 0000000000..49b66667a2
--- /dev/null
+++ b/Lang/Ursala/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Parametric-polymorphism b/Lang/Ursala/Parametric-polymorphism
new file mode 120000
index 0000000000..1301d9a7c0
--- /dev/null
+++ b/Lang/Ursala/Parametric-polymorphism
@@ -0,0 +1 @@
+../../Task/Parametric-polymorphism/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Pascals-triangle b/Lang/Ursala/Pascals-triangle
new file mode 120000
index 0000000000..f96fb76485
--- /dev/null
+++ b/Lang/Ursala/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Perfect-numbers b/Lang/Ursala/Perfect-numbers
new file mode 120000
index 0000000000..0ecd25e18e
--- /dev/null
+++ b/Lang/Ursala/Perfect-numbers
@@ -0,0 +1 @@
+../../Task/Perfect-numbers/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Permutation-test b/Lang/Ursala/Permutation-test
new file mode 120000
index 0000000000..6eb1908c2f
--- /dev/null
+++ b/Lang/Ursala/Permutation-test
@@ -0,0 +1 @@
+../../Task/Permutation-test/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Permutations b/Lang/Ursala/Permutations
new file mode 120000
index 0000000000..22ab1e5484
--- /dev/null
+++ b/Lang/Ursala/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Plot-coordinate-pairs b/Lang/Ursala/Plot-coordinate-pairs
new file mode 120000
index 0000000000..4902a1d9b0
--- /dev/null
+++ b/Lang/Ursala/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Polynomial-long-division b/Lang/Ursala/Polynomial-long-division
new file mode 120000
index 0000000000..7df2a84924
--- /dev/null
+++ b/Lang/Ursala/Polynomial-long-division
@@ -0,0 +1 @@
+../../Task/Polynomial-long-division/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Polynomial-regression b/Lang/Ursala/Polynomial-regression
new file mode 120000
index 0000000000..dfd363f94a
--- /dev/null
+++ b/Lang/Ursala/Polynomial-regression
@@ -0,0 +1 @@
+../../Task/Polynomial-regression/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Power-set b/Lang/Ursala/Power-set
new file mode 120000
index 0000000000..ca20002bbe
--- /dev/null
+++ b/Lang/Ursala/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Price-fraction b/Lang/Ursala/Price-fraction
new file mode 120000
index 0000000000..1241b6c57c
--- /dev/null
+++ b/Lang/Ursala/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Primality-by-trial-division b/Lang/Ursala/Primality-by-trial-division
new file mode 120000
index 0000000000..19ef016a3e
--- /dev/null
+++ b/Lang/Ursala/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Probabilistic-choice b/Lang/Ursala/Probabilistic-choice
new file mode 120000
index 0000000000..b672f32d16
--- /dev/null
+++ b/Lang/Ursala/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Random-numbers b/Lang/Ursala/Random-numbers
new file mode 120000
index 0000000000..df20e0b664
--- /dev/null
+++ b/Lang/Ursala/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Range-expansion b/Lang/Ursala/Range-expansion
new file mode 120000
index 0000000000..a33c4735db
--- /dev/null
+++ b/Lang/Ursala/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Range-extraction b/Lang/Ursala/Range-extraction
new file mode 120000
index 0000000000..d3abdab16b
--- /dev/null
+++ b/Lang/Ursala/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Ray-casting-algorithm b/Lang/Ursala/Ray-casting-algorithm
new file mode 120000
index 0000000000..5a067d2db0
--- /dev/null
+++ b/Lang/Ursala/Ray-casting-algorithm
@@ -0,0 +1 @@
+../../Task/Ray-casting-algorithm/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Reduced-row-echelon-form b/Lang/Ursala/Reduced-row-echelon-form
new file mode 120000
index 0000000000..0ecea087bc
--- /dev/null
+++ b/Lang/Ursala/Reduced-row-echelon-form
@@ -0,0 +1 @@
+../../Task/Reduced-row-echelon-form/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Remove-duplicate-elements b/Lang/Ursala/Remove-duplicate-elements
new file mode 120000
index 0000000000..497b4565e5
--- /dev/null
+++ b/Lang/Ursala/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Repeat-a-string b/Lang/Ursala/Repeat-a-string
new file mode 120000
index 0000000000..f3a57ab751
--- /dev/null
+++ b/Lang/Ursala/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Reverse-a-string b/Lang/Ursala/Reverse-a-string
new file mode 120000
index 0000000000..0826f7c2b6
--- /dev/null
+++ b/Lang/Ursala/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Roman-numerals-Encode b/Lang/Ursala/Roman-numerals-Encode
new file mode 120000
index 0000000000..afb2f7510a
--- /dev/null
+++ b/Lang/Ursala/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Roots-of-unity b/Lang/Ursala/Roots-of-unity
new file mode 120000
index 0000000000..79e3ccd131
--- /dev/null
+++ b/Lang/Ursala/Roots-of-unity
@@ -0,0 +1 @@
+../../Task/Roots-of-unity/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Rot-13 b/Lang/Ursala/Rot-13
new file mode 120000
index 0000000000..bde64176ff
--- /dev/null
+++ b/Lang/Ursala/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Run-length-encoding b/Lang/Ursala/Run-length-encoding
new file mode 120000
index 0000000000..cc14c0e422
--- /dev/null
+++ b/Lang/Ursala/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/SEDOLs b/Lang/Ursala/SEDOLs
new file mode 120000
index 0000000000..3be8c6a57b
--- /dev/null
+++ b/Lang/Ursala/SEDOLs
@@ -0,0 +1 @@
+../../Task/SEDOLs/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Scope-modifiers b/Lang/Ursala/Scope-modifiers
new file mode 120000
index 0000000000..b0403ac589
--- /dev/null
+++ b/Lang/Ursala/Scope-modifiers
@@ -0,0 +1 @@
+../../Task/Scope-modifiers/Ursala
\ No newline at end of file
diff --git a/Lang/Ursala/Sequence-of-non-squares b/Lang/Ursala/Sequence-of-non-squares
new file mode 120000
index 0000000000..ec8d3d95e9
--- /dev/null
+++ b/Lang/Ursala/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/Ursala
\ No newline at end of file
diff --git a/Lang/V/Copy-a-string b/Lang/V/Copy-a-string
new file mode 120000
index 0000000000..777e7d9085
--- /dev/null
+++ b/Lang/V/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/V
\ No newline at end of file
diff --git a/Lang/V/Power-set b/Lang/V/Power-set
new file mode 120000
index 0000000000..d5d72f3aa2
--- /dev/null
+++ b/Lang/V/Power-set
@@ -0,0 +1 @@
+../../Task/Power-set/V
\ No newline at end of file
diff --git a/Lang/V/Primality-by-trial-division b/Lang/V/Primality-by-trial-division
new file mode 120000
index 0000000000..1dfc2c12fa
--- /dev/null
+++ b/Lang/V/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/V
\ No newline at end of file
diff --git a/Lang/V/Prime-decomposition b/Lang/V/Prime-decomposition
new file mode 120000
index 0000000000..7678e03599
--- /dev/null
+++ b/Lang/V/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/V
\ No newline at end of file
diff --git a/Lang/V/Queue-Definition b/Lang/V/Queue-Definition
new file mode 120000
index 0000000000..658d6d6e3f
--- /dev/null
+++ b/Lang/V/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/V
\ No newline at end of file
diff --git a/Lang/VBA/Catalan-numbers b/Lang/VBA/Catalan-numbers
new file mode 120000
index 0000000000..ecfd54bc2c
--- /dev/null
+++ b/Lang/VBA/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/VBA
\ No newline at end of file
diff --git a/Lang/VBA/Palindrome-detection b/Lang/VBA/Palindrome-detection
new file mode 120000
index 0000000000..b07645ff9d
--- /dev/null
+++ b/Lang/VBA/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/VBA
\ No newline at end of file
diff --git a/Lang/VBA/Pangram-checker b/Lang/VBA/Pangram-checker
new file mode 120000
index 0000000000..bc8d8f1fcd
--- /dev/null
+++ b/Lang/VBA/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/VBA
\ No newline at end of file
diff --git a/Lang/VBA/Permutations b/Lang/VBA/Permutations
new file mode 120000
index 0000000000..d5e27404d3
--- /dev/null
+++ b/Lang/VBA/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/VBA
\ No newline at end of file
diff --git a/Lang/VBA/Play-recorded-sounds b/Lang/VBA/Play-recorded-sounds
new file mode 120000
index 0000000000..479278905c
--- /dev/null
+++ b/Lang/VBA/Play-recorded-sounds
@@ -0,0 +1 @@
+../../Task/Play-recorded-sounds/VBA
\ No newline at end of file
diff --git a/Lang/VBA/Program-name b/Lang/VBA/Program-name
new file mode 120000
index 0000000000..8020d0334c
--- /dev/null
+++ b/Lang/VBA/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/VBA
\ No newline at end of file
diff --git a/Lang/VBA/Range-expansion b/Lang/VBA/Range-expansion
new file mode 120000
index 0000000000..f23d23a64a
--- /dev/null
+++ b/Lang/VBA/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/VBA
\ No newline at end of file
diff --git a/Lang/VBA/Range-extraction b/Lang/VBA/Range-extraction
new file mode 120000
index 0000000000..a084392630
--- /dev/null
+++ b/Lang/VBA/Range-extraction
@@ -0,0 +1 @@
+../../Task/Range-extraction/VBA
\ No newline at end of file
diff --git a/Lang/VBA/Repeat-a-string b/Lang/VBA/Repeat-a-string
new file mode 120000
index 0000000000..352f9e0325
--- /dev/null
+++ b/Lang/VBA/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/VBA
\ No newline at end of file
diff --git a/Lang/VBA/Reverse-a-string b/Lang/VBA/Reverse-a-string
new file mode 120000
index 0000000000..b8a340410c
--- /dev/null
+++ b/Lang/VBA/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/VBA
\ No newline at end of file
diff --git a/Lang/VBScript/Execute-a-Markov-algorithm b/Lang/VBScript/Execute-a-Markov-algorithm
new file mode 120000
index 0000000000..1ffd672ea0
--- /dev/null
+++ b/Lang/VBScript/Execute-a-Markov-algorithm
@@ -0,0 +1 @@
+../../Task/Execute-a-Markov-algorithm/VBScript
\ No newline at end of file
diff --git a/Lang/VBScript/Palindrome-detection b/Lang/VBScript/Palindrome-detection
new file mode 120000
index 0000000000..7994674010
--- /dev/null
+++ b/Lang/VBScript/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/VBScript
\ No newline at end of file
diff --git a/Lang/VBScript/Pangram-checker b/Lang/VBScript/Pangram-checker
new file mode 120000
index 0000000000..410fe2a0cb
--- /dev/null
+++ b/Lang/VBScript/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/VBScript
\ No newline at end of file
diff --git a/Lang/VBScript/Playing-cards b/Lang/VBScript/Playing-cards
new file mode 120000
index 0000000000..f5c16fde6e
--- /dev/null
+++ b/Lang/VBScript/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/VBScript
\ No newline at end of file
diff --git a/Lang/VBScript/Program-termination b/Lang/VBScript/Program-termination
new file mode 120000
index 0000000000..bb8f9b7921
--- /dev/null
+++ b/Lang/VBScript/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/VBScript
\ No newline at end of file
diff --git a/Lang/VBScript/Read-entire-file b/Lang/VBScript/Read-entire-file
new file mode 120000
index 0000000000..6796d59d21
--- /dev/null
+++ b/Lang/VBScript/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/VBScript
\ No newline at end of file
diff --git a/Lang/Vala/Program-name b/Lang/Vala/Program-name
new file mode 120000
index 0000000000..f65e38a11b
--- /dev/null
+++ b/Lang/Vala/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Vala
\ No newline at end of file
diff --git a/Lang/Vala/Read-a-file-line-by-line b/Lang/Vala/Read-a-file-line-by-line
new file mode 120000
index 0000000000..c3c66ae226
--- /dev/null
+++ b/Lang/Vala/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Vala
\ No newline at end of file
diff --git a/Lang/Vala/Read-entire-file b/Lang/Vala/Read-entire-file
new file mode 120000
index 0000000000..a089f2e8a4
--- /dev/null
+++ b/Lang/Vala/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Vala
\ No newline at end of file
diff --git a/Lang/Vala/Regular-expressions b/Lang/Vala/Regular-expressions
new file mode 120000
index 0000000000..6d1fe0e61f
--- /dev/null
+++ b/Lang/Vala/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Vala
\ No newline at end of file
diff --git a/Lang/Vala/Repeat-a-string b/Lang/Vala/Repeat-a-string
new file mode 120000
index 0000000000..45223309cd
--- /dev/null
+++ b/Lang/Vala/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Vala
\ No newline at end of file
diff --git a/Lang/Vedit-macro-language/Binary-digits b/Lang/Vedit-macro-language/Binary-digits
new file mode 120000
index 0000000000..6e618a103f
--- /dev/null
+++ b/Lang/Vedit-macro-language/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Vedit-macro-language
\ No newline at end of file
diff --git a/Lang/Vedit-macro-language/Calendar---for-real-programmers b/Lang/Vedit-macro-language/Calendar---for-real-programmers
new file mode 120000
index 0000000000..5e7c6a018c
--- /dev/null
+++ b/Lang/Vedit-macro-language/Calendar---for-real-programmers
@@ -0,0 +1 @@
+../../Task/Calendar---for-real-programmers/Vedit-macro-language
\ No newline at end of file
diff --git a/Lang/Vedit-macro-language/Calendar-for-real-programmers b/Lang/Vedit-macro-language/Calendar-for-real-programmers
deleted file mode 120000
index 2ae35a116f..0000000000
--- a/Lang/Vedit-macro-language/Calendar-for-real-programmers
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Calendar-for-real-programmers/Vedit-macro-language
\ No newline at end of file
diff --git a/Lang/Vedit-macro-language/Dragon-curve b/Lang/Vedit-macro-language/Dragon-curve
new file mode 120000
index 0000000000..61f89964ff
--- /dev/null
+++ b/Lang/Vedit-macro-language/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/Vedit-macro-language
\ No newline at end of file
diff --git a/Lang/Vedit-macro-language/Environment-variables b/Lang/Vedit-macro-language/Environment-variables
new file mode 120000
index 0000000000..73c2f758dd
--- /dev/null
+++ b/Lang/Vedit-macro-language/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/Vedit-macro-language
\ No newline at end of file
diff --git a/Lang/Vedit-macro-language/One-dimensional-cellular-automata b/Lang/Vedit-macro-language/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..bc9914d01f
--- /dev/null
+++ b/Lang/Vedit-macro-language/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Vedit-macro-language
\ No newline at end of file
diff --git a/Lang/Vedit-macro-language/Palindrome-detection b/Lang/Vedit-macro-language/Palindrome-detection
new file mode 120000
index 0000000000..b7616cd323
--- /dev/null
+++ b/Lang/Vedit-macro-language/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Vedit-macro-language
\ No newline at end of file
diff --git a/Lang/Vedit-macro-language/Pascals-triangle b/Lang/Vedit-macro-language/Pascals-triangle
new file mode 120000
index 0000000000..32e91cd7b1
--- /dev/null
+++ b/Lang/Vedit-macro-language/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/Vedit-macro-language
\ No newline at end of file
diff --git a/Lang/Vedit-macro-language/Percentage-difference-between-images b/Lang/Vedit-macro-language/Percentage-difference-between-images
new file mode 120000
index 0000000000..6b12af2277
--- /dev/null
+++ b/Lang/Vedit-macro-language/Percentage-difference-between-images
@@ -0,0 +1 @@
+../../Task/Percentage-difference-between-images/Vedit-macro-language
\ No newline at end of file
diff --git a/Lang/Vedit-macro-language/Playing-cards b/Lang/Vedit-macro-language/Playing-cards
new file mode 120000
index 0000000000..7bfd151a2d
--- /dev/null
+++ b/Lang/Vedit-macro-language/Playing-cards
@@ -0,0 +1 @@
+../../Task/Playing-cards/Vedit-macro-language
\ No newline at end of file
diff --git a/Lang/Vedit-macro-language/Program-termination b/Lang/Vedit-macro-language/Program-termination
new file mode 120000
index 0000000000..f6ea821ab9
--- /dev/null
+++ b/Lang/Vedit-macro-language/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Vedit-macro-language
\ No newline at end of file
diff --git a/Lang/Vedit-macro-language/Read-a-configuration-file b/Lang/Vedit-macro-language/Read-a-configuration-file
new file mode 120000
index 0000000000..a224201783
--- /dev/null
+++ b/Lang/Vedit-macro-language/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/Vedit-macro-language
\ No newline at end of file
diff --git a/Lang/Vedit-macro-language/Read-a-file-line-by-line b/Lang/Vedit-macro-language/Read-a-file-line-by-line
new file mode 120000
index 0000000000..12e149e112
--- /dev/null
+++ b/Lang/Vedit-macro-language/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Vedit-macro-language
\ No newline at end of file
diff --git a/Lang/Vedit-macro-language/Read-a-specific-line-from-a-file b/Lang/Vedit-macro-language/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..01c4441267
--- /dev/null
+++ b/Lang/Vedit-macro-language/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/Vedit-macro-language
\ No newline at end of file
diff --git a/Lang/Vedit-macro-language/Read-entire-file b/Lang/Vedit-macro-language/Read-entire-file
new file mode 120000
index 0000000000..b7d9cf9cdd
--- /dev/null
+++ b/Lang/Vedit-macro-language/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Vedit-macro-language
\ No newline at end of file
diff --git a/Lang/Vedit-macro-language/Regular-expressions b/Lang/Vedit-macro-language/Regular-expressions
new file mode 120000
index 0000000000..e8de8d6028
--- /dev/null
+++ b/Lang/Vedit-macro-language/Regular-expressions
@@ -0,0 +1 @@
+../../Task/Regular-expressions/Vedit-macro-language
\ No newline at end of file
diff --git a/Lang/Vedit-macro-language/Remove-duplicate-elements b/Lang/Vedit-macro-language/Remove-duplicate-elements
new file mode 120000
index 0000000000..730c5cc421
--- /dev/null
+++ b/Lang/Vedit-macro-language/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/Vedit-macro-language
\ No newline at end of file
diff --git a/Lang/Vedit-macro-language/Rename-a-file b/Lang/Vedit-macro-language/Rename-a-file
new file mode 120000
index 0000000000..6315cf32bf
--- /dev/null
+++ b/Lang/Vedit-macro-language/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Vedit-macro-language
\ No newline at end of file
diff --git a/Lang/Vedit-macro-language/Repeat-a-string b/Lang/Vedit-macro-language/Repeat-a-string
new file mode 120000
index 0000000000..feb0c81738
--- /dev/null
+++ b/Lang/Vedit-macro-language/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Vedit-macro-language
\ No newline at end of file
diff --git a/Lang/Vedit-macro-language/Reverse-a-string b/Lang/Vedit-macro-language/Reverse-a-string
new file mode 120000
index 0000000000..e9a38d5c0c
--- /dev/null
+++ b/Lang/Vedit-macro-language/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Vedit-macro-language
\ No newline at end of file
diff --git a/Lang/Vedit-macro-language/Roman-numerals-Decode b/Lang/Vedit-macro-language/Roman-numerals-Decode
new file mode 120000
index 0000000000..0e50202616
--- /dev/null
+++ b/Lang/Vedit-macro-language/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/Vedit-macro-language
\ No newline at end of file
diff --git a/Lang/Vedit-macro-language/Roman-numerals-Encode b/Lang/Vedit-macro-language/Roman-numerals-Encode
new file mode 120000
index 0000000000..8b790eca37
--- /dev/null
+++ b/Lang/Vedit-macro-language/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Vedit-macro-language
\ No newline at end of file
diff --git a/Lang/Vedit-macro-language/Rot-13 b/Lang/Vedit-macro-language/Rot-13
new file mode 120000
index 0000000000..ec6090cbe1
--- /dev/null
+++ b/Lang/Vedit-macro-language/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Vedit-macro-language
\ No newline at end of file
diff --git a/Lang/Vedit-macro-language/Run-length-encoding b/Lang/Vedit-macro-language/Run-length-encoding
new file mode 120000
index 0000000000..0b583d8d0a
--- /dev/null
+++ b/Lang/Vedit-macro-language/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/Vedit-macro-language
\ No newline at end of file
diff --git a/Lang/Visual-Basic-.NET/Binary-digits b/Lang/Visual-Basic-.NET/Binary-digits
new file mode 120000
index 0000000000..a9f30f9f25
--- /dev/null
+++ b/Lang/Visual-Basic-.NET/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Visual-Basic-.NET
\ No newline at end of file
diff --git a/Lang/Visual-Basic-.NET/Brownian-tree b/Lang/Visual-Basic-.NET/Brownian-tree
new file mode 120000
index 0000000000..70a7de7fe6
--- /dev/null
+++ b/Lang/Visual-Basic-.NET/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/Visual-Basic-.NET
\ No newline at end of file
diff --git a/Lang/Visual-Basic-.NET/Copy-a-string b/Lang/Visual-Basic-.NET/Copy-a-string
new file mode 120000
index 0000000000..a17bfd2ccf
--- /dev/null
+++ b/Lang/Visual-Basic-.NET/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/Visual-Basic-.NET
\ No newline at end of file
diff --git a/Lang/Visual-Basic-.NET/Number-names b/Lang/Visual-Basic-.NET/Number-names
new file mode 120000
index 0000000000..6a23720207
--- /dev/null
+++ b/Lang/Visual-Basic-.NET/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/Visual-Basic-.NET
\ No newline at end of file
diff --git a/Lang/Visual-Basic-.NET/One-dimensional-cellular-automata b/Lang/Visual-Basic-.NET/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..6db06c1c35
--- /dev/null
+++ b/Lang/Visual-Basic-.NET/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/Visual-Basic-.NET
\ No newline at end of file
diff --git a/Lang/Visual-Basic-.NET/Read-a-file-line-by-line b/Lang/Visual-Basic-.NET/Read-a-file-line-by-line
new file mode 120000
index 0000000000..e92eecb40d
--- /dev/null
+++ b/Lang/Visual-Basic-.NET/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Visual-Basic-.NET
\ No newline at end of file
diff --git a/Lang/Visual-Basic-.NET/Read-entire-file b/Lang/Visual-Basic-.NET/Read-entire-file
new file mode 120000
index 0000000000..9433bc266c
--- /dev/null
+++ b/Lang/Visual-Basic-.NET/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Visual-Basic-.NET
\ No newline at end of file
diff --git a/Lang/Visual-Basic-.NET/Rename-a-file b/Lang/Visual-Basic-.NET/Rename-a-file
new file mode 120000
index 0000000000..94820aae2c
--- /dev/null
+++ b/Lang/Visual-Basic-.NET/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Visual-Basic-.NET
\ No newline at end of file
diff --git a/Lang/Visual-Basic-.NET/Repeat-a-string b/Lang/Visual-Basic-.NET/Repeat-a-string
new file mode 120000
index 0000000000..ef48bb5879
--- /dev/null
+++ b/Lang/Visual-Basic-.NET/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Visual-Basic-.NET
\ No newline at end of file
diff --git a/Lang/Visual-Basic-.NET/Reverse-a-string b/Lang/Visual-Basic-.NET/Reverse-a-string
new file mode 120000
index 0000000000..747221f8f4
--- /dev/null
+++ b/Lang/Visual-Basic-.NET/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Visual-Basic-.NET
\ No newline at end of file
diff --git a/Lang/Visual-Basic-.NET/Rot-13 b/Lang/Visual-Basic-.NET/Rot-13
new file mode 120000
index 0000000000..ac7ae35fe4
--- /dev/null
+++ b/Lang/Visual-Basic-.NET/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/Visual-Basic-.NET
\ No newline at end of file
diff --git a/Lang/Visual-Basic/Named-parameters b/Lang/Visual-Basic/Named-parameters
new file mode 120000
index 0000000000..68044b7f1e
--- /dev/null
+++ b/Lang/Visual-Basic/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/Visual-Basic
\ No newline at end of file
diff --git a/Lang/Visual-Basic/Number-names b/Lang/Visual-Basic/Number-names
new file mode 120000
index 0000000000..0f104af3a9
--- /dev/null
+++ b/Lang/Visual-Basic/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/Visual-Basic
\ No newline at end of file
diff --git a/Lang/Visual-Basic/Program-name b/Lang/Visual-Basic/Program-name
new file mode 120000
index 0000000000..d0fef045f3
--- /dev/null
+++ b/Lang/Visual-Basic/Program-name
@@ -0,0 +1 @@
+../../Task/Program-name/Visual-Basic
\ No newline at end of file
diff --git a/Lang/Visual-Basic/Program-termination b/Lang/Visual-Basic/Program-termination
new file mode 120000
index 0000000000..34f905e881
--- /dev/null
+++ b/Lang/Visual-Basic/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/Visual-Basic
\ No newline at end of file
diff --git a/Lang/Visual-Basic/Read-a-configuration-file b/Lang/Visual-Basic/Read-a-configuration-file
new file mode 120000
index 0000000000..1c0006a8ec
--- /dev/null
+++ b/Lang/Visual-Basic/Read-a-configuration-file
@@ -0,0 +1 @@
+../../Task/Read-a-configuration-file/Visual-Basic
\ No newline at end of file
diff --git a/Lang/Visual-Basic/Read-a-file-line-by-line b/Lang/Visual-Basic/Read-a-file-line-by-line
new file mode 120000
index 0000000000..2cda97af30
--- /dev/null
+++ b/Lang/Visual-Basic/Read-a-file-line-by-line
@@ -0,0 +1 @@
+../../Task/Read-a-file-line-by-line/Visual-Basic
\ No newline at end of file
diff --git a/Lang/Visual-Basic/Roman-numerals-Encode b/Lang/Visual-Basic/Roman-numerals-Encode
new file mode 120000
index 0000000000..79e3d74561
--- /dev/null
+++ b/Lang/Visual-Basic/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/Visual-Basic
\ No newline at end of file
diff --git a/Lang/Whitespace/Binary-digits b/Lang/Whitespace/Binary-digits
new file mode 120000
index 0000000000..1cdbdf7901
--- /dev/null
+++ b/Lang/Whitespace/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/Whitespace
\ No newline at end of file
diff --git a/Lang/X86-Assembly/Binary-digits b/Lang/X86-Assembly/Binary-digits
new file mode 120000
index 0000000000..0206ab2ff2
--- /dev/null
+++ b/Lang/X86-Assembly/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/X86-Assembly
\ No newline at end of file
diff --git a/Lang/X86-Assembly/Calendar---for-real-programmers b/Lang/X86-Assembly/Calendar---for-real-programmers
new file mode 120000
index 0000000000..6f502b97ec
--- /dev/null
+++ b/Lang/X86-Assembly/Calendar---for-real-programmers
@@ -0,0 +1 @@
+../../Task/Calendar---for-real-programmers/X86-Assembly
\ No newline at end of file
diff --git a/Lang/X86-Assembly/Calendar-for-real-programmers b/Lang/X86-Assembly/Calendar-for-real-programmers
deleted file mode 120000
index 7898a19dd9..0000000000
--- a/Lang/X86-Assembly/Calendar-for-real-programmers
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Calendar-for-real-programmers/X86-Assembly
\ No newline at end of file
diff --git a/Lang/X86-Assembly/Dragon-curve b/Lang/X86-Assembly/Dragon-curve
new file mode 120000
index 0000000000..1e16da718c
--- /dev/null
+++ b/Lang/X86-Assembly/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/X86-Assembly
\ No newline at end of file
diff --git a/Lang/X86-Assembly/Rot-13 b/Lang/X86-Assembly/Rot-13
new file mode 120000
index 0000000000..6233cf6df5
--- /dev/null
+++ b/Lang/X86-Assembly/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/X86-Assembly
\ No newline at end of file
diff --git a/Lang/XPL0/Binary-digits b/Lang/XPL0/Binary-digits
new file mode 120000
index 0000000000..12e9e55296
--- /dev/null
+++ b/Lang/XPL0/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Brownian-tree b/Lang/XPL0/Brownian-tree
new file mode 120000
index 0000000000..ee5fb1b71d
--- /dev/null
+++ b/Lang/XPL0/Brownian-tree
@@ -0,0 +1 @@
+../../Task/Brownian-tree/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Catalan-numbers b/Lang/XPL0/Catalan-numbers
new file mode 120000
index 0000000000..50bb50f6e4
--- /dev/null
+++ b/Lang/XPL0/Catalan-numbers
@@ -0,0 +1 @@
+../../Task/Catalan-numbers/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Copy-a-string b/Lang/XPL0/Copy-a-string
new file mode 120000
index 0000000000..4755b8c574
--- /dev/null
+++ b/Lang/XPL0/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Dragon-curve b/Lang/XPL0/Dragon-curve
new file mode 120000
index 0000000000..d4af5e1e5a
--- /dev/null
+++ b/Lang/XPL0/Dragon-curve
@@ -0,0 +1 @@
+../../Task/Dragon-curve/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Environment-variables b/Lang/XPL0/Environment-variables
new file mode 120000
index 0000000000..d6e19887b5
--- /dev/null
+++ b/Lang/XPL0/Environment-variables
@@ -0,0 +1 @@
+../../Task/Environment-variables/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Guess-the-number-With-feedback--player- b/Lang/XPL0/Guess-the-number-With-feedback--player-
new file mode 120000
index 0000000000..5fc5bdc75c
--- /dev/null
+++ b/Lang/XPL0/Guess-the-number-With-feedback--player-
@@ -0,0 +1 @@
+../../Task/Guess-the-number-With-feedback--player-/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Guess-the-number-With-feedback-player b/Lang/XPL0/Guess-the-number-With-feedback-player
deleted file mode 120000
index 71c2072a2e..0000000000
--- a/Lang/XPL0/Guess-the-number-With-feedback-player
+++ /dev/null
@@ -1 +0,0 @@
-../../Task/Guess-the-number-With-feedback-player/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/N-queens-problem b/Lang/XPL0/N-queens-problem
new file mode 120000
index 0000000000..ead7a03df2
--- /dev/null
+++ b/Lang/XPL0/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Non-decimal-radices-Convert b/Lang/XPL0/Non-decimal-radices-Convert
new file mode 120000
index 0000000000..fcf7b0ab22
--- /dev/null
+++ b/Lang/XPL0/Non-decimal-radices-Convert
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Convert/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Non-decimal-radices-Input b/Lang/XPL0/Non-decimal-radices-Input
new file mode 120000
index 0000000000..4eea024e7b
--- /dev/null
+++ b/Lang/XPL0/Non-decimal-radices-Input
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Input/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Non-decimal-radices-Output b/Lang/XPL0/Non-decimal-radices-Output
new file mode 120000
index 0000000000..aa1a0e4db4
--- /dev/null
+++ b/Lang/XPL0/Non-decimal-radices-Output
@@ -0,0 +1 @@
+../../Task/Non-decimal-radices-Output/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Nth-root b/Lang/XPL0/Nth-root
new file mode 120000
index 0000000000..d77391c9a1
--- /dev/null
+++ b/Lang/XPL0/Nth-root
@@ -0,0 +1 @@
+../../Task/Nth-root/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Number-names b/Lang/XPL0/Number-names
new file mode 120000
index 0000000000..8ea23516ed
--- /dev/null
+++ b/Lang/XPL0/Number-names
@@ -0,0 +1 @@
+../../Task/Number-names/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Number-reversal-game b/Lang/XPL0/Number-reversal-game
new file mode 120000
index 0000000000..c2d26cf7b7
--- /dev/null
+++ b/Lang/XPL0/Number-reversal-game
@@ -0,0 +1 @@
+../../Task/Number-reversal-game/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Numerical-integration b/Lang/XPL0/Numerical-integration
new file mode 120000
index 0000000000..b403759ba0
--- /dev/null
+++ b/Lang/XPL0/Numerical-integration
@@ -0,0 +1 @@
+../../Task/Numerical-integration/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/One-dimensional-cellular-automata b/Lang/XPL0/One-dimensional-cellular-automata
new file mode 120000
index 0000000000..fbb87fa81c
--- /dev/null
+++ b/Lang/XPL0/One-dimensional-cellular-automata
@@ -0,0 +1 @@
+../../Task/One-dimensional-cellular-automata/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Palindrome-detection b/Lang/XPL0/Palindrome-detection
new file mode 120000
index 0000000000..e9bf6e251a
--- /dev/null
+++ b/Lang/XPL0/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Pangram-checker b/Lang/XPL0/Pangram-checker
new file mode 120000
index 0000000000..2076f9ee69
--- /dev/null
+++ b/Lang/XPL0/Pangram-checker
@@ -0,0 +1 @@
+../../Task/Pangram-checker/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Pascals-triangle b/Lang/XPL0/Pascals-triangle
new file mode 120000
index 0000000000..3a5d43f057
--- /dev/null
+++ b/Lang/XPL0/Pascals-triangle
@@ -0,0 +1 @@
+../../Task/Pascals-triangle/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Permutations b/Lang/XPL0/Permutations
new file mode 120000
index 0000000000..f05eb059f8
--- /dev/null
+++ b/Lang/XPL0/Permutations
@@ -0,0 +1 @@
+../../Task/Permutations/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Permutations-by-swapping b/Lang/XPL0/Permutations-by-swapping
new file mode 120000
index 0000000000..7da035352d
--- /dev/null
+++ b/Lang/XPL0/Permutations-by-swapping
@@ -0,0 +1 @@
+../../Task/Permutations-by-swapping/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Pick-random-element b/Lang/XPL0/Pick-random-element
new file mode 120000
index 0000000000..1504ee5f7e
--- /dev/null
+++ b/Lang/XPL0/Pick-random-element
@@ -0,0 +1 @@
+../../Task/Pick-random-element/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Pig-the-dice-game b/Lang/XPL0/Pig-the-dice-game
new file mode 120000
index 0000000000..34011e2c01
--- /dev/null
+++ b/Lang/XPL0/Pig-the-dice-game
@@ -0,0 +1 @@
+../../Task/Pig-the-dice-game/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Pinstripe-Display b/Lang/XPL0/Pinstripe-Display
new file mode 120000
index 0000000000..d8603f5246
--- /dev/null
+++ b/Lang/XPL0/Pinstripe-Display
@@ -0,0 +1 @@
+../../Task/Pinstripe-Display/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Plot-coordinate-pairs b/Lang/XPL0/Plot-coordinate-pairs
new file mode 120000
index 0000000000..c7e83193e6
--- /dev/null
+++ b/Lang/XPL0/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Pointers-and-references b/Lang/XPL0/Pointers-and-references
new file mode 120000
index 0000000000..bdcd8d272b
--- /dev/null
+++ b/Lang/XPL0/Pointers-and-references
@@ -0,0 +1 @@
+../../Task/Pointers-and-references/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Price-fraction b/Lang/XPL0/Price-fraction
new file mode 120000
index 0000000000..bce35ff4d0
--- /dev/null
+++ b/Lang/XPL0/Price-fraction
@@ -0,0 +1 @@
+../../Task/Price-fraction/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Primality-by-trial-division b/Lang/XPL0/Primality-by-trial-division
new file mode 120000
index 0000000000..433109b0c5
--- /dev/null
+++ b/Lang/XPL0/Primality-by-trial-division
@@ -0,0 +1 @@
+../../Task/Primality-by-trial-division/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Probabilistic-choice b/Lang/XPL0/Probabilistic-choice
new file mode 120000
index 0000000000..71b566861d
--- /dev/null
+++ b/Lang/XPL0/Probabilistic-choice
@@ -0,0 +1 @@
+../../Task/Probabilistic-choice/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Program-termination b/Lang/XPL0/Program-termination
new file mode 120000
index 0000000000..40905cd9b8
--- /dev/null
+++ b/Lang/XPL0/Program-termination
@@ -0,0 +1 @@
+../../Task/Program-termination/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Queue-Definition b/Lang/XPL0/Queue-Definition
new file mode 120000
index 0000000000..50f41210ec
--- /dev/null
+++ b/Lang/XPL0/Queue-Definition
@@ -0,0 +1 @@
+../../Task/Queue-Definition/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Queue-Usage b/Lang/XPL0/Queue-Usage
new file mode 120000
index 0000000000..cd8b06bc67
--- /dev/null
+++ b/Lang/XPL0/Queue-Usage
@@ -0,0 +1 @@
+../../Task/Queue-Usage/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Random-number-generator--device- b/Lang/XPL0/Random-number-generator--device-
new file mode 120000
index 0000000000..0d1ddb06ff
--- /dev/null
+++ b/Lang/XPL0/Random-number-generator--device-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--device-/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Random-number-generator--included- b/Lang/XPL0/Random-number-generator--included-
new file mode 120000
index 0000000000..559fdf1b50
--- /dev/null
+++ b/Lang/XPL0/Random-number-generator--included-
@@ -0,0 +1 @@
+../../Task/Random-number-generator--included-/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Range-expansion b/Lang/XPL0/Range-expansion
new file mode 120000
index 0000000000..48c1a234c6
--- /dev/null
+++ b/Lang/XPL0/Range-expansion
@@ -0,0 +1 @@
+../../Task/Range-expansion/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Rate-counter b/Lang/XPL0/Rate-counter
new file mode 120000
index 0000000000..06c11dd516
--- /dev/null
+++ b/Lang/XPL0/Rate-counter
@@ -0,0 +1 @@
+../../Task/Rate-counter/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Read-a-specific-line-from-a-file b/Lang/XPL0/Read-a-specific-line-from-a-file
new file mode 120000
index 0000000000..d6c4541431
--- /dev/null
+++ b/Lang/XPL0/Read-a-specific-line-from-a-file
@@ -0,0 +1 @@
+../../Task/Read-a-specific-line-from-a-file/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Read-entire-file b/Lang/XPL0/Read-entire-file
new file mode 120000
index 0000000000..0784e87675
--- /dev/null
+++ b/Lang/XPL0/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Real-constants-and-functions b/Lang/XPL0/Real-constants-and-functions
new file mode 120000
index 0000000000..373a8b3820
--- /dev/null
+++ b/Lang/XPL0/Real-constants-and-functions
@@ -0,0 +1 @@
+../../Task/Real-constants-and-functions/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Remove-duplicate-elements b/Lang/XPL0/Remove-duplicate-elements
new file mode 120000
index 0000000000..74be6e0806
--- /dev/null
+++ b/Lang/XPL0/Remove-duplicate-elements
@@ -0,0 +1 @@
+../../Task/Remove-duplicate-elements/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Repeat-a-string b/Lang/XPL0/Repeat-a-string
new file mode 120000
index 0000000000..ba9b38136a
--- /dev/null
+++ b/Lang/XPL0/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Resistor-mesh b/Lang/XPL0/Resistor-mesh
new file mode 120000
index 0000000000..51f9b89da5
--- /dev/null
+++ b/Lang/XPL0/Resistor-mesh
@@ -0,0 +1 @@
+../../Task/Resistor-mesh/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Return-multiple-values b/Lang/XPL0/Return-multiple-values
new file mode 120000
index 0000000000..cf657822d1
--- /dev/null
+++ b/Lang/XPL0/Return-multiple-values
@@ -0,0 +1 @@
+../../Task/Return-multiple-values/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Reverse-a-string b/Lang/XPL0/Reverse-a-string
new file mode 120000
index 0000000000..9ceabcb30a
--- /dev/null
+++ b/Lang/XPL0/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Roman-numerals-Decode b/Lang/XPL0/Roman-numerals-Decode
new file mode 120000
index 0000000000..38154fd44d
--- /dev/null
+++ b/Lang/XPL0/Roman-numerals-Decode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Decode/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Rot-13 b/Lang/XPL0/Rot-13
new file mode 120000
index 0000000000..0bcf350e43
--- /dev/null
+++ b/Lang/XPL0/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Run-length-encoding b/Lang/XPL0/Run-length-encoding
new file mode 120000
index 0000000000..940b46936b
--- /dev/null
+++ b/Lang/XPL0/Run-length-encoding
@@ -0,0 +1 @@
+../../Task/Run-length-encoding/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Self-describing-numbers b/Lang/XPL0/Self-describing-numbers
new file mode 120000
index 0000000000..e2111fcd85
--- /dev/null
+++ b/Lang/XPL0/Self-describing-numbers
@@ -0,0 +1 @@
+../../Task/Self-describing-numbers/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Semordnilap b/Lang/XPL0/Semordnilap
new file mode 120000
index 0000000000..51291ea439
--- /dev/null
+++ b/Lang/XPL0/Semordnilap
@@ -0,0 +1 @@
+../../Task/Semordnilap/XPL0
\ No newline at end of file
diff --git a/Lang/XPL0/Sequence-of-non-squares b/Lang/XPL0/Sequence-of-non-squares
new file mode 120000
index 0000000000..df48a7751f
--- /dev/null
+++ b/Lang/XPL0/Sequence-of-non-squares
@@ -0,0 +1 @@
+../../Task/Sequence-of-non-squares/XPL0
\ No newline at end of file
diff --git a/Lang/XSLT/N-queens-problem b/Lang/XSLT/N-queens-problem
new file mode 120000
index 0000000000..0697343fd5
--- /dev/null
+++ b/Lang/XSLT/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/XSLT
\ No newline at end of file
diff --git a/Lang/XSLT/Named-parameters b/Lang/XSLT/Named-parameters
new file mode 120000
index 0000000000..4649331be3
--- /dev/null
+++ b/Lang/XSLT/Named-parameters
@@ -0,0 +1 @@
+../../Task/Named-parameters/XSLT
\ No newline at end of file
diff --git a/Lang/XSLT/Optional-parameters b/Lang/XSLT/Optional-parameters
new file mode 120000
index 0000000000..bb0c658019
--- /dev/null
+++ b/Lang/XSLT/Optional-parameters
@@ -0,0 +1 @@
+../../Task/Optional-parameters/XSLT
\ No newline at end of file
diff --git a/Lang/XSLT/Prime-decomposition b/Lang/XSLT/Prime-decomposition
new file mode 120000
index 0000000000..ca0eb48beb
--- /dev/null
+++ b/Lang/XSLT/Prime-decomposition
@@ -0,0 +1 @@
+../../Task/Prime-decomposition/XSLT
\ No newline at end of file
diff --git a/Lang/XSLT/Roman-numerals-Encode b/Lang/XSLT/Roman-numerals-Encode
new file mode 120000
index 0000000000..ca9f983565
--- /dev/null
+++ b/Lang/XSLT/Roman-numerals-Encode
@@ -0,0 +1 @@
+../../Task/Roman-numerals-Encode/XSLT
\ No newline at end of file
diff --git a/Lang/XSLT/Rot-13 b/Lang/XSLT/Rot-13
new file mode 120000
index 0000000000..8088b441b6
--- /dev/null
+++ b/Lang/XSLT/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/XSLT
\ No newline at end of file
diff --git a/Lang/Xanadu/N-queens-problem b/Lang/Xanadu/N-queens-problem
new file mode 120000
index 0000000000..70f79d054d
--- /dev/null
+++ b/Lang/Xanadu/N-queens-problem
@@ -0,0 +1 @@
+../../Task/N-queens-problem/Xanadu
\ No newline at end of file
diff --git a/Lang/Yorick/Palindrome-detection b/Lang/Yorick/Palindrome-detection
new file mode 120000
index 0000000000..d6e74a9795
--- /dev/null
+++ b/Lang/Yorick/Palindrome-detection
@@ -0,0 +1 @@
+../../Task/Palindrome-detection/Yorick
\ No newline at end of file
diff --git a/Lang/Yorick/Plot-coordinate-pairs b/Lang/Yorick/Plot-coordinate-pairs
new file mode 120000
index 0000000000..252b75c6b0
--- /dev/null
+++ b/Lang/Yorick/Plot-coordinate-pairs
@@ -0,0 +1 @@
+../../Task/Plot-coordinate-pairs/Yorick
\ No newline at end of file
diff --git a/Lang/Yorick/Random-numbers b/Lang/Yorick/Random-numbers
new file mode 120000
index 0000000000..db944556b7
--- /dev/null
+++ b/Lang/Yorick/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/Yorick
\ No newline at end of file
diff --git a/Lang/Yorick/Read-entire-file b/Lang/Yorick/Read-entire-file
new file mode 120000
index 0000000000..afa0f4946d
--- /dev/null
+++ b/Lang/Yorick/Read-entire-file
@@ -0,0 +1 @@
+../../Task/Read-entire-file/Yorick
\ No newline at end of file
diff --git a/Lang/Yorick/Rename-a-file b/Lang/Yorick/Rename-a-file
new file mode 120000
index 0000000000..a107f95cc9
--- /dev/null
+++ b/Lang/Yorick/Rename-a-file
@@ -0,0 +1 @@
+../../Task/Rename-a-file/Yorick
\ No newline at end of file
diff --git a/Lang/Yorick/Repeat-a-string b/Lang/Yorick/Repeat-a-string
new file mode 120000
index 0000000000..a116e43f11
--- /dev/null
+++ b/Lang/Yorick/Repeat-a-string
@@ -0,0 +1 @@
+../../Task/Repeat-a-string/Yorick
\ No newline at end of file
diff --git a/Lang/Yorick/Reverse-a-string b/Lang/Yorick/Reverse-a-string
new file mode 120000
index 0000000000..e9da2874de
--- /dev/null
+++ b/Lang/Yorick/Reverse-a-string
@@ -0,0 +1 @@
+../../Task/Reverse-a-string/Yorick
\ No newline at end of file
diff --git a/Lang/ZX-Spectrum-Basic/Binary-digits b/Lang/ZX-Spectrum-Basic/Binary-digits
new file mode 120000
index 0000000000..d7c3c0bed8
--- /dev/null
+++ b/Lang/ZX-Spectrum-Basic/Binary-digits
@@ -0,0 +1 @@
+../../Task/Binary-digits/ZX-Spectrum-Basic
\ No newline at end of file
diff --git a/Lang/ZX-Spectrum-Basic/Copy-a-string b/Lang/ZX-Spectrum-Basic/Copy-a-string
new file mode 120000
index 0000000000..71e721f070
--- /dev/null
+++ b/Lang/ZX-Spectrum-Basic/Copy-a-string
@@ -0,0 +1 @@
+../../Task/Copy-a-string/ZX-Spectrum-Basic
\ No newline at end of file
diff --git a/Lang/ZX-Spectrum-Basic/Random-numbers b/Lang/ZX-Spectrum-Basic/Random-numbers
new file mode 120000
index 0000000000..c4a42bbf73
--- /dev/null
+++ b/Lang/ZX-Spectrum-Basic/Random-numbers
@@ -0,0 +1 @@
+../../Task/Random-numbers/ZX-Spectrum-Basic
\ No newline at end of file
diff --git a/Lang/ZX-Spectrum-Basic/Rot-13 b/Lang/ZX-Spectrum-Basic/Rot-13
new file mode 120000
index 0000000000..c8527d5f58
--- /dev/null
+++ b/Lang/ZX-Spectrum-Basic/Rot-13
@@ -0,0 +1 @@
+../../Task/Rot-13/ZX-Spectrum-Basic
\ No newline at end of file
diff --git a/Lang/ZX-Spectrum-Basic/Scope-Function-names-and-labels b/Lang/ZX-Spectrum-Basic/Scope-Function-names-and-labels
new file mode 120000
index 0000000000..9f6db9bc66
--- /dev/null
+++ b/Lang/ZX-Spectrum-Basic/Scope-Function-names-and-labels
@@ -0,0 +1 @@
+../../Task/Scope-Function-names-and-labels/ZX-Spectrum-Basic
\ No newline at end of file
diff --git a/Meta/Task.yaml b/Meta/Task.yaml
index b2ea35bc04..d07fddfc49 100644
--- a/Meta/Task.yaml
+++ b/Meta/Task.yaml
@@ -81,7 +81,7 @@ Apply a callback to an array:
url: Apply_a_callback_to_an_array
Arbitrary-precision integers (included):
name: Arbitrary-precision integers (included)
- path: Arbitrary-precision-integers-included
+ path: Arbitrary-precision-integers--included-
url: Arbitrary-precision_integers_(included)
Arena storage pool:
name: Arena storage pool
@@ -179,6 +179,10 @@ Best shuffle:
name: Best shuffle
path: Best-shuffle
url: Best_shuffle
+Binary digits:
+ name: Binary digits
+ path: Binary-digits
+ url: Binary_digits
Binary search:
name: Binary search
path: Binary-search
@@ -255,6 +259,10 @@ Break OO privacy:
name: Break OO privacy
path: Break-OO-privacy
url: Break_OO_privacy
+Brownian tree:
+ name: Brownian tree
+ path: Brownian-tree
+ url: Brownian_tree
Bulls and cows:
name: Bulls and cows
path: Bulls-and-cows
@@ -281,7 +289,7 @@ Calendar:
url: Calendar
Calendar - for "real" programmers:
name: Calendar - for "real" programmers
- path: Calendar-for-real-programmers
+ path: Calendar---for-real-programmers
url: Calendar_-_for_"real"_programmers
Call a foreign-language function:
name: Call a foreign-language function
@@ -311,6 +319,10 @@ Case-sensitivity of identifiers:
name: Case-sensitivity of identifiers
path: Case-sensitivity-of-identifiers
url: Case-sensitivity_of_identifiers
+Catalan numbers:
+ name: Catalan numbers
+ path: Catalan-numbers
+ url: Catalan_numbers
Catmull–Clark subdivision surface:
name: Catmull–Clark subdivision surface
path: Catmull-Clark-subdivision-surface
@@ -429,17 +441,21 @@ Continued fraction/Arithmetic/Construct from rational number:
url: Continued_fraction/Arithmetic/Construct_from_rational_number
Continued fraction/Arithmetic/G(matrix NG, Contined Fraction N):
name: Continued fraction/Arithmetic/G(matrix NG, Contined Fraction N)
- path: Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N
+ path: Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-
url: Continued_fraction/Arithmetic/G(matrix_NG,_Contined_Fraction_N)
Continued fraction/Arithmetic/G(matrix NG, Contined Fraction N1, Contined Fraction N2):
name: Continued fraction/Arithmetic/G(matrix NG, Contined Fraction N1, Contined
Fraction N2)
- path: Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2
+ path: Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2-
url: Continued_fraction/Arithmetic/G(matrix_NG,_Contined_Fraction_N1,_Contined_Fraction_N2)
Conway's Game of Life:
name: Conway's Game of Life
path: Conways-Game-of-Life
url: Conway's_Game_of_Life
+Copy a string:
+ name: Copy a string
+ path: Copy-a-string
+ url: Copy_a_string
Count in factors:
name: Count in factors
path: Count-in-factors
@@ -584,6 +600,10 @@ Doubly-linked list/Traversal:
name: Doubly-linked list/Traversal
path: Doubly-linked-list-Traversal
url: Doubly-linked_list/Traversal
+Dragon curve:
+ name: Dragon curve
+ path: Dragon-curve
+ url: Dragon_curve
Draw a cuboid:
name: Draw a cuboid
path: Draw-a-cuboid
@@ -632,6 +652,10 @@ Enumerations:
name: Enumerations
path: Enumerations
url: Enumerations
+Environment variables:
+ name: Environment variables
+ path: Environment-variables
+ url: Environment_variables
Equilibrium index:
name: Equilibrium index
path: Equilibrium-index
@@ -676,6 +700,14 @@ Execute HQ9+:
name: Execute HQ9+
path: Execute-HQ9+
url: Execute_HQ9+
+Execute SNUSP:
+ name: Execute SNUSP
+ path: Execute-SNUSP
+ url: Execute_SNUSP
+Execute a Markov algorithm:
+ name: Execute a Markov algorithm
+ path: Execute-a-Markov-algorithm
+ url: Execute_a_Markov_algorithm
Execute a system command:
name: Execute a system command
path: Execute-a-system-command
@@ -894,7 +926,7 @@ Guess the number/With feedback:
url: Guess_the_number/With_feedback
Guess the number/With feedback (player):
name: Guess the number/With feedback (player)
- path: Guess-the-number-With-feedback-player
+ path: Guess-the-number-With-feedback--player-
url: Guess_the_number/With_feedback_(player)
HTTP:
name: HTTP
@@ -1444,23 +1476,523 @@ Mutual recursion:
name: Mutual recursion
path: Mutual-recursion
url: Mutual_recursion
+N-queens problem:
+ name: N-queens problem
+ path: N-queens-problem
+ url: N-queens_problem
+Named parameters:
+ name: Named parameters
+ path: Named-parameters
+ url: Named_parameters
Narcissist:
name: Narcissist
path: Narcissist
url: Narcissist
+Nautical bell:
+ name: Nautical bell
+ path: Nautical-bell
+ url: Nautical_bell
+Non-continuous subsequences:
+ name: Non-continuous subsequences
+ path: Non-continuous-subsequences
+ url: Non-continuous_subsequences
+Non-decimal radices/Convert:
+ name: Non-decimal radices/Convert
+ path: Non-decimal-radices-Convert
+ url: Non-decimal_radices/Convert
+Non-decimal radices/Input:
+ name: Non-decimal radices/Input
+ path: Non-decimal-radices-Input
+ url: Non-decimal_radices/Input
+Non-decimal radices/Output:
+ name: Non-decimal radices/Output
+ path: Non-decimal-radices-Output
+ url: Non-decimal_radices/Output
+Nth root:
+ name: Nth root
+ path: Nth-root
+ url: Nth_root
+Null object:
+ name: Null object
+ path: Null-object
+ url: Null_object
+Number names:
+ name: Number names
+ path: Number-names
+ url: Number_names
+Number reversal game:
+ name: Number reversal game
+ path: Number-reversal-game
+ url: Number_reversal_game
+Numeric error propagation:
+ name: Numeric error propagation
+ path: Numeric-error-propagation
+ url: Numeric_error_propagation
+Numerical integration:
+ name: Numerical integration
+ path: Numerical-integration
+ url: Numerical_integration
+Numerical integration/Gauss-Legendre Quadrature:
+ name: Numerical integration/Gauss-Legendre Quadrature
+ path: Numerical-integration-Gauss-Legendre-Quadrature
+ url: Numerical_integration/Gauss-Legendre_Quadrature
+OLE Automation:
+ name: OLE Automation
+ path: OLE-Automation
+ url: OLE_Automation
+Object serialization:
+ name: Object serialization
+ path: Object-serialization
+ url: Object_serialization
+One of n lines in a file:
+ name: One of n lines in a file
+ path: One-of-n-lines-in-a-file
+ url: One_of_n_lines_in_a_file
+One-dimensional cellular automata:
+ name: One-dimensional cellular automata
+ path: One-dimensional-cellular-automata
+ url: One-dimensional_cellular_automata
+OpenGL:
+ name: OpenGL
+ path: OpenGL
+ url: OpenGL
+Operator precedence:
+ name: Operator precedence
+ path: Operator-precedence
+ url: Operator_precedence
+Optional parameters:
+ name: Optional parameters
+ path: Optional-parameters
+ url: Optional_parameters
+Order two numerical lists:
+ name: Order two numerical lists
+ path: Order-two-numerical-lists
+ url: Order_two_numerical_lists
+Ordered Partitions:
+ name: Ordered Partitions
+ path: Ordered-Partitions
+ url: Ordered_Partitions
Ordered words:
name: Ordered words
path: Ordered-words
url: Ordered_words
+Palindrome detection:
+ name: Palindrome detection
+ path: Palindrome-detection
+ url: Palindrome_detection
+Pangram checker:
+ name: Pangram checker
+ path: Pangram-checker
+ url: Pangram_checker
+Parallel calculations:
+ name: Parallel calculations
+ path: Parallel-calculations
+ url: Parallel_calculations
+Parametric polymorphism:
+ name: Parametric polymorphism
+ path: Parametric-polymorphism
+ url: Parametric_polymorphism
+Parametrized SQL statement:
+ name: Parametrized SQL statement
+ path: Parametrized-SQL-statement
+ url: Parametrized_SQL_statement
+Parsing/RPN calculator algorithm:
+ name: Parsing/RPN calculator algorithm
+ path: Parsing-RPN-calculator-algorithm
+ url: Parsing/RPN_calculator_algorithm
+Parsing/RPN to infix conversion:
+ name: Parsing/RPN to infix conversion
+ path: Parsing-RPN-to-infix-conversion
+ url: Parsing/RPN_to_infix_conversion
+Parsing/Shunting-yard algorithm:
+ name: Parsing/Shunting-yard algorithm
+ path: Parsing-Shunting-yard-algorithm
+ url: Parsing/Shunting-yard_algorithm
+Partial function application:
+ name: Partial function application
+ path: Partial-function-application
+ url: Partial_function_application
+Pascal's triangle:
+ name: Pascal's triangle
+ path: Pascals-triangle
+ url: Pascal's_triangle
+Pascal's triangle/Puzzle:
+ name: Pascal's triangle/Puzzle
+ path: Pascals-triangle-Puzzle
+ url: Pascal's_triangle/Puzzle
+Pattern matching:
+ name: Pattern matching
+ path: Pattern-matching
+ url: Pattern_matching
+Percentage difference between images:
+ name: Percentage difference between images
+ path: Percentage-difference-between-images
+ url: Percentage_difference_between_images
+Perfect numbers:
+ name: Perfect numbers
+ path: Perfect-numbers
+ url: Perfect_numbers
+Permutation test:
+ name: Permutation test
+ path: Permutation-test
+ url: Permutation_test
+Permutations:
+ name: Permutations
+ path: Permutations
+ url: Permutations
+Permutations by swapping:
+ name: Permutations by swapping
+ path: Permutations-by-swapping
+ url: Permutations_by_swapping
+Permutations/Derangements:
+ name: Permutations/Derangements
+ path: Permutations-Derangements
+ url: Permutations/Derangements
Pi:
name: Pi
path: Pi
url: Pi
+Pick random element:
+ name: Pick random element
+ path: Pick-random-element
+ url: Pick_random_element
+Pig the dice game:
+ name: Pig the dice game
+ path: Pig-the-dice-game
+ url: Pig_the_dice_game
+Pig the dice game/Player:
+ name: Pig the dice game/Player
+ path: Pig-the-dice-game-Player
+ url: Pig_the_dice_game/Player
+Pinstripe/Display:
+ name: Pinstripe/Display
+ path: Pinstripe-Display
+ url: Pinstripe/Display
+Pinstripe/Printer:
+ name: Pinstripe/Printer
+ path: Pinstripe-Printer
+ url: Pinstripe/Printer
+Play recorded sounds:
+ name: Play recorded sounds
+ path: Play-recorded-sounds
+ url: Play_recorded_sounds
+Playing cards:
+ name: Playing cards
+ path: Playing-cards
+ url: Playing_cards
+Plot coordinate pairs:
+ name: Plot coordinate pairs
+ path: Plot-coordinate-pairs
+ url: Plot_coordinate_pairs
+Pointers and references:
+ name: Pointers and references
+ path: Pointers-and-references
+ url: Pointers_and_references
+Polymorphic copy:
+ name: Polymorphic copy
+ path: Polymorphic-copy
+ url: Polymorphic_copy
+Polymorphism:
+ name: Polymorphism
+ path: Polymorphism
+ url: Polymorphism
+Polynomial long division:
+ name: Polynomial long division
+ path: Polynomial-long-division
+ url: Polynomial_long_division
+Polynomial regression:
+ name: Polynomial regression
+ path: Polynomial-regression
+ url: Polynomial_regression
+Power set:
+ name: Power set
+ path: Power-set
+ url: Power_set
+Pragmatic directives:
+ name: Pragmatic directives
+ path: Pragmatic-directives
+ url: Pragmatic_directives
+Price fraction:
+ name: Price fraction
+ path: Price-fraction
+ url: Price_fraction
+Primality by trial division:
+ name: Primality by trial division
+ path: Primality-by-trial-division
+ url: Primality_by_trial_division
+Prime decomposition:
+ name: Prime decomposition
+ path: Prime-decomposition
+ url: Prime_decomposition
+Priority queue:
+ name: Priority queue
+ path: Priority-queue
+ url: Priority_queue
+Probabilistic choice:
+ name: Probabilistic choice
+ path: Probabilistic-choice
+ url: Probabilistic_choice
+Problem of Apollonius:
+ name: Problem of Apollonius
+ path: Problem-of-Apollonius
+ url: Problem_of_Apollonius
+Program name:
+ name: Program name
+ path: Program-name
+ url: Program_name
+Program termination:
+ name: Program termination
+ path: Program-termination
+ url: Program_termination
+Pythagorean triples:
+ name: Pythagorean triples
+ path: Pythagorean-triples
+ url: Pythagorean_triples
+QR decomposition:
+ name: QR decomposition
+ path: QR-decomposition
+ url: QR_decomposition
+Quaternion type:
+ name: Quaternion type
+ path: Quaternion-type
+ url: Quaternion_type
+Queue/Definition:
+ name: Queue/Definition
+ path: Queue-Definition
+ url: Queue/Definition
+Queue/Usage:
+ name: Queue/Usage
+ path: Queue-Usage
+ url: Queue/Usage
Quine:
name: Quine
path: Quine
url: Quine
+RCRPG:
+ name: RCRPG
+ path: RCRPG
+ url: RCRPG
+RIPEMD-160:
+ name: RIPEMD-160
+ path: RIPEMD-160
+ url: RIPEMD-160
+Random number generator (device):
+ name: Random number generator (device)
+ path: Random-number-generator--device-
+ url: Random_number_generator_(device)
+Random number generator (included):
+ name: Random number generator (included)
+ path: Random-number-generator--included-
+ url: Random_number_generator_(included)
+Random numbers:
+ name: Random numbers
+ path: Random-numbers
+ url: Random_numbers
+Range expansion:
+ name: Range expansion
+ path: Range-expansion
+ url: Range_expansion
+Range extraction:
+ name: Range extraction
+ path: Range-extraction
+ url: Range_extraction
+Rate counter:
+ name: Rate counter
+ path: Rate-counter
+ url: Rate_counter
+Ray-casting algorithm:
+ name: Ray-casting algorithm
+ path: Ray-casting-algorithm
+ url: Ray-casting_algorithm
+Read a configuration file:
+ name: Read a configuration file
+ path: Read-a-configuration-file
+ url: Read_a_configuration_file
+Read a file line by line:
+ name: Read a file line by line
+ path: Read-a-file-line-by-line
+ url: Read_a_file_line_by_line
+Read a specific line from a file:
+ name: Read a specific line from a file
+ path: Read-a-specific-line-from-a-file
+ url: Read_a_specific_line_from_a_file
+Read entire file:
+ name: Read entire file
+ path: Read-entire-file
+ url: Read_entire_file
+Real constants and functions:
+ name: Real constants and functions
+ path: Real-constants-and-functions
+ url: Real_constants_and_functions
+Record sound:
+ name: Record sound
+ path: Record-sound
+ url: Record_sound
+Reduced row echelon form:
+ name: Reduced row echelon form
+ path: Reduced-row-echelon-form
+ url: Reduced_row_echelon_form
+Regular expressions:
+ name: Regular expressions
+ path: Regular-expressions
+ url: Regular_expressions
+Remove duplicate elements:
+ name: Remove duplicate elements
+ path: Remove-duplicate-elements
+ url: Remove_duplicate_elements
+Remove lines from a file:
+ name: Remove lines from a file
+ path: Remove-lines-from-a-file
+ url: Remove_lines_from_a_file
+Rename a file:
+ name: Rename a file
+ path: Rename-a-file
+ url: Rename_a_file
+Rendezvous:
+ name: Rendezvous
+ path: Rendezvous
+ url: Rendezvous
+Repeat a string:
+ name: Repeat a string
+ path: Repeat-a-string
+ url: Repeat_a_string
+Resistor mesh:
+ name: Resistor mesh
+ path: Resistor-mesh
+ url: Resistor_mesh
+Respond to an unknown method call:
+ name: Respond to an unknown method call
+ path: Respond-to-an-unknown-method-call
+ url: Respond_to_an_unknown_method_call
+Return multiple values:
+ name: Return multiple values
+ path: Return-multiple-values
+ url: Return_multiple_values
+Reverse a string:
+ name: Reverse a string
+ path: Reverse-a-string
+ url: Reverse_a_string
+Rock-paper-scissors:
+ name: Rock-paper-scissors
+ path: Rock-paper-scissors
+ url: Rock-paper-scissors
+Roman numerals/Decode:
+ name: Roman numerals/Decode
+ path: Roman-numerals-Decode
+ url: Roman_numerals/Decode
+Roman numerals/Encode:
+ name: Roman numerals/Encode
+ path: Roman-numerals-Encode
+ url: Roman_numerals/Encode
+Roots of a function:
+ name: Roots of a function
+ path: Roots-of-a-function
+ url: Roots_of_a_function
+Roots of a quadratic function:
+ name: Roots of a quadratic function
+ path: Roots-of-a-quadratic-function
+ url: Roots_of_a_quadratic_function
+Roots of unity:
+ name: Roots of unity
+ path: Roots-of-unity
+ url: Roots_of_unity
+Rosetta Code/Count examples:
+ name: Rosetta Code/Count examples
+ path: Rosetta-Code-Count-examples
+ url: Rosetta_Code/Count_examples
+Rosetta Code/Find unimplemented tasks:
+ name: Rosetta Code/Find unimplemented tasks
+ path: Rosetta-Code-Find-unimplemented-tasks
+ url: Rosetta_Code/Find_unimplemented_tasks
+Rosetta Code/Fix code tags:
+ name: Rosetta Code/Fix code tags
+ path: Rosetta-Code-Fix-code-tags
+ url: Rosetta_Code/Fix_code_tags
+Rosetta Code/Rank languages by popularity:
+ name: Rosetta Code/Rank languages by popularity
+ path: Rosetta-Code-Rank-languages-by-popularity
+ url: Rosetta_Code/Rank_languages_by_popularity
+Rot-13:
+ name: Rot-13
+ path: Rot-13
+ url: Rot-13
+Run-length encoding:
+ name: Run-length encoding
+ path: Run-length-encoding
+ url: Run-length_encoding
+Runtime evaluation:
+ name: Runtime evaluation
+ path: Runtime-evaluation
+ url: Runtime_evaluation
+Runtime evaluation/In an environment:
+ name: Runtime evaluation/In an environment
+ path: Runtime-evaluation-In-an-environment
+ url: Runtime_evaluation/In_an_environment
+S-Expressions:
+ name: S-Expressions
+ path: S-Expressions
+ url: S-Expressions
+SEDOLs:
+ name: SEDOLs
+ path: SEDOLs
+ url: SEDOLs
+Safe addition:
+ name: Safe addition
+ path: Safe-addition
+ url: Safe_addition
+Same Fringe:
+ name: Same Fringe
+ path: Same-Fringe
+ url: Same_Fringe
+Scope modifiers:
+ name: Scope modifiers
+ path: Scope-modifiers
+ url: Scope_modifiers
+Scope/Function names and labels:
+ name: Scope/Function names and labels
+ path: Scope-Function-names-and-labels
+ url: Scope/Function_names_and_labels
Search a list:
name: Search a list
path: Search-a-list
url: Search_a_list
+Secure temporary file:
+ name: Secure temporary file
+ path: Secure-temporary-file
+ url: Secure_temporary_file
+Self-describing numbers:
+ name: Self-describing numbers
+ path: Self-describing-numbers
+ url: Self-describing_numbers
+Self-referential sequence:
+ name: Self-referential sequence
+ path: Self-referential-sequence
+ url: Self-referential_sequence
+Semordnilap:
+ name: Semordnilap
+ path: Semordnilap
+ url: Semordnilap
+Send an unknown method call:
+ name: Send an unknown method call
+ path: Send-an-unknown-method-call
+ url: Send_an_unknown_method_call
+Send email:
+ name: Send email
+ path: Send-email
+ url: Send_email
+Sequence of non-squares:
+ name: Sequence of non-squares
+ path: Sequence-of-non-squares
+ url: Sequence_of_non-squares
+Set:
+ name: Set
+ path: Set
+ url: Set
+Set consolidation:
+ name: Set consolidation
+ path: Set-consolidation
+ url: Set_consolidation
+Set of real numbers:
+ name: Set of real numbers
+ path: Set-of-real-numbers
+ url: Set_of_real_numbers
diff --git a/Task/Arbitrary-precision-integers-included/0DESCRIPTION b/Task/Arbitrary-precision-integers--included-/0DESCRIPTION
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/0DESCRIPTION
rename to Task/Arbitrary-precision-integers--included-/0DESCRIPTION
diff --git a/Task/Arbitrary-precision-integers-included/1META.yaml b/Task/Arbitrary-precision-integers--included-/1META.yaml
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/1META.yaml
rename to Task/Arbitrary-precision-integers--included-/1META.yaml
diff --git a/Task/Arbitrary-precision-integers-included/ACL2/arbitrary-precision-integers-included.acl2 b/Task/Arbitrary-precision-integers--included-/ACL2/arbitrary-precision-integers--included-.acl2
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/ACL2/arbitrary-precision-integers-included.acl2
rename to Task/Arbitrary-precision-integers--included-/ACL2/arbitrary-precision-integers--included-.acl2
diff --git a/Task/Arbitrary-precision-integers-included/Ada/arbitrary-precision-integers-included.ada b/Task/Arbitrary-precision-integers--included-/Ada/arbitrary-precision-integers--included-.ada
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Ada/arbitrary-precision-integers-included.ada
rename to Task/Arbitrary-precision-integers--included-/Ada/arbitrary-precision-integers--included-.ada
diff --git a/Task/Arbitrary-precision-integers-included/Alore/arbitrary-precision-integers-included.alore b/Task/Arbitrary-precision-integers--included-/Alore/arbitrary-precision-integers--included-.alore
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Alore/arbitrary-precision-integers-included.alore
rename to Task/Arbitrary-precision-integers--included-/Alore/arbitrary-precision-integers--included-.alore
diff --git a/Task/Arbitrary-precision-integers-included/Bracmat/arbitrary-precision-integers-included.bracmat b/Task/Arbitrary-precision-integers--included-/Bracmat/arbitrary-precision-integers--included-.bracmat
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Bracmat/arbitrary-precision-integers-included.bracmat
rename to Task/Arbitrary-precision-integers--included-/Bracmat/arbitrary-precision-integers--included-.bracmat
diff --git a/Task/Arbitrary-precision-integers-included/C-sharp/arbitrary-precision-integers-included.cs b/Task/Arbitrary-precision-integers--included-/C-sharp/arbitrary-precision-integers--included-.cs
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/C-sharp/arbitrary-precision-integers-included.cs
rename to Task/Arbitrary-precision-integers--included-/C-sharp/arbitrary-precision-integers--included-.cs
diff --git a/Task/Arbitrary-precision-integers-included/C/arbitrary-precision-integers-included-1.c b/Task/Arbitrary-precision-integers--included-/C/arbitrary-precision-integers--included--1.c
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/C/arbitrary-precision-integers-included-1.c
rename to Task/Arbitrary-precision-integers--included-/C/arbitrary-precision-integers--included--1.c
diff --git a/Task/Arbitrary-precision-integers-included/C/arbitrary-precision-integers-included-2.c b/Task/Arbitrary-precision-integers--included-/C/arbitrary-precision-integers--included--2.c
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/C/arbitrary-precision-integers-included-2.c
rename to Task/Arbitrary-precision-integers--included-/C/arbitrary-precision-integers--included--2.c
diff --git a/Task/Arbitrary-precision-integers-included/Clojure/arbitrary-precision-integers-included-1.clj b/Task/Arbitrary-precision-integers--included-/Clojure/arbitrary-precision-integers--included--1.clj
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Clojure/arbitrary-precision-integers-included-1.clj
rename to Task/Arbitrary-precision-integers--included-/Clojure/arbitrary-precision-integers--included--1.clj
diff --git a/Task/Arbitrary-precision-integers-included/Clojure/arbitrary-precision-integers-included-2.clj b/Task/Arbitrary-precision-integers--included-/Clojure/arbitrary-precision-integers--included--2.clj
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Clojure/arbitrary-precision-integers-included-2.clj
rename to Task/Arbitrary-precision-integers--included-/Clojure/arbitrary-precision-integers--included--2.clj
diff --git a/Task/Arbitrary-precision-integers-included/Common-Lisp/arbitrary-precision-integers-included.lisp b/Task/Arbitrary-precision-integers--included-/Common-Lisp/arbitrary-precision-integers--included-.lisp
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Common-Lisp/arbitrary-precision-integers-included.lisp
rename to Task/Arbitrary-precision-integers--included-/Common-Lisp/arbitrary-precision-integers--included-.lisp
diff --git a/Task/Arbitrary-precision-integers-included/D/arbitrary-precision-integers-included.d b/Task/Arbitrary-precision-integers--included-/D/arbitrary-precision-integers--included-.d
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/D/arbitrary-precision-integers-included.d
rename to Task/Arbitrary-precision-integers--included-/D/arbitrary-precision-integers--included-.d
diff --git a/Task/Arbitrary-precision-integers-included/E/arbitrary-precision-integers-included.e b/Task/Arbitrary-precision-integers--included-/E/arbitrary-precision-integers--included-.e
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/E/arbitrary-precision-integers-included.e
rename to Task/Arbitrary-precision-integers--included-/E/arbitrary-precision-integers--included-.e
diff --git a/Task/Arbitrary-precision-integers-included/Emacs-Lisp/arbitrary-precision-integers-included.l b/Task/Arbitrary-precision-integers--included-/Emacs-Lisp/arbitrary-precision-integers--included-.l
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Emacs-Lisp/arbitrary-precision-integers-included.l
rename to Task/Arbitrary-precision-integers--included-/Emacs-Lisp/arbitrary-precision-integers--included-.l
diff --git a/Task/Arbitrary-precision-integers-included/Erlang/arbitrary-precision-integers-included.erl b/Task/Arbitrary-precision-integers--included-/Erlang/arbitrary-precision-integers--included-.erl
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Erlang/arbitrary-precision-integers-included.erl
rename to Task/Arbitrary-precision-integers--included-/Erlang/arbitrary-precision-integers--included-.erl
diff --git a/Task/Arbitrary-precision-integers-included/Factor/arbitrary-precision-integers-included.factor b/Task/Arbitrary-precision-integers--included-/Factor/arbitrary-precision-integers--included-.factor
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Factor/arbitrary-precision-integers-included.factor
rename to Task/Arbitrary-precision-integers--included-/Factor/arbitrary-precision-integers--included-.factor
diff --git a/Task/Arbitrary-precision-integers-included/Frink/arbitrary-precision-integers-included.frink b/Task/Arbitrary-precision-integers--included-/Frink/arbitrary-precision-integers--included-.frink
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Frink/arbitrary-precision-integers-included.frink
rename to Task/Arbitrary-precision-integers--included-/Frink/arbitrary-precision-integers--included-.frink
diff --git a/Task/Arbitrary-precision-integers-included/GAP/arbitrary-precision-integers-included.gap b/Task/Arbitrary-precision-integers--included-/GAP/arbitrary-precision-integers--included-.gap
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/GAP/arbitrary-precision-integers-included.gap
rename to Task/Arbitrary-precision-integers--included-/GAP/arbitrary-precision-integers--included-.gap
diff --git a/Task/Arbitrary-precision-integers-included/Go/arbitrary-precision-integers-included.go b/Task/Arbitrary-precision-integers--included-/Go/arbitrary-precision-integers--included-.go
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Go/arbitrary-precision-integers-included.go
rename to Task/Arbitrary-precision-integers--included-/Go/arbitrary-precision-integers--included-.go
diff --git a/Task/Arbitrary-precision-integers-included/Golfscript/arbitrary-precision-integers-included.golfscript b/Task/Arbitrary-precision-integers--included-/Golfscript/arbitrary-precision-integers--included-.golfscript
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Golfscript/arbitrary-precision-integers-included.golfscript
rename to Task/Arbitrary-precision-integers--included-/Golfscript/arbitrary-precision-integers--included-.golfscript
diff --git a/Task/Arbitrary-precision-integers-included/Groovy/arbitrary-precision-integers-included-1.groovy b/Task/Arbitrary-precision-integers--included-/Groovy/arbitrary-precision-integers--included--1.groovy
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Groovy/arbitrary-precision-integers-included-1.groovy
rename to Task/Arbitrary-precision-integers--included-/Groovy/arbitrary-precision-integers--included--1.groovy
diff --git a/Task/Arbitrary-precision-integers-included/Groovy/arbitrary-precision-integers-included-2.groovy b/Task/Arbitrary-precision-integers--included-/Groovy/arbitrary-precision-integers--included--2.groovy
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Groovy/arbitrary-precision-integers-included-2.groovy
rename to Task/Arbitrary-precision-integers--included-/Groovy/arbitrary-precision-integers--included--2.groovy
diff --git a/Task/Arbitrary-precision-integers-included/Haskell/arbitrary-precision-integers-included.hs b/Task/Arbitrary-precision-integers--included-/Haskell/arbitrary-precision-integers--included-.hs
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Haskell/arbitrary-precision-integers-included.hs
rename to Task/Arbitrary-precision-integers--included-/Haskell/arbitrary-precision-integers--included-.hs
diff --git a/Task/Arbitrary-precision-integers-included/Icon/arbitrary-precision-integers-included.icon b/Task/Arbitrary-precision-integers--included-/Icon/arbitrary-precision-integers--included-.icon
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Icon/arbitrary-precision-integers-included.icon
rename to Task/Arbitrary-precision-integers--included-/Icon/arbitrary-precision-integers--included-.icon
diff --git a/Task/Arbitrary-precision-integers-included/J/arbitrary-precision-integers-included.j b/Task/Arbitrary-precision-integers--included-/J/arbitrary-precision-integers--included-.j
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/J/arbitrary-precision-integers-included.j
rename to Task/Arbitrary-precision-integers--included-/J/arbitrary-precision-integers--included-.j
diff --git a/Task/Arbitrary-precision-integers-included/Java/arbitrary-precision-integers-included.java b/Task/Arbitrary-precision-integers--included-/Java/arbitrary-precision-integers--included-.java
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Java/arbitrary-precision-integers-included.java
rename to Task/Arbitrary-precision-integers--included-/Java/arbitrary-precision-integers--included-.java
diff --git a/Task/Arbitrary-precision-integers-included/Julia/arbitrary-precision-integers-included.julia b/Task/Arbitrary-precision-integers--included-/Julia/arbitrary-precision-integers--included-.julia
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Julia/arbitrary-precision-integers-included.julia
rename to Task/Arbitrary-precision-integers--included-/Julia/arbitrary-precision-integers--included-.julia
diff --git a/Task/Arbitrary-precision-integers-included/Liberty-BASIC/arbitrary-precision-integers-included.liberty b/Task/Arbitrary-precision-integers--included-/Liberty-BASIC/arbitrary-precision-integers--included-.liberty
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Liberty-BASIC/arbitrary-precision-integers-included.liberty
rename to Task/Arbitrary-precision-integers--included-/Liberty-BASIC/arbitrary-precision-integers--included-.liberty
diff --git a/Task/Arbitrary-precision-integers-included/MATLAB/arbitrary-precision-integers-included.m b/Task/Arbitrary-precision-integers--included-/MATLAB/arbitrary-precision-integers--included-.m
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/MATLAB/arbitrary-precision-integers-included.m
rename to Task/Arbitrary-precision-integers--included-/MATLAB/arbitrary-precision-integers--included-.m
diff --git a/Task/Arbitrary-precision-integers-included/Maple/arbitrary-precision-integers-included-1.maple b/Task/Arbitrary-precision-integers--included-/Maple/arbitrary-precision-integers--included--1.maple
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Maple/arbitrary-precision-integers-included-1.maple
rename to Task/Arbitrary-precision-integers--included-/Maple/arbitrary-precision-integers--included--1.maple
diff --git a/Task/Arbitrary-precision-integers-included/Maple/arbitrary-precision-integers-included-2.maple b/Task/Arbitrary-precision-integers--included-/Maple/arbitrary-precision-integers--included--2.maple
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Maple/arbitrary-precision-integers-included-2.maple
rename to Task/Arbitrary-precision-integers--included-/Maple/arbitrary-precision-integers--included--2.maple
diff --git a/Task/Arbitrary-precision-integers-included/Mathematica/arbitrary-precision-integers-included.math b/Task/Arbitrary-precision-integers--included-/Mathematica/arbitrary-precision-integers--included-.math
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Mathematica/arbitrary-precision-integers-included.math
rename to Task/Arbitrary-precision-integers--included-/Mathematica/arbitrary-precision-integers--included-.math
diff --git a/Task/Arbitrary-precision-integers-included/Maxima/arbitrary-precision-integers-included.maxima b/Task/Arbitrary-precision-integers--included-/Maxima/arbitrary-precision-integers--included-.maxima
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Maxima/arbitrary-precision-integers-included.maxima
rename to Task/Arbitrary-precision-integers--included-/Maxima/arbitrary-precision-integers--included-.maxima
diff --git a/Task/Arbitrary-precision-integers-included/NetRexx/arbitrary-precision-integers-included-1.netrexx b/Task/Arbitrary-precision-integers--included-/NetRexx/arbitrary-precision-integers--included--1.netrexx
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/NetRexx/arbitrary-precision-integers-included-1.netrexx
rename to Task/Arbitrary-precision-integers--included-/NetRexx/arbitrary-precision-integers--included--1.netrexx
diff --git a/Task/Arbitrary-precision-integers-included/NetRexx/arbitrary-precision-integers-included-2.netrexx b/Task/Arbitrary-precision-integers--included-/NetRexx/arbitrary-precision-integers--included--2.netrexx
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/NetRexx/arbitrary-precision-integers-included-2.netrexx
rename to Task/Arbitrary-precision-integers--included-/NetRexx/arbitrary-precision-integers--included--2.netrexx
diff --git a/Task/Arbitrary-precision-integers-included/NetRexx/arbitrary-precision-integers-included-3.netrexx b/Task/Arbitrary-precision-integers--included-/NetRexx/arbitrary-precision-integers--included--3.netrexx
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/NetRexx/arbitrary-precision-integers-included-3.netrexx
rename to Task/Arbitrary-precision-integers--included-/NetRexx/arbitrary-precision-integers--included--3.netrexx
diff --git a/Task/Arbitrary-precision-integers-included/OCaml/arbitrary-precision-integers-included-1.ocaml b/Task/Arbitrary-precision-integers--included-/OCaml/arbitrary-precision-integers--included--1.ocaml
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/OCaml/arbitrary-precision-integers-included-1.ocaml
rename to Task/Arbitrary-precision-integers--included-/OCaml/arbitrary-precision-integers--included--1.ocaml
diff --git a/Task/Arbitrary-precision-integers-included/OCaml/arbitrary-precision-integers-included-2.ocaml b/Task/Arbitrary-precision-integers--included-/OCaml/arbitrary-precision-integers--included--2.ocaml
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/OCaml/arbitrary-precision-integers-included-2.ocaml
rename to Task/Arbitrary-precision-integers--included-/OCaml/arbitrary-precision-integers--included--2.ocaml
diff --git a/Task/Arbitrary-precision-integers-included/Oz/arbitrary-precision-integers-included.oz b/Task/Arbitrary-precision-integers--included-/Oz/arbitrary-precision-integers--included-.oz
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Oz/arbitrary-precision-integers-included.oz
rename to Task/Arbitrary-precision-integers--included-/Oz/arbitrary-precision-integers--included-.oz
diff --git a/Task/Arbitrary-precision-integers-included/PARI-GP/arbitrary-precision-integers-included.pari b/Task/Arbitrary-precision-integers--included-/PARI-GP/arbitrary-precision-integers--included-.pari
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/PARI-GP/arbitrary-precision-integers-included.pari
rename to Task/Arbitrary-precision-integers--included-/PARI-GP/arbitrary-precision-integers--included-.pari
diff --git a/Task/Arbitrary-precision-integers-included/PHP/arbitrary-precision-integers-included.php b/Task/Arbitrary-precision-integers--included-/PHP/arbitrary-precision-integers--included-.php
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/PHP/arbitrary-precision-integers-included.php
rename to Task/Arbitrary-precision-integers--included-/PHP/arbitrary-precision-integers--included-.php
diff --git a/Task/Arbitrary-precision-integers-included/Pascal/arbitrary-precision-integers-included.pascal b/Task/Arbitrary-precision-integers--included-/Pascal/arbitrary-precision-integers--included-.pascal
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Pascal/arbitrary-precision-integers-included.pascal
rename to Task/Arbitrary-precision-integers--included-/Pascal/arbitrary-precision-integers--included-.pascal
diff --git a/Task/Arbitrary-precision-integers-included/Perl-6/arbitrary-precision-integers-included.pl6 b/Task/Arbitrary-precision-integers--included-/Perl-6/arbitrary-precision-integers--included-.pl6
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Perl-6/arbitrary-precision-integers-included.pl6
rename to Task/Arbitrary-precision-integers--included-/Perl-6/arbitrary-precision-integers--included-.pl6
diff --git a/Task/Arbitrary-precision-integers-included/Perl/arbitrary-precision-integers-included-1.pl b/Task/Arbitrary-precision-integers--included-/Perl/arbitrary-precision-integers--included--1.pl
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Perl/arbitrary-precision-integers-included-1.pl
rename to Task/Arbitrary-precision-integers--included-/Perl/arbitrary-precision-integers--included--1.pl
diff --git a/Task/Arbitrary-precision-integers-included/Perl/arbitrary-precision-integers-included-2.pl b/Task/Arbitrary-precision-integers--included-/Perl/arbitrary-precision-integers--included--2.pl
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Perl/arbitrary-precision-integers-included-2.pl
rename to Task/Arbitrary-precision-integers--included-/Perl/arbitrary-precision-integers--included--2.pl
diff --git a/Task/Arbitrary-precision-integers-included/Perl/arbitrary-precision-integers-included-3.pl b/Task/Arbitrary-precision-integers--included-/Perl/arbitrary-precision-integers--included--3.pl
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Perl/arbitrary-precision-integers-included-3.pl
rename to Task/Arbitrary-precision-integers--included-/Perl/arbitrary-precision-integers--included--3.pl
diff --git a/Task/Arbitrary-precision-integers-included/PicoLisp/arbitrary-precision-integers-included.l b/Task/Arbitrary-precision-integers--included-/PicoLisp/arbitrary-precision-integers--included-.l
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/PicoLisp/arbitrary-precision-integers-included.l
rename to Task/Arbitrary-precision-integers--included-/PicoLisp/arbitrary-precision-integers--included-.l
diff --git a/Task/Arbitrary-precision-integers-included/Pike/arbitrary-precision-integers-included.pike b/Task/Arbitrary-precision-integers--included-/Pike/arbitrary-precision-integers--included-.pike
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Pike/arbitrary-precision-integers-included.pike
rename to Task/Arbitrary-precision-integers--included-/Pike/arbitrary-precision-integers--included-.pike
diff --git a/Task/Arbitrary-precision-integers-included/PureBasic/arbitrary-precision-integers-included.purebasic b/Task/Arbitrary-precision-integers--included-/PureBasic/arbitrary-precision-integers--included-.purebasic
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/PureBasic/arbitrary-precision-integers-included.purebasic
rename to Task/Arbitrary-precision-integers--included-/PureBasic/arbitrary-precision-integers--included-.purebasic
diff --git a/Task/Arbitrary-precision-integers-included/Python/arbitrary-precision-integers-included.py b/Task/Arbitrary-precision-integers--included-/Python/arbitrary-precision-integers--included-.py
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Python/arbitrary-precision-integers-included.py
rename to Task/Arbitrary-precision-integers--included-/Python/arbitrary-precision-integers--included-.py
diff --git a/Task/Arbitrary-precision-integers-included/R/arbitrary-precision-integers-included.r b/Task/Arbitrary-precision-integers--included-/R/arbitrary-precision-integers--included-.r
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/R/arbitrary-precision-integers-included.r
rename to Task/Arbitrary-precision-integers--included-/R/arbitrary-precision-integers--included-.r
diff --git a/Task/Arbitrary-precision-integers-included/REXX/arbitrary-precision-integers-included-1.rexx b/Task/Arbitrary-precision-integers--included-/REXX/arbitrary-precision-integers--included--1.rexx
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/REXX/arbitrary-precision-integers-included-1.rexx
rename to Task/Arbitrary-precision-integers--included-/REXX/arbitrary-precision-integers--included--1.rexx
diff --git a/Task/Arbitrary-precision-integers-included/REXX/arbitrary-precision-integers-included-2.rexx b/Task/Arbitrary-precision-integers--included-/REXX/arbitrary-precision-integers--included--2.rexx
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/REXX/arbitrary-precision-integers-included-2.rexx
rename to Task/Arbitrary-precision-integers--included-/REXX/arbitrary-precision-integers--included--2.rexx
diff --git a/Task/Arbitrary-precision-integers-included/Racket/arbitrary-precision-integers-included.rkt b/Task/Arbitrary-precision-integers--included-/Racket/arbitrary-precision-integers--included-.rkt
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Racket/arbitrary-precision-integers-included.rkt
rename to Task/Arbitrary-precision-integers--included-/Racket/arbitrary-precision-integers--included-.rkt
diff --git a/Task/Arbitrary-precision-integers-included/Ruby/arbitrary-precision-integers-included.rb b/Task/Arbitrary-precision-integers--included-/Ruby/arbitrary-precision-integers--included-.rb
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Ruby/arbitrary-precision-integers-included.rb
rename to Task/Arbitrary-precision-integers--included-/Ruby/arbitrary-precision-integers--included-.rb
diff --git a/Task/Arbitrary-precision-integers-included/Run-BASIC/arbitrary-precision-integers-included.run b/Task/Arbitrary-precision-integers--included-/Run-BASIC/arbitrary-precision-integers--included-.run
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Run-BASIC/arbitrary-precision-integers-included.run
rename to Task/Arbitrary-precision-integers--included-/Run-BASIC/arbitrary-precision-integers--included-.run
diff --git a/Task/Arbitrary-precision-integers-included/SIMPOL/arbitrary-precision-integers-included.simpol b/Task/Arbitrary-precision-integers--included-/SIMPOL/arbitrary-precision-integers--included-.simpol
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/SIMPOL/arbitrary-precision-integers-included.simpol
rename to Task/Arbitrary-precision-integers--included-/SIMPOL/arbitrary-precision-integers--included-.simpol
diff --git a/Task/Arbitrary-precision-integers-included/Sather/arbitrary-precision-integers-included.sa b/Task/Arbitrary-precision-integers--included-/Sather/arbitrary-precision-integers--included-.sa
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Sather/arbitrary-precision-integers-included.sa
rename to Task/Arbitrary-precision-integers--included-/Sather/arbitrary-precision-integers--included-.sa
diff --git a/Task/Arbitrary-precision-integers-included/Scala/arbitrary-precision-integers-included.scala b/Task/Arbitrary-precision-integers--included-/Scala/arbitrary-precision-integers--included-.scala
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Scala/arbitrary-precision-integers-included.scala
rename to Task/Arbitrary-precision-integers--included-/Scala/arbitrary-precision-integers--included-.scala
diff --git a/Task/Arbitrary-precision-integers-included/Scheme/arbitrary-precision-integers-included.ss b/Task/Arbitrary-precision-integers--included-/Scheme/arbitrary-precision-integers--included-.ss
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Scheme/arbitrary-precision-integers-included.ss
rename to Task/Arbitrary-precision-integers--included-/Scheme/arbitrary-precision-integers--included-.ss
diff --git a/Task/Arbitrary-precision-integers-included/Seed7/arbitrary-precision-integers-included.seed7 b/Task/Arbitrary-precision-integers--included-/Seed7/arbitrary-precision-integers--included-.seed7
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Seed7/arbitrary-precision-integers-included.seed7
rename to Task/Arbitrary-precision-integers--included-/Seed7/arbitrary-precision-integers--included-.seed7
diff --git a/Task/Arbitrary-precision-integers-included/Smalltalk/arbitrary-precision-integers-included-1.st b/Task/Arbitrary-precision-integers--included-/Smalltalk/arbitrary-precision-integers--included--1.st
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Smalltalk/arbitrary-precision-integers-included-1.st
rename to Task/Arbitrary-precision-integers--included-/Smalltalk/arbitrary-precision-integers--included--1.st
diff --git a/Task/Arbitrary-precision-integers-included/Smalltalk/arbitrary-precision-integers-included-2.st b/Task/Arbitrary-precision-integers--included-/Smalltalk/arbitrary-precision-integers--included--2.st
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Smalltalk/arbitrary-precision-integers-included-2.st
rename to Task/Arbitrary-precision-integers--included-/Smalltalk/arbitrary-precision-integers--included--2.st
diff --git a/Task/Arbitrary-precision-integers-included/Standard-ML/arbitrary-precision-integers-included.ml b/Task/Arbitrary-precision-integers--included-/Standard-ML/arbitrary-precision-integers--included-.ml
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Standard-ML/arbitrary-precision-integers-included.ml
rename to Task/Arbitrary-precision-integers--included-/Standard-ML/arbitrary-precision-integers--included-.ml
diff --git a/Task/Arbitrary-precision-integers-included/TXR/arbitrary-precision-integers-included.txr b/Task/Arbitrary-precision-integers--included-/TXR/arbitrary-precision-integers--included-.txr
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/TXR/arbitrary-precision-integers-included.txr
rename to Task/Arbitrary-precision-integers--included-/TXR/arbitrary-precision-integers--included-.txr
diff --git a/Task/Arbitrary-precision-integers-included/Tcl/arbitrary-precision-integers-included.tcl b/Task/Arbitrary-precision-integers--included-/Tcl/arbitrary-precision-integers--included-.tcl
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Tcl/arbitrary-precision-integers-included.tcl
rename to Task/Arbitrary-precision-integers--included-/Tcl/arbitrary-precision-integers--included-.tcl
diff --git a/Task/Arbitrary-precision-integers-included/Ursala/arbitrary-precision-integers-included.ursala b/Task/Arbitrary-precision-integers--included-/Ursala/arbitrary-precision-integers--included-.ursala
similarity index 100%
rename from Task/Arbitrary-precision-integers-included/Ursala/arbitrary-precision-integers-included.ursala
rename to Task/Arbitrary-precision-integers--included-/Ursala/arbitrary-precision-integers--included-.ursala
diff --git a/Task/Binary-digits/0815/binary-digits-1.0815 b/Task/Binary-digits/0815/binary-digits-1.0815
new file mode 100644
index 0000000000..9f9299536e
--- /dev/null
+++ b/Task/Binary-digits/0815/binary-digits-1.0815
@@ -0,0 +1,12 @@
+}:r:|~ Read numbers in a loop.
+ }:b: Treat the queue as a stack and
+ <:2:= accumulate the binary digits
+ /=>&~ of the given number.
+ ^:b:
+ <:0:-> Enqueue negative 1 as a sentinel.
+ { Dequeue the first binary digit.
+ }:p:
+ ~%={+ Rotate each binary digit into place and print it.
+ ^:p:
+ <:a:~$ Output a newline.
+^:r:
diff --git a/Task/Binary-digits/0815/binary-digits-2.0815 b/Task/Binary-digits/0815/binary-digits-2.0815
new file mode 100644
index 0000000000..8350cbb626
--- /dev/null
+++ b/Task/Binary-digits/0815/binary-digits-2.0815
@@ -0,0 +1,4 @@
+echo -e "5\n32\n2329" | 0815 bin.0
+101
+110010
+10001100101001
diff --git a/Task/Binary-digits/0DESCRIPTION b/Task/Binary-digits/0DESCRIPTION
new file mode 100644
index 0000000000..1726825478
--- /dev/null
+++ b/Task/Binary-digits/0DESCRIPTION
@@ -0,0 +1,7 @@
+The task is to output the sequence of binary digits for a given [[wp:Natural number|non-negative integer]].
+
+The decimal value 5, should produce an output of 101
+The decimal value 50 should produce an output of 110010
+The decimal value 9000 should produce an output of 10001100101000
+
+The results can be achieved using builtin radix functions within the language, if these are available, or alternatively a user defined function can be used. The output produced should consist just of the binary digits of each number followed by a newline. There should be no other whitespace, radix or sign markers in the produced output, and [[wp:Leading zero|leading zeros]] should not appear in the results.
diff --git a/Task/Binary-digits/1META.yaml b/Task/Binary-digits/1META.yaml
new file mode 100644
index 0000000000..4f4b33e2dd
--- /dev/null
+++ b/Task/Binary-digits/1META.yaml
@@ -0,0 +1,4 @@
+---
+category:
+- Radices
+note: Basic language learning
diff --git a/Task/Binary-digits/ACL2/binary-digits.acl2 b/Task/Binary-digits/ACL2/binary-digits.acl2
new file mode 100644
index 0000000000..d83c73f3de
--- /dev/null
+++ b/Task/Binary-digits/ACL2/binary-digits.acl2
@@ -0,0 +1,15 @@
+(include-book "arithmetic-3/top" :dir :system)
+
+(defun bin-string-r (x)
+ (if (zp x)
+ ""
+ (string-append
+ (bin-string-r (floor x 2))
+ (if (= 1 (mod x 2))
+ "1"
+ "0"))))
+
+(defun bin-string (x)
+ (if (zp x)
+ "0"
+ (bin-string-r x)))
diff --git a/Task/Binary-digits/ALGOL-68/binary-digits.alg b/Task/Binary-digits/ALGOL-68/binary-digits.alg
new file mode 100644
index 0000000000..10b4866018
--- /dev/null
+++ b/Task/Binary-digits/ALGOL-68/binary-digits.alg
@@ -0,0 +1,14 @@
+#!/usr/local/bin/a68g --script #
+
+printf((
+ $g" => "2r3d l$, 5, BIN 5,
+ $g" => "2r6d l$, 50, BIN 50,
+ $g" => "2r14d l$, 9000, BIN 9000
+));
+
+# or coerce to an array of BOOL #
+print((
+ 5, " => ", []BOOL(BIN 5)[bits width-3+1:], new line,
+ 50, " => ", []BOOL(BIN 50)[bits width-6+1:], new line,
+ 9000, " => ", []BOOL(BIN 9000)[bits width-14+1:], new line
+))
diff --git a/Task/Binary-digits/AWK/binary-digits.awk b/Task/Binary-digits/AWK/binary-digits.awk
new file mode 100644
index 0000000000..34b883eee5
--- /dev/null
+++ b/Task/Binary-digits/AWK/binary-digits.awk
@@ -0,0 +1,23 @@
+BEGIN {
+ print tobinary(5)
+ print tobinary(50)
+ print tobinary(9000)
+}
+
+function tobinary(num) {
+ outstr = ""
+ l = num
+ while ( l ) {
+ if ( l%2 == 0 ) {
+ outstr = "0" outstr
+ } else {
+ outstr = "1" outstr
+ }
+ l = int(l/2)
+ }
+ # Make sure we output a zero for a value of zero
+ if ( outstr == "" ) {
+ outstr = "0"
+ }
+ return outstr
+}
diff --git a/Task/Binary-digits/Ada/binary-digits.ada b/Task/Binary-digits/Ada/binary-digits.ada
new file mode 100644
index 0000000000..0fefbc2dc8
--- /dev/null
+++ b/Task/Binary-digits/Ada/binary-digits.ada
@@ -0,0 +1,28 @@
+with Ada.Text_IO;
+
+procedure Binary_Output is
+
+ package IIO is new Ada.Text_IO.Integer_IO(Integer);
+
+ function To_Binary(N: Natural) return String is
+ S: String(1 .. 1000); -- more than plenty!
+ Left: Positive := S'First;
+ Right: Positive := S'Last;
+ begin
+ IIO.Put(To => S, Item => N, Base => 2); -- This is the conversion!
+ -- Now S is a String with many spaces and some "2#...#" somewhere.
+ -- We only need the "..." part without spaces or base markers.
+ while S(Left) /= '#' loop
+ Left := Left + 1;
+ end loop;
+ while S(Right) /= '#' loop
+ Right := Right - 1;
+ end loop;
+ return S(Left+1 .. Right-1);
+ end To_Binary;
+
+begin
+ Ada.Text_IO.Put_Line(To_Binary(5)); -- 101
+ Ada.Text_IO.Put_Line(To_Binary(50)); -- 110010
+ Ada.Text_IO.Put_Line(To_Binary(9000)); -- 10001100101000
+end Binary_Output;
diff --git a/Task/Binary-digits/AutoHotkey/binary-digits.ahk b/Task/Binary-digits/AutoHotkey/binary-digits.ahk
new file mode 100644
index 0000000000..9ae02412de
--- /dev/null
+++ b/Task/Binary-digits/AutoHotkey/binary-digits.ahk
@@ -0,0 +1,10 @@
+MsgBox % NumberToBinary(5) ;101
+MsgBox % NumberToBinary(50) ;110010
+MsgBox % NumberToBinary(9000) ;10001100101000
+
+NumberToBinary(InputNumber)
+{
+ While, InputNumber
+ Result := (InputNumber & 1) . Result, InputNumber >>= 1
+ Return, Result
+}
diff --git a/Task/Binary-digits/AutoIt/binary-digits.autoit b/Task/Binary-digits/AutoIt/binary-digits.autoit
new file mode 100644
index 0000000000..7f528b0718
--- /dev/null
+++ b/Task/Binary-digits/AutoIt/binary-digits.autoit
@@ -0,0 +1,15 @@
+ConsoleWrite(IntToBin(50) & @CRLF)
+
+Func IntToBin($iInt)
+ $Stack = ObjCreate("System.Collections.Stack")
+ Local $b = -1, $r = ""
+ While $iInt <> 0
+ $b = Mod($iInt, 2)
+ $iInt = INT($iInt/2)
+ $Stack.Push ($b)
+ WEnd
+ For $i = 1 TO $Stack.Count
+ $r &= $Stack.Pop
+ Next
+ Return $r
+EndFunc ;==>IntToBin
diff --git a/Task/Binary-digits/BBC-BASIC/binary-digits-1.bbc b/Task/Binary-digits/BBC-BASIC/binary-digits-1.bbc
new file mode 100644
index 0000000000..337ed4d21a
--- /dev/null
+++ b/Task/Binary-digits/BBC-BASIC/binary-digits-1.bbc
@@ -0,0 +1,16 @@
+ FOR num% = 0 TO 16
+ PRINT FN_tobase(num%, 2, 0)
+ NEXT
+ END
+
+ REM Convert N% to string in base B% with minimum M% digits:
+ DEF FN_tobase(N%,B%,M%)
+ LOCAL D%,A$
+ REPEAT
+ D% = N%MODB%
+ N% DIV= B%
+ IF D%<0 D% += B%:N% -= 1
+ A$ = CHR$(48 + D% - 7*(D%>9)) + A$
+ M% -= 1
+ UNTIL (N%=FALSE OR N%=TRUE) AND M%<=0
+ =A$
diff --git a/Task/Binary-digits/BBC-BASIC/binary-digits-2.bbc b/Task/Binary-digits/BBC-BASIC/binary-digits-2.bbc
new file mode 100644
index 0000000000..d0beba07cc
--- /dev/null
+++ b/Task/Binary-digits/BBC-BASIC/binary-digits-2.bbc
@@ -0,0 +1,12 @@
+PRINT FNbinary(5)
+PRINT FNbinary(50)
+PRINT FNbinary(9000)
+END
+
+DEF FNbinary(N%)
+LOCAL A$
+REPEAT
+ A$ = STR$(N% AND 1) + A$
+ N% = N% >>> 1 : REM BBC Basic prior to V5 can use N% = N% DIV 2
+UNTIL N% = 0
+=A$
diff --git a/Task/Binary-digits/Batch-File/binary-digits.bat b/Task/Binary-digits/Batch-File/binary-digits.bat
new file mode 100644
index 0000000000..54973e9952
--- /dev/null
+++ b/Task/Binary-digits/Batch-File/binary-digits.bat
@@ -0,0 +1,14 @@
+@echo off
+:num2bin IntVal [RtnVar]
+ setlocal enableDelayedExpansion
+ set /a n=%~1
+ set rtn=
+ for /l %%b in (0,1,31) do (
+ set /a "d=n&1, n>>=1"
+ set rtn=!d!!rtn!
+ )
+ for /f "tokens=* delims=0" %%a in ("!rtn!") do set rtn=%%a
+ (endlocal & rem -- return values
+ if "%~2" neq "" (set %~2=%rtn%) else echo %rtn%
+ )
+exit /b
diff --git a/Task/Binary-digits/Brainf---/binary-digits.bf b/Task/Binary-digits/Brainf---/binary-digits.bf
new file mode 100644
index 0000000000..a0de85bda5
--- /dev/null
+++ b/Task/Binary-digits/Brainf---/binary-digits.bf
@@ -0,0 +1,17 @@
++[ Start with n=1 to kick off the loop
+[>>++<< Set up {n 0 2} for divmod magic
+[->+>- Then
+[>+>>]> do
+[+[-<+>]>+>>] the
+<<<<<<] magic
+>>>+ Increment n % 2 so that 0s don't break things
+>] Move into n / 2 and divmod that unless it's 0
+-< Set up sentinel ‑1 then move into the first binary digit
+[++++++++ ++++++++ ++++++++ Add 47 to get it to ASCII
+ ++++++++ ++++++++ +++++++. and print it
+[<]<] Get to a 0; the cell to the left is the next binary digit
+>>[<+>-] Tape is {0 n}; make it {n 0}
+>[>+] Get to the ‑1
+<[[-]<] Zero the tape for the next iteration
+++++++++++. Print a newline
+[-]<+] Zero it then increment n and go again
diff --git a/Task/Binary-digits/Burlesque/binary-digits.blq b/Task/Binary-digits/Burlesque/binary-digits.blq
new file mode 100644
index 0000000000..1a51259889
--- /dev/null
+++ b/Task/Binary-digits/Burlesque/binary-digits.blq
@@ -0,0 +1,4 @@
+blsq ) {5 50 9000}{2B!}m[uN
+101
+110010
+10001100101000
diff --git a/Task/Binary-digits/C++/binary-digits.cpp b/Task/Binary-digits/C++/binary-digits.cpp
new file mode 100644
index 0000000000..2932ef8353
--- /dev/null
+++ b/Task/Binary-digits/C++/binary-digits.cpp
@@ -0,0 +1,25 @@
+#include
+#include
+#include
+#include
+
+void print_bin(int n)
+{
+ // convert to binary, then to string
+ std::string str = std::bitset(n).to_string();
+ // trim leading zeroes
+ if(n == 0)
+ str = "0";
+ else
+ str = str.substr(str.find('1'));
+ // output
+ std::cout << str << '\n';
+}
+
+int main()
+{
+ print_bin(0);
+ print_bin(5);
+ print_bin(50);
+ print_bin(9000);
+}
diff --git a/Task/Binary-digits/C/binary-digits-1.c b/Task/Binary-digits/C/binary-digits-1.c
new file mode 100644
index 0000000000..08c7c0c86a
--- /dev/null
+++ b/Task/Binary-digits/C/binary-digits-1.c
@@ -0,0 +1,20 @@
+#include
+
+void bin(int x, char *s)
+{
+ char*_(int x){
+ *(s = x ? _(x >> 1) : s) = (x & 1) + '0';
+ return ++s;
+ }
+ *_(x) = 0;
+}
+
+int main()
+{
+ char a[100];
+ int i;
+ for (i = 0; i <= 1984; i += 31)
+ bin(i, a), printf("%4d: %s\n", i, a);
+
+ return 0;
+}
diff --git a/Task/Binary-digits/C/binary-digits-2.c b/Task/Binary-digits/C/binary-digits-2.c
new file mode 100644
index 0000000000..70aef3c276
--- /dev/null
+++ b/Task/Binary-digits/C/binary-digits-2.c
@@ -0,0 +1,30 @@
+#include
+
+void IntToBitString(unsigned int number)
+{
+ int num_bits = sizeof(unsigned int) * 8;
+
+ bool startPrinting = false;
+ for (int bit_pos=num_bits-1; bit_pos >= 0; bit_pos--)
+ {
+ bool isBitSet = (number & (1<
+ new Number(n).toString(2)
+
+console.log binary n for n in [5, 50, 9000]
diff --git a/Task/Binary-digits/Common-Lisp/binary-digits.lisp b/Task/Binary-digits/Common-Lisp/binary-digits.lisp
new file mode 100644
index 0000000000..e2ce5c309f
--- /dev/null
+++ b/Task/Binary-digits/Common-Lisp/binary-digits.lisp
@@ -0,0 +1 @@
+(format t "~b" 5)
diff --git a/Task/Binary-digits/D/binary-digits.d b/Task/Binary-digits/D/binary-digits.d
new file mode 100644
index 0000000000..45dba745d2
--- /dev/null
+++ b/Task/Binary-digits/D/binary-digits.d
@@ -0,0 +1,6 @@
+import std.stdio;
+
+void main() {
+ foreach (i; 0 .. 16)
+ writefln("%b", i);
+}
diff --git a/Task/Binary-digits/Dart/binary-digits.dart b/Task/Binary-digits/Dart/binary-digits.dart
new file mode 100644
index 0000000000..4964b4a29a
--- /dev/null
+++ b/Task/Binary-digits/Dart/binary-digits.dart
@@ -0,0 +1,25 @@
+String binary(int n) {
+ if(n<0)
+ throw new IllegalArgumentException("negative numbers require 2s complement");
+ if(n==0) return "0";
+ String res="";
+ while(n>0) {
+ res=(n%2).toString()+res;
+ n=(n/2).toInt();
+ }
+ return res;
+}
+
+main() {
+ print(binary(0));
+ print(binary(1));
+ print(binary(5));
+ print(binary(10));
+ print(binary(50));
+ print(binary(9000));
+ print(binary(65535));
+ print(binary(0xaa5511ff));
+ print(binary(0x123456789abcde));
+ // fails due to precision limit
+ print(binary(0x123456789abcdef));
+}
diff --git a/Task/Binary-digits/Delphi/binary-digits.delphi b/Task/Binary-digits/Delphi/binary-digits.delphi
new file mode 100644
index 0000000000..e993e8e9ae
--- /dev/null
+++ b/Task/Binary-digits/Delphi/binary-digits.delphi
@@ -0,0 +1,18 @@
+procedure Binary_Digits;
+
+ function IntToBinStr(AInt : integer) : string;
+
+ begin
+ Result := '';
+ while AInt > 0 do
+ begin
+ Result := Chr(Ord('0')+(AInt mod 2))+Result;
+ AInt := AInt div 2;
+ end;
+ end;
+
+begin
+ writeln(' 5: '+IntToBinStr(5));
+ writeln(' 50: '+IntToBinStr(50));
+ writeln('9000: '+IntToBinStr(9000));
+end;
diff --git a/Task/Binary-digits/Elena/binary-digits.elena b/Task/Binary-digits/Elena/binary-digits.elena
new file mode 100644
index 0000000000..262343812f
--- /dev/null
+++ b/Task/Binary-digits/Elena/binary-digits.elena
@@ -0,0 +1,11 @@
+#define std'dictionary'*.
+#define ext'convertors'*.
+
+// --- Program ---
+
+#symbol Program =
+[
+ 'program'output write &numeric:5 &radix:2 &:eintformatter << "%n".
+ 'program'output write &numeric:50 &radix:2 &:eintformatter << "%n".
+ 'program'output write &numeric:9000 &radix:2 &:eintformatter << "%n".
+].
diff --git a/Task/Binary-digits/Erlang/binary-digits.erl b/Task/Binary-digits/Erlang/binary-digits.erl
new file mode 100644
index 0000000000..e6c3840b6c
--- /dev/null
+++ b/Task/Binary-digits/Erlang/binary-digits.erl
@@ -0,0 +1 @@
+lists:map( fun(N) -> io:fwrite("~.2B~n", [N]) end, [5, 50, 9000]).
diff --git a/Task/Binary-digits/Euphoria/binary-digits.euphoria b/Task/Binary-digits/Euphoria/binary-digits.euphoria
new file mode 100644
index 0000000000..8778bdea7e
--- /dev/null
+++ b/Task/Binary-digits/Euphoria/binary-digits.euphoria
@@ -0,0 +1,13 @@
+function toBinary(integer i)
+ sequence s
+ s = {}
+ while i do
+ s = prepend(s, '0'+and_bits(i,1))
+ i = floor(i/2)
+ end while
+ return s
+end function
+
+puts(1, toBinary(5) & '\n')
+puts(1, toBinary(50) & '\n')
+puts(1, toBinary(9000) & '\n')
diff --git a/Task/Binary-digits/Factor/binary-digits.factor b/Task/Binary-digits/Factor/binary-digits.factor
new file mode 100644
index 0000000000..e909db903d
--- /dev/null
+++ b/Task/Binary-digits/Factor/binary-digits.factor
@@ -0,0 +1,5 @@
+USING: io kernel math math.parser ;
+
+5 >bin print
+50 >bin print
+9000 >bin print
diff --git a/Task/Binary-digits/Forth/binary-digits.fth b/Task/Binary-digits/Forth/binary-digits.fth
new file mode 100644
index 0000000000..fa90e5a700
--- /dev/null
+++ b/Task/Binary-digits/Forth/binary-digits.fth
@@ -0,0 +1,4 @@
+9000 50 5
+2 base !
+. . .
+decimal
diff --git a/Task/Binary-digits/Go/binary-digits.go b/Task/Binary-digits/Go/binary-digits.go
new file mode 100644
index 0000000000..2d75ea6054
--- /dev/null
+++ b/Task/Binary-digits/Go/binary-digits.go
@@ -0,0 +1,11 @@
+package main
+
+import (
+ "fmt"
+)
+
+func main() {
+ for i := 0; i < 16; i++ {
+ fmt.Printf("%b\n", i)
+ }
+}
diff --git a/Task/Binary-digits/Groovy/binary-digits.groovy b/Task/Binary-digits/Groovy/binary-digits.groovy
new file mode 100644
index 0000000000..afe4535530
--- /dev/null
+++ b/Task/Binary-digits/Groovy/binary-digits.groovy
@@ -0,0 +1,7 @@
+print '''
+ n binary
+----- ---------------
+'''
+[5, 50, 9000].each {
+ printf('%5d %15s\n', it, Integer.toBinaryString(it))
+}
diff --git a/Task/Binary-digits/Haskell/binary-digits.hs b/Task/Binary-digits/Haskell/binary-digits.hs
new file mode 100644
index 0000000000..fcf217e471
--- /dev/null
+++ b/Task/Binary-digits/Haskell/binary-digits.hs
@@ -0,0 +1,16 @@
+import Data.List
+import Numeric
+import Text.Printf
+
+-- Use the built-in function showIntAtBase.
+toBin n = showIntAtBase 2 ("01" !!) n ""
+
+-- Implement our own version.
+toBin' 0 = []
+toBin' x = (toBin' $ x `div` 2) ++ (show $ x `mod` 2)
+
+printToBin n = putStrLn $ printf "%4d %14s %14s" n (toBin n) (toBin' n)
+
+main = do
+ putStrLn $ printf "%4s %14s %14s" "N" "toBin" "toBin'"
+ mapM_ printToBin [5, 50, 9000]
diff --git a/Task/Binary-digits/Icon/binary-digits.icon b/Task/Binary-digits/Icon/binary-digits.icon
new file mode 100644
index 0000000000..2d4bde0b19
--- /dev/null
+++ b/Task/Binary-digits/Icon/binary-digits.icon
@@ -0,0 +1,23 @@
+procedure main()
+every i := 5 | 50 | 255 | 1285 | 9000 do
+ write(i," = ",binary(i))
+end
+
+procedure binary(n) #: return bitstring for integer n
+static CT, cm, cb
+initial {
+ CT := table() # cache table for results
+ cm := 2 ^ (cb := 4) # (tunable) cache modulus & pad bits
+ }
+
+b := "" # build reversed bit string
+while n > 0 do { # use cached result ...
+ if not (b ||:= \CT[1(i := n % cm, n /:= cm) ]) then {
+ CT[j := i] := "" # ...or start new cache entry
+ while j > 0 do
+ CT[i] ||:= "01"[ 1(1+j % 2, j /:= 2 )]
+ b ||:= CT[i] := left(CT[i],cb,"0") # finish cache with padding
+ }
+ }
+return reverse(trim(b,"0")) # nothing extraneous
+end
diff --git a/Task/Binary-digits/J/binary-digits.j b/Task/Binary-digits/J/binary-digits.j
new file mode 100644
index 0000000000..c8ef29b83f
--- /dev/null
+++ b/Task/Binary-digits/J/binary-digits.j
@@ -0,0 +1,7 @@
+ tobin=: -.&' '@":@#:
+ tobin 5
+101
+ tobin 50
+110010
+ tobin 9000
+10001100101000
diff --git a/Task/Binary-digits/Java/binary-digits.java b/Task/Binary-digits/Java/binary-digits.java
new file mode 100644
index 0000000000..5935d3606c
--- /dev/null
+++ b/Task/Binary-digits/Java/binary-digits.java
@@ -0,0 +1,7 @@
+public class Main {
+ public static void main(String[] args) {
+ System.out.println(Integer.toBinaryString(5));
+ System.out.println(Integer.toBinaryString(50));
+ System.out.println(Integer.toBinaryString(9000));
+ }
+}
diff --git a/Task/Binary-digits/JavaScript/binary-digits.js b/Task/Binary-digits/JavaScript/binary-digits.js
new file mode 100644
index 0000000000..a117653a9d
--- /dev/null
+++ b/Task/Binary-digits/JavaScript/binary-digits.js
@@ -0,0 +1,7 @@
+function toBinary(number) {
+ return new Number(number).toString(2);
+}
+var demoValues = [5, 50, 9000];
+for (var i=0; i0
+ dec2bin$=str$(num mod 2)+dec2bin$
+ num=int(num/2)
+ wend
+end function
diff --git a/Task/Binary-digits/Locomotive-Basic/binary-digits.locomotive b/Task/Binary-digits/Locomotive-Basic/binary-digits.locomotive
new file mode 100644
index 0000000000..edbad56364
--- /dev/null
+++ b/Task/Binary-digits/Locomotive-Basic/binary-digits.locomotive
@@ -0,0 +1,3 @@
+10 PRINT BIN$(5)
+20 PRINT BIN$(50)
+30 PRINT BIN$(9000)
diff --git a/Task/Binary-digits/MATLAB/binary-digits.m b/Task/Binary-digits/MATLAB/binary-digits.m
new file mode 100644
index 0000000000..b3de3d38de
--- /dev/null
+++ b/Task/Binary-digits/MATLAB/binary-digits.m
@@ -0,0 +1,3 @@
+ dec2bin(5)
+ dec2bin(50)
+ dec2bin(9000)
diff --git a/Task/Binary-digits/Maple/binary-digits.maple b/Task/Binary-digits/Maple/binary-digits.maple
new file mode 100644
index 0000000000..b97c5923b3
--- /dev/null
+++ b/Task/Binary-digits/Maple/binary-digits.maple
@@ -0,0 +1,4 @@
+> printf( "%d\n", convert( 50, 'binary' ) );
+110010
+> printf( "%d\n", convert( 9000, 'binary' ) );
+10001100101000
diff --git a/Task/Binary-digits/Mathematica/binary-digits.math b/Task/Binary-digits/Mathematica/binary-digits.math
new file mode 100644
index 0000000000..8f27c88ac0
--- /dev/null
+++ b/Task/Binary-digits/Mathematica/binary-digits.math
@@ -0,0 +1 @@
+StringJoin @@ ToString /@ IntegerDigits[50, 2]
diff --git a/Task/Binary-digits/Maxima/binary-digits.maxima b/Task/Binary-digits/Maxima/binary-digits.maxima
new file mode 100644
index 0000000000..7e16fd7303
--- /dev/null
+++ b/Task/Binary-digits/Maxima/binary-digits.maxima
@@ -0,0 +1,15 @@
+digits([arg]) := block(
+ [n: first(arg), b: if length(arg) > 1 then second(arg) else 10, v: [ ], q],
+ if n = 0 then [0] else (
+ while n # 0 do (
+ [n, q]: divide(n, b),
+ v: endcons(q, v)
+ ),
+ v
+ )
+)$
+
+binary(n) := simplode(reverse(digits(9000, 2)))$
+
+binary(9000);
+"10001100101000"
diff --git a/Task/Binary-digits/Mercury/binary-digits.mercury b/Task/Binary-digits/Mercury/binary-digits.mercury
new file mode 100644
index 0000000000..1e1bcd8791
--- /dev/null
+++ b/Task/Binary-digits/Mercury/binary-digits.mercury
@@ -0,0 +1,17 @@
+:- module binary_digits.
+:- interface.
+
+:- import_module io.
+:- pred main(io::di, io::uo) is det.
+
+:- implementation.
+:- import_module int, list, string.
+
+main(!IO) :-
+ list.foldl(print_binary_digits, [5, 50, 9000], !IO).
+
+:- pred print_binary_digits(int::in, io::di, io::uo) is det.
+
+print_binary_digits(N, !IO) :-
+ io.write_string(int_to_base_string(N, 2), !IO),
+ io.nl(!IO).
diff --git a/Task/Binary-digits/Modula-3/binary-digits.mod3 b/Task/Binary-digits/Modula-3/binary-digits.mod3
new file mode 100644
index 0000000000..2fc1ce3ad6
--- /dev/null
+++ b/Task/Binary-digits/Modula-3/binary-digits.mod3
@@ -0,0 +1,11 @@
+MODULE Binary EXPORTS Main;
+
+IMPORT IO, Fmt;
+
+VAR num := 10;
+
+BEGIN
+ IO.Put(Fmt.Int(num, 2) & "\n");
+ num := 150;
+ IO.Put(Fmt.Int(num, 2) & "\n");
+END Binary.
diff --git a/Task/Binary-digits/NetRexx/binary-digits.netrexx b/Task/Binary-digits/NetRexx/binary-digits.netrexx
new file mode 100644
index 0000000000..a4118704a0
--- /dev/null
+++ b/Task/Binary-digits/NetRexx/binary-digits.netrexx
@@ -0,0 +1,12 @@
+/* NetRexx */
+
+options replace format comments java crossref savelog symbols nobinary
+
+nums = [5, 50, 9000]
+
+loop n_ = 0 to nums.length - 1
+ v_ = nums[n_]
+ say v_.d2x.x2b.strip('L', 0)
+ end n_
+
+return
diff --git a/Task/Binary-digits/OCaml/binary-digits.ocaml b/Task/Binary-digits/OCaml/binary-digits.ocaml
new file mode 100644
index 0000000000..4ee9dc2649
--- /dev/null
+++ b/Task/Binary-digits/OCaml/binary-digits.ocaml
@@ -0,0 +1,12 @@
+let bin_of_int d =
+ if d < 0 then invalid_arg "bin_of_int" else
+ if d = 0 then "0" else
+ let rec aux acc d =
+ if d = 0 then acc else
+ aux (string_of_int (d land 1) :: acc) (d lsr 1)
+ in
+ String.concat "" (aux [] d)
+
+let () =
+ let d = read_int () in
+ Printf.printf "%8s\n" (bin_of_int d)
diff --git a/Task/Binary-digits/Objeck/binary-digits.objeck b/Task/Binary-digits/Objeck/binary-digits.objeck
new file mode 100644
index 0000000000..43577bbdd7
--- /dev/null
+++ b/Task/Binary-digits/Objeck/binary-digits.objeck
@@ -0,0 +1,9 @@
+bundle Default {
+ class Binary {
+ function : Main(args : String[]) ~ Nil {
+ 5->ToBinaryString()->PrintLine();
+ 50->ToBinaryString()->PrintLine();
+ 9000->ToBinaryString()->PrintLine();
+ }
+ }
+}
diff --git a/Task/Binary-digits/OxygenBasic/binary-digits.oxy b/Task/Binary-digits/OxygenBasic/binary-digits.oxy
new file mode 100644
index 0000000000..fe00cc53c5
--- /dev/null
+++ b/Task/Binary-digits/OxygenBasic/binary-digits.oxy
@@ -0,0 +1,42 @@
+function BinaryBits(sys n) as string
+ string buf=nuls 32
+ sys p=strptr buf
+ sys le
+ mov eax,n
+ mov edi,p
+ mov ecx,32
+ '
+ 'STRIP LEADING ZEROS
+ (
+ dec ecx
+ jl fwd done
+ shl eax,1
+ jnc repeat
+ )
+ 'PLACE DIGITS
+ '
+ mov byte [edi],49 '1'
+ inc edi
+ (
+ cmp ecx,0
+ jle exit
+ mov dl,48 '0'
+ shl eax,1
+ (
+ jnc exit
+ mov dl,49 '1'
+ )
+ mov [edi],dl
+ inc edi
+ dec ecx
+ repeat
+ )
+ done:
+ '
+ sub edi,p
+ mov le,edi
+ if le then return left buf,le
+ return "0"
+end function
+
+print BinaryBits 0xaa 'result 10101010
diff --git a/Task/Binary-digits/PARI-GP/binary-digits.pari b/Task/Binary-digits/PARI-GP/binary-digits.pari
new file mode 100644
index 0000000000..b30a247c68
--- /dev/null
+++ b/Task/Binary-digits/PARI-GP/binary-digits.pari
@@ -0,0 +1 @@
+bin(n:int)=concat(apply(s->Str(s),binary(n)))
diff --git a/Task/Binary-digits/PHP/binary-digits.php b/Task/Binary-digits/PHP/binary-digits.php
new file mode 100644
index 0000000000..093b1194e5
--- /dev/null
+++ b/Task/Binary-digits/PHP/binary-digits.php
@@ -0,0 +1,4 @@
+ "101"
+
+: (bin 50)
+-> "110010"
+
+: (bin 9000)
+-> "10001100101000"
diff --git a/Task/Binary-digits/PowerShell/binary-digits.psh b/Task/Binary-digits/PowerShell/binary-digits.psh
new file mode 100644
index 0000000000..fbfb21b747
--- /dev/null
+++ b/Task/Binary-digits/PowerShell/binary-digits.psh
@@ -0,0 +1 @@
+@(5,50,900) | foreach-object { [Convert]::ToString($_,2) }
diff --git a/Task/Binary-digits/PureBasic/binary-digits.purebasic b/Task/Binary-digits/PureBasic/binary-digits.purebasic
new file mode 100644
index 0000000000..c8ee6c2a81
--- /dev/null
+++ b/Task/Binary-digits/PureBasic/binary-digits.purebasic
@@ -0,0 +1,8 @@
+If OpenConsole()
+ PrintN(Bin(5)) ;101
+ PrintN(Bin(50)) ;110010
+ PrintN(Bin(9000)) ;10001100101000
+
+ Print(#CRLF$ + #CRLF$ + "Press ENTER to exit"): Input()
+ CloseConsole()
+EndIf
diff --git a/Task/Binary-digits/Python/binary-digits-1.py b/Task/Binary-digits/Python/binary-digits-1.py
new file mode 100644
index 0000000000..01f520b4d0
--- /dev/null
+++ b/Task/Binary-digits/Python/binary-digits-1.py
@@ -0,0 +1,18 @@
+>>> for i in range(16): print('{0:b}'.format(i))
+
+0
+1
+10
+11
+100
+101
+110
+111
+1000
+1001
+1010
+1011
+1100
+1101
+1110
+1111
diff --git a/Task/Binary-digits/Python/binary-digits-2.py b/Task/Binary-digits/Python/binary-digits-2.py
new file mode 100644
index 0000000000..1ad92d4db0
--- /dev/null
+++ b/Task/Binary-digits/Python/binary-digits-2.py
@@ -0,0 +1,18 @@
+>>> for i in range(16): print(bin(i))
+
+0b0
+0b1
+0b10
+0b11
+0b100
+0b101
+0b110
+0b111
+0b1000
+0b1001
+0b1010
+0b1011
+0b1100
+0b1101
+0b1110
+0b1111
diff --git a/Task/Binary-digits/Python/binary-digits-3.py b/Task/Binary-digits/Python/binary-digits-3.py
new file mode 100644
index 0000000000..742e2ecbe8
--- /dev/null
+++ b/Task/Binary-digits/Python/binary-digits-3.py
@@ -0,0 +1,20 @@
+>>> oct2bin = {'0': '000', '1': '001', '2': '010', '3': '011', '4': '100', '5': '101', '6': '110', '7': '111'}
+>>> bin = lambda n: ''.join(oct2bin[octdigit] for octdigit in '%o' % n).lstrip('0') or '0'
+>>> for i in range(16): print(bin(i))
+
+0
+1
+10
+11
+100
+101
+110
+111
+1000
+1001
+1010
+1011
+1100
+1101
+1110
+1111
diff --git a/Task/Binary-digits/REXX/binary-digits-1.rexx b/Task/Binary-digits/REXX/binary-digits-1.rexx
new file mode 100644
index 0000000000..6efcaa9091
--- /dev/null
+++ b/Task/Binary-digits/REXX/binary-digits-1.rexx
@@ -0,0 +1,13 @@
+/*REXX program demonstrates converting decimal ───► binary. */
+numeric digits 1000
+
+x.1 = 0
+x.2 = 5
+x.3 = 50
+x.4 = 9000
+
+ do j=1 for 4
+ y = x2b(d2x(x.j)) + 0
+ say right(x.j,20) 'decimal, and in binary:' y
+ end /*j*/
+ /*stick a fork in it, we're done.*/
diff --git a/Task/Binary-digits/REXX/binary-digits-2.rexx b/Task/Binary-digits/REXX/binary-digits-2.rexx
new file mode 100644
index 0000000000..d8ced54a37
--- /dev/null
+++ b/Task/Binary-digits/REXX/binary-digits-2.rexx
@@ -0,0 +1,13 @@
+/*REXX program demonstrates converting decimal ───► binary. */
+
+x.1 = 0
+x.2 = 5
+x.3 = 50
+x.4 = 9000
+
+ do j=1 for 4
+ y = strip( x2b( d2x( x.j )), 'L', 0)
+ if y=='' then y=0
+ say right(x.j,20) 'decimal, and in binary:' y
+ end /*j*/
+ /*stick a fork in it, we're done.*/
diff --git a/Task/Binary-digits/REXX/binary-digits-3.rexx b/Task/Binary-digits/REXX/binary-digits-3.rexx
new file mode 100644
index 0000000000..63f3f1829a
--- /dev/null
+++ b/Task/Binary-digits/REXX/binary-digits-3.rexx
@@ -0,0 +1,11 @@
+/*REXX program demonstrates converting decimal ───► binary. */
+
+x.1 = 0
+x.2 = 5
+x.3 = 50
+x.4 = 9000
+ do j=1 for 4
+ y = word( strip( x2b( d2x( x.j )), 'L', 0) 0, 1)
+ say right(x.j,20) 'decimal, and in binary:' y
+ end /*j*/
+ /*stick a fork in it, we're done.*/
diff --git a/Task/Binary-digits/Racket/binary-digits.rkt b/Task/Binary-digits/Racket/binary-digits.rkt
new file mode 100644
index 0000000000..ce748521d8
--- /dev/null
+++ b/Task/Binary-digits/Racket/binary-digits.rkt
@@ -0,0 +1,3 @@
+#lang racket
+(for ([i 16])
+ (displayln (number->string i 2)))
diff --git a/Task/Binary-digits/Retro/binary-digits.retro b/Task/Binary-digits/Retro/binary-digits.retro
new file mode 100644
index 0000000000..0ee09ad428
--- /dev/null
+++ b/Task/Binary-digits/Retro/binary-digits.retro
@@ -0,0 +1 @@
+9000 50 5 3 [ binary putn cr decimal ] times
diff --git a/Task/Binary-digits/Ruby/binary-digits-1.rb b/Task/Binary-digits/Ruby/binary-digits-1.rb
new file mode 100644
index 0000000000..cc11d2dbb5
--- /dev/null
+++ b/Task/Binary-digits/Ruby/binary-digits-1.rb
@@ -0,0 +1,3 @@
+[5,50,9000].each do |n|
+ puts "%b" % n
+end
diff --git a/Task/Binary-digits/Ruby/binary-digits-2.rb b/Task/Binary-digits/Ruby/binary-digits-2.rb
new file mode 100644
index 0000000000..97dc972e50
--- /dev/null
+++ b/Task/Binary-digits/Ruby/binary-digits-2.rb
@@ -0,0 +1,3 @@
+for n in [5,50,9000]
+ puts n.to_s(2)
+end
diff --git a/Task/Binary-digits/Ruby/binary-digits.rb b/Task/Binary-digits/Ruby/binary-digits.rb
new file mode 100644
index 0000000000..7259380f14
--- /dev/null
+++ b/Task/Binary-digits/Ruby/binary-digits.rb
@@ -0,0 +1,4 @@
+16.times do |i|
+ puts '%b' % i
+ puts i.to_s 2
+end
diff --git a/Task/Binary-digits/Run-BASIC/binary-digits.run b/Task/Binary-digits/Run-BASIC/binary-digits.run
new file mode 100644
index 0000000000..655167f4d3
--- /dev/null
+++ b/Task/Binary-digits/Run-BASIC/binary-digits.run
@@ -0,0 +1,14 @@
+input "Number to convert:";a
+while 2^(n+1) < a
+ n = n + 1
+wend
+
+for i = n to 0 step -1
+ x = 2^i
+ if a >= x then
+ print 1;
+ a = a - x
+ else
+ print 0;
+ end if
+next
diff --git a/Task/Binary-digits/Scala/binary-digits.scala b/Task/Binary-digits/Scala/binary-digits.scala
new file mode 100644
index 0000000000..867843bd87
--- /dev/null
+++ b/Task/Binary-digits/Scala/binary-digits.scala
@@ -0,0 +1,3 @@
+5 toBinaryString // 101
+50 toBinaryString // 110010
+9000 toBinaryString // 10001100101000
diff --git a/Task/Binary-digits/Scheme/binary-digits.ss b/Task/Binary-digits/Scheme/binary-digits.ss
new file mode 100644
index 0000000000..e21c4929ec
--- /dev/null
+++ b/Task/Binary-digits/Scheme/binary-digits.ss
@@ -0,0 +1,3 @@
+(display (number->string 5 2)) (newline)
+(display (number->string 50 2)) (newline)
+(display (number->string 9000 2)) (newline)
diff --git a/Task/Binary-digits/Seed7/binary-digits.seed7 b/Task/Binary-digits/Seed7/binary-digits.seed7
new file mode 100644
index 0000000000..8e0d6a8e02
--- /dev/null
+++ b/Task/Binary-digits/Seed7/binary-digits.seed7
@@ -0,0 +1,10 @@
+$ include "seed7_05.s7i";
+
+const proc: main is func
+ local
+ var integer: number is 0;
+ begin
+ for number range 0 to 16 do
+ writeln(str(number, 2));
+ end for;
+ end func;
diff --git a/Task/Binary-digits/Smalltalk/binary-digits-1.st b/Task/Binary-digits/Smalltalk/binary-digits-1.st
new file mode 100644
index 0000000000..b5aaaa5327
--- /dev/null
+++ b/Task/Binary-digits/Smalltalk/binary-digits-1.st
@@ -0,0 +1,3 @@
+5 printOn: Stdout radix:2
+50 printOn: Stdout radix:2
+9000 printOn: Stdout radix:2
diff --git a/Task/Binary-digits/Smalltalk/binary-digits-2.st b/Task/Binary-digits/Smalltalk/binary-digits-2.st
new file mode 100644
index 0000000000..a9c2767379
--- /dev/null
+++ b/Task/Binary-digits/Smalltalk/binary-digits-2.st
@@ -0,0 +1 @@
+#(5 50 9000) do:[:each | each printOn: Stdout radix:2. Stdout cr]
diff --git a/Task/Binary-digits/Standard-ML/binary-digits.ml b/Task/Binary-digits/Standard-ML/binary-digits.ml
new file mode 100644
index 0000000000..11df313ddd
--- /dev/null
+++ b/Task/Binary-digits/Standard-ML/binary-digits.ml
@@ -0,0 +1,3 @@
+print (Int.fmt StringCvt.BIN 5 ^ "\n");
+print (Int.fmt StringCvt.BIN 50 ^ "\n");
+print (Int.fmt StringCvt.BIN 9000 ^ "\n");
diff --git a/Task/Binary-digits/TI-83-BASIC/binary-digits-1.ti-83 b/Task/Binary-digits/TI-83-BASIC/binary-digits-1.ti-83
new file mode 100644
index 0000000000..7a9521b14c
--- /dev/null
+++ b/Task/Binary-digits/TI-83-BASIC/binary-digits-1.ti-83
@@ -0,0 +1,19 @@
+PROGRAM:BINARY
+:Disp "NUMBER TO"
+:Disp "CONVERT:"
+:Input A
+:0→N
+:0→B
+:While 2^(N+1)≤A
+:N+1→N
+:End
+:While N≥0
+:iPart(A/2^N)→C
+:10^(N)*C+B→B
+:If C=1
+:Then
+:A-2^N→A
+:End
+:N-1→N
+:End
+:Disp B
diff --git a/Task/Binary-digits/TI-83-BASIC/binary-digits-2.ti-83 b/Task/Binary-digits/TI-83-BASIC/binary-digits-2.ti-83
new file mode 100644
index 0000000000..bd69ea23cd
--- /dev/null
+++ b/Task/Binary-digits/TI-83-BASIC/binary-digits-2.ti-83
@@ -0,0 +1,9 @@
+PROGRAM:BINARY
+:Input X
+:" "→Str1
+:Repeat X=0
+ :X/2→X
+ :sub("01",2fPart(X)+1,1)+Str1→Str1
+ :iPart(X)→X
+:End
+:Str1
diff --git a/Task/Binary-digits/TI-83-BASIC/binary-digits-3.ti-83 b/Task/Binary-digits/TI-83-BASIC/binary-digits-3.ti-83
new file mode 100644
index 0000000000..d5e0dac65f
--- /dev/null
+++ b/Task/Binary-digits/TI-83-BASIC/binary-digits-3.ti-83
@@ -0,0 +1,5 @@
+PROGRAM:BINARY
+:Disp "NUMBER TO"
+:Disp "CONVERT"
+:Input "Str1"
+:Disp real(25,Str1,10,2)
diff --git a/Task/Binary-digits/Tcl/binary-digits-1.tcl b/Task/Binary-digits/Tcl/binary-digits-1.tcl
new file mode 100644
index 0000000000..0168796234
--- /dev/null
+++ b/Task/Binary-digits/Tcl/binary-digits-1.tcl
@@ -0,0 +1,6 @@
+proc num2bin num {
+ # Convert to _fixed width_ big-endian 32-bit binary
+ binary scan [binary format "I" $num] "B*" binval
+ # Strip useless leading zeros by reinterpreting as a big decimal integer
+ scan $binval "%lld"
+}
diff --git a/Task/Binary-digits/Tcl/binary-digits-2.tcl b/Task/Binary-digits/Tcl/binary-digits-2.tcl
new file mode 100644
index 0000000000..655dcebebe
--- /dev/null
+++ b/Task/Binary-digits/Tcl/binary-digits-2.tcl
@@ -0,0 +1,7 @@
+for {set x 0} {$x < 16} {incr x} {
+ puts [num2bin $x]
+}
+puts "--------------"
+puts [num2bin 5]
+puts [num2bin 50]
+puts [num2bin 9000]
diff --git a/Task/Binary-digits/UNIX-Shell/binary-digits.sh b/Task/Binary-digits/UNIX-Shell/binary-digits.sh
new file mode 100644
index 0000000000..a97ea8c526
--- /dev/null
+++ b/Task/Binary-digits/UNIX-Shell/binary-digits.sh
@@ -0,0 +1,9 @@
+# Define a function to output binary digits
+tobinary() {
+ # We use the bench calculator for our conversion
+ echo "obase=2;$1"|bc
+}
+
+# Call the function with each of our values
+tobinary 5
+tobinary 50
diff --git a/Task/Binary-digits/Vedit-macro-language/binary-digits.vedit b/Task/Binary-digits/Vedit-macro-language/binary-digits.vedit
new file mode 100644
index 0000000000..c1ed9e3034
--- /dev/null
+++ b/Task/Binary-digits/Vedit-macro-language/binary-digits.vedit
@@ -0,0 +1,17 @@
+repeat (ALL) {
+ #10 = Get_Num("Give a numeric value, -1 to end: ", STATLINE)
+ if (#10 < 0) { break }
+ Call("BINARY")
+ Update()
+}
+return
+
+:BINARY:
+do {
+ Num_Ins(#10 & 1, LEFT+NOCR)
+ #10 = #10 >> 1
+ Char(-1)
+} while (#10 > 0)
+EOL
+Ins_Newline
+Return
diff --git a/Task/Binary-digits/Visual-Basic-.NET/binary-digits.visual b/Task/Binary-digits/Visual-Basic-.NET/binary-digits.visual
new file mode 100644
index 0000000000..b0d34bbb3d
--- /dev/null
+++ b/Task/Binary-digits/Visual-Basic-.NET/binary-digits.visual
@@ -0,0 +1,5 @@
+Sub Main()
+ Console.WriteLine("5: " & Convert.ToString(5, 2))
+ Console.WriteLine("50: " & Convert.ToString(50, 2))
+ Console.WriteLine("9000: " & Convert.ToString(9000, 2))
+End Sub
diff --git a/Task/Binary-digits/Whitespace/binary-digits-1.ws b/Task/Binary-digits/Whitespace/binary-digits-1.ws
new file mode 100644
index 0000000000..09c0ba967e
--- /dev/null
+++ b/Task/Binary-digits/Whitespace/binary-digits-1.ws
@@ -0,0 +1 @@
+
diff --git a/Task/Binary-digits/Whitespace/binary-digits-2.ws b/Task/Binary-digits/Whitespace/binary-digits-2.ws
new file mode 100644
index 0000000000..16acb3c5de
--- /dev/null
+++ b/Task/Binary-digits/Whitespace/binary-digits-2.ws
@@ -0,0 +1,33 @@
+push 0
+; Increment indefinitely.
+0:
+ push -1 ; Sentinel value so the printer knows when to stop.
+ copy 1
+ call 1
+ push 10
+ ochr
+ push 1
+ add
+ jump 0
+; Get the binary digits on the stack in reverse order.
+1:
+ dup
+ push 2
+ mod
+ swap
+ push 2
+ div
+ push 0
+ copy 1
+ sub
+ jn 1
+ pop
+; Print them.
+2:
+ dup
+ jn 3 ; Stop at the sentinel.
+ onum
+ jump 2
+3:
+ pop
+ ret
diff --git a/Task/Binary-digits/X86-Assembly/binary-digits.x86 b/Task/Binary-digits/X86-Assembly/binary-digits.x86
new file mode 100644
index 0000000000..bae58c5b75
--- /dev/null
+++ b/Task/Binary-digits/X86-Assembly/binary-digits.x86
@@ -0,0 +1,29 @@
+ .model tiny
+ .code
+ .486
+ org 100h
+start: mov ax, 5
+ call binout
+ call crlf
+ mov ax, 50
+ call binout
+ call crlf
+ mov ax, 9000
+ call binout
+
+crlf: mov al, 0Dh ;new line
+ int 29h
+ mov al, 0Ah
+ int 29h
+ ret
+
+binout: push ax
+ shr ax, 1
+ je bo10
+ call binout
+bo10: pop ax
+ and al, 01h
+ or al, '0'
+ int 29h ;display character
+ ret
+ end start
diff --git a/Task/Binary-digits/XPL0/binary-digits.xpl0 b/Task/Binary-digits/XPL0/binary-digits.xpl0
new file mode 100644
index 0000000000..32bda99bc3
--- /dev/null
+++ b/Task/Binary-digits/XPL0/binary-digits.xpl0
@@ -0,0 +1,17 @@
+include c:\cxpl\codes; \intrinsic code declarations
+
+proc BinOut(N); \Output N in binary
+int N;
+int R;
+[R:= N&1;
+N:= N>>1;
+if N then BinOut(N);
+ChOut(0, R+^0);
+];
+
+int I;
+[I:= 0;
+repeat BinOut(I); CrLf(0);
+ I:= I+1;
+until KeyHit or I=0;
+]
diff --git a/Task/Binary-digits/ZX-Spectrum-Basic/binary-digits.zx b/Task/Binary-digits/ZX-Spectrum-Basic/binary-digits.zx
new file mode 100644
index 0000000000..5ea8115ea9
--- /dev/null
+++ b/Task/Binary-digits/ZX-Spectrum-Basic/binary-digits.zx
@@ -0,0 +1,14 @@
+10 LET n=5: GO SUB 1000: PRINT s$
+20 LET n=50: GO SUB 1000: PRINT s$
+30 LET n=9000: GO SUB 1000: PRINT s$
+999 STOP
+1000 REM convert to binary
+1010 LET t=n: REM temporary variable
+1020 LET s$="": REM this will contain our binary digits
+1030 LET sf=0: REM output has not started yet
+1040 FOR l=126 TO 0 STEP -1
+1050 LET d$="0": REM assume next digit is zero
+1060 IF t>=(2^l) THEN LET d$="1": LET t=t-(2^l): LET sf=1
+1070 IF (sf <> 0) THEN LET s$=s$+d$
+1080 NEXT l
+1090 RETURN
diff --git a/Task/Brownian-tree/0DESCRIPTION b/Task/Brownian-tree/0DESCRIPTION
new file mode 100644
index 0000000000..25d48e3f8c
--- /dev/null
+++ b/Task/Brownian-tree/0DESCRIPTION
@@ -0,0 +1,9 @@
+Generate and draw a [[wp:Brownian tree|Brownian Tree]].
+
+A Brownian Tree is generated as a result of an initial seed, followed by the interaction of two processes.
+
+# The initial "seed" is placed somewhere within the field. Where is not particularly important; it could be randomized, or it could be a fixed point.
+# Particles are injected into the field, and are individually given a (typically random) motion pattern.
+# When a particle collides with the seed or tree, its position is fixed, and it's considered to be part of the tree.
+
+Because of the lax rules governing the random nature of the particle's placement and motion, no two resulting trees are really expected to be the same, or even necessarily have the same general shape.
diff --git a/Task/Brownian-tree/1META.yaml b/Task/Brownian-tree/1META.yaml
new file mode 100644
index 0000000000..77e833cb39
--- /dev/null
+++ b/Task/Brownian-tree/1META.yaml
@@ -0,0 +1,4 @@
+---
+category:
+- Raster graphics operations
+note: Fractals
diff --git a/Task/Brownian-tree/AutoHotkey/brownian-tree.ahk b/Task/Brownian-tree/AutoHotkey/brownian-tree.ahk
new file mode 100644
index 0000000000..c96caf1207
--- /dev/null
+++ b/Task/Brownian-tree/AutoHotkey/brownian-tree.ahk
@@ -0,0 +1,53 @@
+SetBatchLines -1
+Process, Priority,, high
+size := 400
+D := .08
+num := size * size * d
+field:= Object()
+field[size//2, size//2] := true ; set the seed
+lost := 0
+
+Loop % num
+{
+ x := Rnd(1, size), y := Rnd(1, size)
+ Loop
+ {
+ oldX := X, oldY := Y
+ x += Rnd(-1, 1), y += Rnd(1, -1)
+ If ( field[x, y] )
+ {
+ field[oldX, oldY] := true
+ break
+ }
+ If ( X > Size ) or ( Y > Size) or ( X < 1 ) or ( Y < 1 )
+ {
+ lost++
+ break
+ }
+ }
+}
+
+pToken := Gdip_startup()
+pBitmap := Gdip_CreateBitmap(size, size)
+loop %size%
+{
+ x := A_index
+ Loop %size%
+ {
+ If ( field[x, A_Index] )
+ {
+ Gdip_SetPixel(pBitmap, x, A_Index, 0xFF0000FF)
+ }
+ }
+}
+Gdip_SaveBitmapToFile(pBitmap, "brownian.png")
+Gdip_DisposeImage(pBitmap)
+Gdip_Shutdown(pToken)
+Run brownian.png
+
+MsgBox lost %lost%
+
+Rnd(min, max){
+ Random, r, min, max
+ return r
+}
diff --git a/Task/Brownian-tree/BBC-BASIC/brownian-tree.bbc b/Task/Brownian-tree/BBC-BASIC/brownian-tree.bbc
new file mode 100644
index 0000000000..6f564fb57b
--- /dev/null
+++ b/Task/Brownian-tree/BBC-BASIC/brownian-tree.bbc
@@ -0,0 +1,27 @@
+ SYS "SetWindowText", @hwnd%, "Brownian Tree"
+ SIZE = 400
+
+ VDU 23,22,SIZE;SIZE;8,16,16,0
+ GCOL 10
+
+ REM set the seed:
+ PLOT SIZE, SIZE
+
+ OFF
+ REPEAT
+
+ REM set particle's initial position:
+ REPEAT
+ X% = RND(SIZE)-1
+ Y% = RND(SIZE)-1
+ UNTIL POINT(2*X%,2*Y%) = 0
+
+ REPEAT
+ oldX% = X%
+ oldY% = Y%
+ X% += RND(3) - 2
+ Y% += RND(3) - 2
+ UNTIL POINT(2*X%,2*Y%)
+ IF X%>=0 IF X%=0 IF Y%
+#include
+#include
+#include
+#include
+
+#define NUM_PARTICLES 1000
+#define SIZE 800
+
+void draw_brownian_tree(int world[SIZE][SIZE]){
+ int px, py; // particle values
+ int dx, dy; // offsets
+ int i;
+
+ // set the seed
+ world[rand() % SIZE][rand() % SIZE] = 1;
+
+ for (i = 0; i < NUM_PARTICLES; i++){
+ // set particle's initial position
+ px = rand() % SIZE;
+ py = rand() % SIZE;
+
+ while (1){
+ // randomly choose a direction
+ dx = rand() % 3 - 1;
+ dy = rand() % 3 - 1;
+
+ if (dx + px < 0 || dx + px >= SIZE || dy + py < 0 || dy + py >= SIZE){
+ // plop the particle into some other random location
+ px = rand() % SIZE;
+ py = rand() % SIZE;
+ }else if (world[py + dy][px + dx] != 0){
+ // bumped into something
+ world[py][px] = 1;
+ break;
+ }else{
+ py += dy;
+ px += dx;
+ }
+ }
+ }
+}
+
+int main(){
+ int world[SIZE][SIZE];
+ FIBITMAP * img;
+ RGBQUAD rgb;
+ int x, y;
+
+ memset(world, 0, sizeof world);
+ srand((unsigned)time(NULL));
+
+ draw_brownian_tree(world);
+
+ img = FreeImage_Allocate(SIZE, SIZE, 32, 0, 0, 0);
+
+ for (y = 0; y < SIZE; y++){
+ for (x = 0; x < SIZE; x++){
+ rgb.rgbRed = rgb.rgbGreen = rgb.rgbBlue = (world[y][x] ? 255 : 0);
+ FreeImage_SetPixelColor(img, x, y, &rgb);
+ }
+ }
+ FreeImage_Save(FIF_BMP, img, "brownian_tree.bmp", 0);
+ FreeImage_Unload(img);
+}
diff --git a/Task/Brownian-tree/C/brownian-tree-2.c b/Task/Brownian-tree/C/brownian-tree-2.c
new file mode 100644
index 0000000000..c40d9ba75c
--- /dev/null
+++ b/Task/Brownian-tree/C/brownian-tree-2.c
@@ -0,0 +1,43 @@
+#include
+#include
+#include
+#include
+
+#define SIDE 600
+#define NUM_PARTICLES 10000
+
+bool W[SIDE][SIDE];
+
+int main() {
+ srand((unsigned)time(NULL));
+ W[SIDE / 2][SIDE / 2] = true;
+
+ for (int i = 0; i < NUM_PARTICLES; i++) {
+ unsigned int x, y;
+ OVER: do {
+ x = rand() % (SIDE - 2) + 1;
+ y = rand() % (SIDE - 2) + 1;
+ } while (W[y][x]);
+
+ while (W[y-1][x-1] + W[y-1][x] + W[y-1][x+1] +
+ W[y][x-1] + W[y][x+1] +
+ W[y+1][x-1] + W[y+1][x] + W[y+1][x+1] == 0) {
+ unsigned int dxy = rand() % 8;
+ if (dxy > 3) dxy++;
+ x += (dxy % 3) - 1;
+ y += (dxy / 3) - 1;
+ if (x < 1 || x >= SIDE - 1 || y < 1 || y >= SIDE - 1)
+ goto OVER;
+ }
+
+ W[y][x] = true;
+ }
+
+ printf("P1\n%d %d\n", SIDE, SIDE);
+ for (int r = 0; r < SIDE; r++) {
+ for (int c = 0; c < SIDE; c++)
+ printf("%d ", W[r][c]);
+ putchar('\n');
+ }
+ return 0;
+}
diff --git a/Task/Brownian-tree/D/brownian-tree.d b/Task/Brownian-tree/D/brownian-tree.d
new file mode 100644
index 0000000000..d3e22b487f
--- /dev/null
+++ b/Task/Brownian-tree/D/brownian-tree.d
@@ -0,0 +1,38 @@
+import core.stdc.stdio, std.random, grayscale_image;
+
+enum uint side = 600; // Square world side.
+enum uint num_particles = 1_000;
+static assert(side > 2 && num_particles < (side ^^ 2 * 0.7));
+
+void main() {
+ auto rng = Xorshift(unpredictableSeed);
+ ubyte[side][side] W; // World.
+ W[side / 2][side / 2] = 1; // Set tree root.
+
+ foreach (immutable _; 0 .. num_particles) {
+ // Random initial particle position.
+ OVER: uint x, y;
+ do {
+ x = uniform(1, side - 1, rng);
+ y = uniform(1, side - 1, rng);
+ } while (W[y][x]); // Assure the chosen cell is empty.
+
+ while (W[y-1][x-1] + W[y-1][x] + W[y-1][x+1] +
+ W[y][x-1] + W[y][x+1] +
+ W[y+1][x-1] + W[y+1][x] + W[y+1][x+1] == 0) {
+ // Randomly choose a direction (Moore neighborhood).
+ uint dxy = uniform(0, 8, rng);
+ if (dxy > 3) dxy++; // To avoid the center.
+ x += (dxy % 3) - 1;
+ y += (dxy / 3) - 1;
+ if (x < 1 || x >= side - 1 || y < 1 || y >= side - 1)
+ goto OVER;
+ }
+
+ W[y][x] = 1; // Touched, set the cell.
+ }
+
+ ubyte[] data = (&W[0][0])[0 .. side ^^ 2]; // Flat view.
+ data[] += 255;
+ Image!ubyte.fromData(data, side,side).savePGM("brownian_tree.pgm");
+}
diff --git a/Task/Brownian-tree/Delphi/brownian-tree.delphi b/Task/Brownian-tree/Delphi/brownian-tree.delphi
new file mode 100644
index 0000000000..60731c894c
--- /dev/null
+++ b/Task/Brownian-tree/Delphi/brownian-tree.delphi
@@ -0,0 +1,54 @@
+const
+ SIZE = 256;
+ NUM_PARTICLES = 1000;
+
+procedure TForm1.Button1Click(Sender: TObject);
+type
+ TByteArray = array[0..0] of Byte;
+ PByteArray = ^TByteArray;
+var
+ B: TBitmap;
+ I: Integer;
+ P, D: TPoint;
+begin
+ Randomize;
+ B := TBitmap.Create;
+ try
+ B.Width := SIZE;
+ B.Height := SIZE;
+ B.PixelFormat := pf8bit;
+
+ B.Canvas.Brush.Color := clBlack;
+ B.Canvas.FillRect(B.Canvas.ClipRect);
+ B.Canvas.Pixels[Random(SIZE), Random(SIZE)] := clWhite;
+
+ For I := 0 to NUM_PARTICLES - 1 do
+ Begin
+ P.X := Random(SIZE);
+ P.Y := Random(SIZE);
+
+ While true do
+ Begin
+ D.X := Random(3) - 1;
+ D.Y := Random(3) - 1;
+ Inc(P.X, D.X);
+ Inc(P.Y, D.Y);
+
+ If ((P.X or P.Y) < 0) or (P.X >= SIZE) or (P.Y >= SIZE) Then
+ Begin
+ P.X := Random(SIZE);
+ P.Y := Random(SIZE);
+ end
+ else if PByteArray(B.ScanLine[P.Y])^[P.X] <> 0 then
+ begin
+ PByteArray(B.ScanLine[P.Y-D.Y])^[P.X-D.X] := $FF;
+ Break;
+ end;
+ end;
+ end;
+
+ Canvas.Draw(0, 0, B);
+ finally
+ FreeAndNil(B);
+ end;
+end;
diff --git a/Task/Brownian-tree/Fantom/brownian-tree.fantom b/Task/Brownian-tree/Fantom/brownian-tree.fantom
new file mode 100644
index 0000000000..f9b6fbbf7b
--- /dev/null
+++ b/Task/Brownian-tree/Fantom/brownian-tree.fantom
@@ -0,0 +1,101 @@
+using fwt
+using gfx
+
+class Main
+{
+ public static Void main ()
+ {
+ particles := Particles (300, 200)
+ 1000.times { particles.addParticle } // add 1000 particles
+ Window // open up a display for the final tree
+ {
+ title = "Brownian Tree"
+ EdgePane
+ {
+ center = ScrollPane { content = ParticleCanvas(particles) }
+ },
+ }.open
+ }
+}
+
+class Particles
+{
+ Bool[][] image
+ Int height
+ Int width
+
+ new make (Int height, Int width)
+ {
+ this.height = height
+ this.width = width
+ // set up initial image as an array of booleans with one set cell
+ image = [,]
+ width.times |w|
+ {
+ row := [,]
+ height.times { row.add (false) }
+ image.add (row)
+ }
+ image[Int.random(0..= ll ) .and. ( v <= ul )
+ end function bounded
+
+
+ subroutine draw_brownian_tree(w)
+ integer, dimension(:,:), intent(inout) :: w
+
+ integer :: px, py, dx, dy, i
+ integer :: xsize, ysize
+
+ xsize = size(w, 1)
+ ysize = size(w, 2)
+
+ w(randbetween(1, xsize), randbetween(1, ysize)) = 1
+
+ do i = 1, num_particles
+ px = randbetween(1, xsize)
+ py = randbetween(1, ysize)
+
+ do
+ dx = randbetween(-1, 1)
+ dy = randbetween(-1, 1)
+ if ( .not. bounded(dx+px, 1, xsize) .or. .not. bounded(dy+py, 1, ysize) ) then
+ px = randbetween(1, xsize)
+ py = randbetween(1, ysize)
+ else if ( w(px+dx, py+dy) /= 0 ) then
+ w(px, py) = 1
+ exit
+ else
+ py = py + dy
+ px = px + dx
+ end if
+ end do
+ end do
+
+ end subroutine draw_brownian_tree
+
+end program
diff --git a/Task/Brownian-tree/Go/brownian-tree-1.go b/Task/Brownian-tree/Go/brownian-tree-1.go
new file mode 100644
index 0000000000..fca42678c5
--- /dev/null
+++ b/Task/Brownian-tree/Go/brownian-tree-1.go
@@ -0,0 +1,85 @@
+package main
+
+import (
+ "fmt"
+ "image"
+ "image/color"
+ "image/png"
+ "math/rand"
+ "os"
+)
+
+const w = 400 // image width
+const h = 300 // image height
+const n = 15000 // number of particles to add
+const frost = 255 // white
+
+var g *image.Gray
+
+func main() {
+ g = image.NewGray(image.Rectangle{image.Point{0, 0}, image.Point{w, h}})
+ // off center seed position makes pleasingly asymetrical tree
+ g.SetGray(w/3, h/3, color.Gray{frost})
+generate:
+ for a := 0; a < n; {
+ // generate random position for new particle
+ rp := image.Point{rand.Intn(w), rand.Intn(h)}
+ if g.At(rp.X, rp.Y).(color.Gray).Y == frost {
+ // position is already set. find a nearby free position.
+ for {
+ rp.X += rand.Intn(3) - 1
+ rp.Y += rand.Intn(3) - 1
+ // execpt if we run out of bounds, consider the particle lost.
+ if !rp.In(g.Rect) {
+ continue generate
+ }
+ if g.At(rp.X, rp.Y).(color.Gray).Y != frost {
+ break
+ }
+ }
+ } else {
+ // else particle is in free space. let it wander
+ // until it touches tree
+ for !hasNeighbor(rp) {
+ rp.X += rand.Intn(3) - 1
+ rp.Y += rand.Intn(3) - 1
+ // but again, if it wanders out of bounds consider it lost.
+ if !rp.In(g.Rect) {
+ continue generate
+ }
+ }
+ }
+ // x, y now specify a free position toucing the tree.
+ g.SetGray(rp.X, rp.Y, color.Gray{frost})
+ a++
+ // progress indicator
+ if a%100 == 0 {
+ fmt.Println(a, "of", n)
+ }
+ }
+ f, err := os.Create("tree.png")
+ if err != nil {
+ fmt.Println(err)
+ return
+ }
+ err = png.Encode(f, g)
+ if err != nil {
+ fmt.Println(err)
+ }
+ f.Close()
+}
+
+var n8 = []image.Point{
+ {-1, -1}, {-1, 0}, {-1, 1},
+ {0, -1}, {0, 1},
+ {1, -1}, {1, 0}, {1, 1}}
+
+func hasNeighbor(p image.Point) bool {
+ for _, n := range n8 {
+ o := p.Add(n)
+ if o.In(g.Rect) && g.At(o.X, o.Y).(color.Gray).Y == frost {
+ return true
+ }
+ }
+ return false
+}
diff --git a/Task/Brownian-tree/Go/brownian-tree-2.go b/Task/Brownian-tree/Go/brownian-tree-2.go
new file mode 100644
index 0000000000..e67e53a251
--- /dev/null
+++ b/Task/Brownian-tree/Go/brownian-tree-2.go
@@ -0,0 +1,79 @@
+package main
+
+// Files required to build supporting package raster are found in:
+// * Bitmap
+// * Grayscale image
+// * Write a PPM file
+
+import (
+ "fmt"
+ "math/rand"
+ "raster"
+)
+
+const w = 400 // image width
+const h = 300 // image height
+const n = 15000 // number of particles to add
+const frost = 65535 // white
+
+var g *raster.Grmap
+
+func main() {
+ g = raster.NewGrmap(w, h)
+ // off center seed position makes pleasingly asymetrical tree
+ g.SetPx(w/3, h/3, frost)
+ var x, y int
+generate:
+ for a := 0; a < n; {
+ // generate random position for new particle
+ x, y = rand.Intn(w), rand.Intn(h)
+ switch p, ok := g.GetPx(x, y); p {
+ case frost:
+ // position is already set. find a nearby free position.
+ for p == frost {
+ x += rand.Intn(3) - 1
+ y += rand.Intn(3) - 1
+ p, ok = g.GetPx(x, y)
+
+ // execpt if we run out of bounds, consider the particle lost.
+ if !ok {
+ continue generate
+ }
+ }
+ default:
+ // else particle is in free space. let it wander
+ // until it touches tree
+ for !hasNeighbor(x, y) {
+ x += rand.Intn(3) - 1
+ y += rand.Intn(3) - 1
+ // but again, if it wanders out of bounds consider it lost.
+ _, ok = g.GetPx(x, y)
+ if !ok {
+ continue generate
+ }
+ }
+ }
+ // x, y now specify a free position toucing the tree.
+ g.SetPx(x, y, frost)
+ a++
+ // progress indicator
+ if a%100 == 0 {
+ fmt.Println(a, "of", n)
+ }
+ }
+ g.Bitmap().WritePpmFile("tree.ppm")
+}
+
+var n8 = [][]int{
+ {-1, -1}, {-1, 0}, {-1, 1},
+ { 0, -1}, { 0, 1},
+ { 1, -1}, { 1, 0}, { 1, 1}}
+
+func hasNeighbor(x, y int) bool {
+ for _, n := range n8 {
+ if p, ok := g.GetPx(x+n[0], y+n[1]); ok && p == frost {
+ return true
+ }
+ }
+ return false
+}
diff --git a/Task/Brownian-tree/Haskell/brownian-tree.hs b/Task/Brownian-tree/Haskell/brownian-tree.hs
new file mode 100644
index 0000000000..158de7da24
--- /dev/null
+++ b/Task/Brownian-tree/Haskell/brownian-tree.hs
@@ -0,0 +1,46 @@
+import Control.Monad
+import Control.Monad.ST
+import Data.STRef
+import Data.Array.ST
+import System.Random
+import Bitmap
+import Bitmap.BW
+import Bitmap.Netpbm
+
+main = do
+ g <- getStdGen
+ (t, _) <- stToIO $ drawTree (50, 50) (25, 25) 300 g
+ writeNetpbm "/tmp/tree.pbm" t
+
+drawTree :: (Int, Int) -> (Int, Int) -> Int -> StdGen -> ST s (Image s BW, StdGen)
+drawTree (width, height) start steps stdgen = do
+ img <- image width height off
+ setPix img (Pixel start) on
+ gen <- newSTRef stdgen
+ let -- randomElem :: [a] -> ST s a
+ randomElem l = do
+ stdgen <- readSTRef gen
+ let (i, stdgen') = randomR (0, length l - 1) stdgen
+ writeSTRef gen stdgen'
+ return $ l !! i
+ -- newPoint :: ST s (Int, Int)
+ newPoint = do
+ p <- randomElem border
+ c <- getPix img $ Pixel p
+ if c == off then return p else newPoint
+ -- wander :: (Int, Int) -> ST s ()
+ wander p = do
+ next <- randomElem $ filter (inRange pointRange) $ adjacent p
+ c <- getPix img $ Pixel next
+ if c == on then setPix img (Pixel p) on else wander next
+ replicateM_ steps $ newPoint >>= wander
+ stdgen <- readSTRef gen
+ return (img, stdgen)
+ where pointRange = ((0, 0), (width - 1, height - 1))
+ adjacent (x, y) = [(x - 1, y - 1), (x, y - 1), (x + 1, y - 1),
+ (x - 1, y), (x + 1, y),
+ (x - 1, y + 1), (x, y + 1), (x + 1, y + 1)]
+ border = liftM2 (,) [0, width - 1] [0 .. height - 1] ++
+ liftM2 (,) [1 .. width - 2] [0, height - 1]
+ off = black
+ on = white
diff --git a/Task/Brownian-tree/Icon/brownian-tree.icon b/Task/Brownian-tree/Icon/brownian-tree.icon
new file mode 100644
index 0000000000..34c26769ad
--- /dev/null
+++ b/Task/Brownian-tree/Icon/brownian-tree.icon
@@ -0,0 +1,66 @@
+link graphics,printf
+
+procedure main() # brownian tree
+
+Density := .08 # % particles to area
+SeedArea := .5 # central area to confine seed
+ParticleArea := .7 # central area to exclude particles appearing
+Height := Width := 400 # canvas
+
+Particles := Height * Width * Density
+Field := list(Height)
+every !Field := list(Width)
+
+Size := sprintf("size=%d,%d",Width,Height)
+Fg := sprintf("fg=%s",?["green","red","blue"])
+Label := sprintf("label=Brownian Tree %dx%d PA=%d%% SA=%d%% D=%d%%",
+ Width,Height,ParticleArea*100,SeedArea*100,Density*100)
+WOpen(Label,Size,Fg,"bg=black") | stop("Unable to open Window")
+
+sx := Height * SetInside(SeedArea)
+sy := Width * SetInside(SeedArea)
+Field[sx,sy] := 1
+DrawPoint(sx,sy) # Seed the field
+
+Lost := 0
+
+every 1 to Particles do {
+ repeat {
+ px := Height * SetOutside(ParticleArea)
+ py := Width * SetOutside(ParticleArea)
+ if /Field[px,py] then
+ break # don't materialize in the tree
+ }
+ repeat {
+ dx := delta()
+ dy := delta()
+ if not ( xy := Field[px+dx,py+dy] ) then {
+ Lost +:= 1
+ next # lost try again
+ }
+ if \xy then
+ break # collision
+
+ px +:= dx # move to clear spot
+ py +:= dy
+ }
+ Field[px,py] := 1
+ DrawPoint(px,py) # Stick the particle
+ }
+printf("Brownian Tree Complete: Particles=%d Lost=%d.\n",Particles,Lost)
+WDone()
+end
+
+procedure delta() #: return a random 1 pixel perturbation
+ return integer(?0 * 3) - 1
+end
+
+procedure SetInside(core) #: set coord inside area
+ return core * ?0 + (1-core)/2
+end
+
+procedure SetOutside(core) #: set coord outside area
+ pt := ?0 * (1 - core)
+ pt +:= ( pt > (1-core)/2, core)
+ return pt
+end
diff --git a/Task/Brownian-tree/J/brownian-tree-1.j b/Task/Brownian-tree/J/brownian-tree-1.j
new file mode 100644
index 0000000000..5cc44c9bfd
--- /dev/null
+++ b/Task/Brownian-tree/J/brownian-tree-1.j
@@ -0,0 +1,19 @@
+brtr=:4 :0
+ seed=. ?x
+ clip=. 0 >. (<:x) <."1 ]
+ near=. [: clip +"1/&(,"0/~i:1)
+ p=.i.0 2
+ mask=. 1 (<"1 near seed)} x$0
+ field=.1 ( particles;
+ static Random rand = new Random();
+
+ public BrownianTree() {
+ super("Brownian Tree");
+ setBounds(100, 100, 400, 300);
+ setDefaultCloseOperation(EXIT_ON_CLOSE);
+ I = new BufferedImage(getWidth(), getHeight(), BufferedImage.TYPE_INT_RGB);
+ I.setRGB(I.getWidth() / 2, I.getHeight() / 2, 0xff00);
+ particles = new LinkedList();
+ }
+
+ @Override
+ public void paint(Graphics g) {
+ g.drawImage(I, 0, 0, this);
+ }
+
+ public void run() {
+ for (int i = 0; i < 20000; i++) {
+ particles.add(new Particle());
+ }
+ while (!particles.isEmpty()) {
+ for (Iterator it = particles.iterator(); it.hasNext();) {
+ if (it.next().move()) {
+ it.remove();
+ }
+ }
+ repaint();
+ }
+ }
+
+ public static void main(String[] args) {
+ BrownianTree b = new BrownianTree();
+ b.setVisible(true);
+ new Thread(b).start();
+ }
+
+ private class Particle {
+
+ private int x, y;
+
+ private Particle() {
+ x = rand.nextInt(I.getWidth());
+ y = rand.nextInt(I.getHeight());
+ }
+
+ /* returns true if either out of bounds or collided with tree */
+ private boolean move() {
+ int dx = rand.nextInt(3) - 1;
+ int dy = rand.nextInt(3) - 1;
+ if ((x + dx < 0) || (y + dy < 0)
+ || (y + dy >= I.getHeight()) || (x + dx >= I.getWidth())) {
+ return true;
+ }
+ x += dx;
+ y += dy;
+ if ((I.getRGB(x, y) & 0xff00) == 0xff00) {
+ I.setRGB(x - dx, y - dy, 0xff00);
+ return true;
+ }
+ return false;
+ }
+ }
+}
diff --git a/Task/Brownian-tree/JavaScript/brownian-tree-1.js b/Task/Brownian-tree/JavaScript/brownian-tree-1.js
new file mode 100644
index 0000000000..3a21c18f49
--- /dev/null
+++ b/Task/Brownian-tree/JavaScript/brownian-tree-1.js
@@ -0,0 +1,128 @@
+function brownian(canvasId, messageId) {
+ var canvas = document.getElementById(canvasId);
+ var ctx = canvas.getContext("2d");
+
+ // Options
+ var drawPos = true;
+ var seedResolution = 50;
+ var clearShade = 0; // 0..255
+
+ // Static state
+ var width = canvas.width;
+ var height = canvas.height;
+ var cx = width/2;
+ var cy = height/2;
+ var clearStyle = "rgba("+clearShade+", "+clearShade+", "+clearShade+", 1)";
+
+ // Utilities
+ function radius(x,y) {
+ return Math.sqrt((x-cx)*(x-cy)+(y-cx)*(y-cy));
+ }
+ function test(x, y) {
+ if (x < 0 || y < 0 || x >= width || y >= height)
+ return false;
+ var data = ctx.getImageData(x, y, 1, 1).data;
+ return data[0] != clearShade || data[1] != clearShade || data[2] != clearShade;
+ }
+ var shade = 120;
+ function setc(x, y, c) {
+ //var imgd = ctx.createImageData(1, 1);
+ //var pix = imgd.data;
+ //pix[0] = pix[1] = pix[2] = c == 255 ? 255 : shade;
+ //pix[3] = 255;
+ //shade = (shade + 1) % 254;
+ //ctx.putImageData(imgd, x, y);
+ //ctx.fillStyle = "rgba("+c+", "+c+", "+c+", 1)";
+ shade = (shade + 0.02) % 360;
+ if (c) {
+ ctx.fillStyle = "hsl("+shade+", 100%, 50%)";
+ } else {
+ ctx.fillStyle = clearStyle;
+ }
+ ctx.fillRect (x, y, 1, 1);
+ }
+ function set(x,y) {
+ setc(x,y,true);
+ }
+ function clear(x,y) {
+ setc(x,y,false);
+ }
+
+ // Initialize canvas to blank opaque
+ ctx.fillStyle = clearStyle;
+ ctx.fillRect (0, 0, width, height);
+
+ // Current position
+ var x;
+ var y;
+
+ // Farthest distance from center a particle has yet been placed.
+ var closeRadius = 1;
+
+ // Place seed
+ set(cx, cy);
+
+ // Choose a new random position for a particle (not necessarily unoccupied)
+ function newpos() {
+ // Wherever particles are injected, the tree will tend to grow faster
+ // toward it. Ideally, particles wander in from infinity; the best we
+ // could do is to have them wander in from the edge of the field.
+ // But in order to have the rendering occur in a reasonable time when
+ // the seed is small, without too much visible bias, we instead place
+ // the particles in a coarse grid. The final tree will cover every
+ // point on the grid.
+ //
+ // There's probably a better strategy than this.
+ x = Math.floor(Math.random()*(width/seedResolution))*seedResolution;
+ y = Math.floor(Math.random()*(height/seedResolution))*seedResolution;
+ }
+ newpos();
+
+ var animation;
+ animation = window.setInterval(function () {
+ if (drawPos) clear(x,y);
+ for (var i = 0; i < 10000; i++) {
+ var ox = x;
+ var oy = y;
+
+ // Changing this to use only the first four directions will result
+ // in a denser tree.
+ switch (Math.floor(Math.random()*8)) {
+ case 0: x++; break;
+ case 1: x--; break;
+ case 2: y++; break;
+ case 3: y--; break;
+ case 4: x++; y++; break;
+ case 5: x--; y++; break;
+ case 6: x++; y--; break;
+ case 7: x--; y--; break;
+ }
+ if (x < 0 || y < 0 ||
+ x >= width || y >= height ||
+ radius(x,y) > closeRadius+seedResolution+2) {
+ // wandered out of bounds or out of interesting range of the
+ // tree, so pick a new spot
+ var progress = 1000;
+ do {
+ newpos();
+ progress--;
+ } while ((test(x-1,y-1) || test(x,y-1) || test(x+1,y-1) ||
+ test(x-1,y ) || test(x,y ) || test(x+1,y ) ||
+ test(x-1,y+1) || test(x,y+1) || test(x+1,y+1)) && progress > 0);
+ if (progress <= 0) {
+ document.getElementById(messageId).appendChild(document.createTextNode("Stopped for lack of room."));
+ clearInterval(animation);
+ break;
+ }
+ }
+ if (test(x, y)) {
+ // hit something, mark where we came from and pick a new spot
+ set(ox,oy);
+ closeRadius = Math.max(closeRadius, radius(ox,oy));
+ newpos();
+ }
+ }
+ if (drawPos) set(x,y);
+ }, 1);
+
+}
diff --git a/Task/Brownian-tree/JavaScript/brownian-tree-2.js b/Task/Brownian-tree/JavaScript/brownian-tree-2.js
new file mode 100644
index 0000000000..e08c33cf00
--- /dev/null
+++ b/Task/Brownian-tree/JavaScript/brownian-tree-2.js
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/Task/Brownian-tree/Liberty-BASIC/brownian-tree.liberty b/Task/Brownian-tree/Liberty-BASIC/brownian-tree.liberty
new file mode 100644
index 0000000000..27181f8244
--- /dev/null
+++ b/Task/Brownian-tree/Liberty-BASIC/brownian-tree.liberty
@@ -0,0 +1,83 @@
+'[RC]Brownian motion tree
+ nomainwin
+ dim screen(600,600)
+ WindowWidth = 600
+ WindowHeight = 600
+ open "Brownian" for graphics_nsb_nf as #1
+ #1 "trapclose [quit]"
+ #1 "down ; fill blue"
+ rad=57.29577951
+ particles=500
+
+ 'draw starting circle and mid point
+ for n= 1 to 360
+ x=300-(200*sin(n/rad))
+ y=300-(200*cos(n/rad))
+ #1, "color white ; set ";x;" ";y
+ screen(x,y)=1
+ next n
+ #1, "color white ; set 300 300"
+ screen(300,300)=1
+
+ 'set up initial particles
+ dim particle(particles,9)'x y deltax deltay rotx roty
+ for n = 1 to particles
+ gosub [randomparticle]
+ next
+
+ 'start timed drawing loop
+ timer 17, [draw]
+ wait
+
+
+ [draw]
+ #1 "discard"
+ scan
+ for n = 1 to particles
+ oldx=particle(n,1)
+ oldy=particle(n,2)
+
+ 'erase particle
+ if not(screen(oldx,oldy)) then
+ #1 "color blue ; set ";oldx;" ";oldy
+ end if
+
+ 'move particle x
+ particle(n,1)=particle(n,1)+int((sin(particle(n,6)/rad)*10)+particle(n,3))
+ particle(n,5)=particle(n,5)+6 mod 360
+ if particle(n,1)>599 or particle(n,1)<1 then gosub [randomparticle]
+
+ 'move particle y
+ particle(n,2)=particle(n,2)+int((sin(particle(n,5)/rad)*10)+particle(n,4))
+ particle(n,6)=particle(n,6)+6 mod 360
+ if particle(n,2)>599 or particle(n,2)<1 then gosub [randomparticle]
+
+ 'checkhit
+ x=particle(n,1)
+ y=particle(n,2)
+ if screen(x-1,y-1) or screen(x-1,y) or screen(x-1,y+1)_
+ or screen(x,y-1) or screen(x,y) or screen(x,y+1)_
+ or screen(x+1,y-1) or screen(x+1,y) or screen(x+1,y+1) then
+ #1 "color white ; set ";particle(n,1);" ";particle(n,2)
+ screen(particle(n,1),particle(n,2))=1
+ else
+ #1 "color red ; set ";particle(n,1);" ";particle(n,2)
+ end if
+ next
+ wait
+
+
+
+ [randomparticle]
+ particle(n,1)=int(rnd(0)*599)+1
+ particle(n,2)=int(rnd(0)*599)+1
+ particle(n,3)=int(2-rnd(0)*4)
+ particle(n,4)=int(2-rnd(0)*4)
+ particle(n,5)=int(rnd(0)*360)
+ particle(n,6)=int(rnd(0)*360)
+ return
+
+ [quit]
+ timer 0
+ close #1
+ end
diff --git a/Task/Brownian-tree/Lua/brownian-tree.lua b/Task/Brownian-tree/Lua/brownian-tree.lua
new file mode 100644
index 0000000000..49e3ca8829
--- /dev/null
+++ b/Task/Brownian-tree/Lua/brownian-tree.lua
@@ -0,0 +1,67 @@
+function SetSeed( f )
+ for i = 1, #f[1] do -- the whole boundary of the scene is used as the seed
+ f[1][i] = 1
+ f[#f][i] = 1
+ end
+ for i = 1, #f do
+ f[i][1] = 1
+ f[i][#f[1]] = 1
+ end
+end
+
+function SetParticle( f )
+ local pos_x, pos_y
+ repeat
+ pos_x = math.random( #f )
+ pos_y = math.random( #f[1] )
+ until f[pos_x][pos_y] == 0
+
+ return pos_x, pos_y
+end
+
+
+function Iterate( f, num_particles )
+ for i = 1, num_particles do
+ local pos_x, pos_y = SetParticle( f )
+
+ while true do
+ local dx = math.random(5) - 3
+ local dy = math.random(5) - 3
+
+ if ( pos_x+dx >= 1 and pos_x+dx <= #f and pos_y+dy >= 1 and pos_y+dy <= #f[1] ) then
+ if f[pos_x+dx][pos_y+dy] ~= 0 then
+ f[pos_x][pos_y] = 1
+ break
+ else
+ pos_x = pos_x + dx
+ pos_y = pos_y + dy
+ end
+ end
+ end
+ end
+end
+
+
+size_x, size_y = 400, 400 -- size of the scene
+num_particles = 16000
+
+math.randomseed( os.time() )
+
+f = {}
+for i = 1, size_x do
+ f[i] = {}
+ for j = 1, size_y do
+ f[i][j] = 0
+ end
+end
+
+SetSeed( f )
+Iterate( f, num_particles )
+
+-- prepare the data for writing into a ppm-image file
+for i = 1, size_x do
+ for j = 1, size_y do
+ if f[i][j] == 1 then f[i][j] = 255 end
+ end
+end
+Write_PPM( "brownian_tree.ppm", ConvertToColorImage(f) )
diff --git a/Task/Brownian-tree/Mathematica/brownian-tree.math b/Task/Brownian-tree/Mathematica/brownian-tree.math
new file mode 100644
index 0000000000..fdc82aea25
--- /dev/null
+++ b/Task/Brownian-tree/Mathematica/brownian-tree.math
@@ -0,0 +1,26 @@
+canvasdim = 1000;
+n = 0.35*canvasdim^2;
+canvas = ConstantArray[0, {canvasdim, canvasdim}];
+init = Floor@(0.5*{canvasdim, canvasdim}); (*RandomInteger[canvasdim,2]*)
+canvas[[init[[1]], init[[2]]]] = 1; (*1st particle initialized to midpoint*)
+
+Monitor[ (*Provides real-time intermediate result monitoring*)
+ Do[
+ particle = RandomInteger[canvasdim, 2];
+ While[True,
+ ds = RandomInteger[{-1, 1}, 2];
+ While[ (*New Particle Domain Limit Section*)
+ !And @@ (0 < (particle + ds)[[#]] <= canvasdim & /@ {1, 2}),
+ particle = RandomInteger[canvasdim, 2];
+ ];
+ (* Particle Aggregation Section *)
+ If[canvas[[(particle + ds)[[1]], (particle + ds)[[2]]]] > 0,
+ canvas[[particle[[1]], particle[[2]]]] = i;
+ Break[],
+ particle += ds
+ ];
+ ],
+ {i, n}],
+ {i, (particle + ds), MatrixPlot@canvas}
+ ]
+MatrixPlot[canvas,FrameTicks->None,ColorFunction->"DarkRainbow",ColorRules->{0 -> None}]
diff --git a/Task/Brownian-tree/OCaml/brownian-tree.ocaml b/Task/Brownian-tree/OCaml/brownian-tree.ocaml
new file mode 100644
index 0000000000..095eb7cbb6
--- /dev/null
+++ b/Task/Brownian-tree/OCaml/brownian-tree.ocaml
@@ -0,0 +1,48 @@
+let world_width = 400
+let world_height = 400
+let num_particles = 20_000
+
+let () =
+ assert(num_particles > 0);
+ assert(world_width * world_height > num_particles);
+;;
+
+let dla ~world =
+ (* put the tree seed *)
+ world.(world_height / 2).(world_width / 2) <- 1;
+
+ for i = 1 to num_particles do
+ (* looping helper function *)
+ let rec aux px py =
+ (* randomly choose a direction *)
+ let dx = (Random.int 3) - 1 (* offsets *)
+ and dy = (Random.int 3) - 1 in
+
+ if dx + px < 0 || dx + px >= world_width ||
+ dy + py < 0 || dy + py >= world_height then
+ (* plop the particle into some other random location *)
+ aux (Random.int world_width) (Random.int world_height)
+ else if world.(py + dy).(px + dx) <> 0 then
+ (* bumped into something, particle set *)
+ world.(py).(px) <- 1
+ else
+ aux (px + dx) (py + dy)
+ in
+ (* set particle's initial position *)
+ aux (Random.int world_width) (Random.int world_height)
+ done
+
+let to_pbm ~world =
+ print_endline "P1"; (* Type=Portable bitmap, Encoding=ASCII *)
+ Printf.printf "%d %d\n" world_width world_height;
+ Array.iter (fun line ->
+ Array.iter print_int line;
+ print_newline()
+ ) world
+
+let () =
+ Random.self_init();
+ let world = Array.make_matrix world_width world_height 0 in
+ dla ~world;
+ to_pbm ~world;
+;;
diff --git a/Task/Brownian-tree/Octave/brownian-tree.octave b/Task/Brownian-tree/Octave/brownian-tree.octave
new file mode 100644
index 0000000000..ad33987f49
--- /dev/null
+++ b/Task/Brownian-tree/Octave/brownian-tree.octave
@@ -0,0 +1,27 @@
+function r = browniantree(xsize, ysize = xsize, numparticle = 1000)
+ r = zeros(xsize, ysize, "uint8");
+ r(unidrnd(xsize), unidrnd(ysize)) = 1;
+
+ for i = 1:numparticle
+ px = unidrnd(xsize-1)+1;
+ py = unidrnd(ysize-1)+1;
+ while(1)
+ dx = unidrnd(2) - 1;
+ dy = unidrnd(2) - 1;
+ if ( (dx+px < 1) || (dx+px > xsize) || (dy+py < 1) || (dy+py > ysize) )
+ px = unidrnd(xsize-1)+1;
+ py = unidrnd(ysize-1)+1;
+ elseif ( r(px+dx, py+dy) != 0 )
+ r(px, py) = 1;
+ break;
+ else
+ px += dx;
+ py += dy;
+ endif
+ endwhile
+ endfor
+endfunction
+
+r = browniantree(200);
+r( r > 0 ) = 255;
+jpgwrite("browniantree.jpg", r, 100); % image package
diff --git a/Task/Brownian-tree/Perl/brownian-tree.pl b/Task/Brownian-tree/Perl/brownian-tree.pl
new file mode 100644
index 0000000000..fa3488b28d
--- /dev/null
+++ b/Task/Brownian-tree/Perl/brownian-tree.pl
@@ -0,0 +1,158 @@
+sub PI() { atan2(1,1) * 4 } # The, er, pi
+sub STEP() { .5 } # How far does the particle move each step. Affects
+ # both speed and accuracy greatly
+sub STOP_RADIUS() { 100 } # When the tree reaches this far from center, end
+
+# At each step, move this much towards center. Bigger numbers help the speed because
+# particles are less likely to wander off, but greatly affects tree shape.
+# Should be between 0 and 1 ish. Set to 0 for pain.
+sub ATTRACT() { .2 }
+
+my @particles = map([ map([], 0 .. 2 * STOP_RADIUS) ], 0 .. 2 * STOP_RADIUS);
+push @{ $particles[STOP_RADIUS][STOP_RADIUS] }, [0, 0];
+
+my $r_start = 3;
+my $max_dist = 0;
+
+sub dist2 {
+ my ($dx, $dy) = ($_[0][0] - $_[1][0], $_[0][1] - $_[1][1]);
+ $dx * $dx + $dy * $dy
+}
+
+sub move {
+ my $p = shift;
+ # moved too far, kill particle
+ # return if dist2($p, [0, 0]) > 2 * $r_start * $r_start;
+ $p->[0] += 2 * $r_start while $p->[0] < -$r_start;
+ $p->[0] -= 2 * $r_start while $p->[0] > $r_start;
+ $p->[1] += 2 * $r_start while $p->[1] < -$r_start;
+ $p->[1] -= 2 * $r_start while $p->[1] > $r_start;
+
+ my ($ix, $iy) = (int($p->[0]), int($p->[1]));
+ my $dist = 2 * $r_start * $r_start;
+ my $nearest;
+
+ # see if the particle is close enough to stick to an exist one
+ for ($ix - 1 .. $ix + 1) {
+ my $idx = STOP_RADIUS + $_;
+ next if $idx > 2 * STOP_RADIUS || $idx < 0;
+ my $xs = $particles[ $idx ];
+ for ($iy - 1 .. $iy + 1) {
+ my $idx = STOP_RADIUS + $_;
+ next if $idx > 2 * STOP_RADIUS || $idx < 0;
+ for (@{ $xs->[ $idx ] }) {
+ my $d = dist2($p, $_);
+ next if $d > 2;
+ next if $d > $dist;
+
+ $dist = $d;
+ $nearest = $_;
+ }
+ }
+ }
+
+ # yes, found one
+ if ($nearest) {
+ my $displace = [ $p->[0] - $nearest->[0],
+ $p->[1] - $nearest->[1] ];
+ my $angle = atan2($displace->[1], $displace->[0]);
+ $p->[0] = $nearest->[0] + cos($angle);
+ $p->[1] = $nearest->[1] + sin($angle);
+
+ push @{$particles[$ix + STOP_RADIUS][$iy + STOP_RADIUS]}, [ @$p ];
+ $dist = sqrt dist2($p);
+
+ if ($dist + 10 > $r_start && $r_start < STOP_RADIUS + 10) {
+ $r_start = $dist + 10
+ }
+ if (int($dist + 1) > $max_dist) {
+ $max_dist = int($dist + 1);
+ # write_eps();
+ # system('pstopnm -portrait -xborder 0 -yborder 0 test.eps 2> /dev/null');
+ # system('pnmtopng test.eps001.ppm 2>/dev/null > test.png');
+ return 3 if $max_dist >= STOP_RADIUS;
+ }
+ return 2;
+ }
+
+ # random walk
+ my $angle = rand(2 * PI);
+ $p->[0] += STEP * cos($angle);
+ $p->[1] += STEP * sin($angle);
+
+ # drag particle towards center by some distance
+ my $nudge;
+ if (sqrt(dist2($p, [0, 0])) > STOP_RADIUS + 1) {
+ $nudge = 1;
+ } else {
+ $nudge = STEP * ATTRACT;
+ }
+
+ if ($nudge) {
+ $angle = atan2($p->[1], $p->[0]);
+ $p->[0] -= $nudge * cos($angle);
+ $p->[1] -= $nudge * sin($angle);
+ }
+
+ return 1;
+}
+
+my $count;
+PARTICLE: while (1) {
+ my $a = rand(2 * PI);
+ my $p = [ $r_start * cos($a), $r_start * sin($a) ];
+ while ($_ = move($p)) {
+ given ($_) {
+ when (1) { next }
+ when (2) { $count++; last; }
+ when (3) { last PARTICLE }
+ default { last }
+ }
+ }
+ print STDERR "$count $max_dist/@{[int($r_start)]}/@{[STOP_RADIUS]}\r" unless $count% 7;
+}
+
+sub write_eps {
+ my $size = 128;
+ my $p = $size / (STOP_RADIUS * 1.05);
+ my $b = STOP_RADIUS * $p;
+ if ($p < 1) {
+ $size = STOP_RADIUS * 1.05;
+ $b = STOP_RADIUS;
+ $p = 1;
+ }
+
+ my $hp = $p / 2;
+
+ open OUT, ">", "test.eps";
+
+ # print EPS to standard out
+ print OUT <<"HEAD";
+%!PS-Adobe-3.0 EPSF-3.0
+%%BoundingBox: 0 0 @{[$size*2, $size*2]}
+$size $size translate
+/l{ rlineto }def
+/c{ $hp 0 360 arc fill }def
+-$size -$size moveto
+$size 2 mul 0 l
+0 $size 2 mul l
+-$size 2 mul 0 l
+closepath
+0 setgray fill
+0 setlinewidth .1 setgray 0 0 $b 0 360 arc stroke
+.8 setgray /TimesRoman findfont 16 scalefont setfont
+-$size 10 add $size -16 add moveto
+(Step = @{[STEP]} Attract = @{[ATTRACT]}) show
+0 1 0 setrgbcolor newpath
+HEAD
+
+ for (@particles) {
+ for (@$_) {
+ printf OUT "%.3g %.3g c ", map { $_ * $p } @$_ for @$_;
+ }
+ }
+ print OUT "\n%%EOF";
+ close OUT;
+}
+
+write_eps;
diff --git a/Task/Brownian-tree/PicoLisp/brownian-tree.l b/Task/Brownian-tree/PicoLisp/brownian-tree.l
new file mode 100644
index 0000000000..7cf4b01398
--- /dev/null
+++ b/Task/Brownian-tree/PicoLisp/brownian-tree.l
@@ -0,0 +1,19 @@
+(load "@lib/simul.l")
+
+(de brownianTree (File Size Cnt)
+ (let Img (grid Size Size)
+ (put Img (/ Size 2) (/ Size 2) 'pix T)
+ (use (P Q)
+ (do Cnt
+ (setq P (get Img (rand 1 Size) (rand 1 Size)))
+ (loop
+ (setq Q ((if2 (rand T) (rand T) north east south west) P))
+ (T (; Q pix) (put P 'pix T))
+ (setq P (or Q (get Img (rand 1 Size) (rand 1 Size)))) ) ) )
+ (out "img.pbm"
+ (prinl "P1")
+ (prinl Size " " Size)
+ (for L Img
+ (for This L
+ (prin (if (: pix) 1 0)) )
+ (prinl) ) ) ) )
diff --git a/Task/Brownian-tree/PureBasic/brownian-tree.purebasic b/Task/Brownian-tree/PureBasic/brownian-tree.purebasic
new file mode 100644
index 0000000000..d8e77dccb4
--- /dev/null
+++ b/Task/Brownian-tree/PureBasic/brownian-tree.purebasic
@@ -0,0 +1,39 @@
+#Window1 = 0
+#Image1 = 0
+#ImgGadget = 0
+
+#NUM_PARTICLES = 3000
+#width = 200
+#height = 200
+#xmax = #width -3
+#ymax = #height -3
+Define.i Event ,i ,x,y
+
+If OpenWindow(#Window1, 0, 0, #width, #height, "Brownian Tree PureBasic Example", #PB_Window_SystemMenu )
+ If CreateImage(#Image1, #width, #height)
+ ImageGadget(#ImgGadget, 0, 0, #width, #height, ImageID(#Image1))
+ StartDrawing(ImageOutput(#Image1))
+ FrontColor($FFFFFF)
+ Plot( Random(#xmax) , Random(#ymax ))
+ StopDrawing()
+ SetGadgetState(#ImgGadget, ImageID(#Image1))
+ For i = 1 To #NUM_PARTICLES
+ x = Random(#xmax)+1 : y = Random (#ymax)+1
+ StartDrawing(ImageOutput(#Image1))
+ While Point(x+1, y+1) + Point(x, y+1)+Point(x+1, y)+Point(x-1, y-1)+Point(x-1, y)+Point(x, y-1) = 0
+ x = x + (Random(2)-1) : y = y + (Random(2)-1)
+ If x < 1 Or x > #xmax Or y < 1 Or y > #ymax
+ x = Random(#xmax)+1 : y = Random (#ymax)+1
+ EndIf
+ Wend
+ Plot(x,y)
+ StopDrawing()
+ SetGadgetState(#ImgGadget, ImageID(#Image1))
+ Next
+
+ EndIf
+
+ Repeat
+ Event = WaitWindowEvent()
+ Until Event = #PB_Event_CloseWindow
+EndIf
diff --git a/Task/Brownian-tree/Python/brownian-tree.py b/Task/Brownian-tree/Python/brownian-tree.py
new file mode 100644
index 0000000000..e6239ef438
--- /dev/null
+++ b/Task/Brownian-tree/Python/brownian-tree.py
@@ -0,0 +1,101 @@
+import pygame, sys, os
+from pygame.locals import *
+from random import randint
+pygame.init()
+
+MAXSPEED = 15
+SIZE = 3
+COLOR = (45, 90, 45)
+WINDOWSIZE = 400
+TIMETICK = 1
+MAXPART = 50
+
+freeParticles = pygame.sprite.Group()
+tree = pygame.sprite.Group()
+
+window = pygame.display.set_mode((WINDOWSIZE, WINDOWSIZE))
+pygame.display.set_caption("Brownian Tree")
+
+screen = pygame.display.get_surface()
+
+
+class Particle(pygame.sprite.Sprite):
+ def __init__(self, vector, location, surface):
+ pygame.sprite.Sprite.__init__(self)
+ self.vector = vector
+ self.surface = surface
+ self.accelerate(vector)
+ self.add(freeParticles)
+ self.rect = pygame.Rect(location[0], location[1], SIZE, SIZE)
+ self.surface.fill(COLOR, self.rect)
+
+ def onEdge(self):
+ if self.rect.left <= 0:
+ self.vector = (abs(self.vector[0]), self.vector[1])
+ elif self.rect.top <= 0:
+ self.vector = (self.vector[0], abs(self.vector[1]))
+ elif self.rect.right >= WINDOWSIZE:
+ self.vector = (-abs(self.vector[0]), self.vector[1])
+ elif self.rect.bottom >= WINDOWSIZE:
+ self.vector = (self.vector[0], -abs(self.vector[1]))
+
+ def update(self):
+ if freeParticles in self.groups():
+ self.surface.fill((0,0,0), self.rect)
+ self.remove(freeParticles)
+ if pygame.sprite.spritecollideany(self, freeParticles):
+ self.accelerate((randint(-MAXSPEED, MAXSPEED),
+ randint(-MAXSPEED, MAXSPEED)))
+ self.add(freeParticles)
+ elif pygame.sprite.spritecollideany(self, tree):
+ self.stop()
+ else:
+ self.add(freeParticles)
+
+ self.onEdge()
+
+ if (self.vector == (0,0)) and tree not in self.groups():
+ self.accelerate((randint(-MAXSPEED, MAXSPEED),
+ randint(-MAXSPEED, MAXSPEED)))
+ self.rect.move_ip(self.vector[0], self.vector[1])
+ self.surface.fill(COLOR, self.rect)
+
+ def stop(self):
+ self.vector = (0,0)
+ self.remove(freeParticles)
+ self.add(tree)
+
+ def accelerate(self, vector):
+ self.vector = vector
+
+NEW = USEREVENT + 1
+TICK = USEREVENT + 2
+
+pygame.time.set_timer(NEW, 50)
+pygame.time.set_timer(TICK, TIMETICK)
+
+
+def input(events):
+ for event in events:
+ if event.type == QUIT:
+ sys.exit(0)
+ elif event.type == NEW and (len(freeParticles) < MAXPART):
+ Particle((randint(-MAXSPEED,MAXSPEED),
+ randint(-MAXSPEED,MAXSPEED)),
+ (randint(0, WINDOWSIZE), randint(0, WINDOWSIZE)),
+ screen)
+ elif event.type == TICK:
+ freeParticles.update()
+
+
+half = WINDOWSIZE/2
+tenth = WINDOWSIZE/10
+
+root = Particle((0,0),
+ (randint(half-tenth, half+tenth),
+ randint(half-tenth, half+tenth)), screen)
+root.stop()
+
+while True:
+ input(pygame.event.get())
+ pygame.display.flip()
diff --git a/Task/Brownian-tree/REXX/brownian-tree.rexx b/Task/Brownian-tree/REXX/brownian-tree.rexx
new file mode 100644
index 0000000000..817748d5df
--- /dev/null
+++ b/Task/Brownian-tree/REXX/brownian-tree.rexx
@@ -0,0 +1,108 @@
+/*REXX program shows brownian motion of dust in a field with one seed. */
+parse arg height width motes .
+if height=='' | height==',' then height=0
+if width=='' | width==',' then width=0
+if motes=='' then motes='10%' /*nn% Calculate # of dust motes.*/
+ /* ... otherwise just the number.*/
+tree ='*' /*an affixed dust speck (tree). */
+mote ='fa'x /*char for a loose mote (of dust)*/
+empty=' ' /*char for an empty spot in field*/
+clearScr='CLS' /*(DOS?) command to clear screen.*/
+eons=1000000 /*time limit for browian movement*/
+snapshot=0 /*every n winks, show snapshot.*/
+snaptime=2 /*every n secs, show snapshot.*/
+seedPos=30 45 /*place seed in this field pos. */
+seedPos=0 /*if =0, use middle of the field.*/
+ /*if -1, use random placement. */
+ /*otherwise, place it at seedPos.*/
+randseed=0 /*set RANDSEED for repeatability.*/
+if randseed\==0 then call random ,,randseed /*set the 1st random num.*/
+
+if height==0 | width==0 then _=scrsize() /*not all REXXes have SCRSIZE.*/
+if height==0 then height=word(_,1)-3
+if width==0 then width=word(_,2)-1
+
+ seedAt=seedPos
+if seedPos== 0 then seedAt=width%2 height%2
+if seedPos==-1 then seedAt=random(1,width) random(1,height)
+parse var seedAt xs ys .
+
+if right(motes,1)=='%' then motes=height*width*strip(motes,,'%')%100
+@.=empty /*create the field, all empty. */
+
+ do j=1 for motes /*sprinkle dust motes randomly. */
+ rx=random(1, width); ry=random(1,height); @.rx.ry=mote
+ end /*j*/
+ /*plant the seed from which the */
+ /*tree will grow from dust motes */
+@.xs.ys=tree /*that affixed themselves. */
+call show /*show field before we mess it up*/
+tim=0 /*the time (in secs) of last show*/
+loX=1; hiX= width /*used to optimize mote searching*/
+loY=1; hiY=height /* " " " " " */
+
+ /*═════════════════════════════soooo, this is brownian motion.*/
+ do winks=1 for eons until \motion /*EONs is used just in case of ∞.*/
+ motion=0 /*turn off brownian motion flag. */
+ if snapshot \== 0 then if winks//snapshot==0 then call show
+ if snaptime \== 0 then do; t=time('S')
+ if t\==tim & t//snaptime==0 then do
+ tim=time('s')
+ call show
+ end
+ end
+ minX=loX; maxX=hiX /*as the tree grows, the search */
+ minY=loY; maxY=hiY /* for dust motes gets faster. */
+ loX= width; hiX=1 /*used to limit mote searching. */
+ loY=height; hiY=1 /* " " " " " */
+
+ do x =minX to maxX; xm=x-1; xp=x+1
+ do y=minY to maxY; if @.x.y\==mote then iterate
+ if xhiX then hiX=x /*is faster than: hiX=max(X hiX) */
+ if yhiY then hiY=y /*is faster than: hiY=max(y hiY) */
+ if @.xm.y ==tree then do; @.x.y=tree; iterate; end /*neighbor?*/
+ if @.xp.y ==tree then do; @.x.y=tree; iterate; end /*neighbor?*/
+ ym=y-1
+ if @.x.ym ==tree then do; @.x.y=tree; iterate; end /*neighbor?*/
+ if @.xm.ym==tree then do; @.x.y=tree; iterate; end /*neighbor?*/
+ if @.xp.ym==tree then do; @.x.y=tree; iterate; end /*neighbor?*/
+ yp=y+1
+ if @.x.yp ==tree then do; @.x.y=tree; iterate; end /*neighbor?*/
+ if @.xm.yp==tree then do; @.x.y=tree; iterate; end /*neighbor?*/
+ if @.xp.yp==tree then do; @.x.y=tree; iterate; end /*neighbor?*/
+ motion=1 /*brownian motion is coming up. */
+ xb=x+random(1,3)-2 /*apply brownian motion for X. */
+ yb=y+random(1,3)-2 /*apply brownian motion for Y. */
+ if @.xb.yb\==empty then iterate /*can the mote move there ? */
+ @.x.y=empty /*"blank" out the old position. */
+ @.xb.yb=mote /*move the mote (or possibly not)*/
+ if xbhiX then hiX=min( width,xb)
+ if ybhiY then hiY=min(height,yb)
+ end /*y*/
+ end /*x*/
+ call crop
+ end /*winks*/
+
+call show
+exit /*stick a fork in it, we're done.*/
+/*────────────────────────────────SHOW subroutine───────────────────────*/
+show: clearScr /*not necessary, but speeds it up*/
+ do ys=height by -1 for height; aRow=
+ do xs=1 for width; aRow=aRow||@.xs.ys
+ end /*xs*/
+ say aRow
+ end /*ys*/
+return
+/*────────────────────────────────CROP subroutine───────────────────────*/
+crop: if loX>1 & hiX1 & hiY= SIZE or dy + py < 0 or dy + py >= SIZE
+ # plop the particle into some other random location
+ px = rand SIZE
+ py = rand SIZE
+ elsif world[py + dy][px + dx] != 0
+ # bumped into something
+ world[py][px] = 1
+ break
+ else
+ py += dy
+ px += dx
+ end
+ end
+ end
+end
+
+world = Array.new(SIZE) { Array.new(SIZE, 0) }
+srand Time.now.to_i
+
+draw_brownian_tree world
+
+img = Magick::Image.new(SIZE, SIZE) do
+ self.background_color = "black"
+end
+
+draw = Magick::Draw.new
+draw.fill "white"
+
+world.each_with_index do |row, y|
+ row.each_with_index do |colour, x|
+ draw.point x, y if colour != 0
+ end
+end
+
+draw.draw img
+img.write "brownian_tree.bmp"
diff --git a/Task/Brownian-tree/Run-BASIC/brownian-tree.run b/Task/Brownian-tree/Run-BASIC/brownian-tree.run
new file mode 100644
index 0000000000..0302035fb2
--- /dev/null
+++ b/Task/Brownian-tree/Run-BASIC/brownian-tree.run
@@ -0,0 +1,26 @@
+numParticles = 3000
+dim canvas(201,201)
+canvas(rnd(1) * 100 , rnd(1) * 200) = 1 'start point
+for i = 1 To numParticles
+ x = (rnd(1) * 199) + 1
+ y = (rnd(1) * 199) + 1
+
+ while canvas(x+1, y+1) + canvas(x, y+1)+canvas(x+1, y)+canvas(x-1, y-1)+canvas(x-1, y)+canvas(x, y-1) = 0
+ x = x + (rnd(1)* 2) + 1
+ y = y + (rnd(1)* 2) + 1
+ If x < 1 Or x > 200 Or y < 1 Or y > 200 then
+ x = (rnd(1) * 199) + 1
+ y = (rnd(1) * 199) + 1
+ end if
+ wend
+ canvas(x,y) = 1
+next i
+
+graphic #g, 200,200
+for x = 1 to 200
+ for y = 1 to 200
+ if canvas(x,y) = 1 then #g "color green ; set "; x; " "; y else #g "color blue ; set "; x; " "; y
+ next y
+next x
+render #g
+#g "flush"
diff --git a/Task/Brownian-tree/Scheme/brownian-tree.ss b/Task/Brownian-tree/Scheme/brownian-tree.ss
new file mode 100644
index 0000000000..b924ac4f54
--- /dev/null
+++ b/Task/Brownian-tree/Scheme/brownian-tree.ss
@@ -0,0 +1,108 @@
+; Save bitmap to external file
+(define (save-pbm bitmap filename)
+ (define f (open-output-file filename))
+ (simple-format f "P1\n~A ~A\n"
+ (list-ref (array-dimensions bitmap) 0)
+ (list-ref (array-dimensions bitmap) 1))
+ (do ((c 0 (+ c 1))) ((eqv? c (list-ref (array-dimensions bitmap) 1)))
+ (do ((r 0 (+ r 1))) ((eqv? r (list-ref (array-dimensions bitmap) 0)))
+ (display (array-ref bitmap r c) f))
+ (newline f))
+ (close-output-port f)
+)
+
+; Return a random coordinate in the bitmap that isn't filled yet along with a direction
+(define (new-particle bitmap)
+ (define x (random (list-ref (array-dimensions bitmap) 0)))
+ (define y (random (list-ref (array-dimensions bitmap) 1)))
+ (define dx (- (random 3) 1))
+ (define dy (- (random 3) 1))
+ ;Repeat until we find an unused location
+ (if (> (array-ref bitmap x y) 0)
+ (new-particle bitmap)
+ (list (list x y) (list dx dy))))
+
+; Check neighboring coordinates to see if a collision occured
+(define (collision-check bitmap p)
+ (define c #f)
+ (define oob #f)
+ (define x (list-ref (car p) 0))
+ (define y (list-ref (car p) 1))
+ (define dx (list-ref (cadr p) 0))
+ (define dy (list-ref (cadr p) 1))
+ (define w (list-ref (array-dimensions bitmap) 0))
+ (define h (list-ref (array-dimensions bitmap) 1))
+
+ ; If the particle hasn't gone out of bounds keep checking for a collision
+ (if (or (> 0 x) (> 0 y) (<= w x) (<= h y))
+ (set! oob #t)
+ (do ((x (- (list-ref (car p) 0) 1) (+ x 1))) ((eqv? x (+ (list-ref (car p) 0) 2)))
+ (do ((y (- (list-ref (car p) 1) 1) (+ y 1))) ((eqv? y (+ (list-ref (car p) 1) 2)))
+ ; Check existing neighbors for collisions
+ (if (and (<= 0 x) (<= 0 y) (> w x) (> h y))
+ (if (not (zero? (array-ref bitmap x y)))
+ (set! c #t))))))
+ (if oob
+ #f ; Return false if out of bounds
+ (if c
+ p ; Return the point of collision if a collision occured
+ (if (and (zero? dx) (zero? dy))
+ #f ; Return false if particle is motionless with no collision
+ (collision-check bitmap (particle-move p))))))
+
+; Plot a particle on the bitmap
+(define (particle-plot! bitmap p)
+ (array-set! bitmap 1 (list-ref (car p) 0) (list-ref (car p) 1)))
+
+; Move a particle along its slope
+(define (particle-move p)
+ (list (list
+ (+ (list-ref (car p) 0) (list-ref (cadr p) 0))
+ (+ (list-ref (car p) 1) (list-ref (cadr p) 1)))
+ (cadr p)))
+
+; Grow a brownian tree
+(define (grow-brownian-tree! bitmap collisions)
+ (define w (list-ref (array-dimensions bitmap) 0))
+ (define h (list-ref (array-dimensions bitmap) 1))
+
+ ; Generate a new particle at a random location
+ (define p (new-particle bitmap))
+
+ ; Find a collision or lack of one and plot it on the bitmap
+ (set! p (collision-check bitmap p))
+ (if p (begin
+ ; Display collision number and the place it happened
+ (display collisions)(display ": ")(display (car p))(newline)
+ (set! collisions (- collisions 1))
+ ; Plot the point
+ (particle-plot! bitmap p)))
+
+ ; If we're done say so
+ (if (zero? collisions)
+ (display "Done\n"))
+
+ ; Keep going until we have enough collisions
+ ; or have filled the bitmap
+ (if (and (< 0 collisions) (memq 0 (array->list (array-contents bitmap))))
+ (grow-brownian-tree! bitmap collisions)))
+
+; Plot a random point to seed the brownian tree
+(define (seed-brownian-tree! bitmap)
+ (define p (new-particle bitmap))
+ (particle-plot! bitmap p))
+
+;;; Example usage ;;;
+; Seed the random number generator
+(let ((time (gettimeofday)))
+ (set! *random-state*
+ (seed->random-state (+ (car time) (cdr time)))))
+
+; Generate a tree with 320*240 collisions on a bitmap of the size 640x480
+; The bitmap is zeroed to start and written with a one where a collision occurs
+(define bitmap (make-array 0 640 480))
+(seed-brownian-tree! bitmap)
+(grow-brownian-tree! bitmap (* 320 240))
+
+; Save to a portable bitmap file
+(save-pbm bitmap "brownian-tree.pbm")
diff --git a/Task/Brownian-tree/Seed7/brownian-tree.seed7 b/Task/Brownian-tree/Seed7/brownian-tree.seed7
new file mode 100644
index 0000000000..a3f630fa01
--- /dev/null
+++ b/Task/Brownian-tree/Seed7/brownian-tree.seed7
@@ -0,0 +1,53 @@
+$ include "seed7_05.s7i";
+ include "draw.s7i";
+ include "keybd.s7i";
+
+const integer: SIZE is 300;
+const integer: SCALE is 1;
+
+const proc: genBrownianTree (in integer: fieldSize, in integer: numParticles) is func
+ local
+ var array array integer: world is 0 times 0 times 0;
+ var integer: px is 0;
+ var integer: py is 0;
+ var integer: dx is 0;
+ var integer: dy is 0;
+ var integer: i is 0;
+ var boolean: bumped is FALSE;
+ begin
+ world := fieldSize times fieldSize times 0;
+ world[rand(1, fieldSize)][rand(1, fieldSize)] := 1; # Set the seed
+ for i range 1 to numParticles do
+ # Set particle's initial position
+ px := rand(1, fieldSize);
+ py := rand(1, fieldSize);
+ bumped := FALSE;
+ repeat
+ # Randomly choose a direction
+ dx := rand(-1, 1);
+ dy := rand(-1, 1);
+ if dx + px < 1 or dx + px > fieldSize or dy + py < 1 or dy + py > fieldSize then
+ # Plop the particle into some other random location
+ px := rand(1, fieldSize);
+ py := rand(1, fieldSize);
+ elsif world[py + dy][px + dx] <> 0 then
+ # Bumped into something
+ world[py][px] := 1;
+ rect(SCALE * pred(px), SCALE * pred(py), SCALE, SCALE, white);
+ DRAW_FLUSH;
+ bumped := TRUE;
+ else
+ py +:= dy;
+ px +:= dx;
+ end if;
+ until bumped;
+ end for;
+ end func;
+
+const proc: main is func
+ begin
+ screen(SIZE * SCALE, SIZE * SCALE);
+ KEYBOARD := GRAPH_KEYBOARD;
+ genBrownianTree(SIZE, 20000);
+ readln(KEYBOARD);
+ end func;
diff --git a/Task/Brownian-tree/TI-83-BASIC/brownian-tree.ti-83 b/Task/Brownian-tree/TI-83-BASIC/brownian-tree.ti-83
new file mode 100644
index 0000000000..5a08b79824
--- /dev/null
+++ b/Task/Brownian-tree/TI-83-BASIC/brownian-tree.ti-83
@@ -0,0 +1,27 @@
+:StoreGDB 0
+:ClrDraw
+:FnOff
+:AxesOff
+:Pxl-On(31,47)
+:For(I,1,50)
+:randInt(1,93)→X
+:randInt(1,61)→Y
+:1→A
+:While A
+:randInt(1,4)→D
+:Pxl-Off(Y,X)
+:If D=1 and Y≥2
+:Y-1→Y
+:If D=2 and X≤92
+:X+1→X
+:If D=3 and Y≤60
+:Y+1→Y
+:If D=4 and X≥2
+:X-1→X
+:Pxl-On(Y,X)
+:If pxl-Test(Y+1,X) or pxl-Test(Y+1,X+1) or pxl-Test(Y+1,X-1) or pxl-Test(Y,X+1) or pxl-Test(Y,X-1) or pxl-Test(Y-1,X) or pxl-Test(Y-1,X-1) or pxl-Test(Y-1,X+1)
+:0→A
+:End
+:End
+:Pause
+:RecallGDB 0
diff --git a/Task/Brownian-tree/Tcl/brownian-tree.tcl b/Task/Brownian-tree/Tcl/brownian-tree.tcl
new file mode 100644
index 0000000000..49130e9b28
--- /dev/null
+++ b/Task/Brownian-tree/Tcl/brownian-tree.tcl
@@ -0,0 +1,52 @@
+package require Tcl 8.5
+package require Tk
+
+set SIZE 300
+
+image create photo brownianTree -width $SIZE -height $SIZE
+interp alias {} plot {} brownianTree put white -to
+brownianTree put black -to 0 0 [expr {$SIZE-1}] [expr {$SIZE-1}]
+proc rnd {range} {expr {int(rand() * $range)}}
+
+proc makeBrownianTree count {
+ global SIZE
+ # Set the seed
+ plot [rnd $SIZE] [rnd $SIZE]
+ for {set i 0} {$i<$count} {incr i} {
+ # Set a random particle's initial position
+ set px [rnd $SIZE]
+ set py [rnd $SIZE]
+
+ while 1 {
+ # Randomly choose a direction
+ set dx [expr {[rnd 3] - 1}]
+ set dy [expr {[rnd 3] - 1}]
+
+ # If we are going out of bounds...
+ if {$px+$dx < 0 || $px+$dx >= $SIZE || $py+$dy < 0 || $py+$dy>=$SIZE} {
+ # Out of bounds, so move back in
+ set dx [expr {[rnd 3] - 1}]
+ set dy [expr {[rnd 3] - 1}]
+ continue
+ }
+
+ set ox $px
+ set oy $py
+ # Move/see if we would hit anything
+ incr px $dx
+ incr py $dy
+ if {[lindex [brownianTree get $px $py] 0]} {
+ # Hit something, so plot where we were
+ plot $ox $oy
+ break
+ }
+ }
+ ## For display while things are processing, uncomment next line
+ #update;puts -nonewline .;flush stdout
+ }
+}
+
+pack [label .l -image brownianTree]
+update
+makeBrownianTree 1000
+brownianTree write tree.ppm
diff --git a/Task/Brownian-tree/Visual-Basic-.NET/brownian-tree.visual b/Task/Brownian-tree/Visual-Basic-.NET/brownian-tree.visual
new file mode 100644
index 0000000000..d775fedd85
--- /dev/null
+++ b/Task/Brownian-tree/Visual-Basic-.NET/brownian-tree.visual
@@ -0,0 +1,129 @@
+Imports System.Drawing.Imaging
+
+Public Class Form1
+
+ ReadOnly iCanvasColor As Integer = Color.Black.ToArgb
+ ReadOnly iSeedColor As Integer = Color.White.ToArgb
+
+ Dim iCanvasWidth As Integer = 0
+ Dim iCanvasHeight As Integer = 0
+
+ Dim iPixels() As Integer = Nothing
+
+ Private Sub BrownianTree()
+
+ Dim oCanvas As Bitmap = Nothing
+ Dim oRandom As New Random(Now.Millisecond)
+ Dim oXY As Point = Nothing
+ Dim iParticleCount As Integer = 0
+
+ iCanvasWidth = ClientSize.Width
+ iCanvasHeight = ClientSize.Height
+
+ oCanvas = New Bitmap(iCanvasWidth, iCanvasHeight, Imaging.PixelFormat.Format24bppRgb)
+
+ Graphics.FromImage(oCanvas).Clear(Color.FromArgb(iCanvasColor))
+
+ iPixels = GetData(oCanvas)
+
+ ' We'll use about 10% of the total number of pixels in the canvas for the particle count.
+ iParticleCount = CInt(iPixels.Length * 0.1)
+
+ ' Set the seed to a random location on the canvas.
+ iPixels(oRandom.Next(iPixels.Length)) = iSeedColor
+
+ ' Run through the particles.
+ For i As Integer = 0 To iParticleCount
+ Do
+ ' Find an open pixel.
+ oXY = New Point(oRandom.Next(oCanvas.Width), oRandom.Next(oCanvas.Height))
+ Loop While iPixels(oXY.Y * oCanvas.Width + oXY.X) = iSeedColor
+
+ ' Jitter until the pixel bumps another.
+ While Not CheckAdjacency(oXY)
+ oXY.X += oRandom.Next(-1, 2)
+ oXY.Y += oRandom.Next(-1, 2)
+
+ ' Make sure we don't jitter ourselves out of bounds.
+ If oXY.X < 0 Then oXY.X = 0 Else If oXY.X >= oCanvas.Width Then oXY.X = oCanvas.Width - 1
+ If oXY.Y < 0 Then oXY.Y = 0 Else If oXY.Y >= oCanvas.Height Then oXY.Y = oCanvas.Height - 1
+ End While
+
+ iPixels(oXY.Y * oCanvas.Width + oXY.X) = iSeedColor
+
+ ' If you'd like to see updates as each particle collides and becomes
+ ' part of the tree, uncomment the next 4 lines (it does slow it down slightly).
+ ' SetData(oCanvas, iPixels)
+ ' BackgroundImage = oCanvas
+ ' Invalidate()
+ ' Application.DoEvents()
+ Next
+
+ oCanvas.Save("BrownianTree.bmp")
+ BackgroundImage = oCanvas
+
+ End Sub
+
+ ' Check adjacent pixels for an illuminated pixel.
+ Private Function CheckAdjacency(ByVal XY As Point) As Boolean
+
+ Dim n As Integer = 0
+
+ For y As Integer = -1 To 1
+ ' Make sure not to drop off the top or bottom of the image.
+ If (XY.Y + y < 0) OrElse (XY.Y + y >= iCanvasHeight) Then Continue For
+
+ For x As Integer = -1 To 1
+ ' Make sure not to drop off the left or right of the image.
+ If (XY.X + x < 0) OrElse (XY.X + x >= iCanvasWidth) Then Continue For
+
+ ' Don't run the test on the calling pixel.
+ If y <> 0 AndAlso x <> 0 Then
+ n = (XY.Y + y) * iCanvasWidth + (XY.X + x)
+ If iPixels(n) = iSeedColor Then Return True
+ End If
+ Next
+ Next
+
+ Return False
+
+ End Function
+
+ Private Function GetData(ByVal Map As Bitmap) As Integer()
+
+ Dim oBMPData As BitmapData = Nothing
+ Dim oData() As Integer = Nothing
+
+ oBMPData = Map.LockBits(New Rectangle(0, 0, Map.Width, Map.Height), ImageLockMode.ReadOnly, PixelFormat.Format32bppArgb)
+
+ Array.Resize(oData, Map.Width * Map.Height)
+
+ Runtime.InteropServices.Marshal.Copy(oBMPData.Scan0, oData, 0, oData.Length)
+
+ Map.UnlockBits(oBMPData)
+
+ Return oData
+
+ End Function
+
+ Private Sub SetData(ByVal Map As Bitmap, ByVal Data As Integer())
+
+ Dim oBMPData As BitmapData = Nothing
+
+ oBMPData = Map.LockBits(New Rectangle(0, 0, Map.Width, Map.Height), ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb)
+
+ Runtime.InteropServices.Marshal.Copy(Data, 0, oBMPData.Scan0, Data.Length)
+
+ Map.UnlockBits(oBMPData)
+
+ End Sub
+
+ Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
+ DoubleBuffered = True
+ BackgroundImageLayout = ImageLayout.Center
+ Show()
+ Activate()
+ Application.DoEvents()
+ BrownianTree()
+ End Sub
+End Class
diff --git a/Task/Brownian-tree/XPL0/brownian-tree.xpl0 b/Task/Brownian-tree/XPL0/brownian-tree.xpl0
new file mode 100644
index 0000000000..22c3f37468
--- /dev/null
+++ b/Task/Brownian-tree/XPL0/brownian-tree.xpl0
@@ -0,0 +1,18 @@
+include c:\cxpl\codes; \intrinsic 'code' declarations
+def W=128, H=W; \width and height of field
+int X, Y;
+[SetVid($13); \set 320x200 graphic video mode
+Point(W/2, H/2, 6\brown\); \place seed in center of field
+loop [repeat X:= Ran(W); Y:= Ran(H); \inject particle
+ until ReadPix(X,Y) = 0; \ in an empty location
+ loop [Point(X, Y, 6\brown\); \show particle
+ if ReadPix(X-1,Y) or ReadPix(X+1,Y) or \particle collided
+ ReadPix(X,Y-1) or ReadPix(X,Y+1) then quit;
+ Point(X, Y, 0\black\); \erase particle
+ X:= X + Ran(3)-1; \(Brownian) move particle
+ Y:= Y + Ran(3)-1;
+ if X<0 or X>=W or Y<0 or Y>=H then quit; \out of bounds
+ ];
+ if KeyHit then [SetVid(3); quit]; \restore text mode
+ ];
+]
diff --git a/Task/Calendar-for-real-programmers/0DESCRIPTION b/Task/Calendar---for-real-programmers/0DESCRIPTION
similarity index 100%
rename from Task/Calendar-for-real-programmers/0DESCRIPTION
rename to Task/Calendar---for-real-programmers/0DESCRIPTION
diff --git a/Task/Calendar-for-real-programmers/1META.yaml b/Task/Calendar---for-real-programmers/1META.yaml
similarity index 100%
rename from Task/Calendar-for-real-programmers/1META.yaml
rename to Task/Calendar---for-real-programmers/1META.yaml
diff --git a/Task/Calendar-for-real-programmers/ALGOL-68/calendar-for-real-programmers.alg b/Task/Calendar---for-real-programmers/ALGOL-68/calendar---for-real-programmers.alg
similarity index 100%
rename from Task/Calendar-for-real-programmers/ALGOL-68/calendar-for-real-programmers.alg
rename to Task/Calendar---for-real-programmers/ALGOL-68/calendar---for-real-programmers.alg
diff --git a/Task/Calendar-for-real-programmers/Ada/calendar-for-real-programmers.ada b/Task/Calendar---for-real-programmers/Ada/calendar---for-real-programmers.ada
similarity index 100%
rename from Task/Calendar-for-real-programmers/Ada/calendar-for-real-programmers.ada
rename to Task/Calendar---for-real-programmers/Ada/calendar---for-real-programmers.ada
diff --git a/Task/Calendar-for-real-programmers/BBC-BASIC/calendar-for-real-programmers.bbc b/Task/Calendar---for-real-programmers/BBC-BASIC/calendar---for-real-programmers.bbc
similarity index 100%
rename from Task/Calendar-for-real-programmers/BBC-BASIC/calendar-for-real-programmers.bbc
rename to Task/Calendar---for-real-programmers/BBC-BASIC/calendar---for-real-programmers.bbc
diff --git a/Task/Calendar-for-real-programmers/GUISS/calendar-for-real-programmers.guiss b/Task/Calendar---for-real-programmers/GUISS/calendar---for-real-programmers.guiss
similarity index 100%
rename from Task/Calendar-for-real-programmers/GUISS/calendar-for-real-programmers.guiss
rename to Task/Calendar---for-real-programmers/GUISS/calendar---for-real-programmers.guiss
diff --git a/Task/Calendar-for-real-programmers/Icon/calendar-for-real-programmers-1.icon b/Task/Calendar---for-real-programmers/Icon/calendar---for-real-programmers-1.icon
similarity index 100%
rename from Task/Calendar-for-real-programmers/Icon/calendar-for-real-programmers-1.icon
rename to Task/Calendar---for-real-programmers/Icon/calendar---for-real-programmers-1.icon
diff --git a/Task/Calendar-for-real-programmers/Icon/calendar-for-real-programmers-2.icon b/Task/Calendar---for-real-programmers/Icon/calendar---for-real-programmers-2.icon
similarity index 100%
rename from Task/Calendar-for-real-programmers/Icon/calendar-for-real-programmers-2.icon
rename to Task/Calendar---for-real-programmers/Icon/calendar---for-real-programmers-2.icon
diff --git a/Task/Calendar-for-real-programmers/J/calendar-for-real-programmers-1.j b/Task/Calendar---for-real-programmers/J/calendar---for-real-programmers-1.j
similarity index 100%
rename from Task/Calendar-for-real-programmers/J/calendar-for-real-programmers-1.j
rename to Task/Calendar---for-real-programmers/J/calendar---for-real-programmers-1.j
diff --git a/Task/Calendar-for-real-programmers/J/calendar-for-real-programmers-2.j b/Task/Calendar---for-real-programmers/J/calendar---for-real-programmers-2.j
similarity index 100%
rename from Task/Calendar-for-real-programmers/J/calendar-for-real-programmers-2.j
rename to Task/Calendar---for-real-programmers/J/calendar---for-real-programmers-2.j
diff --git a/Task/Calendar-for-real-programmers/PHP/calendar-for-real-programmers.php b/Task/Calendar---for-real-programmers/PHP/calendar---for-real-programmers.php
similarity index 100%
rename from Task/Calendar-for-real-programmers/PHP/calendar-for-real-programmers.php
rename to Task/Calendar---for-real-programmers/PHP/calendar---for-real-programmers.php
diff --git a/Task/Calendar-for-real-programmers/Perl-6/calendar-for-real-programmers.pl6 b/Task/Calendar---for-real-programmers/Perl-6/calendar---for-real-programmers.pl6
similarity index 100%
rename from Task/Calendar-for-real-programmers/Perl-6/calendar-for-real-programmers.pl6
rename to Task/Calendar---for-real-programmers/Perl-6/calendar---for-real-programmers.pl6
diff --git a/Task/Calendar-for-real-programmers/Perl/calendar-for-real-programmers-1.pl b/Task/Calendar---for-real-programmers/Perl/calendar---for-real-programmers-1.pl
similarity index 100%
rename from Task/Calendar-for-real-programmers/Perl/calendar-for-real-programmers-1.pl
rename to Task/Calendar---for-real-programmers/Perl/calendar---for-real-programmers-1.pl
diff --git a/Task/Calendar-for-real-programmers/Perl/calendar-for-real-programmers-2.pl b/Task/Calendar---for-real-programmers/Perl/calendar---for-real-programmers-2.pl
similarity index 100%
rename from Task/Calendar-for-real-programmers/Perl/calendar-for-real-programmers-2.pl
rename to Task/Calendar---for-real-programmers/Perl/calendar---for-real-programmers-2.pl
diff --git a/Task/Calendar-for-real-programmers/PicoLisp/calendar-for-real-programmers.l b/Task/Calendar---for-real-programmers/PicoLisp/calendar---for-real-programmers.l
similarity index 100%
rename from Task/Calendar-for-real-programmers/PicoLisp/calendar-for-real-programmers.l
rename to Task/Calendar---for-real-programmers/PicoLisp/calendar---for-real-programmers.l
diff --git a/Task/Calendar-for-real-programmers/REXX/calendar-for-real-programmers.rexx b/Task/Calendar---for-real-programmers/REXX/calendar---for-real-programmers.rexx
similarity index 100%
rename from Task/Calendar-for-real-programmers/REXX/calendar-for-real-programmers.rexx
rename to Task/Calendar---for-real-programmers/REXX/calendar---for-real-programmers.rexx
diff --git a/Task/Calendar-for-real-programmers/Ruby/calendar-for-real-programmers-1.rb b/Task/Calendar---for-real-programmers/Ruby/calendar---for-real-programmers-1.rb
similarity index 100%
rename from Task/Calendar-for-real-programmers/Ruby/calendar-for-real-programmers-1.rb
rename to Task/Calendar---for-real-programmers/Ruby/calendar---for-real-programmers-1.rb
diff --git a/Task/Calendar-for-real-programmers/Ruby/calendar-for-real-programmers-2.rb b/Task/Calendar---for-real-programmers/Ruby/calendar---for-real-programmers-2.rb
similarity index 100%
rename from Task/Calendar-for-real-programmers/Ruby/calendar-for-real-programmers-2.rb
rename to Task/Calendar---for-real-programmers/Ruby/calendar---for-real-programmers-2.rb
diff --git a/Task/Calendar-for-real-programmers/Tcl/calendar-for-real-programmers.tcl b/Task/Calendar---for-real-programmers/Tcl/calendar---for-real-programmers.tcl
similarity index 100%
rename from Task/Calendar-for-real-programmers/Tcl/calendar-for-real-programmers.tcl
rename to Task/Calendar---for-real-programmers/Tcl/calendar---for-real-programmers.tcl
diff --git a/Task/Calendar-for-real-programmers/Vedit-macro-language/calendar-for-real-programmers.vedit b/Task/Calendar---for-real-programmers/Vedit-macro-language/calendar---for-real-programmers.vedit
similarity index 100%
rename from Task/Calendar-for-real-programmers/Vedit-macro-language/calendar-for-real-programmers.vedit
rename to Task/Calendar---for-real-programmers/Vedit-macro-language/calendar---for-real-programmers.vedit
diff --git a/Task/Calendar-for-real-programmers/X86-Assembly/calendar-for-real-programmers.x86 b/Task/Calendar---for-real-programmers/X86-Assembly/calendar---for-real-programmers.x86
similarity index 100%
rename from Task/Calendar-for-real-programmers/X86-Assembly/calendar-for-real-programmers.x86
rename to Task/Calendar---for-real-programmers/X86-Assembly/calendar---for-real-programmers.x86
diff --git a/Task/Catalan-numbers/0DESCRIPTION b/Task/Catalan-numbers/0DESCRIPTION
new file mode 100644
index 0000000000..9a089629db
--- /dev/null
+++ b/Task/Catalan-numbers/0DESCRIPTION
@@ -0,0 +1,13 @@
+Catalan numbers are a sequence of numbers which can be defined directly:
+:
+Or recursively:
+:
+Or alternatively (also recursive):
+:
+
+Implement at least one of these algorithms and print out the first 15 Catalan numbers with each. [[Memoization]] is not required, but may be worth the effort when using the second method above.
+
+;Cf.:
+* [[Pascal's triangle]]
+* [http://milan.milanovic.org/math/english/fibo/fibo4.html Catalan Numbers and the Pascal Triangle]
+* http://rosettacode.org/wiki/Catalan_numbers#An_Alternative_Approach
diff --git a/Task/Catalan-numbers/1META.yaml b/Task/Catalan-numbers/1META.yaml
new file mode 100644
index 0000000000..8644b2ad9b
--- /dev/null
+++ b/Task/Catalan-numbers/1META.yaml
@@ -0,0 +1,2 @@
+---
+note: Arithmetic operations
diff --git a/Task/Catalan-numbers/AWK/catalan-numbers.awk b/Task/Catalan-numbers/AWK/catalan-numbers.awk
new file mode 100644
index 0000000000..ad0092ec0a
--- /dev/null
+++ b/Task/Catalan-numbers/AWK/catalan-numbers.awk
@@ -0,0 +1,16 @@
+# syntax: GAWK -f CATALAN_NUMBERS.AWK
+BEGIN {
+ for (i=0; i<=15; i++) {
+ printf("%2d %10d\n",i,catalan(i))
+ }
+ exit(0)
+}
+function catalan(n, ans) {
+ if (n == 0) {
+ ans = 1
+ }
+ else {
+ ans = ((2*(2*n-1))/(n+1))*catalan(n-1)
+ }
+ return(ans)
+}
diff --git a/Task/Catalan-numbers/Ada/catalan-numbers.ada b/Task/Catalan-numbers/Ada/catalan-numbers.ada
new file mode 100644
index 0000000000..aa503151a3
--- /dev/null
+++ b/Task/Catalan-numbers/Ada/catalan-numbers.ada
@@ -0,0 +1,16 @@
+with Ada.Text_IO; use Ada.Text_IO;
+
+procedure Test_Catalan is
+ function Catalan (N : Natural) return Natural is
+ Result : Positive := 1;
+ begin
+ for I in 1..N loop
+ Result := Result * 2 * (2 * I - 1) / (I + 1);
+ end loop;
+ return Result;
+ end Catalan;
+begin
+ for N in 0..15 loop
+ Put_Line (Integer'Image (N) & " =" & Integer'Image (Catalan (N)));
+ end loop;
+end Test_Catalan;
diff --git a/Task/Catalan-numbers/AutoHotkey/catalan-numbers.ahk b/Task/Catalan-numbers/AutoHotkey/catalan-numbers.ahk
new file mode 100644
index 0000000000..1cc6e4c4f8
--- /dev/null
+++ b/Task/Catalan-numbers/AutoHotkey/catalan-numbers.ahk
@@ -0,0 +1,20 @@
+Loop 15
+ out .= "`n" Catalan(A_Index)
+Msgbox % clipboard := SubStr(out, 2)
+catalan( n ) {
+; By [VxE]. Returns ((2n)! / ((n + 1)! * n!)) if 0 <= N <= 22 (higher than 22 results in overflow)
+If ( n < 3 ) ; values less than 3 are handled specially
+ Return n < 0 ? "" : n = 0 ? 1 : n
+
+i := 1 ; initialize the accumulator to 1
+
+Loop % n - 1 >> 1 ; build the numerator by multiplying odd values between 2N and N+1
+ i *= 1 + ( n - A_Index << 1 )
+
+i <<= ( n - 2 >> 1 ) ; multiply the numerator by powers of 2 according to N
+
+Loop % n - 3 >> 1 ; finish up by (integer) dividing by each of the non-cancelling factors
+ i //= A_Index + 2
+
+Return i
+}
diff --git a/Task/Catalan-numbers/BASIC/catalan-numbers.basic b/Task/Catalan-numbers/BASIC/catalan-numbers.basic
new file mode 100644
index 0000000000..d374bf70f8
--- /dev/null
+++ b/Task/Catalan-numbers/BASIC/catalan-numbers.basic
@@ -0,0 +1,18 @@
+DECLARE FUNCTION catalan (n as INTEGER) AS SINGLE
+
+REDIM SHARED results(0) AS SINGLE
+
+FOR x% = 1 TO 15
+ PRINT x%, catalan (x%)
+NEXT
+
+FUNCTION catalan (n as INTEGER) AS SINGLE
+ IF UBOUND(results) < n THEN REDIM PRESERVE results(n)
+
+ IF 0 = n THEN
+ results(0) = 1
+ ELSE
+ results(n) = ((2 * ((2 * n) - 1)) / (n + 1)) * catalan(n - 1)
+ END IF
+ catalan = results(n)
+END FUNCTION
diff --git a/Task/Catalan-numbers/BBC-BASIC/catalan-numbers.bbc b/Task/Catalan-numbers/BBC-BASIC/catalan-numbers.bbc
new file mode 100644
index 0000000000..403c2ec92d
--- /dev/null
+++ b/Task/Catalan-numbers/BBC-BASIC/catalan-numbers.bbc
@@ -0,0 +1,8 @@
+ FOR i% = 1 TO 15
+ PRINT FNcatalan(i%)
+ NEXT
+ END
+
+ DEF FNcatalan(n%)
+ IF n% = 0 THEN = 1
+ = 2 * (2 * n% - 1) * FNcatalan(n% - 1) / (n% + 1)
diff --git a/Task/Catalan-numbers/Bracmat/catalan-numbers-1.bracmat b/Task/Catalan-numbers/Bracmat/catalan-numbers-1.bracmat
new file mode 100644
index 0000000000..8429e0891c
--- /dev/null
+++ b/Task/Catalan-numbers/Bracmat/catalan-numbers-1.bracmat
@@ -0,0 +1,55 @@
+( out$straight
+& ( C
+ =
+ . ( F
+ = i prod
+ . !arg:0&1
+ | 1:?prod
+ & 0:?i
+ & whl
+ ' ( 1+!i:~>!arg:?i
+ & !i*!prod:?prod
+ )
+ & !prod
+ )
+ & F$(2*!arg)*(F$(!arg+1)*F$!arg)^-1
+ )
+& -1:?n
+& whl
+ ' ( 1+!n:~>15:?n
+ & out$(str$(C !n " = " C$!n))
+ )
+& out$"recursive, with memoization, without fractions"
+& :?seenCs
+& ( C
+ = i sum
+ . !arg:0&1
+ | ( !seenCs:? (!arg.?sum) ?
+ | 0:?sum
+ & -1:?i
+ & whl
+ ' ( 1+!i:15:?n
+ & out$(str$(C !n " = " C$!n))
+ )
+& out$"recursive, without memoization, with fractions"
+& ( C
+ =
+ . !arg:0&1
+ | 2*(2*!arg+-1)*(!arg+1)^-1*C$(!arg+-1)
+ )
+& -1:?n
+& whl
+ ' ( 1+!n:~>15:?n
+ & out$(str$(C !n " = " C$!n))
+ )
+&
+);
diff --git a/Task/Catalan-numbers/Bracmat/catalan-numbers-2.bracmat b/Task/Catalan-numbers/Bracmat/catalan-numbers-2.bracmat
new file mode 100644
index 0000000000..1644a8a1e4
--- /dev/null
+++ b/Task/Catalan-numbers/Bracmat/catalan-numbers-2.bracmat
@@ -0,0 +1,51 @@
+straight
+C0 = 1
+C1 = 1
+C2 = 2
+C3 = 5
+C4 = 14
+C5 = 42
+C6 = 132
+C7 = 429
+C8 = 1430
+C9 = 4862
+C10 = 16796
+C11 = 58786
+C12 = 208012
+C13 = 742900
+C14 = 2674440
+C15 = 9694845
+recursive, with memoization, without fractions
+C0 = 1
+C1 = 1
+C2 = 2
+C3 = 5
+C4 = 14
+C5 = 42
+C6 = 132
+C7 = 429
+C8 = 1430
+C9 = 4862
+C10 = 16796
+C11 = 58786
+C12 = 208012
+C13 = 742900
+C14 = 2674440
+C15 = 9694845
+recursive, without memoization, with fractions
+C0 = 1
+C1 = 1
+C2 = 2
+C3 = 5
+C4 = 14
+C5 = 42
+C6 = 132
+C7 = 429
+C8 = 1430
+C9 = 4862
+C10 = 16796
+C11 = 58786
+C12 = 208012
+C13 = 742900
+C14 = 2674440
+C15 = 9694845
diff --git a/Task/Catalan-numbers/Brat/catalan-numbers.brat b/Task/Catalan-numbers/Brat/catalan-numbers.brat
new file mode 100644
index 0000000000..6c8e3b8141
--- /dev/null
+++ b/Task/Catalan-numbers/Brat/catalan-numbers.brat
@@ -0,0 +1,9 @@
+catalan = { n |
+ true? n == 0
+ { 1 }
+ { (2 * ( 2 * n - 1) / ( n + 1 )) * catalan(n - 1) }
+}
+
+0.to 15 { n |
+ p "#{n} - #{catalan n}"
+}
diff --git a/Task/Catalan-numbers/C++/catalan-numbers-1.cpp b/Task/Catalan-numbers/C++/catalan-numbers-1.cpp
new file mode 100644
index 0000000000..516fa04aba
--- /dev/null
+++ b/Task/Catalan-numbers/C++/catalan-numbers-1.cpp
@@ -0,0 +1,60 @@
+#if !defined __ALGORITHMS_H__
+#define __ALGORITHMS_H__
+
+namespace rosetta
+ {
+ namespace catalanNumbers
+ {
+ namespace detail
+ {
+
+ class Factorial
+ {
+ public:
+ unsigned long long operator()(unsigned n)const;
+ };
+
+ class BinomialCoefficient
+ {
+ public:
+ unsigned long long operator()(unsigned n, unsigned k)const;
+ };
+
+ } //namespace detail
+
+ class CatalanNumbersDirectFactorial
+ {
+ public:
+ CatalanNumbersDirectFactorial();
+ unsigned long long operator()(unsigned n)const;
+ private:
+ detail::Factorial factorial;
+ };
+
+ class CatalanNumbersDirectBinomialCoefficient
+ {
+ public:
+ CatalanNumbersDirectBinomialCoefficient();
+ unsigned long long operator()(unsigned n)const;
+ private:
+ detail::BinomialCoefficient binomialCoefficient;
+ };
+
+ class CatalanNumbersRecursiveSum
+ {
+ public:
+ CatalanNumbersRecursiveSum();
+ unsigned long long operator()(unsigned n)const;
+ };
+
+ class CatalanNumbersRecursiveFraction
+ {
+ public:
+ CatalanNumbersRecursiveFraction();
+ unsigned long long operator()(unsigned n)const;
+ };
+
+ } //namespace catalanNumbers
+ } //namespace rosetta
+
+#endif //!defined __ALGORITHMS_H__
diff --git a/Task/Catalan-numbers/C++/catalan-numbers-2.cpp b/Task/Catalan-numbers/C++/catalan-numbers-2.cpp
new file mode 100644
index 0000000000..62c6e16878
--- /dev/null
+++ b/Task/Catalan-numbers/C++/catalan-numbers-2.cpp
@@ -0,0 +1,101 @@
+#include
+using std::cout;
+using std::endl;
+#include
+using std::floor;
+
+#include "algorithms.h"
+using namespace rosetta::catalanNumbers;
+
+
+CatalanNumbersDirectFactorial::CatalanNumbersDirectFactorial()
+ {
+ cout<<"Direct calculation using the factorial"<1)
+ {
+ unsigned long long nFac = factorial(n);
+ return factorial(2 * n) / ((n + 1) * nFac * nFac);
+ }
+ else
+ {
+ return 1;
+ }
+ }
+
+
+CatalanNumbersDirectBinomialCoefficient::CatalanNumbersDirectBinomialCoefficient()
+ {
+ cout<<"Direct calculation using a binomial coefficient"<1)
+ return double(1) / (n + 1) * binomialCoefficient(2 * n, n);
+ else
+ return 1;
+ }
+
+
+CatalanNumbersRecursiveSum::CatalanNumbersRecursiveSum()
+ {
+ cout<<"Recursive calculation using a sum"<1)
+ {
+ const unsigned n_ = n - 1;
+ unsigned long long sum = 0;
+ for(unsigned i = 0; i <= n_; i++)
+ sum += operator()(i) * operator()(n_ - i);
+ return sum;
+ }
+ else
+ {
+ return 1;
+ }
+ }
+
+
+CatalanNumbersRecursiveFraction::CatalanNumbersRecursiveFraction()
+ {
+ cout<<"Recursive calculation using a fraction"<1)
+ return (double(2 * (2 * n - 1)) / (n + 1)) * operator()(n-1);
+ else
+ return 1;
+ }
+
+
+unsigned long long detail::Factorial::operator()(unsigned n)const
+ {
+ if(n>1)
+ return n * operator()(n-1);
+ else
+ return 1;
+ }
+
+
+unsigned long long detail::BinomialCoefficient::operator()(unsigned n, unsigned k)const
+ {
+ if(k == 0)
+ return 1;
+
+ if(n == 0)
+ return 0;
+
+ double product = 1;
+ for(unsigned i = 1; i <= k; i++)
+ product *= (double(n - (k - i)) / i);
+ return (unsigned long long)(floor(product + 0.5));
+ }
diff --git a/Task/Catalan-numbers/C++/catalan-numbers-3.cpp b/Task/Catalan-numbers/C++/catalan-numbers-3.cpp
new file mode 100644
index 0000000000..442a7c0e41
--- /dev/null
+++ b/Task/Catalan-numbers/C++/catalan-numbers-3.cpp
@@ -0,0 +1,26 @@
+#if !defined __TESTER_H__
+#define __TESTER_H__
+
+#include
+
+namespace rosetta
+ {
+ namespace catalanNumbers
+ {
+
+ template
+ class Test
+ {
+ public:
+ static void Do()
+ {
+ A algorithm;
+ for(int i = 0; i <= N; i++)
+ std::cout<<"C("<::Do();
+ Test<15, CatalanNumbersDirectBinomialCoefficient>::Do();
+ Test<15, CatalanNumbersRecursiveFraction>::Do();
+ Test<15, CatalanNumbersRecursiveSum>::Do();
+ return 0;
+ }
diff --git a/Task/Catalan-numbers/C++/catalan-numbers-5.cpp b/Task/Catalan-numbers/C++/catalan-numbers-5.cpp
new file mode 100644
index 0000000000..ebe93400fe
--- /dev/null
+++ b/Task/Catalan-numbers/C++/catalan-numbers-5.cpp
@@ -0,0 +1,16 @@
+// Generate Catalan Numbers
+//
+// Nigel Galloway: June 9th., 2012
+//
+#include
+int main() {
+ const int N = 15;
+ int t[N+2] = {0,1};
+ for(int i = 1; i<=N; i++){
+ for(int j = i; j>1; j--) t[j] = t[j] + t[j-1];
+ t[i+1] = t[i];
+ for(int j = i+1; j>1; j--) t[j] = t[j] + t[j-1];
+ std::cout << t[i+1] - t[i] << " ";
+ }
+ return 0;
+}
diff --git a/Task/Catalan-numbers/C/catalan-numbers-1.c b/Task/Catalan-numbers/C/catalan-numbers-1.c
new file mode 100644
index 0000000000..e53382ede7
--- /dev/null
+++ b/Task/Catalan-numbers/C/catalan-numbers-1.c
@@ -0,0 +1,46 @@
+#include
+
+typedef unsigned long long ull;
+
+ull binomial(ull m, ull n)
+{
+ ull r = 1, d = m - n;
+ if (d > n) { n = d; d = m - n; }
+
+ while (m > n) {
+ r *= m--;
+ while (d > 1 && ! (r%d) ) r /= d--;
+ }
+
+ return r;
+}
+
+ull catalan1(int n) {
+ return binomial(2 * n, n) / (1 + n);
+}
+
+ull catalan2(int n) {
+ int i;
+ ull r = !n;
+
+ for (i = 0; i < n; i++)
+ r += catalan2(i) * catalan2(n - 1 - i);
+ return r;
+}
+
+ull catalan3(int n)
+{
+ return n ? 2 * (2 * n - 1) * catalan3(n - 1) / (1 + n) : 1;
+}
+
+int main(void)
+{
+ int i;
+ puts("\tdirect\tsumming\tfrac");
+ for (i = 0; i < 16; i++) {
+ printf("%d\t%llu\t%llu\t%llu\n", i,
+ catalan1(i), catalan2(i), catalan3(i));
+ }
+
+ return 0;
+}
diff --git a/Task/Catalan-numbers/C/catalan-numbers-2.c b/Task/Catalan-numbers/C/catalan-numbers-2.c
new file mode 100644
index 0000000000..7ee219e92c
--- /dev/null
+++ b/Task/Catalan-numbers/C/catalan-numbers-2.c
@@ -0,0 +1,114 @@
+namespace CatalanNumbers
+{
+ ///
+ /// Class that holds all options.
+ ///
+ public class CatalanNumberGenerator
+ {
+ private static double Factorial(double n)
+ {
+ if (n == 0)
+ return 1;
+
+ return n * Factorial(n - 1);
+ }
+
+ public double FirstOption(double n)
+ {
+ const double topMultiplier = 2;
+ return Factorial(topMultiplier * n) / (Factorial(n + 1) * Factorial(n));
+ }
+
+ public double SecondOption(double n)
+ {
+ if (n == 0)
+ {
+ return 1;
+ }
+ double sum = 0;
+ double i = 0;
+ for (; i <= (n - 1); i++)
+ {
+ sum += SecondOption(i) * SecondOption((n - 1) - i);
+ }
+ return sum;
+ }
+
+ public double ThirdOption(double n)
+ {
+ if (n == 0)
+ {
+ return 1;
+ }
+ return ((2 * (2 * n - 1)) / (n + 1)) * ThirdOption(n - 1);
+ }
+ }
+}
+
+
+// Program.cs
+using System;
+using System.Configuration;
+
+// Main program
+// Be sure to add the following to the App.config file and add a reference to System.Configuration:
+//
+//
+//
+//
+//
+//
+//
+namespace CatalanNumbers
+{
+ class Program
+ {
+ static void Main(string[] args)
+ {
+ CatalanNumberGenerator generator = new CatalanNumberGenerator();
+ int i = 0;
+ DateTime initial;
+ DateTime final;
+ TimeSpan ts;
+
+ try
+ {
+ initial = DateTime.Now;
+ for (; i <= Convert.ToInt32(ConfigurationManager.AppSettings["MaxCatalanNumber"]); i++)
+ {
+ Console.WriteLine("CatalanNumber({0}):{1}", i, generator.FirstOption(i));
+ }
+ final = DateTime.Now;
+ ts = final - initial;
+ Console.WriteLine("It took {0}.{1} to execute\n", ts.Seconds, ts.Milliseconds);
+
+ i = 0;
+ initial = DateTime.Now;
+ for (; i <= Convert.ToInt32(ConfigurationManager.AppSettings["MaxCatalanNumber"]); i++)
+ {
+ Console.WriteLine("CatalanNumber({0}):{1}", i, generator.SecondOption(i));
+ }
+ final = DateTime.Now;
+ ts = final - initial;
+ Console.WriteLine("It took {0}.{1} to execute\n", ts.Seconds, ts.Milliseconds);
+
+ i = 0;
+ initial = DateTime.Now;
+ for (; i <= Convert.ToInt32(ConfigurationManager.AppSettings["MaxCatalanNumber"]); i++)
+ {
+ Console.WriteLine("CatalanNumber({0}):{1}", i, generator.ThirdOption(i));
+ }
+ final = DateTime.Now;
+ ts = final - initial;
+ Console.WriteLine("It took {0}.{1} to execute", ts.Seconds, ts.Milliseconds, ts.TotalMilliseconds);
+ Console.ReadLine();
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine("Stopped at index {0}:", i);
+ Console.WriteLine(ex.Message);
+ Console.ReadLine();
+ }
+ }
+ }
+}
diff --git a/Task/Catalan-numbers/Clojure/catalan-numbers.clj b/Task/Catalan-numbers/Clojure/catalan-numbers.clj
new file mode 100644
index 0000000000..57fb520b3a
--- /dev/null
+++ b/Task/Catalan-numbers/Clojure/catalan-numbers.clj
@@ -0,0 +1,17 @@
+(def ! (memoize #(apply * (range 1 (inc %)))))
+
+(defn catalan-numbers-direct []
+ (map #(/ (! (* 2 %))
+ (* (! (inc %)) (! %))) (range)))
+
+(def catalan-numbers-recursive
+ #(->> [1 1] ; [c0 n1]
+ (iterate (fn [[c n]]
+ [(* 2 (dec (* 2 n)) (/ (inc n)) c) (inc n)]) ,)
+ (map first ,)))
+
+user> (take 15 (catalan-numbers-direct))
+(1 1 2 5 14 42 132 429 1430 4862 16796 58786 208012 742900 2674440)
+
+user> (take 15 (catalan-numbers-recursive))
+(1 1 2 5 14 42 132 429 1430 4862 16796 58786 208012 742900 2674440)
diff --git a/Task/Catalan-numbers/Common-Lisp/catalan-numbers.lisp b/Task/Catalan-numbers/Common-Lisp/catalan-numbers.lisp
new file mode 100644
index 0000000000..90dc815c36
--- /dev/null
+++ b/Task/Catalan-numbers/Common-Lisp/catalan-numbers.lisp
@@ -0,0 +1,28 @@
+(defun catalan1 (n)
+ ;; factorial. CLISP actually has "!" defined for this
+ (labels ((! (x) (if (zerop x) 1 (* x (! (1- x))))))
+ (/ (! (* 2 n)) (! (1+ n)) (! n))))
+
+;; cache
+(defparameter *catalans* (make-array 5
+ :fill-pointer 0
+ :adjustable t
+ :element-type 'integer))
+(defun catalan2 (n)
+ (if (zerop n) 1
+ ;; check cache
+ (if (< n (length *catalans*)) (aref *catalans* n)
+ (loop with c = 0 for i from 0 to (1- n) collect
+ (incf c (* (catalan2 i) (catalan2 (- n 1 i))))
+ ;; lower values always get calculated first, so
+ ;; vector-push-extend is safe
+ finally (progn (vector-push-extend c *catalans*) (return c))))))
+
+(defun catalan3 (n)
+ (if (zerop n) 1 (/ (* 2 (+ n n -1) (catalan3 (1- n))) (1+ n))))
+
+;;; test all three methods
+(loop for f in (list #'catalan1 #'catalan2 #'catalan3)
+ for i from 1 to 3 do
+ (format t "~%Method ~d:~%" i)
+ (dotimes (i 16) (format t "C(~2d) = ~d~%" i (funcall f i))))
diff --git a/Task/Catalan-numbers/D/catalan-numbers.d b/Task/Catalan-numbers/D/catalan-numbers.d
new file mode 100644
index 0000000000..a5e7fd5651
--- /dev/null
+++ b/Task/Catalan-numbers/D/catalan-numbers.d
@@ -0,0 +1,29 @@
+import std.stdio, std.bigint, std.functional;
+
+BigInt factorial(uint n) {
+ alias memoize!factorial mfact;
+ return n ? mfact(n - 1) * n : BigInt(1);
+}
+
+auto cats1(uint n) {
+ return factorial(2 * n) / (factorial(n + 1) * factorial(n));
+}
+
+BigInt cats2(uint n) {
+ alias memoize!cats2 mcats2;
+ if (n == 0) return BigInt(1);
+ auto sum = BigInt(0);
+ foreach (i; 0 .. n)
+ sum += mcats2(i) * mcats2(n - 1 - i);
+ return sum;
+}
+
+BigInt cats3(uint n) {
+ alias memoize!cats3 mcats3;
+ return n ? (4*n - 2) * mcats3(n - 1) / (n + 1) : BigInt(1);
+}
+
+void main() {
+ foreach (i; 0 .. 15)
+ writefln("%2d => %s %s %s", i, cats1(i), cats2(i), cats3(i));
+}
diff --git a/Task/Catalan-numbers/Erlang/catalan-numbers.erl b/Task/Catalan-numbers/Erlang/catalan-numbers.erl
new file mode 100644
index 0000000000..a7712f64b3
--- /dev/null
+++ b/Task/Catalan-numbers/Erlang/catalan-numbers.erl
@@ -0,0 +1,30 @@
+-module(catalan).
+
+-export([test/0]).
+
+cat(N) ->
+ factorial(2 * N) div (factorial(N+1) * factorial(N)).
+
+factorial(N) ->
+ fac1(N,1).
+
+fac1(0,Acc) ->
+ Acc;
+fac1(N,Acc) ->
+ fac1(N-1, N * Acc).
+
+cat_r1(0) ->
+ 1;
+cat_r1(N) ->
+ lists:sum([cat_r1(I)*cat_r1(N-1-I) || I <- lists:seq(0,N-1)]).
+
+cat_r2(0) ->
+ 1;
+cat_r2(N) ->
+ cat_r2(N - 1) * (2 * ((2 * N) - 1)) div (N + 1).
+
+test() ->
+ TestList = lists:seq(0,14),
+ io:format("Directly:\n~p\n",[[cat(N) || N <- TestList]]),
+ io:format("1st recusive method:\n~p\n",[[cat_r1(N) || N <- TestList]]),
+ io:format("2nd recusive method:\n~p\n",[[cat_r2(N) || N <- TestList]]).
diff --git a/Task/Catalan-numbers/Euphoria/catalan-numbers.euphoria b/Task/Catalan-numbers/Euphoria/catalan-numbers.euphoria
new file mode 100644
index 0000000000..c57c8bc2a8
--- /dev/null
+++ b/Task/Catalan-numbers/Euphoria/catalan-numbers.euphoria
@@ -0,0 +1,23 @@
+--Catalan number task from Rosetta Code wiki
+--User:Lnettnay
+
+--function from factorial task
+function factorial(integer n)
+atom f = 1
+while n > 1 do
+ f *= n
+ n -= 1
+end while
+
+return f
+end function
+
+function catalan(integer n)
+atom numerator = factorial(2 * n)
+atom denominator = factorial(n+1)*factorial(n)
+return numerator/denominator
+end function
+
+for i = 0 to 15 do
+ ? catalan(i)
+end for
diff --git a/Task/Catalan-numbers/Factor/catalan-numbers.factor b/Task/Catalan-numbers/Factor/catalan-numbers.factor
new file mode 100644
index 0000000000..7c9afc249a
--- /dev/null
+++ b/Task/Catalan-numbers/Factor/catalan-numbers.factor
@@ -0,0 +1,23 @@
+: next ( seq -- newseq )
+ [ ] [ last ] [ length ] tri
+ [ 2 * 1 - 2 * ] [ 1 + ] bi /
+ * suffix ;
+: Catalan ( n -- seq ) V{ 1 } swap 1 - [ next ] times ;
+15 Catalan .
+V{
+ 1
+ 1
+ 2
+ 5
+ 14
+ 42
+ 132
+ 429
+ 1430
+ 4862
+ 16796
+ 58786
+ 208012
+ 742900
+ 2674440
+}
diff --git a/Task/Catalan-numbers/Fantom/catalan-numbers.fantom b/Task/Catalan-numbers/Fantom/catalan-numbers.fantom
new file mode 100644
index 0000000000..4da2be500f
--- /dev/null
+++ b/Task/Catalan-numbers/Fantom/catalan-numbers.fantom
@@ -0,0 +1,52 @@
+class Main
+{
+ static Int factorial (Int n)
+ {
+ Int res := 1
+ if (n>1)
+ (2..n).each |i| { res *= i }
+ return res
+ }
+
+ static Int catalanA (Int n)
+ {
+ return factorial(2*n)/(factorial(n+1) * factorial(n))
+ }
+
+ static Int catalanB (Int n)
+ {
+ if (n == 0)
+ {
+ return 1
+ }
+ else
+ {
+ sum := 0
+ n.times |i| { sum += catalanB(i) * catalanB(n-1-i) }
+ return sum
+ }
+ }
+
+ static Int catalanC (Int n)
+ {
+ if (n == 0)
+ {
+ return 1
+ }
+ else
+ {
+ return catalanC(n-1)*2*(2*n-1)/(n+1)
+ }
+ }
+
+ public static Void main ()
+ {
+ (1..15).each |n|
+ {
+ echo (n.toStr.padl(4) +
+ catalanA(n).toStr.padl(10) +
+ catalanB(n).toStr.padl(10) +
+ catalanC(n).toStr.padl(10))
+ }
+ }
+}
diff --git a/Task/Catalan-numbers/Forth/catalan-numbers.fth b/Task/Catalan-numbers/Forth/catalan-numbers.fth
new file mode 100644
index 0000000000..96d4c780cb
--- /dev/null
+++ b/Task/Catalan-numbers/Forth/catalan-numbers.fth
@@ -0,0 +1 @@
+: catalan ( n -- ) 1 swap 1+ 1 do dup cr . i 2* 1- 2* i 1+ */ loop drop ;
diff --git a/Task/Catalan-numbers/Fortran/catalan-numbers.f b/Task/Catalan-numbers/Fortran/catalan-numbers.f
new file mode 100644
index 0000000000..55f2da808b
--- /dev/null
+++ b/Task/Catalan-numbers/Fortran/catalan-numbers.f
@@ -0,0 +1,44 @@
+program main
+ !=======================================================================================
+ implicit none
+
+ !=== Local data
+ integer :: n
+
+ !=== External procedures
+ double precision, external :: catalan_numbers
+
+ !=== Execution =========================================================================
+
+ write(*,'(1x,a)')'==============='
+ write(*,'(5x,a,6x,a)')'n','c(n)'
+ write(*,'(1x,a)')'---------------'
+
+ do n = 0, 14
+ write(*,'(1x,i5,i10)') n, int(catalan_numbers(n))
+ enddo
+
+ write(*,'(1x,a)')'==============='
+
+ !=======================================================================================
+end program main
+!BL
+!BL
+!BL
+double precision recursive function catalan_numbers(n) result(value)
+ !=======================================================================================
+ implicit none
+
+ !=== Input, ouput data
+ integer, intent(in) :: n
+
+ !=== Execution =========================================================================
+
+ if ( n .eq. 0 ) then
+ value = 1
+ else
+ value = ( 2.0d0 * dfloat(2 * n - 1) / dfloat( n + 1 ) ) * catalan_numbers(n-1)
+ endif
+
+ !=======================================================================================
+end function catalan_numbers
diff --git a/Task/Catalan-numbers/Frink/catalan-numbers.frink b/Task/Catalan-numbers/Frink/catalan-numbers.frink
new file mode 100644
index 0000000000..d033afda37
--- /dev/null
+++ b/Task/Catalan-numbers/Frink/catalan-numbers.frink
@@ -0,0 +1,3 @@
+catalan[n] := binomial[2n,n]/(n+1)
+for n = 0 to 15
+ println[catalan[n]]
diff --git a/Task/Catalan-numbers/GAP/catalan-numbers.gap b/Task/Catalan-numbers/GAP/catalan-numbers.gap
new file mode 100644
index 0000000000..7a6b5b59ad
--- /dev/null
+++ b/Task/Catalan-numbers/GAP/catalan-numbers.gap
@@ -0,0 +1,34 @@
+Catalan1 := function(n)
+ return Binomial(2*n, n) - Binomial(2*n, n - 1);
+end;
+
+Catalan2 := function(n)
+ return Binomial(2*n, n)/(n + 1);
+end;
+
+Catalan3 := function(n)
+ local k, c;
+ c := 1;
+ k := 0;
+ while k < n do
+ k := k + 1;
+ c := 2*(2*k - 1)*c/(k + 1);
+ od;
+ return c;
+end;
+
+Catalan4_memo := [1];
+Catalan4 := function(n)
+ if not IsBound(Catalan4_memo[n + 1]) then
+ Catalan4_memo[n + 1] := Sum([0 .. n - 1], i -> Catalan4(i)*Catalan4(n - 1 - i));
+ fi;
+ return Catalan4_memo[n + 1];
+end;
+
+# The first fifteen: 0 to 14 !
+List([0 .. 14], n -> Catalan1(n));
+List([0 .. 14], n -> Catalan2(n));
+List([0 .. 14], n -> Catalan3(n));
+List([0 .. 14], n -> Catalan4(n));
+# Same output for all four:
+# [ 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440 ]
diff --git a/Task/Catalan-numbers/Go/catalan-numbers.go b/Task/Catalan-numbers/Go/catalan-numbers.go
new file mode 100644
index 0000000000..720dce4ee3
--- /dev/null
+++ b/Task/Catalan-numbers/Go/catalan-numbers.go
@@ -0,0 +1,13 @@
+package main
+
+import (
+ "fmt"
+ "math/big"
+)
+
+func main() {
+ var b, c big.Int
+ for n := int64(0); n < 15; n++ {
+ fmt.Println(c.Div(b.Binomial(n*2, n), c.SetInt64(n+1)))
+ }
+}
diff --git a/Task/Catalan-numbers/Haskell/catalan-numbers.hs b/Task/Catalan-numbers/Haskell/catalan-numbers.hs
new file mode 100644
index 0000000000..00a17a0428
--- /dev/null
+++ b/Task/Catalan-numbers/Haskell/catalan-numbers.hs
@@ -0,0 +1,10 @@
+-- Three infinite lists, corresponding to the three definitions in the problem
+-- statement.
+
+cats1 = map (\n -> product [n+2..2*n] `div` product [1..n]) [0..]
+
+cats2 = 1 : map (\n -> sum $ zipWith (*) (reverse (take n cats2)) cats2) [1..]
+
+cats3 = scanl (\c n -> c*2*(2*n-1) `div` (n+1)) 1 [1..]
+
+main = mapM_ (print . take 15) [cats1, cats2, cats3]
diff --git a/Task/Catalan-numbers/Icon/catalan-numbers.icon b/Task/Catalan-numbers/Icon/catalan-numbers.icon
new file mode 100644
index 0000000000..d7ddd341a2
--- /dev/null
+++ b/Task/Catalan-numbers/Icon/catalan-numbers.icon
@@ -0,0 +1,11 @@
+procedure main(arglist)
+every writes(catalan(i)," ")
+end
+
+procedure catalan(n) # return catalan(n) or fail
+static M
+initial M := table()
+
+if n > 0 then
+ return (n = 1) | \M[n] | ( M[n] := (2*(2*n-1)*catalan(n-1))/(n+1))
+end
diff --git a/Task/Catalan-numbers/J/catalan-numbers.j b/Task/Catalan-numbers/J/catalan-numbers.j
new file mode 100644
index 0000000000..2032cd303c
--- /dev/null
+++ b/Task/Catalan-numbers/J/catalan-numbers.j
@@ -0,0 +1,2 @@
+ ((! +:) % >:) i.15x
+1 1 2 5 14 42 132 429 1430 4862 16796 58786 208012 742900 2674440
diff --git a/Task/Catalan-numbers/Java/catalan-numbers.java b/Task/Catalan-numbers/Java/catalan-numbers.java
new file mode 100644
index 0000000000..9c28e64c68
--- /dev/null
+++ b/Task/Catalan-numbers/Java/catalan-numbers.java
@@ -0,0 +1,65 @@
+import java.util.HashMap;
+import java.util.Map;
+
+public class Catalan {
+ private static final Map facts = new HashMap();
+ private static final Map catsI = new HashMap();
+ private static final Map catsR1 = new HashMap();
+ private static final Map catsR2 = new HashMap();
+
+ static{//pre-load the memoization maps with some answers
+ facts.put(0L, 1D);
+ facts.put(1L, 1D);
+ facts.put(2L, 2D);
+
+ catsI.put(0L, 1D);
+ catsR1.put(0L, 1D);
+ catsR2.put(0L, 1D);
+ }
+
+ private static double fact(long n){
+ if(facts.containsKey(n)){
+ return facts.get(n);
+ }
+ double fact = 1;
+ for(long i = 2; i <= n; i++){
+ fact *= i; //could be further optimized, but it would probably be ugly
+ }
+ facts.put(n, fact);
+ return fact;
+ }
+
+ private static double catI(long n){
+ if(!catsI.containsKey(n)){
+ catsI.put(n, fact(2 * n)/(fact(n+1)*fact(n)));
+ }
+ return catsI.get(n);
+ }
+
+ private static double catR1(long n){
+ if(catsR1.containsKey(n)){
+ return catsR1.get(n);
+ }
+ double sum = 0;
+ for(int i = 0; i < n; i++){
+ sum += catR1(i) * catR1(n - 1 - i);
+ }
+ catsR1.put(n, sum);
+ return sum;
+ }
+
+ private static double catR2(long n){
+ if(!catsR2.containsKey(n)){
+ catsR2.put(n, ((2.0*(2*(n-1) + 1))/(n + 1)) * catR2(n-1));
+ }
+ return catsR2.get(n);
+ }
+
+ public static void main(String[] args){
+ for(int i = 0; i <= 15; i++){
+ System.out.println(catI(i));
+ System.out.println(catR1(i));
+ System.out.println(catR2(i));
+ }
+ }
+}
diff --git a/Task/Catalan-numbers/JavaScript/catalan-numbers-1.js b/Task/Catalan-numbers/JavaScript/catalan-numbers-1.js
new file mode 100644
index 0000000000..ffea51d934
--- /dev/null
+++ b/Task/Catalan-numbers/JavaScript/catalan-numbers-1.js
@@ -0,0 +1,29 @@
+Catalan
+
diff --git a/Task/Catalan-numbers/JavaScript/catalan-numbers-2.js b/Task/Catalan-numbers/JavaScript/catalan-numbers-2.js
new file mode 100644
index 0000000000..2327812afd
--- /dev/null
+++ b/Task/Catalan-numbers/JavaScript/catalan-numbers-2.js
@@ -0,0 +1,17 @@
+ meth1 meth2 meth3
+0 1 1 1
+1 1 1 1
+2 2 2 2
+3 5 5 5
+4 14 14 14
+5 42 42 42
+6 132 132 132
+7 429 429 429
+8 1430 1430 1430
+9 4862 4862 4862
+10 16796 16796 16796
+11 58786 58786 58786
+12 208012 208012 208012
+13 742900 742900 742900
+14 2674440 2674440 2674440
+15 9694845 9694845 9694845
diff --git a/Task/Catalan-numbers/Julia/catalan-numbers.julia b/Task/Catalan-numbers/Julia/catalan-numbers.julia
new file mode 100644
index 0000000000..a01697bae4
--- /dev/null
+++ b/Task/Catalan-numbers/Julia/catalan-numbers.julia
@@ -0,0 +1,3 @@
+function catalan(n)
+ binomial(2n,n)/(n+1)
+end
diff --git a/Task/Catalan-numbers/K/catalan-numbers.k b/Task/Catalan-numbers/K/catalan-numbers.k
new file mode 100644
index 0000000000..1271cb5214
--- /dev/null
+++ b/Task/Catalan-numbers/K/catalan-numbers.k
@@ -0,0 +1,3 @@
+ catalan: {_{*/(x-i)%1+i:!y-1}[2*x;x+1]%x+1}
+ catalan'!:15
+1 1 2 5 14 42 132 429 1430 4862 16796 58786 208012 742900 2674440
diff --git a/Task/Catalan-numbers/Liberty-BASIC/catalan-numbers.liberty b/Task/Catalan-numbers/Liberty-BASIC/catalan-numbers.liberty
new file mode 100644
index 0000000000..5fb6afbb21
--- /dev/null
+++ b/Task/Catalan-numbers/Liberty-BASIC/catalan-numbers.liberty
@@ -0,0 +1,53 @@
+print "non-recursive version"
+print catNonRec(5)
+for i = 0 to 15
+ print i;" = "; catNonRec(i)
+next
+print
+
+print "recursive version"
+print catRec(5)
+for i = 0 to 15
+ print i;" = "; catRec(i)
+next
+print
+
+print "recursive with memoisation"
+redim cats(20) 'clear the array
+print catRecMemo(5)
+for i = 0 to 15
+ print i;" = "; catRecMemo(i)
+next
+print
+
+
+wait
+
+function catNonRec(n) 'non-recursive version
+ catNonRec=1
+ for i=1 to n
+ catNonRec=((2*((2*i)-1))/(i+1))*catNonRec
+ next
+end function
+
+function catRec(n) 'recursive version
+ if n=0 then
+ catRec=1
+ else
+ catRec=((2*((2*n)-1))/(n+1))*catRec(n-1)
+ end if
+end function
+
+function catRecMemo(n) 'recursive version with memoisation
+ if n=0 then
+ catRecMemo=1
+ else
+ if cats(n-1)=0 then 'call it recursively only if not already calculated
+ prev = catRecMemo(n-1)
+ else
+ prev = cats(n-1)
+ end if
+ catRecMemo=((2*((2*n)-1))/(n+1))*prev
+ end if
+ cats(n) = catRecMemo 'memoisation for future use
+end function
diff --git a/Task/Catalan-numbers/Lua/catalan-numbers.lua b/Task/Catalan-numbers/Lua/catalan-numbers.lua
new file mode 100644
index 0000000000..605c9ece10
--- /dev/null
+++ b/Task/Catalan-numbers/Lua/catalan-numbers.lua
@@ -0,0 +1,13 @@
+-- recursive with memoization
+catalan = {[0] = 1}
+setmetatable(catalan, {
+ __index = function(c, n)
+ c[n] = c[n-1]*2*(2*n-1)/(n+1)
+ return c[n]
+ end
+ }
+)
+
+for i=0,14 do
+ print(catalan[i])
+end
diff --git a/Task/Catalan-numbers/MATLAB/catalan-numbers-1.m b/Task/Catalan-numbers/MATLAB/catalan-numbers-1.m
new file mode 100644
index 0000000000..07ec109bca
--- /dev/null
+++ b/Task/Catalan-numbers/MATLAB/catalan-numbers-1.m
@@ -0,0 +1,5 @@
+function n = catalanNumbers(n)
+ for i = (1:length(n))
+ n(i) = (1/(n(i)+1))*nchoosek(2*n(i),n(i));
+ end
+end
diff --git a/Task/Catalan-numbers/MATLAB/catalan-numbers-2.m b/Task/Catalan-numbers/MATLAB/catalan-numbers-2.m
new file mode 100644
index 0000000000..37dcf3fb59
--- /dev/null
+++ b/Task/Catalan-numbers/MATLAB/catalan-numbers-2.m
@@ -0,0 +1,3 @@
+function n = catalanNumbers(n)
+ n = prod(n+1:2*n)/prod(1:n+1);
+end
diff --git a/Task/Catalan-numbers/MATLAB/catalan-numbers-3.m b/Task/Catalan-numbers/MATLAB/catalan-numbers-3.m
new file mode 100644
index 0000000000..db449e504a
--- /dev/null
+++ b/Task/Catalan-numbers/MATLAB/catalan-numbers-3.m
@@ -0,0 +1,28 @@
+>> catalanNumbers(14)
+
+ans =
+
+ 2674440
+
+>> catalanNumbers((0:17))'
+
+ans =
+
+ 1
+ 1
+ 2
+ 5
+ 14
+ 42
+ 132
+ 429
+ 1430
+ 4862
+ 16796
+ 58786
+ 208012
+ 742900
+ 2674440
+ 9694845
+ 35357670
+ 129644790
diff --git a/Task/Catalan-numbers/Mathematica/catalan-numbers-1.math b/Task/Catalan-numbers/Mathematica/catalan-numbers-1.math
new file mode 100644
index 0000000000..b435724ef2
--- /dev/null
+++ b/Task/Catalan-numbers/Mathematica/catalan-numbers-1.math
@@ -0,0 +1 @@
+CatalanN[n_Integer /; n >= 0] := (2 n)!/((n + 1)! n!)
diff --git a/Task/Catalan-numbers/Mathematica/catalan-numbers-2.math b/Task/Catalan-numbers/Mathematica/catalan-numbers-2.math
new file mode 100644
index 0000000000..5bec016db9
--- /dev/null
+++ b/Task/Catalan-numbers/Mathematica/catalan-numbers-2.math
@@ -0,0 +1,18 @@
+TableForm[CatalanN/@Range[0,15]]
+//TableForm=
+1
+1
+2
+5
+14
+42
+132
+429
+1430
+4862
+16796
+58786
+208012
+742900
+2674440
+9694845
diff --git a/Task/Catalan-numbers/Maxima/catalan-numbers.maxima b/Task/Catalan-numbers/Maxima/catalan-numbers.maxima
new file mode 100644
index 0000000000..7e9cf32abc
--- /dev/null
+++ b/Task/Catalan-numbers/Maxima/catalan-numbers.maxima
@@ -0,0 +1,11 @@
+/* The following is an array function, hence the square brackets. It uses memoization automatically */
+cata[n] := sum(cata[i]*cata[n - 1 - i], i, 0, n - 1)$
+cata[0]: 1$
+
+cata2(n) := binomial(2*n, n)/(n + 1)$
+
+makelist(cata[n], n, 0, 14);
+
+makelist(cata2(n), n, 0, 14);
+
+/* both return [1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440] */
diff --git a/Task/Catalan-numbers/PARI-GP/catalan-numbers-1.pari b/Task/Catalan-numbers/PARI-GP/catalan-numbers-1.pari
new file mode 100644
index 0000000000..146c37dddd
--- /dev/null
+++ b/Task/Catalan-numbers/PARI-GP/catalan-numbers-1.pari
@@ -0,0 +1 @@
+Catalan(n)=binomial(2*n,n+1)/n
diff --git a/Task/Catalan-numbers/PARI-GP/catalan-numbers-2.pari b/Task/Catalan-numbers/PARI-GP/catalan-numbers-2.pari
new file mode 100644
index 0000000000..4b55d02750
--- /dev/null
+++ b/Task/Catalan-numbers/PARI-GP/catalan-numbers-2.pari
@@ -0,0 +1 @@
+Catalan(n)=(2*n)!/(n+1)!/n!
diff --git a/Task/Catalan-numbers/PARI-GP/catalan-numbers-3.pari b/Task/Catalan-numbers/PARI-GP/catalan-numbers-3.pari
new file mode 100644
index 0000000000..a5f3f8e4fb
--- /dev/null
+++ b/Task/Catalan-numbers/PARI-GP/catalan-numbers-3.pari
@@ -0,0 +1 @@
+Catalan(n)=prod(k=n+2,2*n,k)/prod(k=2,n,k)
diff --git a/Task/Catalan-numbers/PARI-GP/catalan-numbers-4.pari b/Task/Catalan-numbers/PARI-GP/catalan-numbers-4.pari
new file mode 100644
index 0000000000..d6cb360be0
--- /dev/null
+++ b/Task/Catalan-numbers/PARI-GP/catalan-numbers-4.pari
@@ -0,0 +1,6 @@
+Catalan(n)={
+ my(t=1);
+ for(k=n+2,2*n,t*=k);
+ for(k=2,n,t/=k);
+ t
+};
diff --git a/Task/Catalan-numbers/PARI-GP/catalan-numbers-5.pari b/Task/Catalan-numbers/PARI-GP/catalan-numbers-5.pari
new file mode 100644
index 0000000000..43202f8b66
--- /dev/null
+++ b/Task/Catalan-numbers/PARI-GP/catalan-numbers-5.pari
@@ -0,0 +1 @@
+vector(15,n,Catalan(n))
diff --git a/Task/Catalan-numbers/PHP/catalan-numbers.php b/Task/Catalan-numbers/PHP/catalan-numbers.php
new file mode 100644
index 0000000000..995bf60212
--- /dev/null
+++ b/Task/Catalan-numbers/PHP/catalan-numbers.php
@@ -0,0 +1,33 @@
+ 1);
+
+ private function fill_cache($i)
+ {
+ $accum = 0;
+ $n = $i-1;
+ for($k = 0; $k <= $n; $k++)
+ {
+ $accum += $this->item($k)*$this->item($n-$k);
+ }
+ self::$cache[$i] = $accum;
+ }
+ function item($i)
+ {
+ if (!isset(self::$cache[$i]))
+ {
+ $this->fill_cache($i);
+ }
+ return self::$cache[$i];
+ }
+}
+
+$cn = new CatalanNumbersSerie();
+for($i = 0; $i <= 15;$i++)
+{
+ $r = $cn->item($i);
+ echo "$i = $r\r\n";
+}
+?>
diff --git a/Task/Catalan-numbers/PL-I/catalan-numbers.pli b/Task/Catalan-numbers/PL-I/catalan-numbers.pli
new file mode 100644
index 0000000000..1031da791a
--- /dev/null
+++ b/Task/Catalan-numbers/PL-I/catalan-numbers.pli
@@ -0,0 +1,19 @@
+catalan: procedure options (main); /* 23 February 2012 */
+ declare (i, n) fixed;
+
+ put skip list ('How many catalan numbers do you want?');
+ get list (n);
+
+ do i = 0 to n;
+ put skip list (c(i));
+ end;
+
+c: procedure (n) recursive returns (fixed decimal (15));
+ declare n fixed;
+
+ if n <= 1 then return (1);
+
+ return ( 2*(2*n-1) * c(n-1) / (n + 1) );
+end c;
+
+end catalan;
diff --git a/Task/Catalan-numbers/Pascal/catalan-numbers.pascal b/Task/Catalan-numbers/Pascal/catalan-numbers.pascal
new file mode 100644
index 0000000000..65f0124409
--- /dev/null
+++ b/Task/Catalan-numbers/Pascal/catalan-numbers.pascal
@@ -0,0 +1,19 @@
+Program CatalanNumbers(output);
+
+function catalanNumber1(n: integer): double;
+ begin
+ if n = 0 then
+ catalanNumber1 := 1.0
+ else
+ catalanNumber1 := double(4 * n - 2) / double(n + 1) * catalanNumber1(n-1);
+ end;
+
+var
+ number: integer;
+
+begin
+ writeln('Catalan Numbers');
+ writeln('Recursion with a fraction:');
+ for number := 0 to 14 do
+ writeln (number:3, round(catalanNumber1(number)):9);
+end.
diff --git a/Task/Catalan-numbers/Perl-6/catalan-numbers.pl6 b/Task/Catalan-numbers/Perl-6/catalan-numbers.pl6
new file mode 100644
index 0000000000..0c31652ae7
--- /dev/null
+++ b/Task/Catalan-numbers/Perl-6/catalan-numbers.pl6
@@ -0,0 +1,3 @@
+my @catalan := 1, { (state $n)++; 2*(2*$n-1)/($n+1) * $_ } ... *;
+
+.say for @catalan[^15];
diff --git a/Task/Catalan-numbers/Perl/catalan-numbers-1.pl b/Task/Catalan-numbers/Perl/catalan-numbers-1.pl
new file mode 100644
index 0000000000..696d643fa4
--- /dev/null
+++ b/Task/Catalan-numbers/Perl/catalan-numbers-1.pl
@@ -0,0 +1,4 @@
+sub f { $_[0] ? $_[0] * f($_[0]-1) : 1 }
+sub catalan { f(2 * $_[0]) / f($_[0]) / f($_[0]+1) }
+
+print "$_\t@{[ catalan($_) ]}\n" for 0 .. 20;
diff --git a/Task/Catalan-numbers/Perl/catalan-numbers-2.pl b/Task/Catalan-numbers/Perl/catalan-numbers-2.pl
new file mode 100644
index 0000000000..fd21456c07
--- /dev/null
+++ b/Task/Catalan-numbers/Perl/catalan-numbers-2.pl
@@ -0,0 +1,8 @@
+my @c = (1);
+sub catalan {
+ use bigint;
+ $c[$_[0]] //= catalan($_[0]-1) * (4 * $_[0]-2) / ($_[0]+1)
+}
+
+# most of the time is spent displaying the long numbers, actually
+print "$_\t", catalan($_), "\n" for 0 .. 10000;
diff --git a/Task/Catalan-numbers/PicoLisp/catalan-numbers.l b/Task/Catalan-numbers/PicoLisp/catalan-numbers.l
new file mode 100644
index 0000000000..7395367737
--- /dev/null
+++ b/Task/Catalan-numbers/PicoLisp/catalan-numbers.l
@@ -0,0 +1,33 @@
+# Factorial
+(de fact (N)
+ (if (=0 N)
+ 1
+ (* N (fact (dec N))) ) )
+
+# Directly
+(de catalanDir (N)
+ (/ (fact (* 2 N)) (fact (inc N)) (fact N)) )
+
+# Recursively
+(de catalanRec (N)
+ (if (=0 N)
+ 1
+ (cache '(NIL) (pack (char (hash N)) N) # Memoize
+ (sum
+ '((I) (* (catalanRec I) (catalanRec (- N I 1))))
+ (range 0 (dec N)) ) ) ) )
+
+# Alternatively
+(de catalanAlt (N)
+ (if (=0 N)
+ 1
+ (*/ 2 (dec (* 2 N)) (catalanAlt (dec N)) (inc N)) ) )
+
+# Test
+(for (N 0 (> 15 N) (inc N))
+ (tab (2 4 8 8 8)
+ N
+ " => "
+ (catalanDir N)
+ (catalanRec N)
+ (catalanAlt N) ) )
diff --git a/Task/Catalan-numbers/PlainTeX/catalan-numbers.tex b/Task/Catalan-numbers/PlainTeX/catalan-numbers.tex
new file mode 100644
index 0000000000..0b7113ddac
--- /dev/null
+++ b/Task/Catalan-numbers/PlainTeX/catalan-numbers.tex
@@ -0,0 +1,22 @@
+\newcount\n
+\newcount\r
+\newcount\x
+\newcount\ii
+
+\def\catalan#1{%
+ \n#1\advance\n by1\ii1\r1%
+ \loop{%
+ \x\ii%
+ \multiply\x by 2 \advance\x by -1 \multiply\x by 2%
+ \global\multiply\r by\x%
+ \global\advance\ii by1%
+ \global\divide\r by\ii%
+ } \ifnum\number\ii<\n\repeat%
+ \the\r
+}
+
+\rightskip=0pt plus1fil\parindent=0pt
+\loop{${\rm Catalan}(\the\x) = \catalan{\the\x}$\hfil\break}%
+ \advance\x by 1\ifnum\x<15\repeat
+
+\bye
diff --git a/Task/Catalan-numbers/Prolog/catalan-numbers.pro b/Task/Catalan-numbers/Prolog/catalan-numbers.pro
new file mode 100644
index 0000000000..ba46d3eb74
--- /dev/null
+++ b/Task/Catalan-numbers/Prolog/catalan-numbers.pro
@@ -0,0 +1,17 @@
+catalan(N) :-
+ length(L1, N),
+ L = [1 | L1],
+ init(1,1,L1),
+ numlist(0, N, NL),
+ maplist(my_write, NL, L).
+
+
+init(_, _, []).
+
+init(V, N, [H | T]) :-
+ N1 is N+1,
+ H is 2 * (2 * N - 1) * V / N1,
+ init(H, N1, T).
+
+my_write(N, V) :-
+ format('~w : ~w~n', [N, V]).
diff --git a/Task/Catalan-numbers/PureBasic/catalan-numbers.purebasic b/Task/Catalan-numbers/PureBasic/catalan-numbers.purebasic
new file mode 100644
index 0000000000..f37300b150
--- /dev/null
+++ b/Task/Catalan-numbers/PureBasic/catalan-numbers.purebasic
@@ -0,0 +1,23 @@
+; saving the division for last ensures we divide the largest
+; numerator by the smallest denominator
+
+Procedure.q CatalanNumber(n.q)
+If n<0:ProcedureReturn 0:EndIf
+If n=0:ProcedureReturn 1:EndIf
+ProcedureReturn (2*(2*n-1))*CatalanNumber(n-1)/(n+1)
+EndProcedure
+
+ls=25
+rs=12
+
+a.s=""
+a.s+LSet(RSet("n",rs),ls)+"CatalanNumber(n)"
+; cw(a.s)
+Debug a.s
+
+For n=0 to 33 ;33 largest correct quad for n
+a.s=""
+a.s+LSet(RSet(Str(n),rs),ls)+Str(CatalanNumber(n))
+; cw(a.s)
+Debug a.s
+Next
diff --git a/Task/Catalan-numbers/Python/catalan-numbers.py b/Task/Catalan-numbers/Python/catalan-numbers.py
new file mode 100644
index 0000000000..1faf1ea187
--- /dev/null
+++ b/Task/Catalan-numbers/Python/catalan-numbers.py
@@ -0,0 +1,44 @@
+from math import factorial
+import functools
+
+def memoize(func):
+ cache = {}
+ def memoized(key):
+ # Returned, new, memoized version of decorated function
+ if key not in cache:
+ cache[key] = func(key)
+ return cache[key]
+ return functools.update_wrapper(memoized, func)
+
+
+@memoize
+def fact(n):
+ return factorial(n)
+
+def cat_direct(n):
+ return fact(2*n) // fact(n + 1) // fact(n)
+
+@memoize
+def catR1(n):
+ return ( 1 if n == 0
+ else sum( catR1(i) * catR1(n - 1 - i)
+ for i in range(n) ) )
+
+@memoize
+def catR2(n):
+ return ( 1 if n == 0
+ else ( ( 4 * n - 2 ) * catR2( n - 1) ) // ( n + 1 ) )
+
+
+if __name__ == '__main__':
+ def pr(results):
+ fmt = '%-10s %-10s %-10s'
+ print ((fmt % tuple(c.__name__ for c in defs)).upper())
+ print (fmt % (('='*10,)*3))
+ for r in zip(*results):
+ print (fmt % r)
+
+
+ defs = (cat_direct, catR1, catR2)
+ results = [ tuple(c(i) for i in range(15)) for c in defs ]
+ pr(results)
diff --git a/Task/Catalan-numbers/R/catalan-numbers.r b/Task/Catalan-numbers/R/catalan-numbers.r
new file mode 100644
index 0000000000..67ac88e7a1
--- /dev/null
+++ b/Task/Catalan-numbers/R/catalan-numbers.r
@@ -0,0 +1,4 @@
+catalan <- function(n) choose(2*n, n)/(n + 1)
+catalan(1:15)
+# [1] 1 2 5 14 42 132 429 1430 4862
+#[10] 16796 58786 208012 742900 2674440 9694845
diff --git a/Task/Catalan-numbers/REXX/catalan-numbers.rexx b/Task/Catalan-numbers/REXX/catalan-numbers.rexx
new file mode 100644
index 0000000000..e3fb084f46
--- /dev/null
+++ b/Task/Catalan-numbers/REXX/catalan-numbers.rexx
@@ -0,0 +1,47 @@
+/*REXX program calculates Catalan numbers using three different methods.*/
+parse arg bot top . /*get args from the command line.*/
+if bot=='' then do; top=15; bot=0; end /*No args? Use a range of 0 ─► 15*/
+if top=='' then top=bot /*No top? Use the bottom for it.*/
+numeric digits max(20,5*top) /*no limit on big Catalan numbers*/
+w=length(top) /*use W to align Catalan index.*/
+
+say; say center(' Catalan numbers, method 1 ' , 79, '-'); !.=0
+ do m1=bot to top
+ say right(m1,w) '=' catalan1(m1)
+ end /*m1*/
+
+say; say center(' Catalan numbers, method 2 ' , 79, '-'); c.=0; c.0=1
+ do m2=bot to top
+ say right(m2,w) '=' catalan2(m2)
+ end /*m2*/
+
+say; say center(' Catalan numbers, method 3 ' , 79, '-'); c.=0; c.0=1
+ do m3=bot to top
+ say right(m3,w) '=' catalan3(m3)
+ end /*m3*/
+exit /*stick a fork in it, we're done.*/
+
+/*──────────────────────────────────catalan method 1────────────────────*/
+catalan1: procedure expose !.; parse arg n /*n+n is faster than 2*n */
+return !(n+n) % ( (n+1) * !(n)**2 ) /*using COMB would be faster*/
+
+/*──────────────────────────────────catalan method 2────────────────────*/
+catalan2: procedure expose c.; parse arg n; if c.n\==0 then return c.n
+s=0; do j=0 to n-1
+ s=s + catalan2(j) * catalan2(n-j-1) /*recursive invokes.*/
+ end /*j*/
+c.n=s /*use REXX memoization technique.*/
+return s
+
+/*──────────────────────────────────catalan method 3────────────────────*/
+catalan3: procedure expose c.; parse arg n; if c.n\==0 then return c.n
+c.n=(4*n-2) * catalan3(n-1) % (n+1) /*use REXX memoization technique.*/
+return c.n
+
+/*──────────────────────────────────! (factorial) function──────────────*/
+!: procedure expose !.; parse arg x; if !.x\==0 then return !.x; !=1
+ do k=1 for x
+ !=!*k
+ end /*k*/
+!.x=! /*use REXX memoization technique.*/
+return !
diff --git a/Task/Catalan-numbers/Racket/catalan-numbers.rkt b/Task/Catalan-numbers/Racket/catalan-numbers.rkt
new file mode 100644
index 0000000000..a528d4dba1
--- /dev/null
+++ b/Task/Catalan-numbers/Racket/catalan-numbers.rkt
@@ -0,0 +1,12 @@
+#lang racket
+(require planet2)
+; (install "this-and-that") ; uncomment to install
+(require memoize/memo)
+
+(define/memo* (catalan m)
+ (if (= m 0)
+ 1
+ (for/sum ([i m])
+ (* (catalan i) (catalan (- m i 1))))))
+
+(map catalan (range 1 15))
diff --git a/Task/Catalan-numbers/Ruby/catalan-numbers.rb b/Task/Catalan-numbers/Ruby/catalan-numbers.rb
new file mode 100644
index 0000000000..a44b359b87
--- /dev/null
+++ b/Task/Catalan-numbers/Ruby/catalan-numbers.rb
@@ -0,0 +1,42 @@
+# direct
+
+def factorial(n)
+ (1..n).reduce(:*)
+end
+
+def catalan_direct(n)
+ factorial(2*n) / (factorial(n+1) * factorial(n))
+end
+
+# recursive
+
+def catalan_rec1(n)
+ return 1 if n == 0
+ (0..n-1).inject(0) {|sum, i| sum + catalan_rec1(i) * catalan_rec1(n-1-i)}
+end
+
+def catalan_rec2(n)
+ return 1 if n == 0
+ 2*(2*n - 1) * catalan_rec2(n-1) /(n+1)
+end
+
+# performance and results
+
+require 'benchmark'
+require 'memoize'
+include Memoize
+
+Benchmark.bm(10) do |b|
+ b.report('forget') {
+ 16.times {|n| [n, catalan_direct(n), catalan_rec1(n), catalan_rec2(n)]}
+ }
+ b.report('memoized') {
+ memoize :factorial
+ memoize :catalan_direct
+ memoize :catalan_rec1
+ memoize :catalan_rec2
+ 16.times {|n| [n, catalan_direct(n), catalan_rec1(n), catalan_rec2(n)]}
+ }
+end
+
+16.times {|n| p [n, catalan_direct(n), catalan_rec1(n), catalan_rec2(n)]}
diff --git a/Task/Catalan-numbers/Run-BASIC/catalan-numbers.run b/Task/Catalan-numbers/Run-BASIC/catalan-numbers.run
new file mode 100644
index 0000000000..5f93ddb672
--- /dev/null
+++ b/Task/Catalan-numbers/Run-BASIC/catalan-numbers.run
@@ -0,0 +1,11 @@
+FOR i = 1 TO 15
+ PRINT i;" ";catalan(i)
+NEXT
+
+FUNCTION catalan(n)
+ IF n = 0 THEN
+ catalan = 1
+ ELSE
+ catalan = ((2 * ((2 * n) - 1)) / (n + 1)) * catalan(n - 1)
+ END IF
+END FUNCTION
diff --git a/Task/Catalan-numbers/Scala/catalan-numbers.scala b/Task/Catalan-numbers/Scala/catalan-numbers.scala
new file mode 100644
index 0000000000..3fd82d209f
--- /dev/null
+++ b/Task/Catalan-numbers/Scala/catalan-numbers.scala
@@ -0,0 +1,10 @@
+object Catalan {
+ def factorial(n: BigInt) = BigInt(1).to(n).foldLeft(BigInt(1))(_ * _)
+ def catalan(n: BigInt) = factorial(2 * n) / (factorial(n + 1) * factorial(n))
+
+ def main(args: Array[String]) {
+ for (n <- 1 to 15) {
+ println("catalan(" + n + ") = " + catalan(n))
+ }
+ }
+}
diff --git a/Task/Catalan-numbers/Scheme/catalan-numbers.ss b/Task/Catalan-numbers/Scheme/catalan-numbers.ss
new file mode 100644
index 0000000000..2f597c937d
--- /dev/null
+++ b/Task/Catalan-numbers/Scheme/catalan-numbers.ss
@@ -0,0 +1,8 @@
+(define (catalan m)
+ (let loop ((c 1)(n 0))
+ (if (not (eqv? n m))
+ (begin
+ (display n)(display ": ")(display c)(newline)
+ (loop (* (/ (* 2 (- (* 2 (+ n 1)) 1)) (+ (+ n 1) 1)) c) (+ n 1) )))))
+
+(catalan 15)
diff --git a/Task/Catalan-numbers/Standard-ML/catalan-numbers.ml b/Task/Catalan-numbers/Standard-ML/catalan-numbers.ml
new file mode 100644
index 0000000000..3bcf09b2ba
--- /dev/null
+++ b/Task/Catalan-numbers/Standard-ML/catalan-numbers.ml
@@ -0,0 +1,32 @@
+(*
+ * val catalan : int -> int
+ * Returns the nth Catalan number.
+ *)
+fun catalan 0 = 1
+| catalan n = ((4 * n - 2) * catalan(n - 1)) div (n + 1);
+
+(*
+ * val print_catalans : int -> unit
+ * Prints out Catalan numbers 0 through 15.
+ *)
+fun print_catalans(n) =
+ if n > 15 then ()
+ else (print (Int.toString(catalan n) ^ "\n"); print_catalans(n + 1)); print_catalans(0);
+(*
+ * 1
+ * 1
+ * 2
+ * 5
+ * 14
+ * 42
+ * 132
+ * 429
+ * 1430
+ * 4862
+ * 16796
+ * 58786
+ * 208012
+ * 742900
+ * 2674440
+ * 9694845
+ *)
diff --git a/Task/Catalan-numbers/TI-83-BASIC/catalan-numbers.ti-83 b/Task/Catalan-numbers/TI-83-BASIC/catalan-numbers.ti-83
new file mode 100644
index 0000000000..93a815c714
--- /dev/null
+++ b/Task/Catalan-numbers/TI-83-BASIC/catalan-numbers.ti-83
@@ -0,0 +1,3 @@
+:For(I,1,15
+:Disp (2I)!/((I+1)!I!
+:End
diff --git a/Task/Catalan-numbers/Tcl/catalan-numbers-1.tcl b/Task/Catalan-numbers/Tcl/catalan-numbers-1.tcl
new file mode 100644
index 0000000000..1b09dc0b0c
--- /dev/null
+++ b/Task/Catalan-numbers/Tcl/catalan-numbers-1.tcl
@@ -0,0 +1,19 @@
+package require Tcl 8.5
+
+# Memoization wrapper
+proc memoize {function value generator} {
+ variable memoize
+ set key $function,$value
+ if {![info exists memoize($key)]} {
+ set memoize($key) [uplevel 1 $generator]
+ }
+ return $memoize($key)
+}
+
+# The simplest recursive definition
+proc tcl::mathfunc::catalan n {
+ if {[incr n 0] < 0} {error "must not be negative"}
+ memoize catalan $n {expr {
+ $n == 0 ? 1 : 2 * (2*$n - 1) * catalan($n - 1) / ($n + 1)
+ }}
+}
diff --git a/Task/Catalan-numbers/Tcl/catalan-numbers-2.tcl b/Task/Catalan-numbers/Tcl/catalan-numbers-2.tcl
new file mode 100644
index 0000000000..3e25020dff
--- /dev/null
+++ b/Task/Catalan-numbers/Tcl/catalan-numbers-2.tcl
@@ -0,0 +1,3 @@
+for {set i 0} {$i < 15} {incr i} {
+ puts "C_$i = [expr {catalan($i)}]"
+}
diff --git a/Task/Catalan-numbers/Ursala/catalan-numbers.ursala b/Task/Catalan-numbers/Ursala/catalan-numbers.ursala
new file mode 100644
index 0000000000..b005335b45
--- /dev/null
+++ b/Task/Catalan-numbers/Ursala/catalan-numbers.ursala
@@ -0,0 +1,8 @@
+#import std
+#import nat
+
+catalan = quotient^\successor choose^/double ~&
+
+#cast %nL
+
+t = catalan* iota 16
diff --git a/Task/Catalan-numbers/VBA/catalan-numbers.vba b/Task/Catalan-numbers/VBA/catalan-numbers.vba
new file mode 100644
index 0000000000..fac18814d2
--- /dev/null
+++ b/Task/Catalan-numbers/VBA/catalan-numbers.vba
@@ -0,0 +1,34 @@
+Public Sub Catalan1(n As Integer)
+'Computes the first n Catalan numbers according to the first recursion given
+Dim Cat() As Long
+Dim sum As Long
+
+ReDim Cat(n)
+Cat(0) = 1
+For i = 0 To n - 1
+ sum = 0
+ For j = 0 To i
+ sum = sum + Cat(j) * Cat(i - j)
+ Next j
+ Cat(i + 1) = sum
+Next i
+Debug.Print
+For i = 0 To n
+ Debug.Print i, Cat(i)
+Next
+End Sub
+
+Public Sub Catalan2(n As Integer)
+'Computes the first n Catalan numbers according to the second recursion given
+Dim Cat() As Long
+
+ReDim Cat(n)
+Cat(0) = 1
+For i = 1 To n
+ Cat(i) = 2 * Cat(i - 1) * (2 * i - 1) / (i + 1)
+Next i
+Debug.Print
+For i = 0 To n
+ Debug.Print i, Cat(i)
+Next
+End Sub
diff --git a/Task/Catalan-numbers/XPL0/catalan-numbers.xpl0 b/Task/Catalan-numbers/XPL0/catalan-numbers.xpl0
new file mode 100644
index 0000000000..268936f967
--- /dev/null
+++ b/Task/Catalan-numbers/XPL0/catalan-numbers.xpl0
@@ -0,0 +1,9 @@
+code CrLf=9, IntOut=11;
+int C, N;
+[C:= 1;
+IntOut(0, C); CrLf(0);
+for N:= 1 to 14 do
+ [C:= C*2*(2*N-1)/(N+1);
+ IntOut(0, C); CrLf(0);
+ ];
+]
diff --git a/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N/0DESCRIPTION b/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-/0DESCRIPTION
similarity index 100%
rename from Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N/0DESCRIPTION
rename to Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-/0DESCRIPTION
diff --git a/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n-1.cpp b/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n--1.cpp
similarity index 100%
rename from Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n-1.cpp
rename to Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n--1.cpp
diff --git a/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n-2.cpp b/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n--2.cpp
similarity index 100%
rename from Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n-2.cpp
rename to Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n--2.cpp
diff --git a/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n-3.cpp b/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n--3.cpp
similarity index 100%
rename from Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n-3.cpp
rename to Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n--3.cpp
diff --git a/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n-4.cpp b/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n--4.cpp
similarity index 100%
rename from Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n-4.cpp
rename to Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n--4.cpp
diff --git a/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n-5.cpp b/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n--5.cpp
similarity index 100%
rename from Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n-5.cpp
rename to Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n--5.cpp
diff --git a/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n-6.cpp b/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n--6.cpp
similarity index 100%
rename from Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n-6.cpp
rename to Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n--6.cpp
diff --git a/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n-7.cpp b/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n--7.cpp
similarity index 100%
rename from Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n-7.cpp
rename to Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n--7.cpp
diff --git a/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N/Ruby/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n-1.rb b/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-/Ruby/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n--1.rb
similarity index 100%
rename from Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N/Ruby/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n-1.rb
rename to Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-/Ruby/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n--1.rb
diff --git a/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N/Ruby/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n-2.rb b/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-/Ruby/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n--2.rb
similarity index 100%
rename from Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N/Ruby/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n-2.rb
rename to Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-/Ruby/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n--2.rb
diff --git a/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N/Ruby/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n-3.rb b/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-/Ruby/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n--3.rb
similarity index 100%
rename from Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N/Ruby/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n-3.rb
rename to Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-/Ruby/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n--3.rb
diff --git a/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N/Ruby/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n-4.rb b/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-/Ruby/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n--4.rb
similarity index 100%
rename from Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N/Ruby/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n-4.rb
rename to Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-/Ruby/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n--4.rb
diff --git a/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N/Tcl/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n-1.tcl b/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-/Tcl/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n--1.tcl
similarity index 100%
rename from Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N/Tcl/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n-1.tcl
rename to Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-/Tcl/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n--1.tcl
diff --git a/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N/Tcl/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n-2.tcl b/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-/Tcl/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n--2.tcl
similarity index 100%
rename from Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N/Tcl/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n-2.tcl
rename to Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N-/Tcl/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n--2.tcl
diff --git a/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2/0DESCRIPTION b/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2-/0DESCRIPTION
similarity index 100%
rename from Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2/0DESCRIPTION
rename to Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2-/0DESCRIPTION
diff --git a/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2/1META.yaml b/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2-/1META.yaml
similarity index 100%
rename from Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2/1META.yaml
rename to Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2-/1META.yaml
diff --git a/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2-1.cpp b/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2-/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2--1.cpp
similarity index 100%
rename from Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2-1.cpp
rename to Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2-/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2--1.cpp
diff --git a/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2-2.cpp b/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2-/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2--2.cpp
similarity index 100%
rename from Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2-2.cpp
rename to Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2-/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2--2.cpp
diff --git a/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2-3.cpp b/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2-/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2--3.cpp
similarity index 100%
rename from Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2-3.cpp
rename to Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2-/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2--3.cpp
diff --git a/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2-4.cpp b/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2-/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2--4.cpp
similarity index 100%
rename from Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2-4.cpp
rename to Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2-/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2--4.cpp
diff --git a/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2-5.cpp b/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2-/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2--5.cpp
similarity index 100%
rename from Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2-5.cpp
rename to Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2-/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2--5.cpp
diff --git a/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2-6.cpp b/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2-/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2--6.cpp
similarity index 100%
rename from Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2-6.cpp
rename to Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2-/C++/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2--6.cpp
diff --git a/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2/Tcl/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2-1.tcl b/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2-/Tcl/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2--1.tcl
similarity index 100%
rename from Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2/Tcl/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2-1.tcl
rename to Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2-/Tcl/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2--1.tcl
diff --git a/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2/Tcl/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2-2.tcl b/Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2-/Tcl/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2--2.tcl
similarity index 100%
rename from Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2/Tcl/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2-2.tcl
rename to Task/Continued-fraction-Arithmetic-G-matrix-NG,-Contined-Fraction-N1,-Contined-Fraction-N2-/Tcl/continued-fraction-arithmetic-g-matrix-ng,-contined-fraction-n1,-contined-fraction-n2--2.tcl
diff --git a/Task/Copy-a-string/0DESCRIPTION b/Task/Copy-a-string/0DESCRIPTION
new file mode 100644
index 0000000000..8e5efbca12
--- /dev/null
+++ b/Task/Copy-a-string/0DESCRIPTION
@@ -0,0 +1 @@
+This task is about copying a string. Where it is relevant, distinguish between copying the contents of a string versus making an additional reference to an existing string.
diff --git a/Task/Copy-a-string/1META.yaml b/Task/Copy-a-string/1META.yaml
new file mode 100644
index 0000000000..3bdc51ea57
--- /dev/null
+++ b/Task/Copy-a-string/1META.yaml
@@ -0,0 +1,4 @@
+---
+category:
+- String manipulation
+note: Basic language learning
diff --git a/Task/Copy-a-string/ABAP/copy-a-string.abap b/Task/Copy-a-string/ABAP/copy-a-string.abap
new file mode 100644
index 0000000000..d95fe152f3
--- /dev/null
+++ b/Task/Copy-a-string/ABAP/copy-a-string.abap
@@ -0,0 +1,3 @@
+data: lv_string1 type string value 'Test',
+ lv_string2 type string.
+lv_string2 = lv_string1.
diff --git a/Task/Copy-a-string/ALGOL-68/copy-a-string.alg b/Task/Copy-a-string/ALGOL-68/copy-a-string.alg
new file mode 100644
index 0000000000..6b4b0a8a77
--- /dev/null
+++ b/Task/Copy-a-string/ALGOL-68/copy-a-string.alg
@@ -0,0 +1,4 @@
+(
+ STRING src:="Hello", dest;
+ dest:=src
+)
diff --git a/Task/Copy-a-string/AWK/copy-a-string.awk b/Task/Copy-a-string/AWK/copy-a-string.awk
new file mode 100644
index 0000000000..1f1c7b1f0c
--- /dev/null
+++ b/Task/Copy-a-string/AWK/copy-a-string.awk
@@ -0,0 +1,6 @@
+BEGIN {
+ a = "a string"
+ b = a
+ sub(/a/, "X", a) # modify a
+ print b # b is a copy, not a reference to...
+}
diff --git a/Task/Copy-a-string/ActionScript/copy-a-string.as b/Task/Copy-a-string/ActionScript/copy-a-string.as
new file mode 100644
index 0000000000..ef30091021
--- /dev/null
+++ b/Task/Copy-a-string/ActionScript/copy-a-string.as
@@ -0,0 +1,2 @@
+var str1:String = "Hello";
+var str2:String = str1;
diff --git a/Task/Copy-a-string/Ada/copy-a-string-1.ada b/Task/Copy-a-string/Ada/copy-a-string-1.ada
new file mode 100644
index 0000000000..45c6d81f92
--- /dev/null
+++ b/Task/Copy-a-string/Ada/copy-a-string-1.ada
@@ -0,0 +1,2 @@
+Src : String := "Hello";
+Dest : String := Src;
diff --git a/Task/Copy-a-string/Ada/copy-a-string-2.ada b/Task/Copy-a-string/Ada/copy-a-string-2.ada
new file mode 100644
index 0000000000..dd7081031a
--- /dev/null
+++ b/Task/Copy-a-string/Ada/copy-a-string-2.ada
@@ -0,0 +1,3 @@
+Src : String := "Rosetta Stone";
+Dest : String := Src(1..7); -- Assigns "Rosetta" to Dest
+Dest2 : String := Src(9..13); -- Assigns "Stone" to Dest2
diff --git a/Task/Copy-a-string/Ada/copy-a-string-3.ada b/Task/Copy-a-string/Ada/copy-a-string-3.ada
new file mode 100644
index 0000000000..3c40dd4ae0
--- /dev/null
+++ b/Task/Copy-a-string/Ada/copy-a-string-3.ada
@@ -0,0 +1,6 @@
+-- Instantiate the generic package Ada.Strings.Bounded.Generic_Bounded_Length with a maximum length of 80 characters
+package Flexible_String is new Ada.Strings.Bounded.Generic_Bounded_Length(80);
+use Flexible_String;
+
+Src : Bounded_String := To_Bounded_String("Hello");
+Dest : Bounded_String := Src;
diff --git a/Task/Copy-a-string/Ada/copy-a-string-4.ada b/Task/Copy-a-string/Ada/copy-a-string-4.ada
new file mode 100644
index 0000000000..3e4431a025
--- /dev/null
+++ b/Task/Copy-a-string/Ada/copy-a-string-4.ada
@@ -0,0 +1,3 @@
+-- The package Ada.Strings.Unbounded contains the definition of the Unbounded_String type and all its methods
+Src : Unbounded_String := To_Unbounded_String("Hello");
+Dest : Unbounded_String := Src;
diff --git a/Task/Copy-a-string/AutoHotkey/copy-a-string.ahk b/Task/Copy-a-string/AutoHotkey/copy-a-string.ahk
new file mode 100644
index 0000000000..4c9dae06d1
--- /dev/null
+++ b/Task/Copy-a-string/AutoHotkey/copy-a-string.ahk
@@ -0,0 +1,2 @@
+src := "Hello"
+dst := src
diff --git a/Task/Copy-a-string/AutoIt/copy-a-string.autoit b/Task/Copy-a-string/AutoIt/copy-a-string.autoit
new file mode 100644
index 0000000000..21d288ca03
--- /dev/null
+++ b/Task/Copy-a-string/AutoIt/copy-a-string.autoit
@@ -0,0 +1,2 @@
+$Src= "Hello"
+$dest = $Src
diff --git a/Task/Copy-a-string/BBC-BASIC/copy-a-string.bbc b/Task/Copy-a-string/BBC-BASIC/copy-a-string.bbc
new file mode 100644
index 0000000000..99b5babba5
--- /dev/null
+++ b/Task/Copy-a-string/BBC-BASIC/copy-a-string.bbc
@@ -0,0 +1,11 @@
+ source$ = "Hello, world!"
+
+ REM Copy the contents of a string:
+ copy$ = source$
+ PRINT copy$
+
+ REM Make an additional reference to a string:
+ !^same$ = !^source$
+ ?(^same$+4) = ?(^source$+4)
+ ?(^same$+5) = ?(^source$+5)
+ PRINT same$
diff --git a/Task/Copy-a-string/Batch-File/copy-a-string.bat b/Task/Copy-a-string/Batch-File/copy-a-string.bat
new file mode 100644
index 0000000000..5bbb3421c5
--- /dev/null
+++ b/Task/Copy-a-string/Batch-File/copy-a-string.bat
@@ -0,0 +1,2 @@
+set src=Hello
+set dst=%src%
diff --git a/Task/Copy-a-string/Bracmat/copy-a-string.bracmat b/Task/Copy-a-string/Bracmat/copy-a-string.bracmat
new file mode 100644
index 0000000000..20a16618f4
--- /dev/null
+++ b/Task/Copy-a-string/Bracmat/copy-a-string.bracmat
@@ -0,0 +1,8 @@
+abcdef:?a;
+!a:?b;
+
+c=abcdef;
+!c:?d;
+
+!a:!b { variables a and b are the same and probably referencing the same string }
+!a:!d { variables a and d are also the same but not referencing the same string }
diff --git a/Task/Copy-a-string/C++/copy-a-string.cpp b/Task/Copy-a-string/C++/copy-a-string.cpp
new file mode 100644
index 0000000000..18f0a2ec3a
--- /dev/null
+++ b/Task/Copy-a-string/C++/copy-a-string.cpp
@@ -0,0 +1,13 @@
+#include
+#include
+#include
+
+int main( ) {
+ std::string original ( "This is the original" ) ;
+ std::string mycopy( original.length( ) , ' ' ) ;
+ std::copy ( original.begin( ) , original.end( ) , mycopy.begin( ) ) ;
+ std::cout << "This is the copy: " << mycopy << std::endl ;
+ original.assign( "Now we change the original! " ) ;
+ std::cout << "mycopy still is " << mycopy << std::endl ;
+ return 0 ;
+}
diff --git a/Task/Copy-a-string/C/copy-a-string-1.c b/Task/Copy-a-string/C/copy-a-string-1.c
new file mode 100644
index 0000000000..ef532dd080
--- /dev/null
+++ b/Task/Copy-a-string/C/copy-a-string-1.c
@@ -0,0 +1,60 @@
+#include /* exit(), free() */
+#include /* fputs(), perror(), printf() */
+#include
+
+int
+main()
+{
+ size_t len;
+ char src[] = "Hello";
+ char dst1[80], dst2[80];
+ char *dst3, *ref;
+
+ /*
+ * Option 1. Use strcpy() from .
+ *
+ * DANGER! strcpy() can overflow the destination buffer.
+ * strcpy() is only safe if the source string is shorter than
+ * the destination buffer. We know that "Hello" (6 characters
+ * with the final '\0') easily fits in dst1 (80 characters).
+ */
+ strcpy(dst1, src);
+
+ /*
+ * Option 2. Use strlen() and memcpy() from , to copy
+ * strlen(src) + 1 bytes including the final '\0'.
+ */
+ len = strlen(src);
+ if (len >= sizeof dst2) {
+ fputs("The buffer is too small!\n", stderr);
+ exit(1);
+ }
+ memcpy(dst2, src, len + 1);
+
+ /*
+ * Option 3. Use strdup() from , to allocate a copy.
+ */
+ dst3 = strdup(src);
+ if (dst3 == NULL) {
+ /* Failed to allocate memory! */
+ perror("strdup");
+ exit(1);
+ }
+
+ /* Create another reference to the source string. */
+ ref = src;
+
+ /* Modify the source string, not its copies. */
+ memset(src, '-', 5);
+
+ printf(" src: %s\n", src); /* src: ----- */
+ printf("dst1: %s\n", dst1); /* dst1: Hello */
+ printf("dst2: %s\n", dst2); /* dst2: Hello */
+ printf("dst3: %s\n", dst3); /* dst3: Hello */
+ printf(" ref: %s\n", ref); /* ref: ----- */
+
+ /* Free memory from strdup(). */
+ free(dst3);
+
+ return 0;
+}
diff --git a/Task/Copy-a-string/C/copy-a-string-2.c b/Task/Copy-a-string/C/copy-a-string-2.c
new file mode 100644
index 0000000000..3c7c78b53b
--- /dev/null
+++ b/Task/Copy-a-string/C/copy-a-string-2.c
@@ -0,0 +1,22 @@
+#include /* exit() */
+#include /* fputs(), printf() */
+#include
+
+int
+main()
+{
+ char src[] = "Hello";
+ char dst[80];
+
+ /* Use strlcpy() from . */
+ if (strlcpy(dst, src, sizeof dst) >= sizeof dst) {
+ fputs("The buffer is too small!\n", stderr);
+ exit(1);
+ }
+
+ memset(src, '-', 5);
+ printf("src: %s\n", src); /* src: ----- */
+ printf("dst: %s\n", dst); /* dst: Hello */
+
+ return 0;
+}
diff --git a/Task/Copy-a-string/Clojure/copy-a-string.clj b/Task/Copy-a-string/Clojure/copy-a-string.clj
new file mode 100644
index 0000000000..37f9aad8f5
--- /dev/null
+++ b/Task/Copy-a-string/Clojure/copy-a-string.clj
@@ -0,0 +1,3 @@
+(let [s "hello"
+ s1 s]
+ (println s s1))
diff --git a/Task/Copy-a-string/ColdFusion/copy-a-string.cfm b/Task/Copy-a-string/ColdFusion/copy-a-string.cfm
new file mode 100644
index 0000000000..06bd72e314
--- /dev/null
+++ b/Task/Copy-a-string/ColdFusion/copy-a-string.cfm
@@ -0,0 +1,2 @@
+
+
diff --git a/Task/Copy-a-string/Common-Lisp/copy-a-string.lisp b/Task/Copy-a-string/Common-Lisp/copy-a-string.lisp
new file mode 100644
index 0000000000..9f2c274588
--- /dev/null
+++ b/Task/Copy-a-string/Common-Lisp/copy-a-string.lisp
@@ -0,0 +1,10 @@
+(let* ((s1 "Hello") ; s1 is a variable containing a string
+ (s1-ref s1) ; another variable with the same value
+ (s2 (copy-seq s1))) ; s2 has a distinct string object with the same contents
+ (assert (eq s1 s1-ref)) ; same object
+ (assert (not (eq s1 s2))) ; different object
+ (assert (equal s1 s2)) ; same contents
+
+ (fill s2 #\!) ; overwrite s2
+ (princ s1)
+ (princ s2)) ; will print "Hello!!!!!"
diff --git a/Task/Copy-a-string/D/copy-a-string.d b/Task/Copy-a-string/D/copy-a-string.d
new file mode 100644
index 0000000000..38ba8020cb
--- /dev/null
+++ b/Task/Copy-a-string/D/copy-a-string.d
@@ -0,0 +1,12 @@
+void main() {
+ string src = "This is a string";
+
+ // copy contents:
+ auto dest1 = src.idup;
+
+ // copy contents to mutable char array
+ auto dest2 = src.dup;
+
+ // copy just the fat reference of the string
+ auto dest3 = src;
+}
diff --git a/Task/Copy-a-string/Delphi/copy-a-string.delphi b/Task/Copy-a-string/Delphi/copy-a-string.delphi
new file mode 100644
index 0000000000..5ba2759d8b
--- /dev/null
+++ b/Task/Copy-a-string/Delphi/copy-a-string.delphi
@@ -0,0 +1,15 @@
+program CopyString;
+
+{$APPTYPE CONSOLE}
+
+var
+ s1: string;
+ s2: string;
+begin
+ s1 := 'Goodbye';
+ s2 := s1; // S2 points at the same string as S1
+ s2 := s2 + ', World!'; // A new string is created for S2
+
+ Writeln(s1);
+ Writeln(s2);
+end.
diff --git a/Task/Copy-a-string/Erlang/copy-a-string.erl b/Task/Copy-a-string/Erlang/copy-a-string.erl
new file mode 100644
index 0000000000..b9775683e6
--- /dev/null
+++ b/Task/Copy-a-string/Erlang/copy-a-string.erl
@@ -0,0 +1,2 @@
+Src = "Hello".
+Dst = Src.
diff --git a/Task/Copy-a-string/Euphoria/copy-a-string.euphoria b/Task/Copy-a-string/Euphoria/copy-a-string.euphoria
new file mode 100644
index 0000000000..e29173ed2d
--- /dev/null
+++ b/Task/Copy-a-string/Euphoria/copy-a-string.euphoria
@@ -0,0 +1,2 @@
+sequence first = "ABC"
+sequence newOne = first
diff --git a/Task/Copy-a-string/Factor/copy-a-string-1.factor b/Task/Copy-a-string/Factor/copy-a-string-1.factor
new file mode 100644
index 0000000000..465897611b
--- /dev/null
+++ b/Task/Copy-a-string/Factor/copy-a-string-1.factor
@@ -0,0 +1,4 @@
+"This is a mutable string." dup ! reference
+"Let's make a deal!" dup clone ! copy
+"New" " string" append . ! new string
+ "New string"
diff --git a/Task/Copy-a-string/Factor/copy-a-string-2.factor b/Task/Copy-a-string/Factor/copy-a-string-2.factor
new file mode 100644
index 0000000000..a676583d98
--- /dev/null
+++ b/Task/Copy-a-string/Factor/copy-a-string-2.factor
@@ -0,0 +1,2 @@
+SBUF" Grow me!" dup " OK." append
+ SBUF" Grow me! OK."
diff --git a/Task/Copy-a-string/Factor/copy-a-string-3.factor b/Task/Copy-a-string/Factor/copy-a-string-3.factor
new file mode 100644
index 0000000000..8c40326d51
--- /dev/null
+++ b/Task/Copy-a-string/Factor/copy-a-string-3.factor
@@ -0,0 +1,2 @@
+SBUF" I'll be a string someday." >string .
+ "I'll be a string someday."
diff --git a/Task/Copy-a-string/Forth/copy-a-string.fth b/Task/Copy-a-string/Forth/copy-a-string.fth
new file mode 100644
index 0000000000..397617bf0e
--- /dev/null
+++ b/Task/Copy-a-string/Forth/copy-a-string.fth
@@ -0,0 +1,9 @@
+\ Allocate two string buffers
+create stringa 256 allot
+create stringb 256 allot
+
+\ Copy a constant string into a string buffer
+s" Hello" stringa place
+
+\ Copy the contents of one string buffer into another
+stringa count stringb place
diff --git a/Task/Copy-a-string/Fortran/copy-a-string.f b/Task/Copy-a-string/Fortran/copy-a-string.f
new file mode 100644
index 0000000000..4cf51efb9b
--- /dev/null
+++ b/Task/Copy-a-string/Fortran/copy-a-string.f
@@ -0,0 +1 @@
+str2 = str1
diff --git a/Task/Copy-a-string/GAP/copy-a-string.gap b/Task/Copy-a-string/GAP/copy-a-string.gap
new file mode 100644
index 0000000000..876fab4fc5
--- /dev/null
+++ b/Task/Copy-a-string/GAP/copy-a-string.gap
@@ -0,0 +1,13 @@
+#In GAP strings are lists of characters. An affectation simply copy references
+a := "more";
+b := a;
+b{[1..4]} := "less";
+a;
+# "less"
+
+# Here is a true copy
+a := "more";
+b := ShallowCopy(a);
+b{[1..4]} := "less";
+a;
+# "more"
diff --git a/Task/Copy-a-string/GML/copy-a-string.gml b/Task/Copy-a-string/GML/copy-a-string.gml
new file mode 100644
index 0000000000..5669d8cecc
--- /dev/null
+++ b/Task/Copy-a-string/GML/copy-a-string.gml
@@ -0,0 +1,2 @@
+src = "string"
+dest = src
diff --git a/Task/Copy-a-string/GUISS/copy-a-string.guiss b/Task/Copy-a-string/GUISS/copy-a-string.guiss
new file mode 100644
index 0000000000..2c69c2e5ff
--- /dev/null
+++ b/Task/Copy-a-string/GUISS/copy-a-string.guiss
@@ -0,0 +1,3 @@
+Start.Programs,Accessories,Notepad,
+Type:Hello world[pling],Highlight:Hello world[pling],
+Menu,Edit,Copy,Menu,Edit,Paste
diff --git a/Task/Copy-a-string/Gambas/copy-a-string.gambas b/Task/Copy-a-string/Gambas/copy-a-string.gambas
new file mode 100644
index 0000000000..bc990ccb95
--- /dev/null
+++ b/Task/Copy-a-string/Gambas/copy-a-string.gambas
@@ -0,0 +1,4 @@
+DIM src AS String
+DIM dst AS String
+src = "Hello"
+dst = src
diff --git a/Task/Copy-a-string/Go/copy-a-string.go b/Task/Copy-a-string/Go/copy-a-string.go
new file mode 100644
index 0000000000..4c9dae06d1
--- /dev/null
+++ b/Task/Copy-a-string/Go/copy-a-string.go
@@ -0,0 +1,2 @@
+src := "Hello"
+dst := src
diff --git a/Task/Copy-a-string/Groovy/copy-a-string-1.groovy b/Task/Copy-a-string/Groovy/copy-a-string-1.groovy
new file mode 100644
index 0000000000..946c476bab
--- /dev/null
+++ b/Task/Copy-a-string/Groovy/copy-a-string-1.groovy
@@ -0,0 +1,3 @@
+def string = 'Scooby-doo-bee-doo' // assigns string object to a variable reference
+def stringRef = string // assigns another variable reference to the same object
+def stringCopy = new String(string) // copies string value into a new object, and assigns to a third variable reference
diff --git a/Task/Copy-a-string/Groovy/copy-a-string-2.groovy b/Task/Copy-a-string/Groovy/copy-a-string-2.groovy
new file mode 100644
index 0000000000..ca43da844a
--- /dev/null
+++ b/Task/Copy-a-string/Groovy/copy-a-string-2.groovy
@@ -0,0 +1,4 @@
+assert string == stringRef // they have equal values (like Java equals(), not like Java ==)
+assert string.is(stringRef) // they are references to the same objext (like Java ==)
+assert string == stringCopy // they have equal values
+assert ! string.is(stringCopy) // they are references to different objects (like Java !=)
diff --git a/Task/Copy-a-string/HicEst/copy-a-string.hicest b/Task/Copy-a-string/HicEst/copy-a-string.hicest
new file mode 100644
index 0000000000..aae9abc6e4
--- /dev/null
+++ b/Task/Copy-a-string/HicEst/copy-a-string.hicest
@@ -0,0 +1,2 @@
+src = "Hello World"
+dst = src
diff --git a/Task/Copy-a-string/Icon/copy-a-string.icon b/Task/Copy-a-string/Icon/copy-a-string.icon
new file mode 100644
index 0000000000..993c27b784
--- /dev/null
+++ b/Task/Copy-a-string/Icon/copy-a-string.icon
@@ -0,0 +1,6 @@
+procedure main()
+ a := "qwerty"
+ b := a
+ b[2+:4] := "uarterl"
+ write(a," -> ",b)
+end
diff --git a/Task/Copy-a-string/J/copy-a-string.j b/Task/Copy-a-string/J/copy-a-string.j
new file mode 100644
index 0000000000..25a339780f
--- /dev/null
+++ b/Task/Copy-a-string/J/copy-a-string.j
@@ -0,0 +1,2 @@
+src =: 'hello'
+dest =: src
diff --git a/Task/Copy-a-string/Java/copy-a-string-1.java b/Task/Copy-a-string/Java/copy-a-string-1.java
new file mode 100644
index 0000000000..335dd04e19
--- /dev/null
+++ b/Task/Copy-a-string/Java/copy-a-string-1.java
@@ -0,0 +1,7 @@
+String src = "Hello";
+String newAlias = src;
+String strCopy = new String(src);
+
+//"newAlias == src" is true
+//"strCopy == src" is false
+//"strCopy.equals(src)" is true
diff --git a/Task/Copy-a-string/Java/copy-a-string-2.java b/Task/Copy-a-string/Java/copy-a-string-2.java
new file mode 100644
index 0000000000..f4bebf005a
--- /dev/null
+++ b/Task/Copy-a-string/Java/copy-a-string-2.java
@@ -0,0 +1 @@
+StringBuffer srcCopy = new StringBuffer("Hello");
diff --git a/Task/Copy-a-string/JavaScript/copy-a-string-1.js b/Task/Copy-a-string/JavaScript/copy-a-string-1.js
new file mode 100644
index 0000000000..3dea94432c
--- /dev/null
+++ b/Task/Copy-a-string/JavaScript/copy-a-string-1.js
@@ -0,0 +1,4 @@
+var container = {myString: "Hello"};
+var containerCopy = container; // Now both identifiers refer to the same object
+
+containerCopy.myString = "Goodbye"; // container.myString will also return "Goodbye"
diff --git a/Task/Copy-a-string/JavaScript/copy-a-string-2.js b/Task/Copy-a-string/JavaScript/copy-a-string-2.js
new file mode 100644
index 0000000000..b40d6b22d1
--- /dev/null
+++ b/Task/Copy-a-string/JavaScript/copy-a-string-2.js
@@ -0,0 +1,4 @@
+var a = "Hello";
+var b = a; // Same as saying window.b = window.a
+
+b = "Goodbye" // b contains a copy of a's value and a will still return "Hello"
diff --git a/Task/Copy-a-string/Joy/copy-a-string.joy b/Task/Copy-a-string/Joy/copy-a-string.joy
new file mode 100644
index 0000000000..21c5059dbc
--- /dev/null
+++ b/Task/Copy-a-string/Joy/copy-a-string.joy
@@ -0,0 +1 @@
+"hello" dup
diff --git a/Task/Copy-a-string/KonsolScript/copy-a-string.konsolscript b/Task/Copy-a-string/KonsolScript/copy-a-string.konsolscript
new file mode 100644
index 0000000000..221c382d2c
--- /dev/null
+++ b/Task/Copy-a-string/KonsolScript/copy-a-string.konsolscript
@@ -0,0 +1,2 @@
+Var:String str1 = "Hello";
+Var:String str2 = str1;
diff --git a/Task/Copy-a-string/Lang5/copy-a-string.lang5 b/Task/Copy-a-string/Lang5/copy-a-string.lang5
new file mode 100644
index 0000000000..60f54bd260
--- /dev/null
+++ b/Task/Copy-a-string/Lang5/copy-a-string.lang5
@@ -0,0 +1 @@
+'hello dup
diff --git a/Task/Copy-a-string/Liberty-BASIC/copy-a-string.liberty b/Task/Copy-a-string/Liberty-BASIC/copy-a-string.liberty
new file mode 100644
index 0000000000..8ece696bbc
--- /dev/null
+++ b/Task/Copy-a-string/Liberty-BASIC/copy-a-string.liberty
@@ -0,0 +1,4 @@
+src$ = "Hello"
+dest$ = src$
+print src$
+print dest$
diff --git a/Task/Copy-a-string/Lisaac/copy-a-string.lisaac b/Task/Copy-a-string/Lisaac/copy-a-string.lisaac
new file mode 100644
index 0000000000..21a7289b43
--- /dev/null
+++ b/Task/Copy-a-string/Lisaac/copy-a-string.lisaac
@@ -0,0 +1,9 @@
++ scon : STRING_CONSTANT;
++ svar : STRING;
+
+scon := "sample";
+svar := STRING.create 20;
+svar.copy scon;
+svar.append "!\n";
+
+svar.print;
diff --git a/Task/Copy-a-string/Logo/copy-a-string.logo b/Task/Copy-a-string/Logo/copy-a-string.logo
new file mode 100644
index 0000000000..72eab59371
--- /dev/null
+++ b/Task/Copy-a-string/Logo/copy-a-string.logo
@@ -0,0 +1,10 @@
+make "a "foo
+make "b "foo
+print .eq :a :b ; true, identical symbols are reused
+
+make "c :a
+print .eq :a :c ; true, copy a reference
+
+make "c word :b "|| ; force a copy of the contents of a word by appending the empty word
+print equal? :b :c ; true
+print .eq :b :c ; false
diff --git a/Task/Copy-a-string/Lua/copy-a-string.lua b/Task/Copy-a-string/Lua/copy-a-string.lua
new file mode 100644
index 0000000000..ee6294e308
--- /dev/null
+++ b/Task/Copy-a-string/Lua/copy-a-string.lua
@@ -0,0 +1,4 @@
+a = "string"
+b = a
+print(a == b) -->true
+print(b) -->string
diff --git a/Task/Copy-a-string/MATLAB/copy-a-string.m b/Task/Copy-a-string/MATLAB/copy-a-string.m
new file mode 100644
index 0000000000..8d539fd1bf
--- /dev/null
+++ b/Task/Copy-a-string/MATLAB/copy-a-string.m
@@ -0,0 +1,2 @@
+string1 = 'Hello';
+string2 = string1;
diff --git a/Task/Copy-a-string/MAXScript/copy-a-string.maxscript b/Task/Copy-a-string/MAXScript/copy-a-string.maxscript
new file mode 100644
index 0000000000..bc9773c71f
--- /dev/null
+++ b/Task/Copy-a-string/MAXScript/copy-a-string.maxscript
@@ -0,0 +1,2 @@
+str1 = "Hello"
+str2 = copy str1
diff --git a/Task/Copy-a-string/MUMPS/copy-a-string.mumps b/Task/Copy-a-string/MUMPS/copy-a-string.mumps
new file mode 100644
index 0000000000..8d1b3edbc6
--- /dev/null
+++ b/Task/Copy-a-string/MUMPS/copy-a-string.mumps
@@ -0,0 +1,2 @@
+SET S1="Greetings, Planet"
+SET S2=S1
diff --git a/Task/Copy-a-string/Maple/copy-a-string.maple b/Task/Copy-a-string/Maple/copy-a-string.maple
new file mode 100644
index 0000000000..1b42224aa4
--- /dev/null
+++ b/Task/Copy-a-string/Maple/copy-a-string.maple
@@ -0,0 +1,13 @@
+> s := "some string";
+ s := "some string"
+
+> t := "some string";
+ t := "some string"
+
+> evalb( s = t ); # they are equal
+ true
+
+> addressof( s ) = addressof( t ); # not just equal data, but the same address in memory
+ 3078334210 = 3078334210
+
+> u := t: # copy reference
diff --git a/Task/Copy-a-string/Mathematica/copy-a-string.math b/Task/Copy-a-string/Mathematica/copy-a-string.math
new file mode 100644
index 0000000000..5230fe5cf4
--- /dev/null
+++ b/Task/Copy-a-string/Mathematica/copy-a-string.math
@@ -0,0 +1,2 @@
+a="Hello World"
+b=a
diff --git a/Task/Copy-a-string/Maxima/copy-a-string.maxima b/Task/Copy-a-string/Maxima/copy-a-string.maxima
new file mode 100644
index 0000000000..dd5b5837f5
--- /dev/null
+++ b/Task/Copy-a-string/Maxima/copy-a-string.maxima
@@ -0,0 +1,19 @@
+/* It's possible in Maxima to access individual characters by subscripts, but it's not the usual way.
+Also, the result is "Lisp character", which cannot be used by other Maxima functions except cunlisp. The usual
+way to access characters is charat, returning a "Maxima character" (actually a one characte string). With the latter,
+it's impossible to modify a string in place, thus scopy is of little use. */
+
+a: "loners"$
+b: scopy(a)$
+c: a$
+
+c[2]: c[5]$
+
+a;
+"losers"
+
+b;
+"loners"
+
+c;
+"losers"
diff --git a/Task/Copy-a-string/Metafont/copy-a-string.metafont b/Task/Copy-a-string/Metafont/copy-a-string.metafont
new file mode 100644
index 0000000000..3366fbad12
--- /dev/null
+++ b/Task/Copy-a-string/Metafont/copy-a-string.metafont
@@ -0,0 +1,7 @@
+string s, a;
+s := "hello";
+a := s;
+s := s & " world";
+message s; % writes "hello world"
+message a; % writes "hello"
+end
diff --git a/Task/Copy-a-string/Mirah/copy-a-string.mirah b/Task/Copy-a-string/Mirah/copy-a-string.mirah
new file mode 100644
index 0000000000..54665c171a
--- /dev/null
+++ b/Task/Copy-a-string/Mirah/copy-a-string.mirah
@@ -0,0 +1,8 @@
+src = "Hello"
+new_alias = src
+
+puts 'interned strings are equal' if src == new_alias
+
+str_copy = String.new(src)
+puts 'non-interned strings are not equal' if str_copy != src
+puts 'compare strings with equals()' if str_copy.equals(src)
diff --git a/Task/Copy-a-string/Modula-3/copy-a-string.mod3 b/Task/Copy-a-string/Modula-3/copy-a-string.mod3
new file mode 100644
index 0000000000..e9051c5d8a
--- /dev/null
+++ b/Task/Copy-a-string/Modula-3/copy-a-string.mod3
@@ -0,0 +1,2 @@
+VAR src: TEXT := "Foo";
+VAR dst: TEXT := src;
diff --git a/Task/Copy-a-string/Nemerle/copy-a-string.nemerle b/Task/Copy-a-string/Nemerle/copy-a-string.nemerle
new file mode 100644
index 0000000000..e9c81bbae5
--- /dev/null
+++ b/Task/Copy-a-string/Nemerle/copy-a-string.nemerle
@@ -0,0 +1,18 @@
+using System;
+using System.Console;
+using Nemerle;
+
+module StrCopy
+{
+ Main() : void
+ {
+ mutable str1 = "I am not changed"; // str1 is bound to literal
+ def str2 = lazy(str1); // str2 will be bound when evaluated
+ def str3 = str1; // str3 is bound to value of str1
+ str1 = "I am changed"; // str1 is bound to new literal
+ Write($"$(str1)\n$(str2)\n$(str3)\n"); // str2 is bound to value of str1
+ // Output: I am changed
+ // I am changed
+ // I am not changed
+ }
+}
diff --git a/Task/Copy-a-string/NetRexx/copy-a-string.netrexx b/Task/Copy-a-string/NetRexx/copy-a-string.netrexx
new file mode 100644
index 0000000000..9d0ba4bce3
--- /dev/null
+++ b/Task/Copy-a-string/NetRexx/copy-a-string.netrexx
@@ -0,0 +1,10 @@
+/* NetRexx */
+options replace format comments java crossref symbols nobinary
+
+s1 = 'This is a Rexx string'
+s2 = s1
+
+s2 = s2.changestr(' ', '_')
+
+say s1
+say s2
diff --git a/Task/Copy-a-string/NewLISP/copy-a-string.newlisp b/Task/Copy-a-string/NewLISP/copy-a-string.newlisp
new file mode 100644
index 0000000000..5a3663c4df
--- /dev/null
+++ b/Task/Copy-a-string/NewLISP/copy-a-string.newlisp
@@ -0,0 +1,6 @@
+(define (assert f msg) (if (not f) (println msg)))
+
+(setq s "Greetings!" c (copy s))
+(reverse c) ; Modifies c in place.
+
+(assert (= s c) "Strings not equal.")
diff --git a/Task/Copy-a-string/OCaml/copy-a-string.ocaml b/Task/Copy-a-string/OCaml/copy-a-string.ocaml
new file mode 100644
index 0000000000..8bf288b989
--- /dev/null
+++ b/Task/Copy-a-string/OCaml/copy-a-string.ocaml
@@ -0,0 +1 @@
+let dst = String.copy src
diff --git a/Task/Copy-a-string/Oberon-2/copy-a-string.oberon-2 b/Task/Copy-a-string/Oberon-2/copy-a-string.oberon-2
new file mode 100644
index 0000000000..4925c967ab
--- /dev/null
+++ b/Task/Copy-a-string/Oberon-2/copy-a-string.oberon-2
@@ -0,0 +1,10 @@
+MODULE CopyString;
+TYPE
+ String = ARRAY 128 OF CHAR;
+VAR
+ a,b: String;
+
+BEGIN
+ a := "plain string";
+ COPY(a,b);
+END CopyString.
diff --git a/Task/Copy-a-string/Objeck/copy-a-string.objeck b/Task/Copy-a-string/Objeck/copy-a-string.objeck
new file mode 100644
index 0000000000..cbe511f97c
--- /dev/null
+++ b/Task/Copy-a-string/Objeck/copy-a-string.objeck
@@ -0,0 +1,2 @@
+a := "GoodBye!";
+b := a;
diff --git a/Task/Copy-a-string/Objective-C/copy-a-string-1.m b/Task/Copy-a-string/Objective-C/copy-a-string-1.m
new file mode 100644
index 0000000000..6a670ee2b6
--- /dev/null
+++ b/Task/Copy-a-string/Objective-C/copy-a-string-1.m
@@ -0,0 +1,4 @@
+NSString *original = @"Literal String";
+NSString *new = [original copy];
+NSString *anotherNew = [NSString stringWithString:original];
+NSString *newMutable = [original mutableCopy];
diff --git a/Task/Copy-a-string/Objective-C/copy-a-string-2.m b/Task/Copy-a-string/Objective-C/copy-a-string-2.m
new file mode 100644
index 0000000000..c0c59c6c95
--- /dev/null
+++ b/Task/Copy-a-string/Objective-C/copy-a-string-2.m
@@ -0,0 +1,4 @@
+NSMutableString *original = [NSMutableString stringWithString:@"Literal String"];
+NSString *immutable = [original copy];
+NSString *anotherImmutable = [NSString stringWithString:original];
+NSMutableString *mutable = [original mutableCopy];
diff --git a/Task/Copy-a-string/Objective-C/copy-a-string-3.m b/Task/Copy-a-string/Objective-C/copy-a-string-3.m
new file mode 100644
index 0000000000..f5cf73d5db
--- /dev/null
+++ b/Task/Copy-a-string/Objective-C/copy-a-string-3.m
@@ -0,0 +1,2 @@
+const char *cstring = "I'm a plain C string";
+NSString *string = [NSString stringWithUTF8String:cstring];
diff --git a/Task/Copy-a-string/Objective-C/copy-a-string-4.m b/Task/Copy-a-string/Objective-C/copy-a-string-4.m
new file mode 100644
index 0000000000..9350717903
--- /dev/null
+++ b/Task/Copy-a-string/Objective-C/copy-a-string-4.m
@@ -0,0 +1,2 @@
+char bytes[] = "some data";
+NSString *string = [[NSString alloc] initWithBytes:bytes length:9 encoding:NSASCIIStringEncoding];
diff --git a/Task/Copy-a-string/Octave/copy-a-string.octave b/Task/Copy-a-string/Octave/copy-a-string.octave
new file mode 100644
index 0000000000..4cf51efb9b
--- /dev/null
+++ b/Task/Copy-a-string/Octave/copy-a-string.octave
@@ -0,0 +1 @@
+str2 = str1
diff --git a/Task/Copy-a-string/OxygenBasic/copy-a-string.oxy b/Task/Copy-a-string/OxygenBasic/copy-a-string.oxy
new file mode 100644
index 0000000000..20a0d3ca52
--- /dev/null
+++ b/Task/Copy-a-string/OxygenBasic/copy-a-string.oxy
@@ -0,0 +1,2 @@
+string s, t="hello"
+s=t
diff --git a/Task/Copy-a-string/PARI-GP/copy-a-string-1.pari b/Task/Copy-a-string/PARI-GP/copy-a-string-1.pari
new file mode 100644
index 0000000000..d28d54796d
--- /dev/null
+++ b/Task/Copy-a-string/PARI-GP/copy-a-string-1.pari
@@ -0,0 +1 @@
+s1=s
diff --git a/Task/Copy-a-string/PARI-GP/copy-a-string-2.pari b/Task/Copy-a-string/PARI-GP/copy-a-string-2.pari
new file mode 100644
index 0000000000..ba7b8cdd09
--- /dev/null
+++ b/Task/Copy-a-string/PARI-GP/copy-a-string-2.pari
@@ -0,0 +1,2 @@
+GEN string_copy = gcopy(string);
+GEN string_ref = string;
diff --git a/Task/Copy-a-string/PHP/copy-a-string.php b/Task/Copy-a-string/PHP/copy-a-string.php
new file mode 100644
index 0000000000..c943884ba1
--- /dev/null
+++ b/Task/Copy-a-string/PHP/copy-a-string.php
@@ -0,0 +1,2 @@
+$src = "Hello";
+$dst = $src;
diff --git a/Task/Copy-a-string/PL-I/copy-a-string.pli b/Task/Copy-a-string/PL-I/copy-a-string.pli
new file mode 100644
index 0000000000..9c8bcc231b
--- /dev/null
+++ b/Task/Copy-a-string/PL-I/copy-a-string.pli
@@ -0,0 +1,3 @@
+ declare (s1, s2) character (20) varying;
+ s1 = 'now is the time';
+ s2 = s1;
diff --git a/Task/Copy-a-string/Pascal/copy-a-string.pascal b/Task/Copy-a-string/Pascal/copy-a-string.pascal
new file mode 100644
index 0000000000..90fe98f704
--- /dev/null
+++ b/Task/Copy-a-string/Pascal/copy-a-string.pascal
@@ -0,0 +1,28 @@
+program in,out;
+
+type
+
+ pString = ^string;
+
+var
+
+ s1,s2 : string ;
+ pStr : pString ;
+
+begin
+
+ /* direct copy */
+ s1 := 'Now is the time for all good men to come to the aid of their party.'
+ s2 := s1 ;
+
+ writeln(s1);
+ writeln(s2);
+
+ /* By Reference */
+ pStr := @s1 ;
+ writeln(pStr^);
+
+ pStr := @s2 ;
+ writeln(pStr^);
+
+end;
diff --git a/Task/Copy-a-string/Perl-6/copy-a-string-1.pl6 b/Task/Copy-a-string/Perl-6/copy-a-string-1.pl6
new file mode 100644
index 0000000000..efe8b2355a
--- /dev/null
+++ b/Task/Copy-a-string/Perl-6/copy-a-string-1.pl6
@@ -0,0 +1,6 @@
+my $original = 'Hello.';
+my $copy = $original;
+say $copy; # prints "Hello."
+$copy = 'Goodbye.';
+say $copy; # prints "Goodbye."
+say $original; # prints "Hello."
diff --git a/Task/Copy-a-string/Perl-6/copy-a-string-2.pl6 b/Task/Copy-a-string/Perl-6/copy-a-string-2.pl6
new file mode 100644
index 0000000000..8a319eb841
--- /dev/null
+++ b/Task/Copy-a-string/Perl-6/copy-a-string-2.pl6
@@ -0,0 +1,6 @@
+my $original = 'Hello.';
+my $bound := $original;
+say $bound; # prints "Hello."
+$bound = 'Goodbye.';
+say $bound; # prints "Goodbye."
+say $original; # prints "Goodbye."
diff --git a/Task/Copy-a-string/Perl-6/copy-a-string-3.pl6 b/Task/Copy-a-string/Perl-6/copy-a-string-3.pl6
new file mode 100644
index 0000000000..2583cf6b79
--- /dev/null
+++ b/Task/Copy-a-string/Perl-6/copy-a-string-3.pl6
@@ -0,0 +1,12 @@
+my $original = 'Hello.';
+my $bound-ro ::= $original;
+say $bound-ro; # prints "Hello."
+try {
+ $bound-ro = 'Runtime error!';
+ CATCH {
+ say "$!"; # prints "Cannot modify readonly value"
+ };
+};
+say $bound-ro; # prints "Hello."
+$original = 'Goodbye.';
+say $bound-ro; # prints "Goodbye."
diff --git a/Task/Copy-a-string/Perl/copy-a-string-1.pl b/Task/Copy-a-string/Perl/copy-a-string-1.pl
new file mode 100644
index 0000000000..2fdda1f82a
--- /dev/null
+++ b/Task/Copy-a-string/Perl/copy-a-string-1.pl
@@ -0,0 +1,4 @@
+my $original = 'Hello.';
+my $new = $original;
+$new = 'Goodbye.';
+print "$original\n"; # prints "Hello."
diff --git a/Task/Copy-a-string/Perl/copy-a-string-2.pl b/Task/Copy-a-string/Perl/copy-a-string-2.pl
new file mode 100644
index 0000000000..03d65d8c61
--- /dev/null
+++ b/Task/Copy-a-string/Perl/copy-a-string-2.pl
@@ -0,0 +1,4 @@
+my $original = 'Hello.';
+my $ref = \$original;
+$$ref = 'Goodbye.';
+print "$original\n"; # prints "Goodbye."
diff --git a/Task/Copy-a-string/Perl/copy-a-string-3.pl b/Task/Copy-a-string/Perl/copy-a-string-3.pl
new file mode 100644
index 0000000000..5d6b88cca0
--- /dev/null
+++ b/Task/Copy-a-string/Perl/copy-a-string-3.pl
@@ -0,0 +1,5 @@
+my $original = 'Hello.';
+our $alias;
+local *alias = \$original;
+$alias = 'Good evening.';
+print "$original\n"; # prints "Good evening."
diff --git a/Task/Copy-a-string/Perl/copy-a-string-4.pl b/Task/Copy-a-string/Perl/copy-a-string-4.pl
new file mode 100644
index 0000000000..5af0a4ebf0
--- /dev/null
+++ b/Task/Copy-a-string/Perl/copy-a-string-4.pl
@@ -0,0 +1,6 @@
+use Lexical::Alias;
+my $original = 'Hello.';
+my $alias;
+alias $alias, $original;
+$alias = 'Good evening.';
+print "$original\n"; # prints "Good evening."
diff --git a/Task/Copy-a-string/PicoLisp/copy-a-string.l b/Task/Copy-a-string/PicoLisp/copy-a-string.l
new file mode 100644
index 0000000000..1e2200a444
--- /dev/null
+++ b/Task/Copy-a-string/PicoLisp/copy-a-string.l
@@ -0,0 +1,3 @@
+(setq Str1 "abcdef")
+(setq Str2 Str1) # Create a reference to that symbol
+(setq Str3 (name Str1)) # Create new symbol with name "abcdef"
diff --git a/Task/Copy-a-string/Pike/copy-a-string.pike b/Task/Copy-a-string/Pike/copy-a-string.pike
new file mode 100644
index 0000000000..fe848b4fcb
--- /dev/null
+++ b/Task/Copy-a-string/Pike/copy-a-string.pike
@@ -0,0 +1,4 @@
+int main(){
+ string hi = "Hello World.";
+ string ih = hi;
+}
diff --git a/Task/Copy-a-string/Pop11/copy-a-string-1.pop11 b/Task/Copy-a-string/Pop11/copy-a-string-1.pop11
new file mode 100644
index 0000000000..cb015964f5
--- /dev/null
+++ b/Task/Copy-a-string/Pop11/copy-a-string-1.pop11
@@ -0,0 +1,3 @@
+vars src, dst;
+'Hello' -> src;
+copy(src) -> dst;
diff --git a/Task/Copy-a-string/Pop11/copy-a-string-2.pop11 b/Task/Copy-a-string/Pop11/copy-a-string-2.pop11
new file mode 100644
index 0000000000..4827b85c29
--- /dev/null
+++ b/Task/Copy-a-string/Pop11/copy-a-string-2.pop11
@@ -0,0 +1,2 @@
+vars src='Hello';
+vars dst=copy(src);
diff --git a/Task/Copy-a-string/PostScript/copy-a-string.ps b/Task/Copy-a-string/PostScript/copy-a-string.ps
new file mode 100644
index 0000000000..1b1a195527
--- /dev/null
+++ b/Task/Copy-a-string/PostScript/copy-a-string.ps
@@ -0,0 +1 @@
+(hello) dup length string copy
diff --git a/Task/Copy-a-string/PowerShell/copy-a-string-1.psh b/Task/Copy-a-string/PowerShell/copy-a-string-1.psh
new file mode 100644
index 0000000000..91177b9261
--- /dev/null
+++ b/Task/Copy-a-string/PowerShell/copy-a-string-1.psh
@@ -0,0 +1,2 @@
+$str = "foo"
+$dup = $str
diff --git a/Task/Copy-a-string/PowerShell/copy-a-string-2.psh b/Task/Copy-a-string/PowerShell/copy-a-string-2.psh
new file mode 100644
index 0000000000..e29eed72c8
--- /dev/null
+++ b/Task/Copy-a-string/PowerShell/copy-a-string-2.psh
@@ -0,0 +1 @@
+$dup = $str.Clone()
diff --git a/Task/Copy-a-string/ProDOS/copy-a-string.dos b/Task/Copy-a-string/ProDOS/copy-a-string.dos
new file mode 100644
index 0000000000..ab067ad85a
--- /dev/null
+++ b/Task/Copy-a-string/ProDOS/copy-a-string.dos
@@ -0,0 +1,4 @@
+editvar /newvar /value=a /userinput=1 /title=Enter a string to be copied:
+editvar /newvar /value=b /userinput=1 /title=Enter current directory of the string:
+editvar /newvar /value=c /userinput=1 /title=Enter file to copy to:
+copy -a- from -b- to -c-
diff --git a/Task/Copy-a-string/PureBasic/copy-a-string.purebasic b/Task/Copy-a-string/PureBasic/copy-a-string.purebasic
new file mode 100644
index 0000000000..ee19d6c2cc
--- /dev/null
+++ b/Task/Copy-a-string/PureBasic/copy-a-string.purebasic
@@ -0,0 +1,2 @@
+src$ = "Hello"
+dst$ = src$
diff --git a/Task/Copy-a-string/Python/copy-a-string-1.py b/Task/Copy-a-string/Python/copy-a-string-1.py
new file mode 100644
index 0000000000..c4ad7ce2f4
--- /dev/null
+++ b/Task/Copy-a-string/Python/copy-a-string-1.py
@@ -0,0 +1,8 @@
+>>> src = "hello"
+>>> a = src
+>>> b = src[:]
+>>> import copy
+>>> c = copy.copy(src)
+>>> d = copy.deepcopy(src)
+>>> src is a is b is c is d
+True
diff --git a/Task/Copy-a-string/Python/copy-a-string-2.py b/Task/Copy-a-string/Python/copy-a-string-2.py
new file mode 100644
index 0000000000..9627b23946
--- /dev/null
+++ b/Task/Copy-a-string/Python/copy-a-string-2.py
@@ -0,0 +1,6 @@
+>>> a = 'hello'
+>>> b = ''.join(a)
+>>> a == b
+True
+>>> b is a ### Might be True ... depends on "interning" implementation details!
+False
diff --git a/Task/Copy-a-string/R/copy-a-string.r b/Task/Copy-a-string/R/copy-a-string.r
new file mode 100644
index 0000000000..29fc4ab2e6
--- /dev/null
+++ b/Task/Copy-a-string/R/copy-a-string.r
@@ -0,0 +1,2 @@
+str1 <- "abc"
+str2 <- str1
diff --git a/Task/Copy-a-string/REBOL/copy-a-string.rebol b/Task/Copy-a-string/REBOL/copy-a-string.rebol
new file mode 100644
index 0000000000..cbdede8a50
--- /dev/null
+++ b/Task/Copy-a-string/REBOL/copy-a-string.rebol
@@ -0,0 +1,23 @@
+REBOL [
+ Title: "String Copy"
+ Date: 2009-12-16
+ Author: oofoe
+ URL: http://rosettacode.org/wiki/Copy_a_string
+]
+
+x: y: "Testing."
+y/2: #"X"
+print ["Both variables reference same string:" mold x "," mold y]
+
+x: "Slackeriffic!"
+print ["Now reference different strings:" mold x "," mold y]
+
+y: copy x ; String copy here!
+y/3: #"X" ; Modify string.
+print ["x copied to y, then modified:" mold x "," mold y]
+
+y: copy/part x 7 ; Copy only the first part of y to x.
+print ["Partial copy:" mold x "," mold y]
+
+y: copy/part skip x 2 3
+print ["Partial copy from offset:" mold x "," mold y]
diff --git a/Task/Copy-a-string/REXX/copy-a-string.rexx b/Task/Copy-a-string/REXX/copy-a-string.rexx
new file mode 100644
index 0000000000..6d7223de5c
--- /dev/null
+++ b/Task/Copy-a-string/REXX/copy-a-string.rexx
@@ -0,0 +1,2 @@
+src = "this is a string"
+dst = src
diff --git a/Task/Copy-a-string/RLaB/copy-a-string.rlab b/Task/Copy-a-string/RLaB/copy-a-string.rlab
new file mode 100644
index 0000000000..982957f962
--- /dev/null
+++ b/Task/Copy-a-string/RLaB/copy-a-string.rlab
@@ -0,0 +1,4 @@
+>> s1 = "A string"
+A string
+>> s2 = s1
+A string
diff --git a/Task/Copy-a-string/Raven/copy-a-string-1.raven b/Task/Copy-a-string/Raven/copy-a-string-1.raven
new file mode 100644
index 0000000000..c85454e1bb
--- /dev/null
+++ b/Task/Copy-a-string/Raven/copy-a-string-1.raven
@@ -0,0 +1,2 @@
+'abc' as a
+a as b
diff --git a/Task/Copy-a-string/Raven/copy-a-string-2.raven b/Task/Copy-a-string/Raven/copy-a-string-2.raven
new file mode 100644
index 0000000000..83114cda50
--- /dev/null
+++ b/Task/Copy-a-string/Raven/copy-a-string-2.raven
@@ -0,0 +1,2 @@
+'abc' as a
+a copy as b
diff --git a/Task/Copy-a-string/Retro/copy-a-string.retro b/Task/Copy-a-string/Retro/copy-a-string.retro
new file mode 100644
index 0000000000..88609ba35d
--- /dev/null
+++ b/Task/Copy-a-string/Retro/copy-a-string.retro
@@ -0,0 +1 @@
+"this is a string" dup tempString
diff --git a/Task/Copy-a-string/Ruby/copy-a-string.rb b/Task/Copy-a-string/Ruby/copy-a-string.rb
new file mode 100644
index 0000000000..12dff3df12
--- /dev/null
+++ b/Task/Copy-a-string/Ruby/copy-a-string.rb
@@ -0,0 +1,4 @@
+original = "hello"
+reference = original
+copy1 = original.dup # instance of original.class
+copy2 = String.new(original) # instance of String
diff --git a/Task/Copy-a-string/Run-BASIC/copy-a-string.run b/Task/Copy-a-string/Run-BASIC/copy-a-string.run
new file mode 100644
index 0000000000..d9e369566a
--- /dev/null
+++ b/Task/Copy-a-string/Run-BASIC/copy-a-string.run
@@ -0,0 +1,2 @@
+origString$ = "Hello!" ' create original string
+newString$ = origString$ ' make new strig from original
diff --git a/Task/Copy-a-string/SNOBOL4/copy-a-string.sno b/Task/Copy-a-string/SNOBOL4/copy-a-string.sno
new file mode 100644
index 0000000000..f1dbc15cb4
--- /dev/null
+++ b/Task/Copy-a-string/SNOBOL4/copy-a-string.sno
@@ -0,0 +1,8 @@
+* copy a to b
+ b = a = "test"
+ output = a
+ output = b
+* change the copy
+ b "t" = "T"
+ output = b
+end
diff --git a/Task/Copy-a-string/Sather/copy-a-string.sa b/Task/Copy-a-string/Sather/copy-a-string.sa
new file mode 100644
index 0000000000..3a9bba892f
--- /dev/null
+++ b/Task/Copy-a-string/Sather/copy-a-string.sa
@@ -0,0 +1,7 @@
+class MAIN is
+ main is
+ s ::= "a string";
+ s1 ::= s;
+ -- s1 is a copy
+ end;
+end;
diff --git a/Task/Copy-a-string/Scala/copy-a-string.scala b/Task/Copy-a-string/Scala/copy-a-string.scala
new file mode 100644
index 0000000000..d77667d784
--- /dev/null
+++ b/Task/Copy-a-string/Scala/copy-a-string.scala
@@ -0,0 +1,2 @@
+val src = "Hello"
+val des = src
diff --git a/Task/Copy-a-string/Scheme/copy-a-string.ss b/Task/Copy-a-string/Scheme/copy-a-string.ss
new file mode 100644
index 0000000000..78b7afeb4a
--- /dev/null
+++ b/Task/Copy-a-string/Scheme/copy-a-string.ss
@@ -0,0 +1 @@
+(define dst (string-copy src))
diff --git a/Task/Copy-a-string/Seed7/copy-a-string.seed7 b/Task/Copy-a-string/Seed7/copy-a-string.seed7
new file mode 100644
index 0000000000..13289799b0
--- /dev/null
+++ b/Task/Copy-a-string/Seed7/copy-a-string.seed7
@@ -0,0 +1,3 @@
+var string: dest is "";
+
+dest := "Hello";
diff --git a/Task/Copy-a-string/Shiny/copy-a-string.shiny b/Task/Copy-a-string/Shiny/copy-a-string.shiny
new file mode 100644
index 0000000000..786a1bd2d9
--- /dev/null
+++ b/Task/Copy-a-string/Shiny/copy-a-string.shiny
@@ -0,0 +1,2 @@
+src: 'hello'
+cpy: src
diff --git a/Task/Copy-a-string/Slate/copy-a-string.slate b/Task/Copy-a-string/Slate/copy-a-string.slate
new file mode 100644
index 0000000000..87e9897cf8
--- /dev/null
+++ b/Task/Copy-a-string/Slate/copy-a-string.slate
@@ -0,0 +1 @@
+[ | :s | s == s copy] applyTo: {'hello'}. "returns False"
diff --git a/Task/Copy-a-string/Smalltalk/copy-a-string.st b/Task/Copy-a-string/Smalltalk/copy-a-string.st
new file mode 100644
index 0000000000..1a96f21266
--- /dev/null
+++ b/Task/Copy-a-string/Smalltalk/copy-a-string.st
@@ -0,0 +1,7 @@
+|s1 s2|
+"bind the var s1 to the object string on the right"
+s1 := 'i am a string'.
+"bind the var s2 to the same object..."
+s2 := s1.
+"bind s2 to a copy of the object bound to s1"
+s2 := (s1 copy).
diff --git a/Task/Copy-a-string/Standard-ML/copy-a-string-1.ml b/Task/Copy-a-string/Standard-ML/copy-a-string-1.ml
new file mode 100644
index 0000000000..082db97bde
--- /dev/null
+++ b/Task/Copy-a-string/Standard-ML/copy-a-string-1.ml
@@ -0,0 +1,4 @@
+val src = "Hello";
+val srcCopy = CharArray.array (size src, #"x"); (* 'x' is just dummy character *)
+CharArray.copyVec {src = src, dst = srcCopy, di = 0};
+src = CharArray.vector srcCopy; (* evaluates to true *)
diff --git a/Task/Copy-a-string/Standard-ML/copy-a-string-2.ml b/Task/Copy-a-string/Standard-ML/copy-a-string-2.ml
new file mode 100644
index 0000000000..dde78e09d9
--- /dev/null
+++ b/Task/Copy-a-string/Standard-ML/copy-a-string-2.ml
@@ -0,0 +1,2 @@
+val srcCopy2 = CharArray.array (CharArray.length srcCopy, #"x"); (* 'x' is just dummy character *)
+CharArray.copy {src = srcCopy, dst = srcCopy2, di = 0};
diff --git a/Task/Copy-a-string/TI-83-BASIC/copy-a-string.ti-83 b/Task/Copy-a-string/TI-83-BASIC/copy-a-string.ti-83
new file mode 100644
index 0000000000..7bd0518497
--- /dev/null
+++ b/Task/Copy-a-string/TI-83-BASIC/copy-a-string.ti-83
@@ -0,0 +1,2 @@
+:"Rosetta Code"→Str1
+:Str1→Str2
diff --git a/Task/Copy-a-string/TI-89-BASIC/copy-a-string.ti-89 b/Task/Copy-a-string/TI-89-BASIC/copy-a-string.ti-89
new file mode 100644
index 0000000000..b568101e09
--- /dev/null
+++ b/Task/Copy-a-string/TI-89-BASIC/copy-a-string.ti-89
@@ -0,0 +1,2 @@
+:"Rosetta Code"→str1
+:str1→str2
diff --git a/Task/Copy-a-string/TUSCRIPT/copy-a-string.tuscript b/Task/Copy-a-string/TUSCRIPT/copy-a-string.tuscript
new file mode 100644
index 0000000000..b956516891
--- /dev/null
+++ b/Task/Copy-a-string/TUSCRIPT/copy-a-string.tuscript
@@ -0,0 +1,3 @@
+$$ MODE TUSCRIPT
+str="Hello"
+dst=str
diff --git a/Task/Copy-a-string/Tcl/copy-a-string.tcl b/Task/Copy-a-string/Tcl/copy-a-string.tcl
new file mode 100644
index 0000000000..bab1d7bf37
--- /dev/null
+++ b/Task/Copy-a-string/Tcl/copy-a-string.tcl
@@ -0,0 +1,2 @@
+set src "Rosetta Code"
+set dst $src
diff --git a/Task/Copy-a-string/Toka/copy-a-string.toka b/Task/Copy-a-string/Toka/copy-a-string.toka
new file mode 100644
index 0000000000..1ea6cd5a19
--- /dev/null
+++ b/Task/Copy-a-string/Toka/copy-a-string.toka
@@ -0,0 +1,2 @@
+" hello" is-data a
+a string.clone is-data b
diff --git a/Task/Copy-a-string/Trith/copy-a-string.trith b/Task/Copy-a-string/Trith/copy-a-string.trith
new file mode 100644
index 0000000000..c5a2cc5786
--- /dev/null
+++ b/Task/Copy-a-string/Trith/copy-a-string.trith
@@ -0,0 +1 @@
+"Hello" dup
diff --git a/Task/Copy-a-string/UNIX-Shell/copy-a-string.sh b/Task/Copy-a-string/UNIX-Shell/copy-a-string.sh
new file mode 100644
index 0000000000..a64d58aac2
--- /dev/null
+++ b/Task/Copy-a-string/UNIX-Shell/copy-a-string.sh
@@ -0,0 +1,2 @@
+foo="Hello"
+bar=$foo # This is a copy of the string
diff --git a/Task/Copy-a-string/V/copy-a-string.v b/Task/Copy-a-string/V/copy-a-string.v
new file mode 100644
index 0000000000..21c5059dbc
--- /dev/null
+++ b/Task/Copy-a-string/V/copy-a-string.v
@@ -0,0 +1 @@
+"hello" dup
diff --git a/Task/Copy-a-string/Visual-Basic-.NET/copy-a-string-1.visual b/Task/Copy-a-string/Visual-Basic-.NET/copy-a-string-1.visual
new file mode 100644
index 0000000000..2f46279ab4
--- /dev/null
+++ b/Task/Copy-a-string/Visual-Basic-.NET/copy-a-string-1.visual
@@ -0,0 +1,9 @@
+'Immutable Strings
+Dim a = "Test string"
+Dim b = a 'reference to same string
+Dim c = New String(a.ToCharArray) 'new string, normally not used
+
+'Mutable Strings
+Dim x As New Text.StringBuilder("Test string")
+Dim y = x 'reference
+Dim z = New Text.StringBuilder(x.ToString) 'new string
diff --git a/Task/Copy-a-string/Visual-Basic-.NET/copy-a-string-2.visual b/Task/Copy-a-string/Visual-Basic-.NET/copy-a-string-2.visual
new file mode 100644
index 0000000000..916ff4f4a2
--- /dev/null
+++ b/Task/Copy-a-string/Visual-Basic-.NET/copy-a-string-2.visual
@@ -0,0 +1,2 @@
+Dim a As String = "Test String"
+Dim b As String = String.Copy(a) ' New string
diff --git a/Task/Copy-a-string/XPL0/copy-a-string.xpl0 b/Task/Copy-a-string/XPL0/copy-a-string.xpl0
new file mode 100644
index 0000000000..e838129931
--- /dev/null
+++ b/Task/Copy-a-string/XPL0/copy-a-string.xpl0
@@ -0,0 +1,13 @@
+proc StrCopy(A, B); \Copy string: A --> B
+char A, B; \Strings: B must already have enough space "Reserved"
+int I; \Beware if strings overlap
+for I:= 0 to -1>>1-1 do
+ [B(I):= A(I);
+ if A(I) >= $80 then return
+ ];
+
+char S1, S2, S3(13);
+[S1:= "Hello, world!"; \S1 now points to the string
+S2:= S1; \S2 now also points to the string
+StrCopy(S1, S3); \S3 points to a separate copy of the string
+]
diff --git a/Task/Copy-a-string/ZX-Spectrum-Basic/copy-a-string.zx b/Task/Copy-a-string/ZX-Spectrum-Basic/copy-a-string.zx
new file mode 100644
index 0000000000..912a4bdd72
--- /dev/null
+++ b/Task/Copy-a-string/ZX-Spectrum-Basic/copy-a-string.zx
@@ -0,0 +1,2 @@
+10 LET a$ = "Hello": REM a$ is the original string
+20 LET b$ = a$: REM b$ is the copy
diff --git a/Task/Dragon-curve/0DESCRIPTION b/Task/Dragon-curve/0DESCRIPTION
new file mode 100644
index 0000000000..95a84fea23
--- /dev/null
+++ b/Task/Dragon-curve/0DESCRIPTION
@@ -0,0 +1 @@
+Create and display a [[wp:dragon curve|dragon curve]] fractal. (You may either display the curve directly or write it to an image file.)
diff --git a/Task/Dragon-curve/1META.yaml b/Task/Dragon-curve/1META.yaml
new file mode 100644
index 0000000000..b3db16632c
--- /dev/null
+++ b/Task/Dragon-curve/1META.yaml
@@ -0,0 +1,4 @@
+---
+category:
+- Recursion
+note: Fractals
diff --git a/Task/Dragon-curve/ALGOL-68/dragon-curve.alg b/Task/Dragon-curve/ALGOL-68/dragon-curve.alg
new file mode 100644
index 0000000000..f1aabda413
--- /dev/null
+++ b/Task/Dragon-curve/ALGOL-68/dragon-curve.alg
@@ -0,0 +1,101 @@
+REAL sqrt 2 = sqrt(2), degrees = pi/180, width = 800-15, height = 600-15;
+
+PROC raise exception = ([]STRING args)VOID: (
+ putf(stand error, ($gx$, args, $l$));
+ stop
+);
+
+STRUCT (REAL x, y, heading, BOOL pen down) turtle;
+
+PROC turtle init = VOID: (
+ draw erase (window);
+ turtle := (0.5, 0.5, 0, TRUE);
+ draw move (window, x OF turtle, y OF turtle);
+ draw colour name(window, "white")
+);
+
+PROC turtle left = (REAL left turn)VOID:
+ heading OF turtle +:= left turn;
+
+PROC turtle right = (REAL right turn)VOID:
+ heading OF turtle -:= right turn;
+
+PROC turtle forward = (REAL distance)VOID:(
+ x OF turtle +:= distance * cos(heading OF turtle) / width * height;
+ y OF turtle +:= distance * sin(heading OF turtle);
+ IF pen down OF turtle THEN
+ draw line
+ ELSE
+ draw move
+ FI (window, x OF turtle, y OF turtle)
+);
+
+STRUCT ( INT count, depth, current shade, upb lines, upb colours ) morph;
+
+PROC morph init = (INT depth)VOID: (
+ count OF morph := 0;
+ depth OF morph := depth;
+ current shade OF morph := -1;
+ upb lines OF morph := 2**depth;
+ upb colours OF morph := 16
+);
+
+PROC morph colour = VOID: (
+ INT colour sectors = 3; # RGB #
+ INT candidate shade = ENTIER ( count OF morph / upb lines OF morph * upb colours OF morph );
+ IF candidate shade /= current shade OF morph THEN
+ current shade OF morph := candidate shade;
+ REAL colour sector = colour sectors * candidate shade / upb colours OF morph - 0.5;
+ REAL shade = colour sector - ENTIER colour sector;
+ CASE ENTIER colour sector + 1 # of 3 # IN
+ draw colour (window, 1 - shade, shade, 0),
+ draw colour (window, 0, 1 - shade, shade)
+ OUT
+ draw colour (window, shade, 0, 1 - shade)
+ ESAC
+ FI;
+ count OF morph +:= 1
+);
+
+PROC dragon init = VOID: (
+ pen down OF turtle := FALSE;
+ turtle forward(23/64); turtle right(90*degrees);
+ turtle forward (1/8); turtle right(90*degrees);
+ pen down OF turtle := TRUE
+);
+
+PROC dragon = (REAL in step, in length, PROC(REAL)VOID zig, zag)VOID: (
+ IF in step <= 0 THEN
+ morph colour;
+ turtle forward(in length)
+ ELSE
+ REAL step = in step - 1;
+ REAL length = in length / sqrt 2;
+
+ zig(45*degrees);
+ dragon(step, length, turtle right, turtle left);
+ zag(90*degrees);
+ dragon(step, length, turtle left, turtle right);
+ zig(45*degrees)
+ FI
+);
+
+PROC window init = VOID: (
+ STRING aspect; FILE f; associate(f, aspect); putf(f, ($g(-4)"x"g(-3)$, width, height));
+ IF NOT draw device (window, "X", aspect)THEN
+ raise exception("cannot initialise X draw device") FI;
+ IF open (window, "Dragon Curve", stand draw channel) /= 0 THEN
+ raise exception("cannot open Dragon Curve window") FI
+);
+
+FILE window; window init;
+ INT cycle length = 18;
+ FOR snap shot TO cycle length DO
+ INT depth := (snap shot - 2) MOD cycle length;
+ turtle init; dragon init; morph init(depth);
+# move to initial turtle location #
+ dragon(depth, 7/8, turtle right, turtle left);
+ draw show (window);
+ VOID(system("sleep 1"))
+ OD;
+close (window)
diff --git a/Task/Dragon-curve/BASIC/dragon-curve.basic b/Task/Dragon-curve/BASIC/dragon-curve.basic
new file mode 100644
index 0000000000..249e1fcd18
--- /dev/null
+++ b/Task/Dragon-curve/BASIC/dragon-curve.basic
@@ -0,0 +1,29 @@
+DIM SHARED angle AS Double
+
+SUB turn (degrees AS Double)
+ angle = angle + degrees*3.14159265/180
+END SUB
+
+SUB forward (length AS Double)
+ LINE - STEP (cos(angle)*length, sin(angle)*length), 7
+END SUB
+
+SUB dragon (length AS Double, split AS Integer, d AS Double)
+ IF split=0 THEN
+ forward length
+ ELSE
+ turn d*45
+ dragon length/1.4142136, split-1, 1
+ turn -d*90
+ dragon length/1.4142136, split-1, -1
+ turn d*45
+ END IF
+END SUB
+
+' Main program
+
+SCREEN 12
+angle = 0
+PSET (150,180), 0
+dragon 400, 12, 1
+SLEEP
diff --git a/Task/Dragon-curve/BASIC256/dragon-curve.basic256 b/Task/Dragon-curve/BASIC256/dragon-curve.basic256
new file mode 100644
index 0000000000..25b1b0983a
--- /dev/null
+++ b/Task/Dragon-curve/BASIC256/dragon-curve.basic256
@@ -0,0 +1,50 @@
+# Version without functions (for BASIC-256 ver. 0.9.6.66)
+
+graphsize 390,270
+
+level = 18 : insize = 247 # initial values
+x = 92 : y = 94 #
+
+iters = 2^level # total number of iterations
+qiter = 510/iters # constant for computing colors
+SQ = sqrt(2) : QPI = pi/4 # constants
+
+rotation = 0 : iter = 0 : rq = 1.0 # state variables
+dim rqs(level) # stack for rq (rotation coefficient)
+
+color white
+fastgraphics
+rect 0,0,graphwidth,graphheight
+refresh
+gosub dragon
+refresh
+imgsave "Dragon_curve_BASIC-256.png", "PNG"
+end
+
+dragon:
+ if level<=0 then
+ yn = sin(rotation)*insize + y
+ xn = cos(rotation)*insize + x
+ if iter*2
+#include
+#include
+#include
+
+/* x, y: coordinates of current point; dx, dy: direction of movement.
+ * Think turtle graphics. They are divided by scale, so as to keep
+ * very small coords/increments without losing precission. clen is
+ * the path length travelled, which should equal to scale at the end
+ * of the curve.
+ */
+long long x, y, dx, dy, scale, clen;
+typedef struct { double r, g, b; } rgb;
+rgb ** pix;
+
+/* for every depth increase, rotate 45 degrees and scale up by sqrt(2)
+ * Note how coords can still be represented by integers.
+ */
+void sc_up()
+{
+ long long tmp = dx - dy; dy = dx + dy; dx = tmp;
+ scale *= 2; x *= 2; y *= 2;
+}
+
+/* Hue changes from 0 to 360 degrees over entire length of path; Value
+ * oscillates along the path to give some contrast between segments
+ * close to each other spatially. RGB derived from HSV gets *added*
+ * to each pixel reached; they'll be dealt with later.
+ */
+void h_rgb(long long x, long long y)
+{
+ rgb *p = &pix[y][x];
+
+# define SAT 1
+ double h = 6.0 * clen / scale;
+ double VAL = 1 - (cos(3.141592653579 * 64 * clen / scale) - 1) / 4;
+ double c = SAT * VAL;
+ double X = c * (1 - fabs(fmod(h, 2) - 1));
+
+ switch((int)h) {
+ case 0: p->r += c; p->g += X; return;
+ case 1: p->r += X; p->g += c; return;
+ case 2: p->g += c; p->b += X; return;
+ case 3: p->g += X; p->b += c; return;
+ case 4: p->r += X; p->b += c; return;
+ default:
+ p->r += c; p->b += X;
+ }
+}
+
+/* string rewriting. No need to keep the string itself, just execute
+ * its instruction recursively.
+ */
+void iter_string(const char * str, int d)
+{
+ long tmp;
+# define LEFT tmp = -dy; dy = dx; dx = tmp
+# define RIGHT tmp = dy; dy = -dx; dx = tmp
+ while (*str != '\0') {
+ switch(*(str++)) {
+ case 'X': if (d) iter_string("X+YF+", d - 1); continue;
+ case 'Y': if (d) iter_string("-FX-Y", d - 1); continue;
+ case '+': RIGHT; continue;
+ case '-': LEFT; continue;
+ case 'F':
+ /* draw: increment path length; add color; move. Here
+ * is why the code does not allow user to choose arbitrary
+ * image size: if it's not a power of two, aliasing will
+ * occur and grid-like bright or dark lines will result
+ * when normalized later. It can be gotten rid of, but that
+ * involves computing multiplicative order and would be a huge
+ * bore.
+ */
+ clen ++;
+ h_rgb(x/scale, y/scale);
+ x += dx; y += dy;
+ continue;
+ }
+ }
+}
+
+void dragon(long leng, int depth)
+{
+ long i, d = leng / 3 + 1;
+ long h = leng + 3, w = leng + d * 3 / 2 + 2;
+
+ /* allocate pixel buffer */
+ rgb *buf = malloc(sizeof(rgb) * w * h);
+ pix = malloc(sizeof(rgb *) * h);
+ for (i = 0; i < h; i++)
+ pix[i] = buf + w * i;
+ memset(buf, 0, sizeof(rgb) * w * h);
+
+ /* init coords; scale up to desired; exec string */
+ x = y = d; dx = leng; dy = 0; scale = 1; clen = 0;
+ for (i = 0; i < depth; i++) sc_up();
+ iter_string("FX", depth);
+
+ /* write color PNM file */
+ unsigned char *fpix = malloc(w * h * 3);
+ double maxv = 0, *dbuf = (double*)buf;
+
+ /* find highest value among pixels; normalize image according
+ * to it. Highest value would be at points most travelled, so
+ * this ends up giving curve edge a nice fade -- it's more apparaent
+ * if we increase iteration depth by one or two.
+ */
+ for (i = 3 * w * h - 1; i >= 0; i--)
+ if (dbuf[i] > maxv) maxv = dbuf[i];
+ for (i = 3 * h * w - 1; i >= 0; i--)
+ fpix[i] = 255 * dbuf[i] / maxv;
+
+ printf("P6\n%ld %ld\n255\n", w, h);
+ fflush(stdout); /* printf and fwrite may treat buffer differently */
+ fwrite(fpix, h * w * 3, 1, stdout);
+}
+
+int main(int c, char ** v)
+{
+ int size, depth;
+
+ depth = (c > 1) ? atoi(v[1]) : 10;
+ size = 1 << depth;
+
+ fprintf(stderr, "size: %d depth: %d\n", size, depth);
+ dragon(size, depth * 2);
+
+ return 0;
+}
diff --git a/Task/Dragon-curve/Common-Lisp/dragon-curve.lisp b/Task/Dragon-curve/Common-Lisp/dragon-curve.lisp
new file mode 100644
index 0000000000..6b120b671e
--- /dev/null
+++ b/Task/Dragon-curve/Common-Lisp/dragon-curve.lisp
@@ -0,0 +1,19 @@
+(defpackage #:dragon
+ (:use #:clim-lisp #:clim)
+ (:export #:dragon #:dragon-part))
+(in-package #:dragon)
+
+(defun dragon-part (depth bend-direction)
+ (if (zerop depth)
+ (draw-line* *standard-output* 0 0 1 0)
+ (with-scaling (t (/ (sqrt 2)))
+ (with-rotation (t (* pi -1/4 bend-direction))
+ (dragon-part (1- depth) 1)
+ (with-translation (t 1 0)
+ (with-rotation (t (* pi 1/2 bend-direction))
+ (dragon-part (1- depth) -1)))))))
+
+(defun dragon (&optional (depth 7) (size 100))
+ (with-room-for-graphics ()
+ (with-scaling (t size)
+ (dragon-part depth 1))))
diff --git a/Task/Dragon-curve/D/dragon-curve-1.d b/Task/Dragon-curve/D/dragon-curve-1.d
new file mode 100644
index 0000000000..1f94f96e5a
--- /dev/null
+++ b/Task/Dragon-curve/D/dragon-curve-1.d
@@ -0,0 +1,106 @@
+import std.stdio, std.string;
+
+struct Board {
+ enum char spc = ' ';
+ char[][] b = [[' ']]; // Set at least 1x1 board.
+ int shiftx, shifty;
+
+ void clear() pure nothrow {
+ shiftx = shifty = 0;
+ b = [['\0']];
+ }
+
+ void check(in int x, in int y) pure nothrow {
+ while (y + shifty < 0) {
+ auto newr = new char[b[0].length];
+ newr[] = spc;
+ b = newr ~ b;
+ shifty++;
+ }
+
+ while (y + shifty >= b.length) {
+ auto newr = new char[b[0].length];
+ newr[] = spc;
+ b ~= newr;
+ }
+
+ while (x + shiftx < 0) {
+ foreach (ref c; b)
+ c = [spc] ~ c;
+ shiftx++;
+ }
+
+ while (x + shiftx >= b[0].length)
+ foreach (ref c; b)
+ c ~= [spc];
+ }
+
+ char opIndexAssign(in char value, in int x, in int y)
+ pure nothrow {
+ check(x, y);
+ b[y + shifty][x + shiftx] = value;
+ return value;
+ }
+
+ string toString() const /*pure*/ {
+ return xformat("%-(%s\n%)", b);
+ }
+}
+
+struct Turtle {
+ static struct TState {
+ int[2] xy;
+ int heading;
+ }
+
+ enum int[2][] dirs = [[1, 0], [1, 1], [0, 1], [-1, 1],
+ [-1, 0], [-1, -1], [0, -1], [1, -1]];
+ enum string trace = r"-\|/-\|/";
+ TState t;
+
+ void reset() pure nothrow {
+ t = typeof(t).init;
+ }
+
+ void turn(in int dir) pure nothrow {
+ t.heading = (t.heading + 8 + dir) % 8;
+ }
+
+ void forward(ref Board b) pure /*nothrow*/ {
+ with (t) {
+ xy[] += dirs[heading][];
+ b[xy[0], xy[1]] = trace[heading];
+ xy[] += dirs[heading][];
+ b[xy[0], xy[1]] = b.spc;
+ }
+ }
+}
+
+void dragonX(in int n, ref Turtle t, ref Board b) pure /*nothrow*/ {
+ if (n >= 0) { // X -> X+YF+
+ dragonX(n - 1, t, b);
+ t.turn(2);
+ dragonY(n - 1, t, b);
+ t.forward(b);
+ t.turn(2);
+ }
+}
+
+void dragonY(in int n, ref Turtle t, ref Board b) pure /*nothrow*/ {
+ if (n >= 0) { // Y -> -FX-Y
+ t.turn(-2);
+ t.forward(b);
+ dragonX(n - 1, t, b);
+ t.turn(-2);
+ dragonY(n - 1, t, b);
+ }
+}
+
+void main() {
+ Turtle t;
+ Board b;
+ // Seed : FX
+ t.forward(b); // <- F
+ dragonX(7, t, b); // <- X
+ writeln(b);
+}
diff --git a/Task/Dragon-curve/D/dragon-curve-2.d b/Task/Dragon-curve/D/dragon-curve-2.d
new file mode 100644
index 0000000000..0ea775e2d4
--- /dev/null
+++ b/Task/Dragon-curve/D/dragon-curve-2.d
@@ -0,0 +1,19 @@
+import std.stdio, std.string;
+
+string drx(in size_t n) pure nothrow {
+ return n ? (drx(n - 1) ~ " +" ~ dry(n - 1) ~ " f +") : "";
+}
+
+string dry(in size_t n) pure nothrow {
+ return n ? (" - f" ~ drx(n - 1) ~ " -" ~ dry(n - 1)) : "";
+}
+
+string dragonCurvePS(in size_t n) pure nothrow {
+ return ["0 setlinewidth 300 400 moveto",
+ "/f{2 0 rlineto}def/+{90 rotate}def/-{-90 rotate}def\n",
+ "f", drx(n), " stroke showpage"].join();
+}
+
+void main() {
+ writeln(dragonCurvePS(9)); // Increase this for a bigger curve.
+}
diff --git a/Task/Dragon-curve/Emacs-Lisp/dragon-curve.l b/Task/Dragon-curve/Emacs-Lisp/dragon-curve.l
new file mode 100644
index 0000000000..446718b233
--- /dev/null
+++ b/Task/Dragon-curve/Emacs-Lisp/dragon-curve.l
@@ -0,0 +1,92 @@
+(require 'cl) ;; Emacs 22 and earlier for `ignore-errors'
+
+(defun dragon-ensure-line-above ()
+ "If point is in the first line of the buffer then insert a new line above."
+ (when (= (line-beginning-position) (point-min))
+ (save-excursion
+ (goto-char (point-min))
+ (insert "\n"))))
+
+(defun dragon-ensure-column-left ()
+ "If point is in the first column then insert a new column to the left.
+This is designed for use in `picture-mode'."
+ (when (zerop (current-column))
+ (save-excursion
+ (goto-char (point-min))
+ (insert " ")
+ (while (= 0 (forward-line 1))
+ (insert " ")))
+ (picture-forward-column 1)))
+
+(defun dragon-insert-char (char len)
+ "Insert CHAR repeated LEN many times.
+After each CHAR point move in the current `picture-mode'
+direction (per `picture-set-motion' etc).
+
+This is the same as `picture-insert' except in column 0 or row 0
+a new row or column is inserted to make room, with existing
+buffer contents shifted down or right."
+
+ (dotimes (i len)
+ (dragon-ensure-line-above)
+ (dragon-ensure-column-left)
+ (picture-insert char 1)))
+
+(defun dragon-bit-above-lowest-0bit (n)
+ "Return the bit above the lowest 0-bit in N.
+For example N=43 binary \"101011\" has lowest 0-bit at \"...0..\"
+and the bit above that is \"..1...\" so return 8 which is that
+bit."
+ (logand n (1+ (logxor n (1+ n)))))
+
+(defun dragon-next-turn-right-p (n)
+ "Return non-nil if the dragon curve should turn right after segment N.
+Segments are numbered from N=0 for the first, so calling with N=0
+is whether to turn right after drawing that N=0 segment."
+ (zerop (dragon-bit-above-lowest-0bit n)))
+
+(defun dragon-picture (len step)
+ "Draw the dragon curve in a *dragon* buffer.
+LEN is the number of segments of the curve to draw.
+STEP is the length of each segment, in characters.
+
+Any LEN can be given but a power-of-2 such as 256 shows the
+self-similar nature of the curve.
+
+If STEP >= 2 then the segments are lines using \"-\" or \"|\"
+characters (`picture-rectangle-h' and `picture-rectangle-v').
+If STEP=1 then only \"+\" corners.
+
+There's a `sit-for' delay in the drawing loop to draw the curve
+progressively on screen."
+
+ (interactive (list (read-number "Length of curve " 256)
+ (read-number "Each step size " 3)))
+ (unless (>= step 1)
+ (error "Step length must be >= 1"))
+
+ (switch-to-buffer "*dragon*")
+ (erase-buffer)
+ (ignore-errors ;; if already in picture-mode
+ (picture-mode))
+
+ (dotimes (n len) ;; n=0 to len-1, inclusive
+ (dragon-insert-char ?+ 1) ;; corner char
+ (dragon-insert-char (if (zerop picture-vertical-step)
+ picture-rectangle-h picture-rectangle-v)
+ (1- step)) ;; line chars
+
+ (if (dragon-next-turn-right-p n)
+ ;; turn right
+ (picture-set-motion (- picture-horizontal-step) picture-vertical-step)
+ ;; turn left
+ (picture-set-motion picture-horizontal-step (- picture-vertical-step)))
+
+ ;; delay to display the drawing progressively
+ (sit-for .01))
+
+ (picture-insert ?+ 1) ;; endpoint
+ (picture-mode-exit)
+ (goto-char (point-min)))
+
+(dragon-picture 128 2)
diff --git a/Task/Dragon-curve/Factor/dragon-curve.factor b/Task/Dragon-curve/Factor/dragon-curve.factor
new file mode 100644
index 0000000000..55ca257e7f
--- /dev/null
+++ b/Task/Dragon-curve/Factor/dragon-curve.factor
@@ -0,0 +1,53 @@
+USING: accessors colors colors.hsv fry kernel locals math
+math.constants math.functions opengl.gl typed ui ui.gadgets
+ui.gadgets.canvas ui.render ;
+
+IN: dragon
+
+CONSTANT: depth 12
+
+TUPLE: turtle
+ { angle fixnum }
+ { color float }
+ { x float }
+ { y float } ;
+
+TYPED: nxt-color ( turtle: turtle -- turtle )
+ [ [ 360 2 depth ^ /f + ] keep
+ 1.0 1.0 1.0 >rgba-components glColor4d
+ ] change-color ; inline
+
+TYPED: draw-fwd ( x1: float y1: float x2: float y2: float -- )
+ GL_LINES glBegin glVertex2d glVertex2d glEnd ; inline
+
+TYPED:: fwd ( turtle: turtle l: float -- )
+ turtle x>>
+ turtle y>>
+ turtle angle>> pi * 180 / :> ( x y angle )
+ l angle [ cos * x + ] [ sin * y + ] 2bi :> ( dx dy )
+ turtle x y dx dy [ draw-fwd ] 2keep [ >>x ] [ >>y ] bi* drop ; inline
+
+TYPED: trn ( turtle: turtle d: fixnum -- turtle )
+ '[ _ + ] change-angle ; inline
+
+TYPED:: dragon' ( turtle: turtle l: float s: fixnum d: fixnum -- )
+ s zero? [
+ turtle nxt-color l fwd ! don't like this drop
+ ] [
+ turtle d 45 * trn l 2 sqrt / s 1 - 1 dragon'
+ turtle d -90 * trn l 2 sqrt / s 1 - -1 dragon'
+ turtle d 45 * trn drop
+ ] if ;
+
+: dragon ( -- )
+ 0 0 150 180 turtle boa 400 depth 1 dragon' ;
+
+TUPLE: dragon-canvas < canvas ;
+
+M: dragon-canvas draw-gadget* [ drop dragon ] draw-canvas ;
+M: dragon-canvas pref-dim* drop { 640 480 } ;
+
+MAIN-WINDOW: dragon-window { { title "Dragon Curve" } }
+ dragon-canvas new-canvas >>gadgets ;
+
+MAIN: dragon-window
diff --git a/Task/Dragon-curve/Forth/dragon-curve-1.fth b/Task/Dragon-curve/Forth/dragon-curve-1.fth
new file mode 100644
index 0000000000..24a9a6ca44
--- /dev/null
+++ b/Task/Dragon-curve/Forth/dragon-curve-1.fth
@@ -0,0 +1,14 @@
+include turtle.fs
+
+2 value dragon-step
+
+: dragon ( depth dir -- )
+ over 0= if dragon-step fd 2drop exit then
+ dup rt
+ over 1- 45 recurse
+ dup 2* lt
+ over 1- -45 recurse
+ rt drop ;
+
+home clear
+10 45 dragon
diff --git a/Task/Dragon-curve/Forth/dragon-curve-2.fth b/Task/Dragon-curve/Forth/dragon-curve-2.fth
new file mode 100644
index 0000000000..c00dc12607
--- /dev/null
+++ b/Task/Dragon-curve/Forth/dragon-curve-2.fth
@@ -0,0 +1,20 @@
+include lib/graphics.4th
+include lib/gturtle.4th
+
+2 constant dragon-step
+
+: dragon ( depth dir -- )
+ over 0= if dragon-step forward 2drop exit then
+ dup right
+ over 1- 45 recurse
+ dup 2* left
+ over 1- -45 recurse
+ right drop ;
+
+150 pic_width !
+210 pic_height !
+color_image
+
+clear-screen 50 95 turtle!
+xpendown 13 45 dragon
+s" 4tHdragon.ppm" save_image
diff --git a/Task/Dragon-curve/Go/dragon-curve-1.go b/Task/Dragon-curve/Go/dragon-curve-1.go
new file mode 100644
index 0000000000..5129430a29
--- /dev/null
+++ b/Task/Dragon-curve/Go/dragon-curve-1.go
@@ -0,0 +1,76 @@
+package main
+
+import (
+ "fmt"
+ "image"
+ "image/color"
+ "image/draw"
+ "image/png"
+ "math"
+ "os"
+)
+
+// separation of the the two endpoints
+// make this a power of 2 for prettiest output
+const sep = 512
+// depth of recursion. adjust as desired for different visual effects.
+const depth = 14
+
+var s = math.Sqrt2 / 2
+var sin = []float64{0, s, 1, s, 0, -s, -1, -s}
+var cos = []float64{1, s, 0, -s, -1, -s, 0, s}
+var p = color.NRGBA{64, 192, 96, 255}
+var b *image.NRGBA
+
+func main() {
+ width := sep * 11 / 6
+ height := sep * 4 / 3
+ bounds := image.Rect(0, 0, width, height)
+ b = image.NewNRGBA(bounds)
+ draw.Draw(b, bounds, image.NewUniform(color.White), image.ZP, draw.Src)
+ dragon(14, 0, 1, sep, sep/2, sep*5/6)
+ f, err := os.Create("dragon.png")
+ if err != nil {
+ fmt.Println(err)
+ return
+ }
+ if err = png.Encode(f, b); err != nil {
+ fmt.Println(err)
+ }
+ if err = f.Close(); err != nil {
+ fmt.Println(err)
+ }
+}
+
+func dragon(n, a, t int, d, x, y float64) {
+ if n <= 1 {
+ // Go packages used here do not have line drawing functions
+ // so we implement a very simple line drawing algorithm here.
+ // We take advantage of knowledge that we are always drawing
+ // 45 degree diagonal lines.
+ x1 := int(x + .5)
+ y1 := int(y + .5)
+ x2 := int(x + d*cos[a] + .5)
+ y2 := int(y + d*sin[a] + .5)
+ xInc := 1
+ if x1 > x2 {
+ xInc = -1
+ }
+ yInc := 1
+ if y1 > y2 {
+ yInc = -1
+ }
+ for x, y := x1, y1; ; x, y = x+xInc, y+yInc {
+ b.Set(x, y, p)
+ if x == x2 {
+ break
+ }
+ }
+ return
+ }
+ d *= s
+ a1 := (a - t) & 7
+ a2 := (a + t) & 7
+ dragon(n-1, a1, 1, d, x, y)
+ dragon(n-1, a2, -1, d, x+d*cos[a1], y+d*sin[a1])
+}
diff --git a/Task/Dragon-curve/Go/dragon-curve-2.go b/Task/Dragon-curve/Go/dragon-curve-2.go
new file mode 100644
index 0000000000..6b733fe5e4
--- /dev/null
+++ b/Task/Dragon-curve/Go/dragon-curve-2.go
@@ -0,0 +1,43 @@
+package main
+
+// Files required to build supporting package raster are found in:
+// * Bitmap
+// * Write a PPM file
+
+import (
+ "math"
+ "raster"
+)
+
+// separation of the the two endpoints
+// make this a power of 2 for prettiest output
+const sep = 512
+// depth of recursion. adjust as desired for different visual effects.
+const depth = 14
+
+var s = math.Sqrt2 / 2
+var sin = []float64{0, s, 1, s, 0, -s, -1, -s}
+var cos = []float64{1, s, 0, -s, -1, -s, 0, s}
+var p = raster.Pixel{64, 192, 96}
+var b *raster.Bitmap
+
+func main() {
+ width := sep * 11 / 6
+ height := sep * 4 / 3
+ b = raster.NewBitmap(width, height)
+ b.Fill(raster.Pixel{255, 255, 255})
+ dragon(14, 0, 1, sep, sep/2, sep*5/6)
+ b.WritePpmFile("dragon.ppm")
+}
+
+func dragon(n, a, t int, d, x, y float64) {
+ if n <= 1 {
+ b.Line(int(x+.5), int(y+.5), int(x+d*cos[a]+.5), int(y+d*sin[a]+.5), p)
+ return
+ }
+ d *= s
+ a1 := (a - t) & 7
+ a2 := (a + t) & 7
+ dragon(n-1, a1, 1, d, x, y)
+ dragon(n-1, a2, -1, d, x+d*cos[a1], y+d*sin[a1])
+}
diff --git a/Task/Dragon-curve/Haskell/dragon-curve-1.hs b/Task/Dragon-curve/Haskell/dragon-curve-1.hs
new file mode 100644
index 0000000000..fdebe8150b
--- /dev/null
+++ b/Task/Dragon-curve/Haskell/dragon-curve-1.hs
@@ -0,0 +1,18 @@
+import Data.List
+import Graphics.Gnuplot.Simple
+
+-- diamonds
+-- pl = [[0,1],[1,0]]
+
+pl = [[0,0],[0,1]]
+r_90 = [[0,1],[-1,0]]
+
+ip :: [Int] -> [Int] -> Int
+ip xs = sum . zipWith (*) xs
+matmul xss yss = map (\xs -> map (ip xs ). transpose $ yss) xss
+
+vmoot xs = (xs++).map (zipWith (+) lxs). flip matmul r_90.
+ map (flip (zipWith (-)) lxs) .reverse . init $ xs
+ where lxs = last xs
+
+dragoncurve = iterate vmoot pl
diff --git a/Task/Dragon-curve/Haskell/dragon-curve-2.hs b/Task/Dragon-curve/Haskell/dragon-curve-2.hs
new file mode 100644
index 0000000000..797d72b985
--- /dev/null
+++ b/Task/Dragon-curve/Haskell/dragon-curve-2.hs
@@ -0,0 +1,11 @@
+x 0 = ""
+x n = (x$n-1)++" +"++(y$n-1)++" f +"
+y 0 = ""
+y n = " - f"++(x$n-1)++" -"++(y$n-1)
+
+dragon n =
+ concat ["0 setlinewidth 300 400 moveto",
+ "/f{2 0 rlineto}def/+{90 rotate}def/-{-90 rotate}def\n",
+ "f", x n, " stroke showpage"]
+
+main = putStrLn $ dragon 14
diff --git a/Task/Dragon-curve/HicEst/dragon-curve.hicest b/Task/Dragon-curve/HicEst/dragon-curve.hicest
new file mode 100644
index 0000000000..186bad6eab
--- /dev/null
+++ b/Task/Dragon-curve/HicEst/dragon-curve.hicest
@@ -0,0 +1,30 @@
+ CHARACTER dragon
+
+ 1 DLG(NameEdit=orders,DNum, Button='&OK', TItle=dragon) ! input orders
+ WINDOW(WINdowhandle=wh, Height=1, X=1, TItle='Dragon curves up to order '//orders)
+
+ IF( LEN(dragon) < 2^orders) ALLOCATE(dragon, 2^orders)
+
+ AXIS(WINdowhandle=wh, Xaxis=2048, Yaxis=2048) ! 2048: black, linear, noGrid, noScales
+ dragon = ' '
+ NorthEastSouthWest = 0
+ x = 0
+ y = 1
+ LINE(PenUp, Color=1, x=0, y=0, x=x, y=y)
+ last = 1
+
+ DO order = 1, orders
+ changeRtoL = LEN_TRIM(dragon) + 1 + (LEN_TRIM(dragon) + 1)/2
+ dragon = TRIM(dragon) // 'R' // TRIM(dragon)
+ IF(changeRtoL > 2) dragon(changeRtoL) = 'L'
+
+ DO last = last, LEN_TRIM(dragon)
+ NorthEastSouthWest = MOD( NorthEastSouthWest-2*(dragon(last)=='L')+5, 4 )
+ x = x + (NorthEastSouthWest==1) - (NorthEastSouthWest==3)
+ y = y + (NorthEastSouthWest==0) - (NorthEastSouthWest==2)
+ LINE(Color=order, X=x, Y=y)
+ ENDDO
+ ENDDO
+ GOTO 1 ! this is to stimulate a discussion
+
+ END
diff --git a/Task/Dragon-curve/Icon/dragon-curve.icon b/Task/Dragon-curve/Icon/dragon-curve.icon
new file mode 100644
index 0000000000..fa6f896b40
--- /dev/null
+++ b/Task/Dragon-curve/Icon/dragon-curve.icon
@@ -0,0 +1,20 @@
+link linddraw,wopen
+
+procedure main()
+ gener := 12 # generations
+ w := h := 800 # window size
+ rewrite := table() # L rewrite rules
+ rewrite["X"] := "X+YF+"
+ rewrite["Y"] := "-FX-Y"
+ every (C := '') ++:= !!rewrite
+ every /rewrite[c := !C] := c # map all rule characters
+
+ WOpen("size=" || w || "," || h, "dx=" || (w / 2), "dy=" || (h / 2)) | stop("*** cannot open window")
+ WAttrib("fg=blue")
+
+ linddraw(0, 0, "FX", rewrite, 5, 90.0, gener, 0)
+ # x,y, axiom, rules, length, angle, generations, delay
+
+ WriteImage("dragon-unicon" || ".gif") # save the image
+ WDone()
+end
diff --git a/Task/Dragon-curve/J/dragon-curve-1.j b/Task/Dragon-curve/J/dragon-curve-1.j
new file mode 100644
index 0000000000..54415aa64e
--- /dev/null
+++ b/Task/Dragon-curve/J/dragon-curve-1.j
@@ -0,0 +1,4 @@
+require 'plot'
+start=: 0 0,: 1 0
+step=: ],{: +"1 (0 _1,: 1 0) +/ .*~ |.@}: -"1 {:
+plot <"1 |: step^:13 start
diff --git a/Task/Dragon-curve/J/dragon-curve-2.j b/Task/Dragon-curve/J/dragon-curve-2.j
new file mode 100644
index 0000000000..eff0cca2d6
--- /dev/null
+++ b/Task/Dragon-curve/J/dragon-curve-2.j
@@ -0,0 +1 @@
+([:pd[:<"1|:)every'reset';|.'show';step&.>^:(i.17) turns;
+ private double startingAngle, side;
+
+ public DragonCurve(int iter) {
+ super("Dragon Curve");
+ setBounds(100, 100, 800, 600);
+ setDefaultCloseOperation(EXIT_ON_CLOSE);
+ turns = getSequence(iter);
+ startingAngle = -iter * (Math.PI / 4);
+ side = 400 / Math.pow(2, iter / 2.);
+ }
+
+ public List getSequence(int iterations) {
+ List turnSequence = new ArrayList();
+ for (int i = 0; i < iterations; i++) {
+ List copy = new ArrayList(turnSequence);
+ Collections.reverse(copy);
+ turnSequence.add(1);
+ for (Integer turn : copy) {
+ turnSequence.add(-turn);
+ }
+ }
+ return turnSequence;
+ }
+
+ @Override
+ public void paint(Graphics g) {
+ g.setColor(Color.BLACK);
+ double angle = startingAngle;
+ int x1 = 230, y1 = 350;
+ int x2 = x1 + (int) (Math.cos(angle) * side);
+ int y2 = y1 + (int) (Math.sin(angle) * side);
+ g.drawLine(x1, y1, x2, y2);
+ x1 = x2;
+ y1 = y2;
+ for (Integer turn : turns) {
+ angle += turn * (Math.PI / 2);
+ x2 = x1 + (int) (Math.cos(angle) * side);
+ y2 = y1 + (int) (Math.sin(angle) * side);
+ g.drawLine(x1, y1, x2, y2);
+ x1 = x2;
+ y1 = y2;
+ }
+ }
+
+ public static void main(String[] args) {
+ new DragonCurve(14).setVisible(true);
+ }
+}
diff --git a/Task/Dragon-curve/JavaScript/dragon-curve-1.js b/Task/Dragon-curve/JavaScript/dragon-curve-1.js
new file mode 100644
index 0000000000..3176fa5cea
--- /dev/null
+++ b/Task/Dragon-curve/JavaScript/dragon-curve-1.js
@@ -0,0 +1,97 @@
+var DRAGON = (function () {
+ // MATRIX MATH
+ // -----------
+
+ var matrix = {
+ mult: function ( m, v ) {
+ return [ m[0][0] * v[0] + m[0][1] * v[1],
+ m[1][0] * v[0] + m[1][1] * v[1] ];
+ },
+
+ minus: function ( a, b ) {
+ return [ a[0]-b[0], a[1]-b[1] ];
+ },
+
+ plus: function ( a, b ) {
+ return [ a[0]+b[0], a[1]+b[1] ];
+ }
+ };
+
+
+ // SVG STUFF
+ // ---------
+
+ // Turn a pair of points into an SVG path like "M1 1L2 2".
+ var toSVGpath = function (a, b) { // type system fail
+ return "M" + a[0] + " " + a[1] + "L" + b[0] + " " + b[1];
+ };
+
+
+ // DRAGON MAKING
+ // -------------
+
+ // Make a dragon with a better fractal algorithm
+ var fractalMakeDragon = function (svgid, ptA, ptC, state, lr, interval) {
+
+ // make a new
+ var path = document.createElementNS('http://www.w3.org/2000/svg', 'path');
+ path.setAttribute( "class", "dragon");
+ path.setAttribute( "d", toSVGpath(ptA, ptC) );
+
+ // append the new path to the existing