From 6ebffe2b0337bed8105897fc00e20781194e08d7 Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Sun, 30 Jan 2022 04:09:52 +0000 Subject: - Added solutions by Ulrich Rieke. --- challenge-149/ulrich-rieke/cpp/ch-1.cpp | 46 + challenge-149/ulrich-rieke/cpp/ch-2.cpp | 50 + challenge-149/ulrich-rieke/perl/ch-1.pl | 38 + challenge-149/ulrich-rieke/perl/ch-2.pl | 30 + challenge-149/ulrich-rieke/raku/ch-1.raku | 28 + stats/pwc-current.json | 209 +- stats/pwc-language-breakdown-summary.json | 72 +- stats/pwc-language-breakdown.json | 5872 ++++++++++++++--------------- stats/pwc-leaders.json | 760 ++-- stats/pwc-summary-1-30.json | 110 +- stats/pwc-summary-121-150.json | 102 +- stats/pwc-summary-151-180.json | 108 +- stats/pwc-summary-181-210.json | 104 +- stats/pwc-summary-211-240.json | 102 +- stats/pwc-summary-241-270.json | 24 +- stats/pwc-summary-31-60.json | 42 +- stats/pwc-summary-61-90.json | 46 +- stats/pwc-summary-91-120.json | 102 +- stats/pwc-summary.json | 540 +-- 19 files changed, 4298 insertions(+), 4087 deletions(-) create mode 100644 challenge-149/ulrich-rieke/cpp/ch-1.cpp create mode 100644 challenge-149/ulrich-rieke/cpp/ch-2.cpp create mode 100644 challenge-149/ulrich-rieke/perl/ch-1.pl create mode 100644 challenge-149/ulrich-rieke/perl/ch-2.pl create mode 100644 challenge-149/ulrich-rieke/raku/ch-1.raku diff --git a/challenge-149/ulrich-rieke/cpp/ch-1.cpp b/challenge-149/ulrich-rieke/cpp/ch-1.cpp new file mode 100644 index 0000000000..9a370281ac --- /dev/null +++ b/challenge-149/ulrich-rieke/cpp/ch-1.cpp @@ -0,0 +1,46 @@ +nclude +#include +#include +#include + +int findDigitSum( int n ) { + int sum = 0 ; + while ( n != 0 ) { + sum += (n % 10) ; + n /= 10 ; + } + return sum ; +} + +std::vector findFibonaccis( ) { + std::vector fibos { 0 , 1 } ; + while ( fibos.size( ) < 8 ) { + fibos.push_back( fibos.back( ) + fibos[ fibos.size( ) - 2 ] ) ; + } + return fibos ; +} + +int main( int argc, char * argv[] ) { + std::vector fiboDigitSums ; + int n = std::atoi( argv[1] ) ; + int current = -1 ; + std::vector fibonaccis = findFibonaccis( ) ; + while ( fiboDigitSums.size( ) < n ) { + current++ ; + int digitSum = findDigitSum( current ) ; + if ( std::find( fibonaccis.begin( ) , fibonaccis.end( ) , digitSum ) + != fibonaccis.end( ) ) + fiboDigitSums.push_back( current ) ; + if ( digitSum > fibonaccis.back( ) ) { + do { + fibonaccis.push_back( fibonaccis.back( ) + + fibonaccis[ fibonaccis.size( ) - 2] ) ; + } while ( fibonaccis.back( ) < digitSum ) ; + } + } + for ( int num : fiboDigitSums ) { + std::cout << num << " " ; + } + std::cout << std::endl ; + return 0 ; +} diff --git a/challenge-149/ulrich-rieke/cpp/ch-2.cpp b/challenge-149/ulrich-rieke/cpp/ch-2.cpp new file mode 100644 index 0000000000..abc278d886 --- /dev/null +++ b/challenge-149/ulrich-rieke/cpp/ch-2.cpp @@ -0,0 +1,50 @@ +#include +#include +#include +#include +#include +#include + +long parseBase( std::string numberstring , int base ) { + static std::string allBases {"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"} ; + long base10 = 0 ; + long current = 1 ; + auto start { allBases.begin( ) } ; + std::reverse( numberstring.begin( ) , numberstring.end( ) ) ; + for ( auto c : numberstring ) { + auto found = std::find( allBases.begin( ) , allBases.end( ) , c ) ; + long steps = static_cast( std::distance(start , found )) ; + base10 += steps * current ; + current *= base ; + } + return base10 ; +} + +bool isPerfectSquare( long number ) { + long double root = sqrtl( static_cast( number ) ) ; + return ( floorl( root ) == root ) ; +} + + +int main( int argc, char * argv[0] ) { + int n = std::atoi( argv[1] ) ; + std::string allBases {"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"} ; + std::string selection { allBases.substr( 0 , n ) } ; + reverse( selection.begin( ) , selection.end( ) ) ; + bool found = false ; + do { + long theNumber = 0 ; + if ( n == 10 ) + theNumber = std::stoul( selection ) ; + else + theNumber = parseBase( selection , n ) ; + if ( isPerfectSquare( theNumber ) ) { + std::cout << selection << std::endl ; + found = true ; + break ; + } + } while ( std::prev_permutation( selection.begin( ) , selection.end( ) )) ; + if ( found == false ) + std::cout << "no perfect square in base " << n << " was found!\n" ; + return 0 ; +} diff --git a/challenge-149/ulrich-rieke/perl/ch-1.pl b/challenge-149/ulrich-rieke/perl/ch-1.pl new file mode 100644 index 0000000000..d4ce0365f9 --- /dev/null +++ b/challenge-149/ulrich-rieke/perl/ch-1.pl @@ -0,0 +1,38 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; +use List::Util qw( sum ) ; + +sub find { + my $num = shift ; + my $fibos = shift ; + for my $fibonum( @$fibos ) { + if ( $num == $fibonum ) { + return 1 ; + } + } + return 0 ; +} + +my @fibonaccis = (0 , 1 ) ; +while ( scalar( @fibonaccis ) < 8 ) { + push @fibonaccis , $fibonaccis[-1] + $fibonaccis[-2] ; +} +my $N = $ARGV[0] ; +my @fiboDigitSums ; +my $current = -1 ; +my $sumOfDigits ; +while ( scalar( @fiboDigitSums ) < $N ) { + $current++ ; + $sumOfDigits = sum( split( // , $current ) ) ; + if ( find( $sumOfDigits , \@fibonaccis ) ) { + push @fiboDigitSums, $current ; + } + if ( $sumOfDigits > $fibonaccis[-1] ) { + do { + push @fibonaccis, $fibonaccis[-1] + $fibonaccis[-2] ; + } while ( $sumOfDigits > $fibonaccis[-1] ) ; + } +} +say join( ',' , @fiboDigitSums ) ; diff --git a/challenge-149/ulrich-rieke/perl/ch-2.pl b/challenge-149/ulrich-rieke/perl/ch-2.pl new file mode 100644 index 0000000000..6ed54af361 --- /dev/null +++ b/challenge-149/ulrich-rieke/perl/ch-2.pl @@ -0,0 +1,30 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; +use Algorithm::Combinatorics qw ( permutations ) ; +use Math::BigInt ; +use Math::BigFloat ; + +sub isPerfectSquare { + my $number = shift ; + my $floater = Math::BigFloat->new( "$number" ) ; + $floater->bsqrt( ) ; + return ( $floater->is_int( ) ) ; +} + +my $N = $ARGV[0] ; +my @bases = ('0' .. '9') ; +push @bases , ('A' .. 'Z') ; +my @possibleDigits = @bases[0 .. $N - 1] ; +my @reversed = reverse @possibleDigits ; +my $iter = permutations( \@reversed ) ; +while ( my $c = $iter->next ) { + my $num = join( '' , @$c ) ; + my $toBase10 = Math::BigInt->from_base( $num , $N ) ; + if ( isPerfectSquare( $toBase10 ) ) { + say $num ; + exit( 0 ) ; + } +} +say "No perfect square with different digits for this base!" diff --git a/challenge-149/ulrich-rieke/raku/ch-1.raku b/challenge-149/ulrich-rieke/raku/ch-1.raku new file mode 100644 index 0000000000..ce09c995fa --- /dev/null +++ b/challenge-149/ulrich-rieke/raku/ch-1.raku @@ -0,0 +1,28 @@ +use v6 ; + +sub inFibo( $n , @numbers ) { + return $n == 0 || $n == 1 || $n (elem) @numbers[2..@numbers.elems - 1].Set ; +} + +sub MAIN( Int $N ) { + my @fibonaccis = (0 , 1) ; + while ( @fibonaccis.elems < 8 ) { + @fibonaccis.push( @fibonaccis[*-1] + @fibonaccis[*-2] ) ; + } + my @fibonacciDigitSum ; + my $current = -1 ; + my $sumOfDigits ; + while ( @fibonacciDigitSum.elems < $N ) { + $current++ ; + $sumOfDigits = (~$current).comb.map( {.Int} ).sum ; + if ( inFibo( $sumOfDigits , @fibonaccis) ) { + @fibonacciDigitSum.push( $current ) ; + } + if ( $sumOfDigits > @fibonaccis[*-1] ) { + repeat { + @fibonaccis.push( @fibonaccis[*-1] + @fibonaccis[*-2] ) ; + } until ( $sumOfDigits < @fibonaccis[*-1] ) ; + } + } + say @fibonacciDigitSum.join( ',' ) ; +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 2eee36d552..63d4da74b9 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,8 +1,37 @@ { + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "tooltip" : { + "headerFormat" : "{series.name}
", + "pointFormat" : "{point.name}: {point.y:f}
", + "followPointer" : 1 + }, + "title" : { + "text" : "The Weekly Challenge - 149" + }, + "chart" : { + "type" : "column" + }, + "subtitle" : { + "text" : "[Champions: 21] Last updated at 2022-01-30 04:06:45 GMT" + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + }, + "borderWidth" : 0 + } + }, + "xAxis" : { + "type" : "category" + }, "series" : [ { - "name" : "The Weekly Challenge - 149", - "colorByPoint" : 1, "data" : [ { "drilldown" : "Abigail", @@ -10,44 +39,44 @@ "name" : "Abigail" }, { - "drilldown" : "Alexander Pankoff", "y" : 2, - "name" : "Alexander Pankoff" + "name" : "Alexander Pankoff", + "drilldown" : "Alexander Pankoff" }, { - "drilldown" : "Cheok-Yin Fung", "y" : 2, - "name" : "Cheok-Yin Fung" + "name" : "Cheok-Yin Fung", + "drilldown" : "Cheok-Yin Fung" }, { + "y" : 1, "name" : "Colin Crain", - "drilldown" : "Colin Crain", - "y" : 1 + "drilldown" : "Colin Crain" }, { "y" : 4, - "drilldown" : "Dave Jacoby", - "name" : "Dave Jacoby" + "name" : "Dave Jacoby", + "drilldown" : "Dave Jacoby" }, { - "y" : 2, "drilldown" : "E. Choroba", - "name" : "E. Choroba" + "name" : "E. Choroba", + "y" : 2 }, { + "drilldown" : "Flavio Poletti", "name" : "Flavio Poletti", - "y" : 6, - "drilldown" : "Flavio Poletti" + "y" : 6 }, { - "name" : "James Smith", "drilldown" : "James Smith", + "name" : "James Smith", "y" : 3 }, { + "name" : "Jorg Sommrey", "y" : 2, - "drilldown" : "Jorg Sommrey", - "name" : "Jorg Sommrey" + "drilldown" : "Jorg Sommrey" }, { "drilldown" : "Laurent Rosenfeld", @@ -55,14 +84,14 @@ "name" : "Laurent Rosenfeld" }, { - "y" : 1, "drilldown" : "Lubos Kolouch", - "name" : "Lubos Kolouch" + "name" : "Lubos Kolouch", + "y" : 1 }, { - "y" : 4, "drilldown" : "Luca Ferrari", - "name" : "Luca Ferrari" + "name" : "Luca Ferrari", + "y" : 4 }, { "drilldown" : "Mark Anderson", @@ -80,66 +109,46 @@ "drilldown" : "Mohammad S Anwar" }, { + "name" : "Niels van Dijke", "y" : 1, - "drilldown" : "Niels van Dijke", - "name" : "Niels van Dijke" + "drilldown" : "Niels van Dijke" }, { - "drilldown" : "Peter Campbell Smith", "y" : 3, - "name" : "Peter Campbell Smith" + "name" : "Peter Campbell Smith", + "drilldown" : "Peter Campbell Smith" }, { - "name" : "Robert DiCicco", "drilldown" : "Robert DiCicco", + "name" : "Robert DiCicco", "y" : 1 }, { "drilldown" : "Roger Bell_West", - "y" : 5, - "name" : "Roger Bell_West" + "name" : "Roger Bell_West", + "y" : 5 }, { "y" : 3, + "name" : "Ulrich Rieke", + "drilldown" : "Ulrich Rieke" + }, + { "drilldown" : "W. Luis Mochan", - "name" : "W. Luis Mochan" + "name" : "W. Luis Mochan", + "y" : 3 } - ] + ], + "name" : "The Weekly Challenge - 149", + "colorByPoint" : 1 } ], - "subtitle" : { - "text" : "[Champions: 20] Last updated at 2022-01-30 03:46:35 GMT" - }, - "xAxis" : { - "type" : "category" - }, - "plotOptions" : { - "series" : { - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - }, - "borderWidth" : 0 - } - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "chart" : { - "type" : "column" - }, "legend" : { "enabled" : 0 }, - "title" : { - "text" : "The Weekly Challenge - 149" - }, "drilldown" : { "series" : [ { - "id" : "Abigail", "data" : [ [ "Perl", @@ -150,20 +159,20 @@ 2 ] ], + "id" : "Abigail", "name" : "Abigail" }, { - "name" : "Alexander Pankoff", - "id" : "Alexander Pankoff", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Alexander Pankoff", + "name" : "Alexander Pankoff" }, { - "id" : "Cheok-Yin Fung", "data" : [ [ "Perl", @@ -174,20 +183,20 @@ 1 ] ], - "name" : "Cheok-Yin Fung" + "name" : "Cheok-Yin Fung", + "id" : "Cheok-Yin Fung" }, { + "name" : "Colin Crain", "id" : "Colin Crain", "data" : [ [ "Blog", 1 ] - ], - "name" : "Colin Crain" + ] }, { - "name" : "Dave Jacoby", "data" : [ [ "Perl", @@ -198,19 +207,21 @@ 2 ] ], + "name" : "Dave Jacoby", "id" : "Dave Jacoby" }, { + "name" : "E. Choroba", "id" : "E. Choroba", "data" : [ [ "Perl", 2 ] - ], - "name" : "E. Choroba" + ] }, { + "name" : "Flavio Poletti", "id" : "Flavio Poletti", "data" : [ [ @@ -225,11 +236,11 @@ "Blog", 2 ] - ], - "name" : "Flavio Poletti" + ] }, { "name" : "James Smith", + "id" : "James Smith", "data" : [ [ "Perl", @@ -239,18 +250,17 @@ "Blog", 1 ] - ], - "id" : "James Smith" + ] }, { - "name" : "Jorg Sommrey", - "id" : "Jorg Sommrey", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Jorg Sommrey", + "id" : "Jorg Sommrey" }, { "name" : "Laurent Rosenfeld", @@ -271,13 +281,13 @@ ] }, { - "name" : "Lubos Kolouch", "data" : [ [ "Perl", 1 ] ], + "name" : "Lubos Kolouch", "id" : "Lubos Kolouch" }, { @@ -291,12 +301,12 @@ 2 ] ], - "id" : "Luca Ferrari", - "name" : "Luca Ferrari" + "name" : "Luca Ferrari", + "id" : "Luca Ferrari" }, { - "name" : "Mark Anderson", "id" : "Mark Anderson", + "name" : "Mark Anderson", "data" : [ [ "Raku", @@ -305,14 +315,14 @@ ] }, { + "id" : "Matthew Neleigh", + "name" : "Matthew Neleigh", "data" : [ [ "Perl", 2 ] - ], - "id" : "Matthew Neleigh", - "name" : "Matthew Neleigh" + ] }, { "data" : [ @@ -325,20 +335,21 @@ 1 ] ], - "id" : "Mohammad S Anwar", - "name" : "Mohammad S Anwar" + "name" : "Mohammad S Anwar", + "id" : "Mohammad S Anwar" }, { - "id" : "Niels van Dijke", "data" : [ [ "Perl", 1 ] ], + "id" : "Niels van Dijke", "name" : "Niels van Dijke" }, { + "name" : "Peter Campbell Smith", "id" : "Peter Campbell Smith", "data" : [ [ @@ -349,18 +360,17 @@ "Blog", 1 ] - ], - "name" : "Peter Campbell Smith" + ] }, { - "name" : "Robert DiCicco", "data" : [ [ "Perl", 1 ] ], - "id" : "Robert DiCicco" + "id" : "Robert DiCicco", + "name" : "Robert DiCicco" }, { "name" : "Roger Bell_West", @@ -380,8 +390,23 @@ ] ] }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 1 + ] + ], + "name" : "Ulrich Rieke", + "id" : "Ulrich Rieke" + }, { "name" : "W. Luis Mochan", + "id" : "W. Luis Mochan", "data" : [ [ "Perl", @@ -391,14 +416,8 @@ "Blog", 1 ] - ], - "id" : "W. Luis Mochan" + ] } ] - }, - "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 cad7c033a5..3135e28d23 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,22 +1,46 @@ { - "yAxis" : { - "min" : 0, - "title" : { - "text" : null - } + "subtitle" : { + "text" : "Last updated at 2022-01-30 04:06:45 GMT" }, "chart" : { "type" : "column" }, - "legend" : { - "enabled" : "false" + "tooltip" : { + "pointFormat" : "{point.y:.0f}" }, "title" : { "text" : "The Weekly Challenge Contributions [2019 - 2021]" }, + "yAxis" : { + "min" : 0, + "title" : { + "text" : null + } + }, + "xAxis" : { + "type" : "category", + "labels" : { + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + } + } + }, "series" : [ { "name" : "Contributions", + "dataLabels" : { + "color" : "#FFFFFF", + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + }, + "rotation" : -90, + "enabled" : "true", + "align" : "right", + "y" : 10, + "format" : "{point.y:.0f}" + }, "data" : [ [ "Blog", @@ -24,40 +48,16 @@ ], [ "Perl", - 7180 + 7182 ], [ "Raku", - 4315 + 4316 ] - ], - "dataLabels" : { - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - }, - "format" : "{point.y:.0f}", - "align" : "right", - "rotation" : -90, - "enabled" : "true", - "color" : "#FFFFFF", - "y" : 10 - } + ] } ], - "xAxis" : { - "labels" : { - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - } - }, - "type" : "category" - }, - "subtitle" : { - "text" : "Last updated at 2022-01-30 03:46:34 GMT" - }, - "tooltip" : { - "pointFormat" : "{point.y:.0f}" + "legend" : { + "enabled" : "false" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index f10cf19e48..aa188fea94 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,2731 +1,27 @@ { - "tooltip" : { - "pointFormat" : "Challenge {point.name}: {point.y:f}
", - "headerFormat" : "", - "followPointer" : "true" - }, - "drilldown" : { - "series" : [ - { - "name" : "001", - "id" : "001", - "data" : [ - [ - "Perl", - 103 - ], - [ - "Raku", - 47 - ], - [ - "Blog", - 11 - ] - ] - }, - { - "name" : "002", - "id" : "002", - "data" : [ - [ - "Perl", - 79 - ], - [ - "Raku", - 36 - ], - [ - "Blog", - 10 - ] - ] - }, - { - "name" : "003", - "data" : [ - [ - "Perl", - 44 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 9 - ] - ], - "id" : "003" - }, - { - "name" : "004", - "id" : "004", - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 33 - ], - [ - "Blog", - 10 - ] - ] - }, - { - "name" : "005", - "id" : "005", - "data" : [ - [ - "Perl", - 40 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 12 - ] - ] - }, - { - "id" : "006", - "data" : [ - [ - "Perl", - 33 - ], - [ - "Raku", - 18 - ], - [ - "Blog", - 7 - ] - ], - "name" : "006" - }, - { - "data" : [ - [ - "Perl", - 31 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 10 - ] - ], - "id" : "007", - "name" : "007" - }, - { - "id" : "008", - "data" : [ - [ - "Perl", - 44 - ], - [ - "Raku", - 22 - ], - [ - "Blog", - 12 - ] - ], - "name" : "008" - }, - { - "name" : "009", - "data" : [ - [ - "Perl", - 42 - ], - [ - "Raku", - 21 - ], - [ - "Blog", - 13 - ] - ], - "id" : "009" - }, - { - "id" : "010", - "data" : [ - [ - "Perl", - 35 - ], - [ - "Raku", - 19 - ], - [ - "Blog", - 11 - ] - ], - "name" : "010" - }, - { - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 28 - ], - [ - "Blog", - 10 - ] - ], - "id" : "011", - "name" : "011" - }, - { - "data" : [ - [ - "Perl", - 48 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 11 - ] - ], - "id" : "012", - "name" : "012" - }, - { - "name" : "013", - "id" : "013", - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 25 - ], - [ - "Blog", - 13 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 55 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 15 - ] - ], - "id" : "014", - "name" : "014" - }, - { - "id" : "015", - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 28 - ], - [ - "Blog", - 15 - ] - ], - "name" : "015" - }, - { - "id" : "016", - "data" : [ - [ - "Perl", - 36 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 12 - ] - ], - "name" : "016" - }, - { - "name" : "017", - "id" : "017", - "data" : [ - [ - "Perl", - 45 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 12 - ] - ] - }, - { - "name" : "018", - "data" : [ - [ - "Perl", - 36 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 14 - ] - ], - "id" : "018" - }, - { - "name" : "019", - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 13 - ] - ], - "id" : "019" - }, - { - "name" : "020", - "id" : "020", - "data" : [ - [ - "Perl", - 51 - ], - [ - "Raku", - 37 - ], - [ - "Blog", - 13 - ] - ] - }, - { - "name" : "021", - "id" : "021", - "data" : [ - [ - "Perl", - 38 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 10 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 35 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 10 - ] - ], - "id" : "022", - "name" : "022" - }, - { - "name" : "023", - "id" : "023", - "data" : [ - [ - "Perl", - 53 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 12 - ] - ] - }, - { - "name" : "024", - "data" : [ - [ - "Perl", - 38 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 11 - ] - ], - "id" : "024" - }, - { - "name" : "025", - "data" : [ - [ - "Perl", - 28 - ], - [ - "Raku", - 19 - ], - [ - "Blog", - 12 - ] - ], - "id" : "025" - }, - { - "name" : "026", - "data" : [ - [ - "Perl", - 35 - ], - [ - "Raku", - 29 - ], - [ - "Blog", - 10 - ] - ], - "id" : "026" - }, - { - "name" : "027", - "id" : "027", - "data" : [ - [ - "Perl", - 31 - ], - [ - "Raku", - 22 - ], - [ - "Blog", - 9 - ] - ] - }, - { - "name" : "028", - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 9 - ] - ], - "id" : "028" - }, - { - "data" : [ - [ - "Perl", - 42 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 12 - ] - ], - "id" : "029", - "name" : "029" - }, - { - "data" : [ - [ - "Perl", - 76 - ], - [ - "Raku", - 33 - ], - [ - "Blog", - 10 - ] - ], - "id" : "030", - "name" : "030" - }, - { - "data" : [ - [ - "Perl", - 52 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 9 - ] - ], - "id" : "031", - "name" : "031" - }, - { - "data" : [ - [ - "Perl", - 59 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 10 - ] - ], - "id" : "032", - "name" : "032" - }, - { - "name" : "033", - "id" : "033", - "data" : [ - [ - "Perl", - 64 - ], - [ - "Raku", - 38 - ], - [ - "Blog", - 10 - ] - ] - }, - { - "name" : "034", - "data" : [ - [ - "Perl", - 32 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 11 - ] - ], - "id" : "034" - }, - { - "name" : "035", - "data" : [ - [ - "Perl", - 35 - ], - [ - "Raku", - 22 - ], - [ - "Blog", - 9 - ] - ], - "id" : "035" - }, - { - "name" : "036", - "data" : [ - [ - "Perl", - 35 - ], - [ - "Raku", - 22 - ], - [ - "Blog", - 11 - ] - ], - "id" : "036" - }, - { - "name" : "037", - "data" : [ - [ - "Perl", - 34 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 9 - ] - ], - "id" : "037" - }, - { - "id" : "038", - "data" : [ - [ - "Perl", - 32 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 12 - ] - ], - "name" : "038" - }, - { - "name" : "039", - "data" : [ - [ - "Perl", - 29 - ], - [ - "Raku", - 21 - ], - [ - "Blog", - 12 - ] - ], - "id" : "039" - }, - { - "name" : "040", - "id" : "040", - "data" : [ - [ - "Perl", - 39 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 10 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 37 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 9 - ] - ], - "id" : "041", - "name" : "041" - }, - { - "id" : "042", - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 11 - ] - ], - "name" : "042" - }, - { - "data" : [ - [ - "Perl", - 33 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 11 - ] - ], - "id" : "043", - "name" : "043" - }, - { - "id" : "044", - "data" : [ - [ - "Perl", - 41 - ], - [ - "Raku", - 33 - ], - [ - "Blog", - 11 - ] - ], - "name" : "044" - }, - { - "name" : "045", - "data" : [ - [ - "Perl", - 50 - ], - [ - "Raku", - 35 - ], - [ - "Blog", - 11 - ] - ], - "id" : "045" - }, - { - "name" : "046", - "id" : "046", - "data" : [ - [ - "Perl", - 44 - ], - [ - "Raku", - 33 - ], - [ - "Blog", - 10 - ] - ] - }, - { - "name" : "047", - "data" : [ - [ - "Perl", - 43 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 10 - ] - ], - "id" : "047" - }, - { - "id" : "048", - "data" : [ - [ - "Perl", - 59 - ], - [ - "Raku", - 37 - ], - [ - "Blog", - 12 - ] - ], - "name" : "048" - }, - { - "name" : "049", - "id" : "049", - "data" : [ - [ - "Perl", - 50 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 12 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 50 - ], - [ - "Raku", - 36 - ], - [ - "Blog", - 12 - ] - ], - "id" : "050", - "name" : "050" - }, - { - "id" : "051", - "data" : [ - [ - "Perl", - 46 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 11 - ] - ], - "name" : "051" - }, - { - "name" : "052", - "id" : "052", - "data" : [ - [ - "Perl", - 45 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 14 - ] - ] - }, - { - "name" : "053", - "data" : [ - [ - "Perl", - 45 - ], - [ - "Raku", - 41 - ], - [ - "Blog", - 15 - ] - ], - "id" : "053" - }, - { - "name" : "054", - "id" : "054", - "data" : [ - [ - "Perl", - 45 - ], - [ - "Raku", - 40 - ], - [ - "Blog", - 18 - ] - ] - }, - { - "name" : "055", - "id" : "055", - "data" : [ - [ - "Perl", - 41 - ], - [ - "Raku", - 33 - ], - [ - "Blog", - 14 - ] - ] - }, - { - "name" : "056", - "id" : "056", - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 16 - ] - ] - }, - { - "id" : "057", - "data" : [ - [ - "Perl", - 39 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 15 - ] - ], - "name" : "057" - }, - { - "name" : "058", - "data" : [ - [ - "Perl", - 33 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 13 - ] - ], - "id" : "058" - }, - { - "name" : "059", - "data" : [ - [ - "Perl", - 39 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 16 - ] - ], - "id" : "059" - }, - { - "name" : "060", - "id" : "060", - "data" : [ - [ - "Perl", - 39 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 16 - ] - ] - }, - { - "id" : "061", - "data" : [ - [ - "Perl", - 37 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 14 - ] - ], - "name" : "061" - }, - { - "id" : "062", - "data" : [ - [ - "Perl", - 28 - ], - [ - "Raku", - 19 - ], - [ - "Blog", - 11 - ] - ], - "name" : "062" - }, - { - "id" : "063", - "data" : [ - [ - "Perl", - 42 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 13 - ] - ], - "name" : "063" - }, - { - "name" : "064", - "data" : [ - [ - "Perl", - 35 - ], - [ - "Raku", - 29 - ], - [ - "Blog", - 16 - ] - ], - "id" : "064" - }, - { - "name" : "065", - "id" : "065", - "data" : [ - [ - "Perl", - 32 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 15 - ] - ] - }, - { - "id" : "066", - "data" : [ - [ - "Perl", - 39 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 14 - ] - ], - "name" : "066" - }, - { - "data" : [ - [ - "Perl", - 38 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 18 - ] - ], - "id" : "067", - "name" : "067" - }, - { - "name" : "068", - "id" : "068", - "data" : [ - [ - "Perl", - 33 - ], - [ - "Raku", - 29 - ], - [ - "Blog", - 13 - ] - ] - }, - { - "name" : "069", - "id" : "069", - "data" : [ - [ - "Perl", - 39 - ], - [ - "Raku", - 28 - ], - [ - "Blog", - 16 - ] - ] - }, - { - "id" : "070", - "data" : [ - [ - "Perl", - 42 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 17 - ] - ], - "name" : "070" - }, - { - "data" : [ - [ - "Perl", - 31 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 15 - ] - ], - "id" : "071", - "name" : "071" - }, - { - "name" : "072", - "id" : "072", - "data" : [ - [ - "Perl", - 51 - ], - [ - "Raku", - 42 - ], - [ - "Blog", - 19 - ] - ] - }, - { - "name" : "073", - "data" : [ - [ - "Perl", - 53 - ], - [ - "Raku", - 40 - ], - [ - "Blog", - 17 - ] - ], - "id" : "073" - }, - { - "name" : "074", - "id" : "074", - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 39 - ], - [ - "Blog", - 20 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 57 - ], - [ - "Raku", - 38 - ], - [ - "Blog", - 20 - ] - ], - "id" : "075", - "name" : "075" - }, - { - "name" : "076", - "data" : [ - [ - "Perl", - 53 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 16 - ] - ], - "id" : "076" - }, - { - "id" : "077", - "data" : [ - [ - "Perl", - 50 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 14 - ] - ], - "name" : "077" - }, - { - "data" : [ - [ - "Perl", - 68 - ], - [ - "Raku", - 41 - ], - [ - "Blog", - 18 - ] - ], - "id" : "078", - "name" : "078" - }, - { - "id" : "079", - "data" : [ - [ - "Perl", - 68 - ], - [ - "Raku", - 37 - ], - [ - "Blog", - 17 - ] - ], - "name" : "079" - }, - { - "id" : "080", - "data" : [ - [ - "Perl", - 75 - ], - [ - "Raku", - 36 - ], - [ - "Blog", - 16 - ] - ], - "name" : "080" - }, - { - "id" : "081", - "data" : [ - [ - "Perl", - 65 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 15 - ] - ], - "name" : "081" - }, - { - "data" : [ - [ - "Perl", - 62 - ], - [ - "Raku", - 35 - ], - [ - "Blog", - 17 - ] - ], - "id" : "082", - "name" : "082" - }, - { - "name" : "083", - "data" : [ - [ - "Perl", - 73 - ], - [ - "Raku", - 38 - ], - [ - "Blog", - 16 - ] - ], - "id" : "083" - }, - { - "name" : "084", - "id" : "084", - "data" : [ - [ - "Perl", - 71 - ], - [ - "Raku", - 36 - ], - [ - "Blog", - 12 - ] - ] - }, - { - "id" : "085", - "data" : [ - [ - "Perl", - 64 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 18 - ] - ], - "name" : "085" - }, - { - "data" : [ - [ - "Perl", - 58 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 15 - ] - ], - "id" : "086", - "name" : "086" - }, - { - "name" : "087", - "id" : "087", - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 14 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 65 - ], - [ - "Raku", - 36 - ], - [ - "Blog", - 20 - ] - ], - "id" : "088", - "name" : "088" - }, - { - "name" : "089", - "data" : [ - [ - "Perl", - 59 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 20 - ] - ], - "id" : "089" - }, - { - "data" : [ - [ - "Perl", - 57 - ], - [ - "Raku", - 39 - ], - [ - "Blog", - 17 - ] - ], - "id" : "090", - "name" : "090" - }, - { - "id" : "091", - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 36 - ], - [ - "Blog", - 16 - ] - ], - "name" : "091" - }, - { - "name" : "092", - "data" : [ - [ - "Perl", - 52 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 16 - ] - ], - "id" : "092" - }, - { - "data" : [ - [ - "Perl", - 46 - ], - [ - "Raku", - 25 - ], - [ - "Blog", - 16 - ] - ], - "id" : "093", - "name" : "093" - }, - { - "name" : "094", - "data" : [ - [ - "Perl", - 44 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 17 - ] - ], - "id" : "094" - }, - { - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 33 - ], - [ - "Blog", - 19 - ] - ], - "id" : "095", - "name" : "095" - }, - { - "name" : "096", - "data" : [ - [ - "Perl", - 52 - ], - [ - "Raku", - 37 - ], - [ - "Blog", - 19 - ] - ], - "id" : "096" - }, - { - "id" : "097", - "data" : [ - [ - "Perl", - 63 - ], - [ - "Raku", - 29 - ], - [ - "Blog", - 19 - ] - ], - "name" : "097" - }, - { - "name" : "098", - "data" : [ - [ - "Perl", - 59 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 17 - ] - ], - "id" : "098" - }, - { - "name" : "099", - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 14 - ] - ], - "id" : "099" - }, - { - "data" : [ - [ - "Perl", - 69 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 21 - ] - ], - "id" : "100", - "name" : "100" - }, - { - "data" : [ - [ - "Perl", - 46 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 13 - ] - ], - "id" : "101", - "name" : "101" - }, - { - "name" : "102", - "id" : "102", - "data" : [ - [ - "Perl", - 52 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 15 - ] - ] - }, - { - "name" : "103", - "data" : [ - [ - "Perl", - 41 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 15 - ] - ], - "id" : "103" - }, - { - "id" : "104", - "data" : [ - [ - "Perl", - 43 - ], - [ - "Raku", - 28 - ], - [ - "Blog", - 14 - ] - ], - "name" : "104" - }, - { - "data" : [ - [ - "Perl", - 38 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 14 - ] - ], - "id" : "105", - "name" : "105" - }, - { - "name" : "106", - "id" : "106", - "data" : [ - [ - "Perl", - 49 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 17 - ] - ] - }, - { - "name" : "107", - "data" : [ - [ - "Perl", - 45 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 19 - ] - ], - "id" : "107" - }, - { - "id" : "108", - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 20 - ] - ], - "name" : "108" - }, - { - "name" : "109", - "data" : [ - [ - "Perl", - 48 - ], - [ - "Raku", - 37 - ], - [ - "Blog", - 22 - ] - ], - "id" : "109" - }, - { - "id" : "110", - "data" : [ - [ - "Perl", - 51 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 25 - ] - ], - "name" : "110" - }, - { - "name" : "111", - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 17 - ] - ], - "id" : "111" - }, - { - "name" : "112", - "id" : "112", - "data" : [ - [ - "Perl", - 45 - ], - [ - "Raku", - 28 - ], - [ - "Blog", - 19 - ] - ] - }, - { - "name" : "113", - "id" : "113", - "data" : [ - [ - "Perl", - 43 - ], - [ - "Raku", - 30 - ], -