diff options
| author | drbaggy <js5@sanger.ac.uk> | 2021-11-18 16:38:13 +0000 |
|---|---|---|
| committer | drbaggy <js5@sanger.ac.uk> | 2021-11-18 16:38:13 +0000 |
| commit | a0a5e7ed6b414d31525a097cf49de8359237f3fc (patch) | |
| tree | 8d86a271559b292f2f6392575e5c2725373e71b8 | |
| parent | f748a7d32405d399712853441aa1c9906732bd3a (diff) | |
| parent | 24273ec3ac38e5d069856336fdb86b31d3029d6e (diff) | |
| download | perlweeklychallenge-club-a0a5e7ed6b414d31525a097cf49de8359237f3fc.tar.gz perlweeklychallenge-club-a0a5e7ed6b414d31525a097cf49de8359237f3fc.tar.bz2 perlweeklychallenge-club-a0a5e7ed6b414d31525a097cf49de8359237f3fc.zip | |
Merge remote-tracking branch 'upstream/master'
| -rw-r--r-- | challenge-139/athanasius/perl/ch-1.pl | 136 | ||||
| -rw-r--r-- | challenge-139/athanasius/perl/ch-2.pl | 181 | ||||
| -rw-r--r-- | challenge-139/athanasius/raku/ch-1.raku | 121 | ||||
| -rw-r--r-- | challenge-139/athanasius/raku/ch-2.raku | 137 | ||||
| -rw-r--r-- | stats/pwc-current.json | 287 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 66 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 1946 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 380 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 96 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 110 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 54 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 114 | ||||
| -rw-r--r-- | stats/pwc-summary-211-240.json | 108 | ||||
| -rw-r--r-- | stats/pwc-summary-241-270.json | 58 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 38 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 116 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 52 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 52 |
18 files changed, 2323 insertions, 1729 deletions
diff --git a/challenge-139/athanasius/perl/ch-1.pl b/challenge-139/athanasius/perl/ch-1.pl new file mode 100644 index 0000000000..5ec411b460 --- /dev/null +++ b/challenge-139/athanasius/perl/ch-1.pl @@ -0,0 +1,136 @@ +#!perl + +############################################################################### +=comment + +Perl Weekly Challenge 139 +========================= + +TASK #1 +------- +*JortSort* + +Submitted by: Mohammad S Anwar + +You are given a list of numbers. + +Write a script to implement JortSort. It should return true/false depending if +the given list of numbers are already sorted. + +Example 1: + + Input: @n = (1,2,3,4,5) + Output: 1 + + Since the array is sorted, it prints 1. + +Example 2: + + Input: @n = (1,3,2,4,5) + Output: 0 + + Since the array is NOT sorted, it prints 0. + +=cut +############################################################################### + +#--------------------------------------# +# Copyright © 2021 PerlMonk Athanasius # +#--------------------------------------# + +#============================================================================== +=comment + +References +---------- +1. https://jort.technology/ +2. https://github.com/jennschiffer/jortsort +3. Rosetta Code (https://rosettacode.org/wiki/JortSort): + "Note: jortSort is considered a work of satire. It achieves its result in an + intentionally roundabout way. You are encouraged to write your solutions in + the spirit of the original jortsort rather than trying to give the most + concise or idiomatic solution." + +Assumptions +-------------- +Notwithstanding the Rosetta Code note quoted above, I consider the aim of the +task to be the efficient (and straightforward) determination of whether a given +list is sorted or not. + +Although the examples show only natural numbers, I can see no reason to exclude +any real number from the list. + +From the examples, it is clear that "sorted" means "sorted in ascending +numerical order". This still leaves open the question of how to classify a list +containing identical adjacent elements. I have assumed that "sorted" means "in +monotonically ascending order", so for a list such as (1, 2.5, 2.5, 3) the +expected output will be 1. + +Algorithm +--------- +The simplest approach I can think of is to compare each element F in the list +with its predecessor E: if F < E then the list is unsorted and the search ends +immediately. The worst case arises when the list is sorted (or when only the +final element is out of order): then the number of comparisons required will be +equal to the number elements in the list less one. + +=cut +#============================================================================== + +use strict; +use warnings; +use Const::Fast; +use Regexp::Common qw( number ); + +const my $USAGE => +"Usage: + perl $0 [<n> ...] + + [<n> ...] A list of numbers\n"; + +#------------------------------------------------------------------------------ +BEGIN +#------------------------------------------------------------------------------ +{ + $| = 1; + print "\nChallenge 139, Task #1: JortSort (Perl)\n\n"; +} + +#============================================================================== +MAIN: +#============================================================================== +{ + my @n = parse_command_line(); + + printf "Input: \@n = (%s)\n", join ', ', @n; + + my $sorted = 1; + + for my $i (1 .. $#n) + { + if ($n[ $i ] < $n[ $i - 1 ]) + { + $sorted = 0; + last; + } + } + + print "Output: $sorted\n"; +} + +#------------------------------------------------------------------------------ +sub parse_command_line +#------------------------------------------------------------------------------ +{ + my @n = @ARGV; + + for my $n (@n) + { + $n =~ / ^ $RE{num}{real} $ /x + or die qq[ERROR: "$n" is not a valid number\n$USAGE]; + } + + return @n; +} + +############################################################################### diff --git a/challenge-139/athanasius/perl/ch-2.pl b/challenge-139/athanasius/perl/ch-2.pl new file mode 100644 index 0000000000..a6f05cc6ea --- /dev/null +++ b/challenge-139/athanasius/perl/ch-2.pl @@ -0,0 +1,181 @@ +#!perl + +############################################################################### +=comment + +Perl Weekly Challenge 139 +========================= + +TASK #2 +------- +*Long Primes* + +Submitted by: Mohammad S Anwar + +Write a script to generate first 5 Long Primes. + + A prime number (p) is called Long Prime if (1/p) has an infinite decimal + expansion repeating every (p-1) digits. + +Example + + 7 is a long prime since 1/7 = 0.142857142857... + The repeating part (142857) size is 6 i.e. one less than the prime number 7. + + Also 17 is a long prime since 1/17 = 0.05882352941176470588235294117647... + The repeating part (0588235294117647) size is 16 i.e. one less than the prime + number 17. + + Another example, 2 is not a long prime as 1/2 = 0.5. + There is no repeating part in this case. + +=cut +############################################################################### + +#--------------------------------------# +# Copyright © 2021 PerlMonk Athanasius # +#--------------------------------------# + +#============================================================================== +=comment + +Reference +--------- +The Online Encyclopedia of Integer Sequences: "A001913. Full reptend primes: +primes with primitive root 10." at https://oeis.org/A001913: + + 7, 17, 19, 23, 29, 47, 59, 61, 97, 109, 113, 131, 149, 167, 179, 181, +193, 223, 229, 233, 257, 263, 269, 313, 337, 367, 379, 383, 389, 419, 433, 461, +487, 491, 499, 503, 509, 541, 571, 577, 593, 619, 647, 659, 701, 709, 727, 743, +811, 821, 823, 857, 863, 887, 937, 941, 953, 971, 977, 983 + +Interface +--------- +No command-line arguments are provided, but the script output may be altered +by changing the constants $TARGET, $VERBOSE, and TIMER: + - $TARGET specifies the number of long primes to generate. (On my Core2 Duo + 2.16GHz machine, and with $VERBOSE set to a false value, the first 500 long + primes are found and displayed in under 11 seconds.) + - If set to a true value (the default), $VERBOSE displays each long prime + together with its reciprocal; the repeating digits in the reciprocal are + enclosed in parentheses; + - Set TIMER to a true value to display the time elapsed. + +Implementation +-------------- +Primes are identified by the is_prime() routine from the CPAN module Math:: +Prime::Util. + +The non-repeating and repeating parts of a rational number's decimal expansion +are found by the base_repeating() routine ported from the source code for +Raku's Rational role. + +=cut +#============================================================================== + +use strict; +use warnings; +use Const::Fast; +use Math::Prime::Util qw( is_prime ); + +use constant TIMER => 0; + +const my $TARGET => 5; +const my $VERBOSE => 1; +const my $USAGE => "Usage: perl $0\n"; + +#------------------------------------------------------------------------------ +BEGIN +#------------------------------------------------------------------------------ +{ + $| = 1; + print "\nChallenge 139, Task #2: Long Primes (Perl)\n\n"; +} + +#============================================================================== +MAIN: +#============================================================================== +{ + use if TIMER, 'Time::HiRes' => qw( gettimeofday tv_interval ); + my $t0 = [gettimeofday] if TIMER; + + my $args = scalar @ARGV; + $args == 0 + or die "ERROR: Expected 0 command line arguments, found $args\n$USAGE"; + + print "The first $TARGET long primes:"; + + for (my ($n, $first, $count) = (2, 1, 0); $count < $TARGET; ++$n) + { + if (is_prime( $n )) + { + my ($non_rep, $repeating) = base_repeating( $n ); + + if (length $repeating == $n - 1) + { + if ($VERBOSE) + { + printf "%s %2d because 1/%2d = %s(%s)\n", + ($first ? "\n\n" : ''), $n, $n, $non_rep, $repeating; + } + else + { + printf "%s%d", ($first ? ' ' : ', '), $n; + } + + $first = 0; + ++$count; + } + } + } + + print "\n" unless $VERBOSE; + print "\n", tv_interval($t0), " seconds\n" if TIMER; +} + +#------------------------------------------------------------------------------ +# Ported from Raku (rakudo-2021.10/src/core.c/Rational.pm6) but simplified for +# this task as follows: +# - the denominator is assumed to be a positive integer; +# - the numerator is not passed in, because it is always 1; +# - base 10 only is used because the task description specifies a *decimal* +# expansion. +# +sub base_repeating +#------------------------------------------------------------------------------ +{ + my ($denominator) = @_; # Must be an integer >= 1 + my @quotients = 0; + my $numerator = 1; + my (@remainders, %remainders, @cycle); + + while (1) + { + push @remainders, $numerator %= $denominator; + + last if $remainders{ $numerator }++ || $numerator == 0; + + $numerator *= 10; + + push @quotients, int( $numerator / $denominator ); + } + + if ($numerator > 0) + { + my $idx = 0; + + for my $remainder (@remainders) + { + last if $remainder == $numerator; + ++$idx; + } + + @cycle = splice @quotients, $idx + 1; + } + + splice @quotients, 1, 0, '.'; + + return (join( '', @quotients ), join( '', @cycle )); +} + +############################################################################### diff --git a/challenge-139/athanasius/raku/ch-1.raku b/challenge-139/athanasius/raku/ch-1.raku new file mode 100644 index 0000000000..b656503b9d --- /dev/null +++ b/challenge-139/athanasius/raku/ch-1.raku @@ -0,0 +1,121 @@ +use v6d; + +############################################################################### +=begin comment + +Perl Weekly Challenge 139 +========================= + +TASK #1 +------- +*JortSort* + +Submitted by: Mohammad S Anwar + +You are given a list of numbers. + +Write a script to implement JortSort. It should return true/false depending if +the given list of numbers are already sorted. + +Example 1: + + Input: @n = (1,2,3,4,5) + Output: 1 + + Since the array is sorted, it prints 1. + +Example 2: + + Input: @n = (1,3,2,4,5) + Output: 0 + + Since the array is NOT sorted, it prints 0. + +=end comment +############################################################################### + +#--------------------------------------# +# Copyright © 2021 PerlMonk Athanasius # +#--------------------------------------# + +#============================================================================== +=begin comment + +References +---------- +1. https://jort.technology/ +2. https://github.com/jennschiffer/jortsort +3. Rosetta Code (https://rosettacode.org/wiki/JortSort): + "Note: jortSort is considered a work of satire. It achieves its result in an + intentionally roundabout way. You are encouraged to write your solutions in + the spirit of the original jortsort rather than trying to give the most + concise or idiomatic solution." + +Assumptions +-------------- +Notwithstanding the Rosetta Code note quoted above, I consider the aim of the +task to be the efficient (and straightforward) determination of whether a given +list is sorted or not. + +Although the examples show only natural numbers, I can see no reason to exclude +any real number from the list. + +From the examples, it is clear that "sorted" means "sorted in ascending +numerical order". This still leaves open the question of how to classify a list +containing identical adjacent elements. I have assumed that "sorted" means "in +monotonically ascending order", so for a list such as (1, 2.5, 2.5, 3) the +expected output will be 1. + +Algorithm +--------- +The simplest approach I can think of is to compare each element F in the list +with its predecessor E: if F < E then the list is unsorted and the search ends +immediately. The worst case arises when the list is sorted (or when only the +final element is out of order): then the number of comparisons required will be +equal to the number elements in the list less one. + +=end comment +#============================================================================== + +#------------------------------------------------------------------------------ +BEGIN +#------------------------------------------------------------------------------ +{ + "\nChallenge 139, Task #1: JortSort (Raku)\n".put; +} + +#============================================================================== +sub MAIN +( + *@n where { .all ~~ Real:D } #= A list of numbers +) +#============================================================================== +{ + "Input: \@n = (%s)\n".printf: @n.join: ', '; + + my Bool $sorted = True; + + for 1 .. @n.end -> UInt $i + { + if @n[ $i ] < @n[ $i - 1 ] + { + $sorted = False; + last; + } + } + + "Output: %d\n".printf: $sorted ?? 1 !! 0; +} + +#------------------------------------------------------------------------------ +sub USAGE() +#------------------------------------------------------------------------------ +{ + my Str $usage = $*USAGE; + + $usage ~~ s/ ($*PROGRAM-NAME) /raku $0/; + + $usage.put; +} + +############################################################################## diff --git a/challenge-139/athanasius/raku/ch-2.raku b/challenge-139/athanasius/raku/ch-2.raku new file mode 100644 index 0000000000..5822ff1957 --- /dev/null +++ b/challenge-139/athanasius/raku/ch-2.raku @@ -0,0 +1,137 @@ +use v6d; + +############################################################################### +=begin comment + +Perl Weekly Challenge 139 +========================= + +TASK #2 +------- +*Long Primes* + +Submitted by: Mohammad S Anwar + +Write a script to generate first 5 Long Primes. + + A prime number (p) is called Long Prime if (1/p) has an infinite decimal + expansion repeating every (p-1) digits. + +Example + + 7 is a long prime since 1/7 = 0.142857142857... + The repeating part (142857) size is 6 i.e. one less than the prime number 7. + + Also 17 is a long prime since 1/17 = 0.05882352941176470588235294117647... + The repeating part (0588235294117647) size is 16 i.e. one less than the prime + number 17. + + Another example, 2 is not a long prime as 1/2 = 0.5. + There is no repeating part in this case. + +=end comment +############################################################################### + +#--------------------------------------# +# Copyright © 2021 PerlMonk Athanasius # +#--------------------------------------# + +#============================================================================== +=begin comment + +Reference +--------- +The Online Encyclopedia of Integer Sequences: "A001913. Full reptend primes: +primes with primitive root 10." at https://oeis.org/A001913: + + 7, 17, 19, 23, 29, 47, 59, 61, 97, 109, 113, 131, 149, 167, 179, 181, +193, 223, 229, 233, 257, 263, 269, 313, 337, 367, 379, 383, 389, 419, 433, 461, +487, 491, 499, 503, 509, 541, 571, 577, 593, 619, 647, 659, 701, 709, 727, 743, +811, 821, 823, 857, 863, 887, 937, 941, 953, 971, 977, 983 + +Interface +--------- +No command-line arguments are provided, but the script output may be altered +by changing the constants $TARGET and $VERBOSE: + - $TARGET specifies the number of long primes to generate. (On my Core2 Duo + 2.16GHz machine, and with $VERBOSE set to a false value, the first 250 long + primes are found and displayed in just over 15 seconds.) + - If set to a true value (the default), $VERBOSE displays each long prime + together with its reciprocal; the repeating digits in the reciprocal are + enclosed in parentheses; + - Set $TIMER to True to display the time elapsed. + +Implementation +-------------- +Primes are identified by Raku's in-built is-prime() method. + +The non-repeating and repeating parts of a rational number's decimal expansion +are found by Raku's in-built base-repeating() method. + +=end comment +#============================================================================== + +my UInt constant $TARGET = 5; +my Bool constant $VERBOSE = True; +my Bool constant $TIMER = False; + +#------------------------------------------------------------------------------ +BEGIN +#------------------------------------------------------------------------------ +{ + "\nChallenge 139, Task #2: Long Primes (Raku)\n".put; +} + +#============================================================================== +sub MAIN() +#============================================================================== +{ + my Instant $t0 = now if $TIMER; + + "The first $TARGET long primes:".print; + + my Bool $first = True; + my UInt $n = 2; + + loop (my UInt $count = 0; $count < $TARGET; ++$n) + { + if $n.is-prime + { + my Rat $reciprocal = Rat.new: 1, $n; + my Str ($non-rep, $repeating) = $reciprocal.base-repeating: 10; + + if $repeating.chars == $n - 1 + { + if $VERBOSE + { + "\n\n".print if $first; + + " %2d because 1/%2d = %s\(%s)\n".printf: + $n, $n, $non-rep, $repeating; + } + else + { + "%s%d".printf: ($first ?? ' ' !! ', '), $n; + } + + $first = False; + ++$count; + } + } + } + + "\n".print unless $VERBOSE; + "\n{now - $t0} seconds".put if $TIMER; +} + +#------------------------------------------------------------------------------ +sub USAGE() +#------------------------------------------------------------------------------ +{ + my Str $usage = $*USAGE; + + $usage ~~ s/ ($*PROGRAM-NAME) /raku $0/; + $usage.put; +} + +############################################################################## diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 23f5dbcef9..1f86cdf1a6 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,106 +1,15 @@ { - "subtitle" : { - "text" : "[Champions: 17] Last updated at 2021-11-18 07:54:06 GMT" - }, - "title" : { - "text" : "The Weekly Challenge - 139" - }, "legend" : { "enabled" : 0 }, - "series" : [ - { - "data" : [ - { - "y" : 1, - "drilldown" : "Andrew Shitov", - "name" : "Andrew Shitov" - }, - { - "drilldown" : "Cheok-Yin Fung", - "y" : 2, - "name" : "Cheok-Yin Fung" - }, - { - "name" : "Cristina Heredia", - "drilldown" : "Cristina Heredia", - "y" : 1 - }, - { - "drilldown" : "Dave Jacoby", - "y" : 3, - "name" : "Dave Jacoby" - }, - { - "y" : 2, - "drilldown" : "E. Choroba", - "name" : "E. Choroba" - }, - { - "name" : "James Smith", - "y" : 3, - "drilldown" : "James Smith" - }, - { - "name" : "Luca Ferrari", - "y" : 6, - "drilldown" : "Luca Ferrari" - }, - { - "y" : 2, - "drilldown" : "Mark Anderson", - "name" : "Mark Anderson" - }, - { - "y" : 2, - "drilldown" : "Niels van Dijke", - "name" : "Niels van Dijke" - }, - { - "name" : "Olivier Delouya", - "drilldown" : "Olivier Delouya", - "y" : 1 - }, - { - "name" : "Paulo Custodio", - "drilldown" : "Paulo Custodio", - "y" : 2 - }, - { - "y" : 2, - "drilldown" : "Peter Campbell Smith", - "name" : "Peter Campbell Smith" - }, - { - "name" : "Robert DiCicco", - "drilldown" : "Robert DiCicco", - "y" : 1 - }, - { - "name" : "Roger Bell_West", - "drilldown" : "Roger Bell_West", - "y" : 4 - }, - { - "y" : 1, - "drilldown" : "Steven Wilson", - "name" : "Steven Wilson" - }, - { - "y" : 4, - "drilldown" : "Ulrich Rieke", - "name" : "Ulrich Rieke" - }, - { - "drilldown" : "W. Luis Mochan", - "y" : 3, - "name" : "W. Luis Mochan" - } - ], - "colorByPoint" : 1, - "name" : "The Weekly Challenge - 139" + "yAxis" : { + "title" : { + "text" : "Total Solutions" } - ], + }, + "chart" : { + "type" : "column" + }, "drilldown" : { "series" : [ { @@ -114,6 +23,20 @@ ] }, { + "id" : "Athanasius", + "name" : "Athanasius", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ] + ] + }, + { "data" : [ [ "Perl", @@ -124,14 +47,14 @@ "id" : "Cheok-Yin Fung" }, { + "id" : "Cristina Heredia", + "name" : "Cristina Heredia", "data" : [ [ "Perl", 1 ] - ], - "id" : "Cristina Heredia", - "name" : "Cristina Heredia" + ] }, { "name" : "Dave Jacoby", @@ -148,14 +71,14 @@ ] }, { + "id" : "E. Choroba", + "name" : "E. Choroba", "data" : [ [ "Perl", 2 ] - ], - "name" : "E. Choroba", - "id" : "E. Choroba" + ] }, { "data" : [ @@ -168,8 +91,8 @@ 1 ] ], - "id" : "James Smith", - "name" : "James Smith" + "name" : "James Smith", + "id" : "James Smith" }, { "data" : [ @@ -182,8 +105,8 @@ 4 ] ], - "name" : "Luca Ferrari", - "id" : "Luca Ferrari" + "id" : "Luca Ferrari", + "name" : "Luca Ferrari" }, { "data" : [ @@ -192,12 +115,12 @@ 2 ] ], - "name" : "Mark Anderson", - "id" : "Mark Anderson" + "id" : "Mark Anderson", + "name" : "Mark Anderson" }, { - "name" : "Niels van Dijke", "id" : "Niels van Dijke", + "name" : "Niels van Dijke", "data" : [ [ "Perl", @@ -222,18 +145,18 @@ 2 ] ], - "id" : "Paulo Custodio", - "name" : "Paulo Custodio" + "name" : "Paulo Custodio", + "id" : "Paulo Custodio" }, { + "id" : "Peter Campbell Smith", + "name" : "Peter Campbell Smith", "data" : [ [ "Perl", 2 ] - ], - "name" : "Peter Campbell Smith", - "id" : "Peter Campbell Smith" + ] }, { "id" : "Robert DiCicco", @@ -260,16 +183,18 @@ ] }, { + "name" : "Steven Wilson", + "id" : "Steven Wilson", "data" : [ [ "Perl", 1 ] - ], - "id" : "Steven Wilson", - "name" : "Steven Wilson" + ] }, { + "id" : "Ulrich Rieke", + "name" : "Ulrich Rieke", "data" : [ [ "Perl", @@ -279,9 +204,7 @@ "Raku", 2 ] - ], - "id" : "Ulrich Rieke", - "name" : "Ulrich Rieke" + ] }, { "data" : [ @@ -299,18 +222,117 @@ } ] }, - "chart" : { - "type" : "column" + "title" : { + "text" : "The Weekly Challenge - 139" }, - "tooltip" : { - "followPointer" : 1, - "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>", - "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>" + "xAxis" : { + "type" : "category" }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" + "series" : [ + { + "data" : [ + { + "name" : "Andrew Shitov", + "y" : 1, + "drilldown" : "Andrew Shitov" + }, + { + "name" : "Athanasius", + "y" : 4, + "drilldown" : "Athanasius" + }, + { + "drilldown" : "Cheok-Yin Fung", + "y" : 2, + "name" : "Cheok-Yin Fung" + }, + { + "drilldown" : "Cristina Heredia", + "y" : 1, + "name" : "Cristina Heredia" + }, + { + "name" : "Dave Jacoby", + "y" : 3, + "drilldown" : "Dave Jacoby" + }, + { + "y" : 2, + "drilldown" : "E. Choroba", + "name" : "E. Choroba" + }, + { + "drilldown" : "James Smith", + "y" : 3, + "name" : "James Smith" + }, + { + "name" : "Luca Ferrari", + "drilldown" : "Luca Ferrari", + "y" : 6 + }, + { + "name" : "Mark Anderson", + "drilldown" : "Mark Anderson", + "y" : 2 + }, + { + "name" : "Niels van Dijke", + "drilldown" : "Niels van Dijke", + "y" : 2 + }, + { + "name" : "Olivier Delouya", + "y" : 1, + "drilldown" : "Olivier Delouya" + }, + { + "y" : 2, + "drilldown" : "Paulo Custodio", + "name" : "Paulo Custodio" + }, + { + "drilldown" : "Peter Campbell Smith", + "y" : 2, + "name" : "Peter Campbell Smith" + }, + { + "name" : "Robert DiCicco", + "drilldown" : "Robert DiCicco", + "y" : 1 + }, + { + "y" : 4, + "drilldown" : "Roger Bell_West", + "name" : "Roger Bell_West" + }, + { + "name" : "Steven Wilson", + "drilldown" : "Steven Wilson", + "y" : 1 + }, + { + "name" : "Ulrich Rieke", + "y" : 4, + "drilldown" : "Ulrich Rieke" + }, + { + "drilldown" : "W. Luis Mochan", + "y" : 3, + "name" : "W. Luis Mochan" + } + ], + "name" : "The Weekly Challenge - 139", + " |
