From 208b75a7c1919f3c2e3c3098fcb532d71cccfe63 Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Fri, 7 Jan 2022 09:52:35 +0000 Subject: - Added solutions by Laurent Rosenfeld. --- challenge-146/laurent-rosenfeld/blog.txt | 1 + challenge-146/laurent-rosenfeld/julia/ch-2.jl | 11 + challenge-146/laurent-rosenfeld/perl/ch-1.pl | 26 + challenge-146/laurent-rosenfeld/perl/ch-2.pl | 19 + challenge-146/laurent-rosenfeld/python/ch-2.py | 10 + challenge-146/laurent-rosenfeld/raku/ch-1.raku | 4 + challenge-146/laurent-rosenfeld/raku/ch-2.raku | 12 + challenge-146/laurent-rosenfeld/ring/ch-1.ring | 24 + challenge-146/laurent-rosenfeld/ring/ch-2.ring | 21 + stats/pwc-current.json | 381 ++++----- stats/pwc-language-breakdown-summary.json | 58 +- stats/pwc-language-breakdown.json | 1000 ++++++++++++------------ stats/pwc-leaders.json | 738 ++++++++--------- stats/pwc-summary-1-30.json | 46 +- stats/pwc-summary-121-150.json | 38 +- stats/pwc-summary-151-180.json | 24 +- stats/pwc-summary-181-210.json | 38 +- stats/pwc-summary-211-240.json | 50 +- stats/pwc-summary-241-270.json | 66 +- stats/pwc-summary-31-60.json | 30 +- stats/pwc-summary-61-90.json | 42 +- stats/pwc-summary-91-120.json | 104 +-- stats/pwc-summary.json | 30 +- 23 files changed, 1462 insertions(+), 1311 deletions(-) create mode 100644 challenge-146/laurent-rosenfeld/blog.txt create mode 100644 challenge-146/laurent-rosenfeld/julia/ch-2.jl create mode 100644 challenge-146/laurent-rosenfeld/perl/ch-1.pl create mode 100644 challenge-146/laurent-rosenfeld/perl/ch-2.pl create mode 100644 challenge-146/laurent-rosenfeld/python/ch-2.py create mode 100644 challenge-146/laurent-rosenfeld/raku/ch-1.raku create mode 100644 challenge-146/laurent-rosenfeld/raku/ch-2.raku create mode 100644 challenge-146/laurent-rosenfeld/ring/ch-1.ring create mode 100644 challenge-146/laurent-rosenfeld/ring/ch-2.ring diff --git a/challenge-146/laurent-rosenfeld/blog.txt b/challenge-146/laurent-rosenfeld/blog.txt new file mode 100644 index 0000000000..75b6bbfcdc --- /dev/null +++ b/challenge-146/laurent-rosenfeld/blog.txt @@ -0,0 +1 @@ +http://blogs.perl.org/users/laurent_r/2022/01/perl-weekly-challenge-146-prime-numbers-and-fraction-tree.html diff --git a/challenge-146/laurent-rosenfeld/julia/ch-2.jl b/challenge-146/laurent-rosenfeld/julia/ch-2.jl new file mode 100644 index 0000000000..65a5ec63df --- /dev/null +++ b/challenge-146/laurent-rosenfeld/julia/ch-2.jl @@ -0,0 +1,11 @@ +function find_parent(num, denom) + return num < denom ? [num, denom - num] : + num > denom ? [num - denom, denom] : + ("Error on node $num $denom"); +end + +for test in [ [5, 2], [2, 5], [3, 4], [3, 5], [1, 2] ] + parent = find_parent(test[1], test[2]) + gd_parent = find_parent(parent[1], parent[2]) + println("Node $test has parent $parent and grand-parent $gd_parent") +end diff --git a/challenge-146/laurent-rosenfeld/perl/ch-1.pl b/challenge-146/laurent-rosenfeld/perl/ch-1.pl new file mode 100644 index 0000000000..6d62f8471e --- /dev/null +++ b/challenge-146/laurent-rosenfeld/perl/ch-1.pl @@ -0,0 +1,26 @@ +use strict; +use warnings; +use feature "say"; +use constant MAX => 10_001; + +sub primes { + my $max = shift; + my @primes = (2, 3, 5); + my $count = 3; + my $candidate = $primes[-1]; + while ($count <= $max) { + $candidate += 2; + my $not_prime = 0; + my $sq_cand = sqrt $candidate; + for my $i (@primes) { + $not_prime = 1, last unless $candidate % $i; + last if $i > $sq_cand; + } + next if $not_prime; + push @primes, $candidate; + $count ++; + } + return $primes[$max-1]; +} +my $p = primes(MAX); +say "$p"; diff --git a/challenge-146/laurent-rosenfeld/perl/ch-2.pl b/challenge-146/laurent-rosenfeld/perl/ch-2.pl new file mode 100644 index 0000000000..c9b8f20cbe --- /dev/null +++ b/challenge-146/laurent-rosenfeld/perl/ch-2.pl @@ -0,0 +1,19 @@ +use strict; +use warnings; +use feature "say"; + +# for a node x/y less than 1, parent is x/(y-x) +# for a node x/y larger than 1, parent is (x-y)/x + +sub parent { + my ($num, $denom) = @{$_[0]}; + return ["Error"] if $num == $denom; + return $num < $denom ? [$num, $denom - $num] : [$num - $denom, $denom]; +} + +for my $fraction ([5, 2], [2, 5], [3, 4], [3, 5], [2, 1], [1, 1]) { + die "Invalid input node @$fraction" if $$fraction[0] == $$fraction[1]; + my $parent = parent $fraction; + my $gd_parent = parent $parent; + say "for child @$fraction, parent is @$parent and gd-parent is @$gd_parent"; +} diff --git a/challenge-146/laurent-rosenfeld/python/ch-2.py b/challenge-146/laurent-rosenfeld/python/ch-2.py new file mode 100644 index 0000000000..7120a602a7 --- /dev/null +++ b/challenge-146/laurent-rosenfeld/python/ch-2.py @@ -0,0 +1,10 @@ +# for a node x/y less than 1, parent is x/(y-x) +# for a node x/y larger than 1, parent is (x-y)/x + +def find_parent(num, denom): + return [num, denom - num] if num < denom else [num - denom, denom] + +for test in ([5, 2], [2, 5], [3, 4], [3, 5]): + parent = find_parent(test[0], test[1]) + gd_parent = find_parent(parent[0], parent[1]) + print("Node", test, "has parent", parent, "and grand-parent", gd_parent) diff --git a/challenge-146/laurent-rosenfeld/raku/ch-1.raku b/challenge-146/laurent-rosenfeld/raku/ch-1.raku new file mode 100644 index 0000000000..b181fb89cd --- /dev/null +++ b/challenge-146/laurent-rosenfeld/raku/ch-1.raku @@ -0,0 +1,4 @@ +use v6; + +my @primes = grep { .is-prime }, (1, 2, 3, -> $a { $a + 2} ...Inf); +say @primes[10001 - 1]; # Subtract 1 because the array starts at 0 diff --git a/challenge-146/laurent-rosenfeld/raku/ch-2.raku b/challenge-146/laurent-rosenfeld/raku/ch-2.raku new file mode 100644 index 0000000000..22976624bc --- /dev/null +++ b/challenge-146/laurent-rosenfeld/raku/ch-2.raku @@ -0,0 +1,12 @@ +use v6; + +# for a node x/y less than 1, parent is x/(y-x) +# for a node x/y larger than 1, parent is (x-y)/x + +sub parent (\num, \denom) { + return num < denom ?? (num, denom - num) !! (num - denom, denom); +} +for (5, 2), (2, 5), (3, 4), (3, 5) -> $fraction { + my $parent = parent |$fraction[0,1]; + my $gd-parent = parent |$parent[0,1]; + say "for child $fraction, parent is $parent and gd-parent is $gd-parent"; diff --git a/challenge-146/laurent-rosenfeld/ring/ch-1.ring b/challenge-146/laurent-rosenfeld/ring/ch-1.ring new file mode 100644 index 0000000000..bd5ecf2178 --- /dev/null +++ b/challenge-146/laurent-rosenfeld/ring/ch-1.ring @@ -0,0 +1,24 @@ +p = primes(10001) +see p + nl + +func primes max + primes = [2, 3, 5] + count = len(primes) + candidate = primes[count] + while count < max + candidate += 2 + is_prime = True + sqrt_cand = sqrt(candidate) + for i in primes + if candidate % i = 0 + is_prime = False + exit + ok + if i > sqrt_cand exit ok + next + if is_prime + add(primes, candidate) + count ++ + ok + end + return primes[max] diff --git a/challenge-146/laurent-rosenfeld/ring/ch-2.ring b/challenge-146/laurent-rosenfeld/ring/ch-2.ring new file mode 100644 index 0000000000..78b9092395 --- /dev/null +++ b/challenge-146/laurent-rosenfeld/ring/ch-2.ring @@ -0,0 +1,21 @@ +# for a node x/y less than 1, parent is x/(y-x) +# for a node x/y larger than 1, parent is (x-y)/x + +for test in [ [5, 2], [2, 5], [3, 4], [3,5], [6, 2], [1, 2] ] + parent = find_parent(test[1], test[2]) + gd_parent = find_parent(parent[1], parent[2]) + see "Node " + to_str(test) + " has parent " + to_str(parent) + + " and grand-parent " + to_str(gd_parent) + nl +next + +func find_parent num, denom + if num < denom + return [num, denom - num] + but denom < num + return [num - denom, denom] + else + return ["Error", ""] + ok + +func to_str input + return "" + input[1] + " " + input[2] diff --git a/stats/pwc-current.json b/stats/pwc-current.json index bf0c57346f..14476c9b09 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,8 +1,157 @@ { + "series" : [ + { + "colorByPoint" : 1, + "name" : "The Weekly Challenge - 146", + "data" : [ + { + "y" : 4, + "name" : "Abigail", + "drilldown" : "Abigail" + }, + { + "drilldown" : "Andrew Shitov", + "name" : "Andrew Shitov", + "y" : 1 + }, + { + "drilldown" : "Andrezgz", + "name" : "Andrezgz", + "y" : 2 + }, + { + "drilldown" : "Arne Sommer", + "name" : "Arne Sommer", + "y" : 5 + }, + { + "y" : 4, + "drilldown" : "Athanasius", + "name" : "Athanasius" + }, + { + "y" : 3, + "drilldown" : "Dave Jacoby", + "name" : "Dave Jacoby" + }, + { + "drilldown" : "E. Choroba", + "name" : "E. Choroba", + "y" : 2 + }, + { + "y" : 2, + "name" : "Feng Chang", + "drilldown" : "Feng Chang" + }, + { + "name" : "Flavio Poletti", + "drilldown" : "Flavio Poletti", + "y" : 6 + }, + { + "drilldown" : "James Smith", + "name" : "James Smith", + "y" : 3 + }, + { + "drilldown" : "Jorg Sommrey", + "name" : "Jorg Sommrey", + "y" : 1 + }, + { + "y" : 5, + "name" : "Laurent Rosenfeld", + "drilldown" : "Laurent Rosenfeld" + }, + { + "drilldown" : "Luca Ferrari", + "name" : "Luca Ferrari", + "y" : 6 + }, + { + "y" : 2, + "name" : "Mark Anderson", + "drilldown" : "Mark Anderson" + }, + { + "drilldown" : "Mohammad S Anwar", + "name" : "Mohammad S Anwar", + "y" : 2 + }, + { + "drilldown" : "Peter Campbell Smith", + "name" : "Peter Campbell Smith", + "y" : 3 + }, + { + "drilldown" : "Robert DiCicco", + "name" : "Robert DiCicco", + "y" : 2 + }, + { + "y" : 5, + "name" : "Roger Bell_West", + "drilldown" : "Roger Bell_West" + }, + { + "drilldown" : "Simon Green", + "name" : "Simon Green", + "y" : 3 + }, + { + "y" : 2, + "drilldown" : "Simon Proctor", + "name" : "Simon Proctor" + }, + { + "name" : "Ulrich Rieke", + "drilldown" : "Ulrich Rieke", + "y" : 4 + }, + { + "name" : "W. Luis Mochan", + "drilldown" : "W. Luis Mochan", + "y" : 3 + } + ] + } + ], + "plotOptions" : { + "series" : { + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + }, + "borderWidth" : 0 + } + }, + "subtitle" : { + "text" : "[Champions: 22] Last updated at 2022-01-07 09:51:12 GMT" + }, + "legend" : { + "enabled" : 0 + }, + "xAxis" : { + "type" : "category" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "tooltip" : { + "followPointer" : 1, + "pointFormat" : "{point.name}: {point.y:f}
", + "headerFormat" : "{series.name}
" + }, + "title" : { + "text" : "The Weekly Challenge - 146" + }, "drilldown" : { "series" : [ { - "name" : "Abigail", + "id" : "Abigail", "data" : [ [ "Perl", @@ -13,7 +162,7 @@ 2 ] ], - "id" : "Abigail" + "name" : "Abigail" }, { "data" : [ @@ -22,21 +171,20 @@ 1 ] ], - "id" : "Andrew Shitov", - "name" : "Andrew Shitov" + "name" : "Andrew Shitov", + "id" : "Andrew Shitov" }, { - "name" : "Andrezgz", + "id" : "Andrezgz", "data" : [ [ "Perl", 2 ] ], - "id" : "Andrezgz" + "name" : "Andrezgz" }, { - "id" : "Arne Sommer", "data" : [ [ "Perl", @@ -51,11 +199,12 @@ 1 ] ], - "name" : "Arne Sommer" + "name" : "Arne Sommer", + "id" : "Arne Sommer" }, { - "name" : "Athanasius", "id" : "Athanasius", + "name" : "Athanasius", "data" : [ [ "Perl", @@ -68,7 +217,6 @@ ] }, { - "name" : "Dave Jacoby", "id" : "Dave Jacoby", "data" : [ [ @@ -79,11 +227,12 @@ "Blog", 1 ] - ] + ], + "name" : "Dave Jacoby" }, { - "name" : "E. Choroba", "id" : "E. Choroba", + "name" : "E. Choroba", "data" : [ [ "Perl", @@ -92,17 +241,16 @@ ] }, { + "id" : "Feng Chang", "name" : "Feng Chang", "data" : [ [ "Raku", 2 ] - ], - "id" : "Feng Chang" + ] }, { - "name" : "Flavio Poletti", "id" : "Flavio Poletti", "data" : [ [ @@ -117,10 +265,10 @@ "Blog", 2 ] - ] + ], + "name" : "Flavio Poletti" }, { - "name" : "James Smith", "data" : [ [ "Perl", @@ -131,17 +279,36 @@ 1 ] ], + "name" : "James Smith", "id" : "James Smith" }, { + "id" : "Jorg Sommrey", + "name" : "Jorg Sommrey", "data" : [ [ "Perl", 1 ] + ] + }, + { + "id" : "Laurent Rosenfeld", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] ], - "id" : "Jorg Sommrey", - "name" : "Jorg Sommrey" + "name" : "Laurent Rosenfeld" }, { "name" : "Luca Ferrari", @@ -164,11 +331,11 @@ 2 ] ], - "id" : "Mark Anderson", - "name" : "Mark Anderson" + "name" : "Mark Anderson", + "id" : "Mark Anderson" }, { - "name" : "Mohammad S Anwar", + "id" : "Mohammad S Anwar", "data" : [ [ "Perl", @@ -179,9 +346,10 @@ 1 ] ], - "id" : "Mohammad S Anwar" + "name" : "Mohammad S Anwar" }, { + "name" : "Peter Campbell Smith", "data" : [ [ "Perl", @@ -192,20 +360,20 @@ 1 ] ], - "id" : "Peter Campbell Smith", - "name" : "Peter Campbell Smith" + "id" : "Peter Campbell Smith" }, { - "name" : "Robert DiCicco", + "id" : "Robert DiCicco", "data" : [ [ "Perl", 2 ] ], - "id" : "Robert DiCicco" + "name" : "Robert DiCicco" }, { + "id" : "Roger Bell_West", "name" : "Roger Bell_West", "data" : [ [ @@ -220,11 +388,9 @@ "Blog", 1 ] - ], - "id" : "Roger Bell_West" + ] }, { - "id" : "Simon Green", "data" : [ [ "Perl", @@ -235,11 +401,12 @@ 1 ] ], - "name" : "Simon Green" + "name" : "Simon Green", + "id" : "Simon Green" }, { - "name" : "Simon Proctor", "id" : "Simon Proctor", + "name" : "Simon Proctor", "data" : [ [ "Raku", @@ -248,7 +415,6 @@ ] }, { - "id" : "Ulrich Rieke", "data" : [ [ "Perl", @@ -259,9 +425,11 @@ 2 ] ], - "name" : "Ulrich Rieke" + "name" : "Ulrich Rieke", + "id" : "Ulrich Rieke" }, { + "id" : "W. Luis Mochan", "data" : [ [ "Perl", @@ -272,156 +440,11 @@ 1 ] ], - "id" : "W. Luis Mochan", "name" : "W. Luis Mochan" } ] }, - "legend" : { - "enabled" : 0 - }, - "series" : [ - { - "colorByPoint" : 1, - "name" : "The Weekly Challenge - 146", - "data" : [ - { - "y" : 4, - "name" : "Abigail", - "drilldown" : "Abigail" - }, - { - "drilldown" : "Andrew Shitov", - "y" : 1, - "name" : "Andrew Shitov" - }, - { - "y" : 2, - "name" : "Andrezgz", - "drilldown" : "Andrezgz" - }, - { - "drilldown" : "Arne Sommer", - "y" : 5, - "name" : "Arne Sommer" - }, - { - "name" : "Athanasius", - "y" : 4, - "drilldown" : "Athanasius" - }, - { - "y" : 3, - "name" : "Dave Jacoby", - "drilldown" : "Dave Jacoby" - }, - { - "drilldown" : "E. Choroba", - "name" : "E. Choroba", - "y" : 2 - }, - { - "drilldown" : "Feng Chang", - "name" : "Feng Chang", - "y" : 2 - }, - { - "drilldown" : "Flavio Poletti", - "y" : 6, - "name" : "Flavio Poletti" - }, - { - "drilldown" : "James Smith", - "name" : "James Smith", - "y" : 3 - }, - { - "name" : "Jorg Sommrey", - "y" : 1, - "drilldown" : "Jorg Sommrey" - }, - { - "name" : "Luca Ferrari", - "y" : 6, - "drilldown" : "Luca Ferrari" - }, - { - "y" : 2, - "name" : "Mark Anderson", - "drilldown" : "Mark Anderson" - }, - { - "name" : "Mohammad S Anwar", - "y" : 2, - "drilldown" : "Mohammad S Anwar" - }, - { - "drilldown" : "Peter Campbell Smith", - "y" : 3, - "name" : "Peter Campbell Smith" - }, - { - "drilldown" : "Robert DiCicco", - "name" : "Robert DiCicco", - "y" : 2 - }, - { - "name" : "Roger Bell_West", - "y" : 5, - "drilldown" : "Roger Bell_West" - }, - { - "drilldown" : "Simon Green", - "y" : 3, - "name" : "Simon Green" - }, - { - "drilldown" : "Simon Proctor", - "y" : 2, - "name" : "Simon Proctor" - }, - { - "y" : 4, - "name" : "Ulrich Rieke", - "drilldown" : "Ulrich Rieke" - }, - { - "drilldown" : "W. Luis Mochan", - "y" : 3, - "name" : "W. Luis Mochan" - } - ] - } - ], - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - } - } - }, - "subtitle" : { - "text" : "[Champions: 21] Last updated at 2022-01-07 09:14:31 GMT" - }, - "title" : { - "text" : "The Weekly Challenge - 146" - }, "chart" : { "type" : "column" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "xAxis" : { - "type" : "category" - }, - "tooltip" : { - "headerFormat" : "{series.name}
", - "followPointer" : 1, - "pointFormat" : "{point.name}: {point.y:f}
" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 6883874036..3b49d55777 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,63 +1,63 @@ { - "tooltip" : { - "pointFormat" : "{point.y:.0f}" - }, "xAxis" : { + "type" : "category", "labels" : { "style" : { "fontSize" : "13px", "fontFamily" : "Verdana, sans-serif" } - }, - "type" : "category" + } + }, + "title" : { + "text" : "The Weekly Challenge Contributions [2019 - 2021]" }, "yAxis" : { + "min" : 0, "title" : { "text" : null - }, - "min" : 0 + } + }, + "tooltip" : { + "pointFormat" : "{point.y:.0f}" }, "chart" : { "type" : "column" }, - "title" : { - "text" : "The Weekly Challenge Contributions [2019 - 2021]" - }, "series" : [ { + "dataLabels" : { + "format" : "{point.y:.0f}", + "y" : 10, + "rotation" : -90, + "color" : "#FFFFFF", + "align" : "right", + "enabled" : "true", + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + } + }, "name" : "Contributions", "data" : [ [ "Blog", - 2163 + 2164 ], [ "Perl", - 7037 + 7039 ], [ "Raku", - 4239 + 4241 ] - ], - "dataLabels" : { - "format" : "{point.y:.0f}", - "enabled" : "true", - "align" : "right", - "y" : 10, - "color" : "#FFFFFF", - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - }, - "rotation" : -90 - } + ] } ], + "subtitle" : { + "text" : "Last updated at 2022-01-07 09:51:12 GMT" + }, "legend" : { "enabled" : "false" - }, - "subtitle" : { - "text" : "Last updated at 2022-01-07 09:14:31 GMT" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 54c106d500..01761c276b 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,28 +1,27 @@ { - "chart" : { - "type" : "column" - }, "title" : { "text" : "The Weekly Challenge Language" }, "tooltip" : { "headerFormat" : "", - "pointFormat" : "Challenge {point.name}: {point.y:f}
", - "followPointer" : "true" - }, - "xAxis" : { - "type" : "category" + "followPointer" : "true", + "pointFormat" : "Challenge {point.name}: {point.y:f}
" }, "yAxis" : { "title" : { "text" : "Total Solutions" } }, + "xAxis" : { + "type" : "category" + }, + "chart" : { + "type" : "column" + }, "drilldown" : { "series" : [ { "name" : "001", - "id" : "001", "data" : [ [ "Perl", @@ -36,7 +35,8 @@ "Blog", 11 ] - ] + ], + "id" : "001" }, { "data" : [ @@ -53,10 +53,11 @@ 10 ] ], - "id" : "002", - "name" : "002" + "name" : "002", + "id" : "002" }, { + "id" : "003", "name" : "003", "data" : [ [ @@ -71,11 +72,9 @@ "Blog", 9 ] - ], - "id" : "003" + ] }, { - "name" : "004", "id" : "004", "data" : [ [ @@ -90,9 +89,11 @@ "Blog", 10 ] - ] + ], + "name" : "004" }, { + "name" : "005", "data" : [ [ "Perl", @@ -107,8 +108,7 @@ 12 ] ], - "id" : "005", - "name" : "005" + "id" : "005" }, { "data" : [ @@ -125,10 +125,11 @@ 7 ] ], - "id" : "006", - "name" : "006" + "name" : "006", + "id" : "006" }, { + "name" : "007", "data" : [ [ "Perl", @@ -143,8 +144,7 @@ 10 ] ], - "id" : "007", - "name" : "007" + "id" : "007" }, { "name" : "008", @@ -165,7 +165,6 @@ "id" : "008" }, { - "name" : "009", "id" : "009", "data" : [ [ @@ -180,7 +179,8 @@ "Blog", 13 ] - ] + ], + "name" : "009" }, { "data" : [ @@ -197,11 +197,10 @@ 11 ] ], - "id" : "010", - "name" : "010" + "name" : "010", + "id" : "010" }, { - "id" : "011", "data" : [ [ "Perl", @@ -216,10 +215,12 @@ 10 ] ], - "name" : "011" + "name" : "011", + "id" : "011" }, { "id" : "012", + "name" : "012", "data" : [ [ "Perl", @@ -233,12 +234,11 @@ "Blog", 11 ] - ], - "name" : "012" + ] }, { - "name" : "013", "id" : "013", + "name" : "013", "data" : [ [ "Perl", @@ -256,7 +256,6 @@ }, { "name" : "014", - "id" : "014", "data" : [ [ "Perl", @@ -270,9 +269,12 @@ "Blog", 15 ] - ] + ], + "id" : "014" }, { + "id" : "015", + "name" : "015", "data" : [ [ "Perl", @@ -286,11 +288,10 @@ "Blog", 15 ] - ], - "id" : "015", - "name" : "015" + ] }, { + "name" : "016", "data" : [ [ "Perl", @@ -305,12 +306,10 @@ 12 ] ], - "id" : "016", - "name" : "016" + "id" : "016" }, { "name" : "017", - "id" : "017", "data" : [ [ "Perl", @@ -324,9 +323,12 @@ "Blog", 12 ] - ] + ], + "id" : "017" }, { + "id" : "018", + "name" : "018", "data" : [ [ "Perl", @@ -340,12 +342,10 @@ "Blog", 14 ] - ], - "id" : "018", - "name" : "018" + ] }, { - "id" : "019", + "name" : "019", "data" : [ [ "Perl", @@ -360,11 +360,11 @@ 13 ] ], - "name" : "019" + "id" : "019" }, { - "name" : "020", "id" : "020", + "name" : "020", "data" : [ [ "Perl", @@ -381,7 +381,6 @@ ] }, { - "name" : "021", "id" : "021", "data" : [ [ @@ -396,7 +395,8 @@ "Blog", 10 ] - ] + ], + "name" : "021" }, { "name" : "022", @@ -417,8 +417,6 @@ "id" : "022" }, { - "name" : "023", - "id" : "023", "data" : [ [ "Perl", @@ -432,7 +430,9 @@ "Blog", 12 ] - ] + ], + "name" : "023", + "id" : "023" }, { "name" : "024", @@ -453,8 +453,6 @@ "id" : "024" }, { - "name" : "025", - "id" : "025", "data" : [ [ "Perl", @@ -468,10 +466,11 @@ "Blog", 12 ] - ] + ], + "name" : "025", + "id" : "025" }, { - "name" : "026", "id" : "026", "data" : [ [ @@ -486,9 +485,11 @@ "Blog", 10 ] - ] + ], + "name" : "026" }, { + "id" : "027", "data" : [ [ "Perl", @@ -503,10 +504,10 @@ 9 ] ], - "id" : "027", "name" : "027" }, { + "name" : "028", "data" : [ [ "Perl", @@ -521,8 +522,7 @@ 9 ] ], - "id" : "028", - "name" : "028" + "id" : "028" }, { "id" : "029", @@ -543,7 +543,7 @@ "name" : "029" }, { - "id" : "030", + "name" : "030", "data" : [ [ "Perl", @@ -558,9 +558,10 @@ 10 ] ], - "name" : "030" + "id" : "030" }, { + "name" : "031", "data" : [ [ "Perl", @@ -575,12 +576,9 @@ 9 ] ], - "id" : "031", - "name" : "031" + "id" : "031" }, { - "name" : "032", - "id" : "032", "data" : [ [ "Perl", @@ -594,11 +592,11 @@ "Blog", 10 ] - ] + ], + "name" : "032", + "id" : "032" }, { - "name" : "033", - "id" : "033", "data" : [ [ "Perl", @@ -612,10 +610,13 @@ "Blog", 10 ] - ] + ], + "name" : "033", + "id" : "033" }, { "id" : "034", + "name" : "034", "data" : [ [ "Perl", @@ -629,8 +630,7 @@ "Blog", 11 ] - ], - "name" : "034" + ] }, { "name" : "035", @@ -651,7 +651,6 @@ "id" : "035" }, { - "id" : "036", "data" : [ [ "Perl", @@ -666,10 +665,10 @@ 11 ] ], - "name" : "036" + "name" : "036", + "id" : "036" }, { - "name" : "037", "data" : [ [ "Perl", @@ -684,6 +683,7 @@ 9 ] ], + "name" : "037", "id" : "037" }, { @@ -701,11 +701,10 @@ 12 ] ], - "id" : "038", - "name" : "038" + "name" : "038", + "id" : "038" }, { - "name" : "039", "data" : [ [ "Perl", @@ -720,6 +719,7 @@ 12 ] ], + "name" : "039", "id" : "039" }, { @@ -737,11 +737,10 @@ 10 ] ], - "id" : "040", - "name" : "040" + "name" : "040", + "id" : "040" }, { - "name" : "041", "id" : "041", "data" : [ [ @@ -756,7 +755,8 @@ "Blog", 9 ] - ] + ], + "name" : "041" }, { "id" : "042", @@ -777,7 +777,6 @@ "name" : "042" }, { - "id" : "043", "data" : [ [ "Perl", @@ -792,9 +791,11 @@ 11 ] ], - "name" : "043" + "name" : "043", + "id" : "043" }, { + "id" : "044", "data" : [ [ "Perl", @@ -809,10 +810,11 @@ 11 ] ], - "id" : "044", "name" : "044" }, { + "id" : "045", + "name" : "045", "data" : [ [ "Perl", @@ -826,11 +828,10 @@ "Blog", 11 ] - ], - "id" : "045", - "name" : "045" + ] }, { + "id" : "046", "name" : "046", "data" : [ [ @@ -845,10 +846,10 @@ "Blog", 10 ] - ], - "id" : "046" + ] }, { + "name" : "047", "data" : [ [ "Perl", @@ -863,12 +864,9 @@ 10 ] ], - "id" : "047", - "name" : "047" + "id" : "047" }, { - "name" : "048", - "id" : "048", "data" : [ [ "Perl", @@ -882,9 +880,13 @@ "Blog", 12 ] - ] + ], + "name" : "048", + "id" : "048" }, { + "id" : "049", + "name" : "049", "data" : [ [ "Perl", @@ -898,12 +900,10 @@ "Blog", 12 ] - ], - "id" : "049", - "name" : "049" + ] }, { - "id" : "050", + "name" : "050", "data" : [ [ "Perl", @@ -918,10 +918,10 @@ 12 ] ], - "name" : "050" + "id" : "050" }, { - "id" : "051", + "name" : "051", "data" : [ [ "Perl", @@ -936,9 +936,11 @@ 11 ] ], - "name" : "051" + "id" : "051" }, { + "id" : "052", + "name" : "052", "data" : [ [ "Perl", @@ -952,12 +954,11 @@ "Blog", 14 ] - ], - "id" : "052", - "name" : "052" + ] }, { "id" : "053", + "name" : "053", "data" : [ [ "Perl", @@ -971,10 +972,10 @@ "Blog", 15 ] - ], - "name" : "053" + ] }, { + "id" : "054", "name" : "054", "data" : [ [ @@ -989,12 +990,11 @@ "Blog", 18 ] - ], - "id" : "054" + ] }, { - "name" : "055", "id" : "055", + "name" : "055", "data" : [ [ "Perl", @@ -1025,10 +1025,11 @@ 16 ] ], - "id" : "056", - "name" : "056" + "name" : "056", + "id" : "056" }, { + "id" : "057", "name" : "057", "data" : [ [ @@ -1043,10 +1044,10 @@ "Blog", 15 ] - ], - "id" : "057" + ] }, { + "id" : "058", "name" : "058", "data" : [ [ @@ -1061,10 +1062,10 @@ "Blog", 13 ] - ], - "id" : "058" + ] }, { + "id" : "059", "name" : "059", "data" : [ [ @@ -1079,10 +1080,10 @@ "Blog", 16 ] - ], - "id" : "059" + ] }, { + "name" : "060", "data" : [ [ "Perl", @@ -1097,11 +1098,11 @@ 16 ] ], - "id" : "060", - "name" : "060" + "id" : "060" }, { "id" : "061", + "name" : "061", "data" : [ [ "Perl", @@ -1115,10 +1116,11 @@ "Blog", 14 ] - ], - "name" : "061" + ] }, { + "id" : "062", + "name" : "062", "data" : [ [ "Perl", @@ -1132,11 +1134,11 @@ "Blog", 11 ] - ], - "id" : "062", - "name" : "062" + ] }, { + "id" : "063", + "name" : "063", "data" : [ [ "Perl", @@ -1150,11 +1152,10 @@ "Blog", 13 ] - ], - "id" : "063", - "name" : "063" + ] }, { + "name" : "064", "data" : [ [ "Perl", @@ -1169,10 +1170,10 @@ 16 ] ], - "id" : "064", - "name" : "064" + "id" : "064" }, { + "name" : "065", "data" : [ [ "Perl", @@ -1187,11 +1188,9 @@ 15 ] ], - "id" : "065", - "name" : "065" + "id" : "065" }, { - "name" : "066", "id" : "066", "data" : [ [ @@ -1206,9 +1205,12 @@ "Blog", 14 ] - ] + ], + "name" : "066" }, { + "id" : "067", + "name" : "067", "data" : [ [ "Perl", @@ -1222,12 +1224,9 @@ "Blog", 18 ] - ], - "id" : "067", - "name" : "067" + ] }, { - "name" : "068", "id" : "068", "data" : [ [ @@ -1242,9 +1241,11 @@ "Blog", 13 ] - ] + ], + "name" : "068" }, { + "id" : "069", "data" : [ [ "Perl", @@ -1259,10 +1260,11 @@ 16 ] ], - "id" : "069", "name" : "069" }, { + "id" : "070", + "name" : "070", "data" : [ [ "Perl", @@ -1276,13 +1278,11 @@ "Blog", 17 ] - ], - "id" : "070", - "name" : "070" + ] }, { - "name" : "071", "id" : "071", + "name" : "071", "data" : [ [ "Perl", @@ -1299,6 +1299,8 @@ ] }, { + "id" : "072", + "name" : "072", "data" : [ [ "Perl", @@ -1312,13 +1314,9 @@ "Blog", 19 ] - ], - "id" : "072", - "name" : "072" + ] }, { - "name" : "073", - "id" : "073", "data" : [ [ "Perl", @@ -1332,9 +1330,12 @@ "Blog", 17 ] - ] + ], + "name" : "073", + "id" : "073" }, { + "id" : "074", "data" : [ [ "Perl", @@ -1349,12 +1350,11 @@ 20 ] ], - "id" : "074", "name" : "074" }, { - "name" : "075", "id" : "075", + "name" : "075", "data" : [ [ "Perl", @@ -1371,7 +1371,7 @@ ] }, { - "name" : "076", + "id" : "076", "data" : [ [ "Perl", @@ -1386,10 +1386,9 @@ 16 ] ], - "id" : "076" + "name" : "076" }, { - "name" : "077", "data" : [ [ "Perl", @@ -1404,10 +1403,11 @@ 14 ] ], + "name" : "077", "id" : "077" }, { - "name" : "078", + "id" : "078", "data" : [ [ "Perl", @@ -1422,9 +1422,11 @@ 18 ] ], - "id" : "078" + "name" : "078" }, { + "id" : "079", + "name" : "079", "data" : [ [ "Perl", @@ -1438,13 +1440,9 @@ "Blog", 17 ] - ], - "id" : "079", - "name" : "079" + ] }, { - "name" : "080", - "id" : "080", "data" : [ [ "Perl", @@ -1458,7 +1456,9 @@ "Blog", 16 ] - ] + ], + "name" : "080", + "id" : "080" }, { "data" : [ @@ -1475,10 +1475,11 @@ 15 ] ], - "id" : "081", - "name" : "081" + "name" : "081", + "id" : "081" }, { + "name" : "082", "data" : [ [ "Perl", @@ -1493,10 +1494,10 @@ 17 ] ], - "id" : "082", - "name" : "082" + "id" : "082" }, { + "id" : "083", "data" : [ [ "Perl", @@ -1511,10 +1512,11 @@ 16 ] ], - "id" : "083", "name" : "083" }, { + "id" : "084", + "name" : "084", "data" : [ [ "Perl", @@ -1528,12 +1530,9 @@ "Blog", 12 ] - ], - "id" : "084", - "name" : "084" + ] }, { - "id" : "085", "data" : [ [ "Perl", @@ -1548,9 +1547,11 @@ 18 ] ], - "name" : "085" + "name" : "085", + "id" : "085" }, { + "id" : "086", "name" : "086", "data" : [ [ @@ -1565,12 +1566,11 @@ "Blog", 15 ] - ], - "id" : "086" + ] }, { - "name" : "087", "id" : "087", + "name" : "087", "data" : [ [ "Perl", @@ -1587,7 +1587,7 @@ ] }, { - "name" : "088", + "id" : "088", "data" : [ [ "Perl", @@ -1602,10 +1602,9 @@ 20 ] ], - "id" : "088" + "name" : "088" }, { - "name" : "089", "data" : [ [ "Perl", @@ -1620,11 +1619,10 @@ 20 ] ], + "name" : "089", "id" : "089" }, { - "name" : "090", - "id" : "090", "data" : [ [ "Perl", @@ -1638,10 +1636,11 @@ "Blog", 17 ] - ] + ], + "name" : "090", + "id" : "090" }, { - "name" : "091", "data" : [ [ "Perl", @@ -1656,10 +1655,11 @@ 16 ] ], + "name" : "091", "id" : "091" }, { - "id" : "092", + "name" : "092", "data" : [ [ "Perl", @@ -1674,9 +1674,10 @@ 16 ] ], - "name" : "092" + "id" : "092" }, { + "id" : "093", "data" : [ [ "Perl", @@ -1691,11 +1692,9 @@ 16 ] ], - "id" : "093", "name" : "093" }, { - "name" : "094", "data" : [ [ "Perl", @@ -1710,11 +1709,10 @@ 17 ] ], + "name" : "094", "id" : "094" }, { - "name" : "095", - "id" : "095", "data" : [ [ "Perl", @@ -1728,11 +1726,12 @@ "Blog", 19 ] - ] + ], + "name" : "095", + "id" : "095" }, { "name" : "096", - "id" : "096", "data" : [ [ "Perl", @@ -1746,10 +1745,11 @@ "Blog", 19 ] - ] + ], + "id" : "096" }, { - "id" : "097", + "name" : "097", "data" : [ [ "Perl", @@ -1764,7 +1764,7 @@ 19 ] ], - "name" : "097" + "id" : "097" }, { "id" : "098", @@ -1785,7 +1785,6 @@ "name" : "098" }, { - "name" : "099", "data" : [ [ "Perl", @@ -1800,6 +1799,7 @@ 14 ] ], + "name" : "099", "id" : "099" }, { @@ -1821,6 +1821,7 @@ "name" : "100" }, { + "name" : "101", "data" : [ [ "Perl", @@ -1835,8 +1836,7 @@ 13 ] ], - "id" : "101", - "name" : "101" + "id" : "101" }, { "id" : "102", @@ -1857,7 +1857,7 @@ "name" : "102" }, { - "id" : "103", + "name" : "103", "data" : [ [ "Perl", @@ -1872,11 +1872,10 @@ 15 ] ], - "name" : "103" + "id" : "103" }, { "name" : "104", - "id" : "104", "data" : [ [ "Perl", @@ -1890,11 +1889,11 @@ "Blog", 14 ] - ] + ], + "id" : "104" }, { "name" : "105", - "id" : "105", "data" : [ [ "Perl", @@ -1908,10 +1907,11 @@ "Blog", 14 ] - ] + ], + "id" : "105" }, { - "id" : "106", + "name" : "106", "data" : [ [ "Perl", @@ -1926,11 +1926,11 @@ 17 ] ], - "name" : "106" + "id" : "106" }, { - "name" : "107", "id" : "107", + "name" : "107", "data" : [ [ "Perl", @@ -1947,7 +1947,7 @@ ] }, { - "id" : "108", + "name" : "108", "data" : [ [ "Perl", @@ -1962,11 +1962,11 @@ 20 ] ], - "name" : "108" + "id" : "108" }, { - "name" : "109", "id" : "109", + "name" : "109", "data" : [ [ "Perl", @@ -1984,6 +1984,7 @@ }, { "id" : "110", + "name" : "110", "data" : [ [ "Perl", @@ -1997,11 +1998,9 @@ "Blog", 25 ] - ], - "name" : "110" + ] }, { - "name" : "111", "data" : [ [ "Perl", @@ -2016,6 +2015,7 @@ 17 ] ], + "name" : "111", "id" : "111" }, { @@ -2033,11 +2033,12 @@ 19 ] ], - "id" : "112", - "name" : "112" + "name" : "112", + "id" : "112" }, { "id" : "113", + "name" : "113", "data" : [ [ "Perl", @@ -2051,11 +2052,9 @@ "Blog", 19 ] - ], - "name" : "113" + ] }, { - "id" : "114", "data" : [ [ "Perl", @@ -2070,9 +2069,11 @@ 21 ] ], - "name" : "114" + "name" : "114", + "id" : "114" }, { + "name" : "115", "data" : [ [ "Perl", @@ -2087,10 +2088,10 @@ 20 ] ], - "id" : "115", - "name" : "115" + "id" : "115" }, { + "id" : "116", "name" : "116", "data" : [ [ @@ -2105,12 +2106,9 @@ "Blog", 17 ] - ], - "id" : "116" + ] }, { - "name" : "117", - "id" : "117", "data" : [ [ "Perl", @@ -2124,10 +2122,11 @@ "Blog", 19 ] - ] + ], + "name" : "117", + "id" : "117" }, { - "name" : "118", "id" : "118", "data" : [ [ @@ -2142,9 +2141,11 @@ "Blog", 17 ] - ] + ], + "name" : "118" }, { + "id" : "119", "data" : [ [ "Perl", @@ -2159,10 +2160,10 @@ 21 ] ], - "id" : "119", "name" : "119" }, { + "id" : "120", "data" : [ [ "Perl", @@ -2177,12 +2178,10 @@ 21 ] ], - "id" : "120", "name" : "120" }, { "name" : "121", - "id" : "121", "data" : [ [ "Perl", @@ -2196,10 +2195,11 @@ "Blog", 17 ] - ] + ], + "id" : "121" }, { - "id" : "122", + "name" : "122", "data" : [ [ "Perl", @@ -2214,7 +2214,7 @@ 20 ] ], - "name" : "122" + "id" : "122" }, { "name" : "123", @@ -2235,7 +2235,6 @@ "id" : "123" }, { - "name" : "124", "data" : [ [ "Perl", @@ -2250,11 +2249,10 @@ 16 ] ], + "name" : "124", "id" : "124" }, { - "name" : "125", - "id" : "125", "data" : [ [ "Perl", @@ -2268,9 +2266,12 @@ "Blog", 11 ] - ] + ], + "name" : "125", + "id" : "125" }, { + "id" : "126", "data" : [ [ "Perl", @@ -2285,11 +2286,10 @@ 19 ] ], - "id" : "126", "name" : "126" }, { - "id" : "127", + "name" : "127", "data" : [ [ "Perl", @@ -2304,9 +2304,11 @@ 18 ] ], - "name" : "127" + "id" : "127" }, { + "id" : "128", + "name" : "128", "data" : [ [ "Perl", @@ -2320,11 +2322,11 @@ "Blog", 15 ] - ], - "id" : "128", - "name" : "128" + ] }, { + "id" : "129", + "name" : "129", "data" : [ [ "Perl", @@ -2338,9 +2340,7 @@ "Blog", 14 ] - ], - "id" : "129", - "name" : "129" + ] }, { "id" : "130", @@ -2361,8 +2361,8 @@ "name" : "130" }, { - "name" : "131", "id" : "131", + "name" : "131", "data" : [ [ "Perl", @@ -2380,6 +2380,7 @@ }, { "id" : "132", + "name" : "132", "data" : [ [ "Perl", @@ -2393,11 +2394,10 @@ "Blog", 13 ] - ], - "name" : "132" + ] }, { - "name" : "133", + "id" : "133", "data" : [ [ "Perl", @@ -2412,11 +2412,10 @@ 18 ] ], - "id" : "133" + "name" : "133" }, { "name" : "134", - "id" : "134", "data" : [ [ "Perl", @@ -2430,9 +2429,11 @@ "Blog", 15 ] - ] + ], + "id" : "134" }, { + "id" : "135", "data" : [ [ "Perl", @@ -2447,11 +2448,11 @@ 17 ] ], - "id" : "135", "name" : "135" }, { "id" : "136", + "name" : "136", "data" : [ [ "Perl", @@ -2465,11 +2466,11 @@ "Blog", 19 ] - ], - "name" : "136" + ] }, { "id" : "137", + "name" : "137", "data" : [ [ "Perl", @@ -2483,8 +2484,7 @@ "Blog", 17 ] - ], - "name" : "137" + ] }, { "data" : [ @@ -2501,11 +2501,12 @@ 20 ] ], - "id" : "138", - "name" : "138" + "name" : "138", + "id" : "138" }, { "id" : "139", + "name" : "139", "data" : [ [ "Perl", @@ -2519,8 +2520,7 @@ "Blog", 19 ] - ], - "name" : "139" + ] }, { "id" : "140", @@ -2541,7 +2541,7 @@ "name" : "140" }, { - "id" : "141", + "name" : "141", "data" : [ [ "Perl", @@ -2556,9 +2556,10 @@ 20 ] ], - "name" : "141" + "id" : "141" }, { + "name" : "142", "data" : [ [ "Perl", @@ -2573,10 +2574,10 @@ 18 ] ], - "id" : "142", - "name" : "142" + "id" : "142" }, { + "id" : "143", "data" : [ [ "Perl", @@ -2591,10 +2592,10 @@ 18 ] ], - "id" : "143", "name" : "143" }, { + "id" : "144", "name" : "144", "data" : [ [ @@ -2609,11 +2610,11 @@ "Blog", 17 ] - ], - "id" : "144" + ] }, { "id" : "145", + "name" : "145", "data" : [ [ "Perl", @@ -2627,31 +2628,36 @@ "Blog", 19 ] - ], - "name" : "145" + ] }, { "name" : "146", - "id" : "146", "data" : [ [ "Perl", - 30 + 32 ], [ "Raku", - 20 + 22 ], [ "Blog", - 15 + 16 ] - ] + ], + "id" : "146" } ] }, - "legend" : { - "enabled" : "false" + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + } + } }, "series" : [ { @@ -2663,18 +2669,18 @@ }, { "y" : 125, -