From 471b056ad154010f4c8a1f5bc830b20a3390c665 Mon Sep 17 00:00:00 2001 From: Michael Manring Date: Mon, 6 Jun 2022 11:54:42 +0700 Subject: pwc145 solution in go --- challenge-145/pokgopun/README | 1 + challenge-145/pokgopun/go/ch-1.go | 53 ++++++++++++++++++++++++++ challenge-145/pokgopun/go/ch-2.go | 80 +++++++++++++++++++++++++++++++++++++++ challenge-146/pokgopun/go/ch-2.go | 35 ++++++----------- 4 files changed, 145 insertions(+), 24 deletions(-) create mode 100644 challenge-145/pokgopun/README create mode 100644 challenge-145/pokgopun/go/ch-1.go create mode 100644 challenge-145/pokgopun/go/ch-2.go diff --git a/challenge-145/pokgopun/README b/challenge-145/pokgopun/README new file mode 100644 index 0000000000..33dfd303a4 --- /dev/null +++ b/challenge-145/pokgopun/README @@ -0,0 +1 @@ +Solution by PokGoPun diff --git a/challenge-145/pokgopun/go/ch-1.go b/challenge-145/pokgopun/go/ch-1.go new file mode 100644 index 0000000000..d39063d4ef --- /dev/null +++ b/challenge-145/pokgopun/go/ch-1.go @@ -0,0 +1,53 @@ +// You are given 2 arrays of same size, @a and @b. +// Write a script to implement Dot Product. +// Usage: go run ch-1.go 1,2,3 4,5,6 +package main + +import ( + "fmt" + "log" + "os" + "strconv" + "strings" +) + +func main() { + var sample [][]int + if len(os.Args) > 2 { + m := map[int]struct{}{} + for _, v := range os.Args[1:] { + strs := strings.Split(v, ",") + m[len(strs)] = struct{}{} + nums := make([]int, len(strs)) + for i, v := range strs { + n, err := strconv.Atoi(v) + if err != nil { + log.Fatal(err) + } + nums[i] = n + } + sample = append(sample, nums) + } + if len(m) > 1 { + log.Fatal("Arrays are not in the same size") + } + } else { + sample = [][]int{ + []int{1, 2, 3}, + []int{4, 5, 6}, + } + } + fmt.Println(sample, "=>", dp(sample)) +} + +func dp(ss [][]int) (r int) { + l := len(ss[0]) + for i := 0; i < l; i++ { + n := 1 + for j := 0; j < len(ss); j++ { + n *= ss[j][i] + } + r += n + } + return r +} diff --git a/challenge-145/pokgopun/go/ch-2.go b/challenge-145/pokgopun/go/ch-2.go new file mode 100644 index 0000000000..6ec499781f --- /dev/null +++ b/challenge-145/pokgopun/go/ch-2.go @@ -0,0 +1,80 @@ +// Write a script to create a Palindromic Tree for the given string. +// All examples do not have a case that a letter happens more than twice in given words. +// As a result, will initially ignore the case here. +package main + +import ( + "fmt" + "os" + "regexp" + "sort" + "strings" +) + +func main() { + var sample []string + if len(os.Args) > 1 { + sample = os.Args[1:] + } else { + sample = []string{ + "redivider", + "deific", + "rotors", + "challenge", + "champion", + "christmas", + } + } + for _, v := range sample { + p := newPldt(v) + fmt.Println(p) + } +} + +type pldt struct { + word string + seen map[string]bool +} + +func newPldt(s string) (p pldt) { + p.word = s + p.seen = make(map[string]bool) + return p +} + +func (p pldt) find(b byte) (s []string) { + for _, v := range regexp.MustCompile(string(b)+".*"+string(b)).FindAll([]byte(p.word), -1) { + o := string(v) + sort.SliceStable(v, func(i, j int) bool { + return true + }) + if o == string(v) { + s = append(s, o) + } + //fmt.Println(string(v)) + } + return s +} + +func (p pldt) String() string { + var b strings.Builder + b.WriteString("Input: '" + p.word + "'\nOutput: ") + for _, c := range []byte(p.word) { + if p.seen[string(c)] { + continue + } + p.seen[string(c)] = true + b.Write([]byte{c, ' '}) + /**/ + for _, v := range p.find(c) { + if p.seen[v] { + continue + } + p.seen[v] = true + b.WriteString(v + " ") + } + /**/ + } + b.WriteByte('\n') + return b.String() +} diff --git a/challenge-146/pokgopun/go/ch-2.go b/challenge-146/pokgopun/go/ch-2.go index b8aea49f0f..a8545314f3 100644 --- a/challenge-146/pokgopun/go/ch-2.go +++ b/challenge-146/pokgopun/go/ch-2.go @@ -2,35 +2,22 @@ package main import ( "fmt" - "log" "os" ) func main() { - samples := [][2]uint{ - [2]uint{3, 5}, - [2]uint{4, 3}, - } + var sample []string if len(os.Args) > 1 { - var sample [2]uint - _, err := fmt.Sscanf(os.Args[1], "%d/%d", &sample[0], &sample[1]) - if err != nil { - log.Fatal(err) + sample = os.Args[1:] + } else { + sample = []string{ + "redivider", + "deific", + "rotors", + "challenge", + "champion", + "christmas", } - samples = [][2]uint{sample} - } - for _, v := range samples { - p := parent(v) - gp := parent(p) - fmt.Printf("Input: member = '%d/%d'\nOutput: parent ='%d/%d' and grandparent = '%d/%d'\n", v[0], v[1], p[0], p[1], gp[0], gp[1]) - } -} - -func parent(s [2]uint) [2]uint { - if s[0] > s[1] { - return [2]uint{s[0] - s[1], s[1]} - } else if s[0] < s[1] { - return [2]uint{s[0], s[1] - s[0]} } - return [2]uint{1, 1} + fmt.Println(sample) } -- cgit From 0dda125086968453130299deda173151b91da413 Mon Sep 17 00:00:00 2001 From: Stephen Lynn Date: Wed, 8 Jun 2022 20:03:50 +0800 Subject: improved solution to ch-1 and added solution to ch-2 --- challenge-168/steve-g-lynn/julia/ch-1.jl | 29 +++++++++++++++ challenge-168/steve-g-lynn/perl/ch-1.pl | 48 +++---------------------- challenge-168/steve-g-lynn/perl/ch-2.pl | 37 +++++++++++++++++++ challenge-168/steve-g-lynn/raku/ch-1.p6 | 37 +++---------------- challenge-168/steve-g-lynn/raku/ch-2.p6 | 61 ++++++++++++++++++++++++++++++++ 5 files changed, 136 insertions(+), 76 deletions(-) create mode 100755 challenge-168/steve-g-lynn/julia/ch-1.jl create mode 100755 challenge-168/steve-g-lynn/perl/ch-2.pl create mode 100755 challenge-168/steve-g-lynn/raku/ch-2.p6 diff --git a/challenge-168/steve-g-lynn/julia/ch-1.jl b/challenge-168/steve-g-lynn/julia/ch-1.jl new file mode 100755 index 0000000000..e58d43e005 --- /dev/null +++ b/challenge-168/steve-g-lynn/julia/ch-1.jl @@ -0,0 +1,29 @@ +#!/usr/bin/julia +#-- slower than perl or raku for this task because of slow startup + +using Primes + +function perrin(n::Int64) + return ( ([0 1 0; 0 0 1; 1 1 0]^n)*[3;0;2] )[1]; +end + +savedprimes=Array{Int64}(undef,13) +savedprimes[1]=2; savedprimes[2]=3;savedprimes[3]=5;savedprimes[4]=7 +ctr=3; + +for n in (6:1000) + perrinval=perrin(n) + if (isprime(perrinval) && (ctr <=13)) + savedprimes[ctr]=perrinval + global ctr=ctr+1 + end +end + +print("(") +for n in (1:13) + print(savedprimes[n]) + print(" ") +end +print(")\n") + + diff --git a/challenge-168/steve-g-lynn/perl/ch-1.pl b/challenge-168/steve-g-lynn/perl/ch-1.pl index a8729418aa..35818da7f9 100755 --- a/challenge-168/steve-g-lynn/perl/ch-1.pl +++ b/challenge-168/steve-g-lynn/perl/ch-1.pl @@ -3,8 +3,11 @@ use Math::Prime::XS qw(is_prime); local %saveprimes=(); -for (0..150) { - local $chk=&perrin($_); +local @perrin=(3,0,2); +for (1..150) { + local $chk=$perrin[0]; + push @perrin, $perrin[0]+$perrin[1]; + shift @perrin; (is_prime($chk)) && ($saveprimes{$chk}=1); @saveprimes==26 && last; } @@ -15,45 +18,4 @@ foreach (sort{$a<=>$b} keys %saveprimes){ } print ")\n"; -#-- subs - -sub perrin { - local ($n)=@_; - - if ($n==0) { return 3 } - else { return &postmult_302(&matpow($n)) } -} - -#-- subs for fast computation of perrin number using matrix formula -#-- see wikipedia https://en.wikipedia.org/wiki/Perrin_number - -#-- [0 1 0; 0 0 1; 1 1 0]^n (only need 1st row) -sub matpow { - local ($n)=@_; - - if ($n==1) { return (0,1,0) } - else {return &postmult_010_001_110(&matpow($n-1))} -} - - -# 3x3 matrix * [0 1 0; 0 0 1; 1 1 0] (retain 1st row of product) -sub postmult_010_001_110 { - # [a11 a12 a13; a21 a22 a23; a31 a32 a33]*[0 1 0; 0 0 1; 1 1 0] - local ($a11,$a12,$a13)=@_; #just need 1st row - - local $b11=$a13; - local $b12=$a11+$a13; - local $b13=$a12; - - return ($b11,$b12,$b13) #-- return just 1st row -} - -# 3x3 matrix * [3;0;2] retain 1st element of product -sub postmult_302 { - local ($a11,$a12,$a13)=@_; #-- just need 1st row - # [a11 a12 a13; a21 a22 a23; a31 a32 a33]*[3;0;2] - # - return $a11*3+$a13*2; #-- 1st element - -} diff --git a/challenge-168/steve-g-lynn/perl/ch-2.pl b/challenge-168/steve-g-lynn/perl/ch-2.pl new file mode 100755 index 0000000000..d1f6f0aced --- /dev/null +++ b/challenge-168/steve-g-lynn/perl/ch-2.pl @@ -0,0 +1,37 @@ +#!/usr/bin/perl + +use Math::Prime::XS qw(is_prime sieve_primes); + + +print &home_prime(16),"\n"; +#-- should be 31636373 [wikipedia example] + +sub home_prime { + local ($n)=@_; + while (1){ + $n=&factors($n); + (is_prime($n)) && last; + } + return $n; +} + + +sub factors { + #--return concatenated prime factors of a number n + local ($n)=@_; + local @primes=sieve_primes($n); + local $retstring=""; + + if (is_prime($n)){ + return $n; + } + else { + foreach $prime (sort{$a<=>$b} @primes){ + while ( ($n % $prime) == 0){ + $n /= $prime; + $retstring .= $prime; + } + } + } + return $retstring; +} diff --git a/challenge-168/steve-g-lynn/raku/ch-1.p6 b/challenge-168/steve-g-lynn/raku/ch-1.p6 index ace5c647e1..9610889cf2 100755 --- a/challenge-168/steve-g-lynn/raku/ch-1.p6 +++ b/challenge-168/steve-g-lynn/raku/ch-1.p6 @@ -1,8 +1,11 @@ #!/usr/bin/raku my %saveprimes=(); +my ($p1,$p2,$p3)=(3,0,2); for ^Inf { - my $chk=perrin($_); + my $chk=$p1; + my $p4=$p1+$p2; + $p1=$p2; $p2=$p3;$p3=$p4; (is-prime($chk)) && (%saveprimes{$chk}=1); %saveprimes.elems==13 && last; } @@ -10,36 +13,4 @@ for ^Inf { say %saveprimes.keys.sort({.Int}); -#-- subs -multi sub perrin(0) {3} -multi sub perrin(Int $n where ($n>0)){postmult_302(matpow($n))} - -#-- subs for fast computation of perrin number using matrix formula -#-- see wikipedia https://en.wikipedia.org/wiki/Perrin_number - -#[0 1 0; 0 0 1; 1 1 0]^n (retain 1st row) -multi sub matpow(1){ (0,1,0) } -multi sub matpow(Int $n where ($n>1)) { postmult_010_001_110 (matpow($n-1)) } - -# 3x3 matrix * [0 1 0; 0 0 1; 1 1 0] (retain 1st row of product) -sub postmult_010_001_110 (*@inmatrix){ - # [a11 a12 a13; a21 a22 a23; a31 a32 a33]*[0 1 0; 0 0 1; 1 1 0] - my ($a11,$a12,$a13)=@inmatrix; #just need 1st row - - my $b11=$a13; - my $b12=$a11+$a13; - my $b13=$a12; - - return ($b11,$b12,$b13) #-- return just 1st row -} - -# 3x3 matrix * [3;0;2] retain 1st element of product -sub postmult_302 (*@inmatrix){ - my ($a11,$a12,$a13)=@inmatrix; #-- just need 1st row - # [a11 a12 a13; a21 a22 a23; a31 a32 a33]*[3;0;2] - # - my $b1=$a11*3+$a13*2; #-- 1st element - - return $b1; -} diff --git a/challenge-168/steve-g-lynn/raku/ch-2.p6 b/challenge-168/steve-g-lynn/raku/ch-2.p6 new file mode 100755 index 0000000000..71fa044657 --- /dev/null +++ b/challenge-168/steve-g-lynn/raku/ch-2.p6 @@ -0,0 +1,61 @@ +#!/usr/bin/raku + +say homeprime(16); +# 31636373 +#-- works but very slow: time real 0m59.301s user 0m58.334s sys 0m0.773s +#-- on MacBook Air running Linux FC36 + +#-- sub for home prime + +sub homeprime(Int $n){ + my $ncopy=$n; + while (1) { + $ncopy=factor($ncopy).Int; + ($ncopy.is-prime) && last; + } + return $ncopy; +} + +#--sub for factorizing + +multi sub factor (1) {1} + +multi sub factor (Int $n where $n > 1){ +#-- returns string concatenation of prime factors + my @primes=prime_sieve($n); + my $retstring=""; + my $ncopy=$n; + + ($n.is-prime) && (return $n); + + for @primes -> $prime { + while ( ($ncopy % $prime)==0) { + $ncopy /= $prime; + $retstring ~= $prime; + } + } + return $retstring; +} + +#--sub for sieve of Eratosthenes +#-- (algorihm from wikipedia) +sub prime_sieve(Int $n where $n > 1){ + my @a = 2..$n; + my (%retval=(),@retval=()); + for (@a) -> $i { + %retval{$i}=1; + } + my @i= 2..round(sqrt($n)); + for @i -> $i { + loop ( my $j=($i*$i); $j <= $n; $j += $i){ + %retval{$j}=0; + } + } + my @k = %retval.keys; + for @k -> $k { + if (%retval{$k}==1) { + push @retval, $k; + } + } + return (@retval.sort:{$^a <=> $^b}); +} -- cgit From b8d9da775e3c046045a8197efe7273d2d053ef75 Mon Sep 17 00:00:00 2001 From: Mohammad S Anwar Date: Wed, 8 Jun 2022 13:20:58 +0100 Subject: - Added solutions by Stephen G Lynn. --- stats/pwc-current.json | 116 +- stats/pwc-language-breakdown-summary.json | 64 +- stats/pwc-language-breakdown.json | 6556 ++++++++++++++--------------- stats/pwc-leaders.json | 726 ++-- stats/pwc-summary-1-30.json | 100 +- stats/pwc-summary-121-150.json | 110 +- stats/pwc-summary-151-180.json | 40 +- stats/pwc-summary-181-210.json | 54 +- stats/pwc-summary-211-240.json | 56 +- stats/pwc-summary-241-270.json | 88 +- stats/pwc-summary-31-60.json | 108 +- stats/pwc-summary-61-90.json | 100 +- stats/pwc-summary-91-120.json | 42 +- stats/pwc-summary.json | 566 +-- 14 files changed, 4363 insertions(+), 4363 deletions(-) diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 59d88c2320..8906644d94 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,4 +1,10 @@ { + "xAxis" : { + "type" : "category" + }, + "legend" : { + "enabled" : 0 + }, "plotOptions" : { "series" : { "borderWidth" : 0, @@ -8,8 +14,18 @@ } } }, - "legend" : { - "enabled" : 0 + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "subtitle" : { + "text" : "[Champions: 11] Last updated at 2022-06-08 12:18:39 GMT" + }, + "tooltip" : { + "pointFormat" : "{point.name}: {point.y:f}
", + "headerFormat" : "{series.name}
", + "followPointer" : 1 }, "chart" : { "type" : "column" @@ -17,16 +33,17 @@ "drilldown" : { "series" : [ { - "name" : "E. Choroba", "id" : "E. Choroba", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "E. Choroba" }, { + "id" : "James Smith", "name" : "James Smith", "data" : [ [ @@ -37,11 +54,10 @@ "Blog", 1 ] - ], - "id" : "James Smith" + ] }, { - "name" : "Luca Ferrari", + "id" : "Luca Ferrari", "data" : [ [ "Raku", @@ -52,27 +68,27 @@ 6 ] ], - "id" : "Luca Ferrari" + "name" : "Luca Ferrari" }, { "name" : "Mark Anderson", - "id" : "Mark Anderson", "data" : [ [ "Raku", 2 ] - ] + ], + "id" : "Mark Anderson" }, { "name" : "Marton Polgar", - "id" : "Marton Polgar", "data" : [ [ "Raku", 2 ] - ] + ], + "id" : "Marton Polgar" }, { "id" : "Peter Campbell Smith", @@ -99,11 +115,10 @@ 2 ] ], - "id" : "Robert DiCicco", - "name" : "Robert DiCicco" + "name" : "Robert DiCicco", + "id" : "Robert DiCicco" }, { - "name" : "Roger Bell_West", "id" : "Roger Bell_West", "data" : [ [ @@ -114,10 +129,10 @@ "Raku", 2 ] - ] + ], + "name" : "Roger Bell_West" }, { - "id" : "Ryan Thompson", "data" : [ [ "Perl", @@ -132,23 +147,25 @@ 2 ] ], - "name" : "Ryan Thompson" + "name" : "Ryan Thompson", + "id" : "Ryan Thompson" }, { "data" : [ [ "Perl", - 1 + 2 ], [ "Raku", - 1 + 2 ] ], - "id" : "Stephen G Lynn", - "name" : "Stephen G Lynn" + "name" : "Stephen G Lynn", + "id" : "Stephen G Lynn" }, { + "name" : "W. Luis Mochan", "data" : [ [ "Perl", @@ -159,39 +176,39 @@ 1 ] ], - "id" : "W. Luis Mochan", - "name" : "W. Luis Mochan" + "id" : "W. Luis Mochan" } ] }, "series" : [ { + "name" : "The Weekly Challenge - 168", "colorByPoint" : 1, "data" : [ { - "name" : "E. Choroba", + "y" : 2, "drilldown" : "E. Choroba", - "y" : 2 + "name" : "E. Choroba" }, { - "y" : 3, "name" : "James Smith", - "drilldown" : "James Smith" + "drilldown" : "James Smith", + "y" : 3 }, { "y" : 8, - "drilldown" : "Luca Ferrari", - "name" : "Luca Ferrari" + "name" : "Luca Ferrari", + "drilldown" : "Luca Ferrari" }, { - "y" : 2, + "drilldown" : "Mark Anderson", "name" : "Mark Anderson", - "drilldown" : "Mark Anderson" + "y" : 2 }, { "y" : 2, - "name" : "Marton Polgar", - "drilldown" : "Marton Polgar" + "drilldown" : "Marton Polgar", + "name" : "Marton Polgar" }, { "drilldown" : "Peter Campbell Smith", @@ -204,9 +221,9 @@ "drilldown" : "Robert DiCicco" }, { - "name" : "Roger Bell_West", + "y" : 4, "drilldown" : "Roger Bell_West", - "y" : 4 + "name" : "Roger Bell_West" }, { "y" : 6, @@ -214,36 +231,19 @@ "name" : "Ryan Thompson" }, { - "y" : 2, "drilldown" : "Stephen G Lynn", - "name" : "Stephen G Lynn" + "name" : "Stephen G Lynn", + "y" : 4 }, { - "y" : 3, "drilldown" : "W. Luis Mochan", - "name" : "W. Luis Mochan" + "name" : "W. Luis Mochan", + "y" : 3 } - ], - "name" : "The Weekly Challenge - 168" + ] } ], - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "xAxis" : { - "type" : "category" - }, - "tooltip" : { - "pointFormat" : "{point.name}: {point.y:f}
", - "followPointer" : 1, - "headerFormat" : "{series.name}
" - }, "title" : { "text" : "The Weekly Challenge - 168" - }, - "subtitle" : { - "text" : "[Champions: 11] Last updated at 2022-06-07 22:14:13 GMT" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index dbd16d154c..a03b9d8378 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,24 +1,28 @@ { - "yAxis" : { - "title" : { - "text" : null - }, - "min" : 0 + "title" : { + "text" : "The Weekly Challenge Contributions [2019 - 2022]" + }, + "chart" : { + "type" : "column" + }, + "tooltip" : { + "pointFormat" : "{point.y:.0f}" }, "series" : [ { "dataLabels" : { - "format" : "{point.y:.0f}", + "enabled" : "true", "rotation" : -90, "y" : 10, - "enabled" : "true", "color" : "#FFFFFF", - "align" : "right", "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - } + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + }, + "format" : "{point.y:.0f}", + "align" : "right" }, + "name" : "Contributions", "data" : [ [ "Blog", @@ -26,38 +30,34 @@ ], [ "Perl", - 8169 + 8170 ], [ "Raku", - 4840 + 4841 ] - ], - "name" : "Contributions" + ] } ], - "xAxis" : { - "type" : "category", - "labels" : { - "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" - } + "yAxis" : { + "min" : 0, + "title" : { + "text" : null } }, - "chart" : { - "type" : "column" - }, - "title" : { - "text" : "The Weekly Challenge Contributions [2019 - 2022]" - }, "legend" : { "enabled" : "false" }, - "tooltip" : { - "pointFormat" : "{point.y:.0f}" - }, "subtitle" : { - "text" : "Last updated at 2022-06-07 22:14:13 GMT" + "text" : "Last updated at 2022-06-08 12:18:39 GMT" + }, + "xAxis" : { + "labels" : { + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + } + }, + "type" : "category" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 3e059cd741..a0bb351f7e 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,3071 +1,39 @@ { - "tooltip" : { - "pointFormat" : "Challenge {point.name}: {point.y:f}
", - "followPointer" : "true", - "headerFormat" : "" - }, - "title" : { - "text" : "The Weekly Challenge Language" + "xAxis" : { + "type" : "category" }, "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2022-06-07 22:14:13 GMT" + "text" : "Click the columns to drilldown the language breakdown. Last updated at 2022-06-08 12:18:39 GMT" }, "plotOptions" : { "series" : { "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 + "enabled" : 1, + "format" : "{point.y}" }, "borderWidth" : 0 } }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, "legend" : { "enabled" : "false" }, - "chart" : { - "type" : "column" - }, - "drilldown" : { - "series" : [ - { - "data" : [ - [ - "Perl", - 103 - ], - [ - "Raku", - 47 - ], - [ - "Blog", - 11 - ] - ], - "id" : "001", - "name" : "001" - }, - { - "id" : "002", - "data" : [ - [ - "Perl", - 79 - ], - [ - "Raku", - 36 - ], - [ - "Blog", - 10 - ] - ], - "name" : "002" - }, - { - "id" : "003", - "data" : [ - [ - "Perl", - 44 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 9 - ] - ], - "name" : "003" - }, - { - "id" : "004", - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 33 - ], - [ - "Blog", - 10 - ] - ], - "name" : "004" - }, - { - "id" : "005", - "data" : [ - [ - "Perl", - 40 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 12 - ] - ], - "name" : "005" - }, - { - "name" : "006", - "data" : [ - [ - "Perl", - 33 - ], - [ - "Raku", - 18 - ], - [ - "Blog", - 7 - ] - ], - "id" : "006" - }, - { - "name" : "007", - "id" : "007", - "data" : [ - [ - "Perl", - 31 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 10 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 44 - ], - [ - "Raku", - 22 - ], - [ - "Blog", - 12 - ] - ], - "id" : "008", - "name" : "008" - }, - { - "name" : "009", - "data" : [ - [ - "Perl", - 42 - ], - [ - "Raku", - 21 - ], - [ - "Blog", - 13 - ] - ], - "id" : "009" - }, - { - "name" : "010", - "data" : [ - [ - "Perl", - 35 - ], - [ - "Raku", - 19 - ], - [ - "Blog", - 11 - ] - ], - "id" : "010" - }, - { - "name" : "011", - "id" : "011", - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 28 - ], - [ - "Blog", - 10 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 48 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 11 - ] - ], - "id" : "012", - "name" : "012" - }, - { - "name" : "013", - "id" : "013", - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 25 - ], - [ - "Blog", - 13 - ] - ] - }, - { - "id" : "014", - "data" : [ - [ - "Perl", - 55 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 15 - ] - ], - "name" : "014" - }, - { - "id" : "015", - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 28 - ], - [ - "Blog", - 15 - ] - ], - "name" : "015" - }, - { - "id" : "016", - "data" : [ - [ - "Perl", - 36 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 12 - ] - ], - "name" : "016" - }, - { - "id" : "017", - "data" : [ - [ - "Perl", - 45 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 12 - ] - ], - "name" : "017" - }, - { - "id" : "018", - "data" : [ - [ - "Perl", - 36 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 14 - ] - ], - "name" : "018" - }, - { - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 13 - ] - ], - "id" : "019", - "name" : "019" - }, - { - "name" : "020", - "id" : "020", - "data" : [ - [ - "Perl", - 51 - ], - [ - "Raku", - 37 - ], - [ - "Blog", - 13 - ] - ] - }, - { - "name" : "021", - "data" : [ - [ - "Perl", - 38 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 10 - ] - ], - "id" : "021" - }, - { - "data" : [ - [ - "Perl", - 35 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 10 - ] - ], - "id" : "022", - "name" : "022" - }, - { - "name" : "023", - "data" : [ - [ - "Perl", - 53 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 12 - ] - ], - "id" : "023" - }, - { - "data" : [ - [ - "Perl", - 38 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 11 - ] - ], - "id" : "024", - "name" : "024" - }, - { - "name" : "025", - "id" : "025", - "data" : [ - [ - "Perl", - 28 - ], - [ - "Raku", - 19 - ], - [ - "Blog", - 12 - ] - ] - }, - { - "id" : "026", - "data" : [ - [ - "Perl", - 35 - ], - [ - "Raku", - 29 - ], - [ - "Blog", - 10 - ] - ], - "name" : "026" - }, - { - "name" : "027", - "data" : [ - [ - "Perl", - 31 - ], - [ - "Raku", - 22 - ], - [ - "Blog", - 9 - ] - ], - "id" : "027" - }, - { - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 9 - ] - ], - "id" : "028", - "name" : "028" - }, - { - "id" : "029", - "data" : [ - [ - "Perl", - 42 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 12 - ] - ], - "name" : "029" - }, - { - "name" : "030", - "id" : "030", - "data" : [ - [ - "Perl", - 76 - ], - [ - "Raku", - 33 - ], - [ - "Blog", - 10 - ] - ] - }, - { - "name" : "031", - "id" : "031", - "data" : [ - [ - "Perl", - 52 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 9 - ] - ] - }, - { - "name" : "032", - "data" : [ - [ - "Perl", - 59 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 10 - ] - ], - "id" : "032" - }, - { - "id" : "033", - "data" : [ - [ - "Perl", - 64 - ], - [ - "Raku", - 38 - ], - [ - "Blog", - 10 - ] - ], - "name" : "033" - }, - { - "id" : "034", - "data" : [ - [ - "Perl", - 32 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 11 - ] - ], - "name" : "034" - }, - { - "id" : "035", - "data" : [ - [ - "Perl", - 35 - ], - [ - "Raku", - 22 - ], - [ - "Blog", - 9 - ] - ], - "name" : "035" - }, - { - "name" : "036", - "data" : [ - [ - "Perl", - 37 - ], - [ - "Raku", - 22 - ], - [ - "Blog", - 11 - ] - ], - "id" : "036" - }, - { - "name" : "037", - "id" : "037", - "data" : [ - [ - "Perl", - 36 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 9 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 34 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 12 - ] - ], - "id" : "038", - "name" : "038" - }, - { - "name" : "039", - "id" : "039", - "data" : [ - [ - "Perl", - 31 - ], - [ - "Raku", - 21 - ], - [ - "Blog", - 12 - ] - ] - }, - { - "name" : "040", - "data" : [ - [ - "Perl", - 41 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 10 - ] - ], - "id" : "040" - }, - { - "name" : "041", - "id" : "041", - "data" : [ - [ - "Perl", - 39 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 9 - ] - ] - }, - { - "name" : "042", - "id" : "042", - "data" : [ - [ - "Perl", - 49 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 11 - ] - ] - }, - { - "name" : "043", - "id" : "043", - "data" : [ - [ - "Perl", - 35 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 11 - ] - ] - }, - { - "id" : "044", - "data" : [ - [ - "Perl", - 43 - ], - [ - "Raku", - 33 - ], - [ - "Blog", - 11 - ] - ], - "name" : "044" - }, - { - "name" : "045", - "id" : "045", - "data" : [ - [ - "Perl", - 52 - ], - [ - "Raku", - 35 - ], - [ - "Blog", - 11 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 46 - ], - [ - "Raku", - 33 - ], - [ - "Blog", - 10 - ] - ], - "id" : "046", - "name" : "046" - }, - { - "id" : "047", - "data" : [ - [ - "Perl", - 45 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 10 - ] - ], - "name" : "047" - }, - { - "data" : [ - [ - "Perl", - 61 - ], - [ - "Raku", - 37 - ], - [ - "Blog", - 12 - ] - ], - "id" : "048", - "name" : "048" - }, - { - "data" : [ - [ - "Perl", - 52 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 12 - ] - ], - "id" : "049", - "name" : "049" - }, - { - "data" : [ - [ - "Perl", - 52 - ], - [ - "Raku", - 36 - ], - [ - "Blog", - 12 - ] - ], - "id" : "050", - "name" : "050" - }, - { - "name" : "051", - "id" : "051", - "data" : [ - [ - "Perl", - 48 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 11 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 14 - ] - ], - "id" : "052", - "name" : "052" - }, - { - "name" : "053", - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 41 - ], - [ - "Blog", - 15 - ] - ], - "id" : "053" - }, - { - "name" : "054", - "id" : "054", - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 40 - ], - [ - "Blog", - 18 - ] - ] - }, - { - "id" : "055", - "data" : [ - [ - "Perl", - 43 - ], - [ - "Raku", - 33 - ], - [ - "Blog", - 14 - ] - ], - "name" : "055" - }, - { - "id" : "056", - "data" : [ - [ - "Perl", - 49 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 16 - ] - ], - "name" : "056" - }, - { - "name" : "057", - "data" : [ - [ - "Perl", - 41 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 15 - ] - ], - "id" : "057" - }, - { - "id" : "058", - "data" : [ - [ - "Perl", - 35 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 13 - ] - ], - "name" : "058" - }, - { - "name" : "059", - "id" : "059", - "data" : [ - [ - "Perl", - 41 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 16 - ] - ] - }, - { - "id" : "060", - "data" : [ - [ - "Perl", - 41 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 16 - ] - ], - "name" : "060" - }, - { - "id" : "061", - "data" : [ - [ - "Perl", - 39 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 14 - ] - ], - "name" : "061" - }, - { - "data" : [ - [ - "Perl", - 30 - ], - [ - "Raku", - 19 - ], - [ - "Blog", - 11 - ] - ], - "id" : "062", - "name" : "062" - }, - { - "name" : "063", - "id" : "063", - "data" : [ - [ - "Perl", - 44 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 13 - ] - ] - }, - { - "name" : "064", - "id" : "064", - "data" : [ - [ - "Perl", - 37 - ], - [ - "Raku", - 29 - ], - [ - "Blog", - 16 - ] - ] - }, - { - "name" : "065", - "id" : "065", - "data" : [ - [ - "Perl", - 34 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 15 - ] - ] - }, - { - "name" : "066", - "id" : "066", - "data" : [ - [ - "Perl", - 41 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 14 - ] - ] - }, - { - "id" : "067", - "data" : [ - [ - "Perl", - 40 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 18 - ] - ], - "name" : "067" - }, - { - "name" : "068", - "id" : "068", - "data" : [ - [ - "Perl", - 35 - ], - [ - "Raku", - 29 - ], - [ - "Blog", - 13 - ] - ] - }, - { - "name" : "069", - "id" : "069", - "data" : [ - [ - "Perl", - 41 - ], - [ - "Raku", - 28 - ], - [ - "Blog", - 16 - ] - ] - }, - { - "id" : "070", - "data" : [ - [ - "Perl", - 44 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 17 - ] - ], - "name" : "070" - }, - { - "id" : "071", - "data" : [ - [ - "Perl", - 33 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 15 - ] - ], - "name" : "071" - }, - { - "data" : [ - [ - "Perl", - 53 - ], - [ - "Raku", - 42 - ], - [ - "Blog", - 19 - ] - ], - "id" : "072", - "name" : "072" - }, - { - "data" : [ - [ - "Perl", - 55 - ], - [ - "Raku", - 40 - ], - [ - "Blog", - 17 - ] - ], - "id" : "073", - "name" : "073" - }, - { - "name" : "074", - "data" : [ - [ - "Perl", - 58 - ], - [ - "Raku", - 39 - ], - [ - "Blog", - 20 - ] - ], - "id" : "074" - }, - { - "name" : "075", - "id" : "075", - "data" : [ - [ - "Perl", - 59 - ], - [ - "Raku", - 38 - ], - [ - "Blog", - 20 - ] - ] - }, - { - "data" : [ - [ - "Perl", - 53 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 16 - ] - ], - "id" : "076", - "name" : "076" - }, - { - "name" : "077", - "id" : "077", - "data" : [ - [ - "Perl", - 52 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 14 - ] - ] - }, - { - "name" : "078", - "id" : "078", - "data" : [ - [ - "Perl", - 68 - ], - [ - "Raku", - 41 - ], - [ - "Blog", - 18 - ] - ] - }, - { - "name" : "079", - "id" : "079", - "data" : [ - [ - "Perl", - 68 - ], - [ - "Raku", - 37 - ], - [ - "Blog", - 17 - ] - ] - }, - { - "name" : "080", - "id" : "080", - "data" : [ - [ - "Perl", - 75 - ], - [ - "Raku", - 36 - ], - [ - "Blog", - 16 - ] - ] - }, - { - "name" : "081", - "id" : "081", - "data" : [ - [ - "Perl", - 65 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 15 - ] - ] - }, - { - "name" : "082", - "id" : "082", - "data" : [ - [ - "Perl", - 62 - ], - [ - "Raku", - 35 - ], - [ - "Blog", - 17 - ] - ] - }, - { - "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" - }, - { - "name" : "086", - "data" : [ - [ - "Perl", - 58 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 15 - ] - ], - "id" : "086" - }, - { - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 31 - ], - [ - "Blog", - 14 - ] - ], - "id" : "087", - "name" : "087" - }, - { - "name" : "088", - "data" : [ - [ - "Perl", - 65 - ], - [ - "Raku", - 36 - ], - [ - "Blog", - 20 - ] - ], - "id" : "088" - }, - { - "data" : [ - [ - "Perl", - 59 - ], - [ - "Raku", - 34 - ], - [ - "Blog", - 20 - ] - ], - "id" : "089", - "name" : "089" - }, - { - "id" : "090", - "data" : [ - [ - "Perl", - 57 - ], - [ - "Raku", - 39 - ], - [ - "Blog", - 17 - ] - ], - "name" : "090" - }, - { - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 36 - ], - [ - "Blog", - 16 - ] - ], - "id" : "091", - "name" : "091" - }, - { - "name" : "092", - "data" : [ - [ - "Perl", - 52 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 16 - ] - ], - "id" : "092" - }, - { - "id" : "093", - "data" : [ - [ - "Perl", - 46 - ], - [ - "Raku", - 25 - ], - [ - "Blog", - 16 - ] - ], - "name" : "093" - }, - { - "data" : [ - [ - "Perl", - 44 - ], - [ - "Raku", - 26 - ], - [ - "Blog", - 17 - ] - ], - "id" : "094", - "name" : "094" - }, - { - "id" : "095", - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 33 - ], - [ - "Blog", - 19 - ] - ], - "name" : "095" - }, - { - "name" : "096", - "id" : "096", - "data" : [ - [ - "Perl", - 52 - ], - [ - "Raku", - 37 - ], - [ - "Blog", - 19 - ] - ] - }, - { - "name" : "097", - "data" : [ - [ - "Perl", - 63 - ], - [ - "Raku", - 29 - ], - [ - "Blog", - 19 - ] - ], - "id" : "097" - }, - { - "id" : "098", - "data" : [ - [ - "Perl", - 59 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 17 - ] - ], - "name" : "098" - }, - { - "name" : "099", - "data" : [ - [ - "Perl", - 56 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 14 - ] - ], - "id" : "099" - }, - { - "data" : [ - [ - "Perl", - 69 - ], - [ - "Raku", - 30 - ], - [ - "Blog", - 21 - ] - ], - "id" : "100", - "name" : "100" - }, - { - "name" : "101", - "data" : [ - [ - "Perl", - 46 - ], - [ - "Raku", - 24 - ], - [ - "Blog", - 13 - ] - ], - "id" : "101" - }, - { - "data" : [ - [ - "Perl", - 52 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 15 - ] - ], - "id" : "102", - "name" : "102" - }, - { - "data" : [ - [ - "Perl", - 41 - ], - [ - "Raku", - 23 - ], - [ - "Blog", - 15 - ] - ], - "id" : "103", - "name" : "103" - }, - { - "data" : [ - [ - "Perl", - 43 - ], - [ - "Raku", - 28 - ], - [ - "Blog", - 14 - ] - ], - "id" : "104", - "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" - }, - { - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 27 - ], - [ - "Blog", - 20 - ] - ], - "id" : "108", - "name" : "108" - }, - { - "data" : [ - [ - "Perl", - 48 - ], - [ - "Raku", - 37 - ], - [ - "Blog", - 22 - ] - ], - "id" : "109", - "name" : "109" - }, - { - "name" : "110", - "data" : [ - [ - "Perl", - 51 - ], - [ - "Raku", - 32 - ], - [ - "Blog", - 25 - ] - ], - "id" : "110" - }, - { - "name" : "111", - "data" : [ - [ - "Perl", - 47 - ], - [ - "Raku", - 27 - ], - [ -