diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-07-06 21:10:49 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2022-07-06 21:10:49 +0100 |
| commit | 3ae846f978ccc384ea35823fb2f8b225c83e6dc8 (patch) | |
| tree | c58d01fb852431a16c1dc049653af1b33265c911 | |
| parent | d755779cfd8bf53a711c20be137ed8bf93a78198 (diff) | |
| download | perlweeklychallenge-club-3ae846f978ccc384ea35823fb2f8b225c83e6dc8.tar.gz perlweeklychallenge-club-3ae846f978ccc384ea35823fb2f8b225c83e6dc8.tar.bz2 perlweeklychallenge-club-3ae846f978ccc384ea35823fb2f8b225c83e6dc8.zip | |
- Added solutions by Ulrich Rieke.
| -rw-r--r-- | challenge-172/ulrich-rieke/cpp/ch-2.cpp | 63 | ||||
| -rw-r--r-- | challenge-172/ulrich-rieke/haskell/ch-1.hs | 32 | ||||
| -rw-r--r-- | challenge-172/ulrich-rieke/haskell/ch-2.hs | 48 | ||||
| -rw-r--r-- | challenge-172/ulrich-rieke/perl/ch-1.pl | 41 | ||||
| -rw-r--r-- | challenge-172/ulrich-rieke/perl/ch-2.pl | 53 | ||||
| -rw-r--r-- | challenge-172/ulrich-rieke/raku/ch-1.raku | 17 | ||||
| -rw-r--r-- | challenge-172/ulrich-rieke/raku/ch-2.raku | 49 | ||||
| -rw-r--r-- | stats/pwc-current.json | 133 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 54 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 1148 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 742 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 24 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 26 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 36 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 112 | ||||
| -rw-r--r-- | stats/pwc-summary-211-240.json | 104 | ||||
| -rw-r--r-- | stats/pwc-summary-241-270.json | 32 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 30 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 108 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 34 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 576 |
21 files changed, 1892 insertions, 1570 deletions
diff --git a/challenge-172/ulrich-rieke/cpp/ch-2.cpp b/challenge-172/ulrich-rieke/cpp/ch-2.cpp new file mode 100644 index 0000000000..f1ec897f9e --- /dev/null +++ b/challenge-172/ulrich-rieke/cpp/ch-2.cpp @@ -0,0 +1,63 @@ +#include <vector> +#include <iostream> +#include <algorithm> +#include <string> + +std::vector<std::string> split( const std::string & startline , const std::string & sep ) { + std::vector<std::string> separated ; + std::string::size_type start { 0 } ; + std::string::size_type pos ; + do { + pos = startline.find_first_of( sep , start ) ; + separated.push_back( startline.substr(start , pos - start )) ; + start = pos + 1 ; + } while ( pos != std::string::npos ) ; + return separated ; +} + +double findMedian( const std::vector<int> & numbers ) { + int size = numbers.size( ) ; + if ( size % 2 == 0 ) { + return static_cast<double>( numbers[size / 2 - 1] + numbers[size / 2] ) / 2 ; + } + else + return static_cast<double>( numbers[ size / 2 ] ) ; +} + +int main( ) { + std::cout << "Please enter an array of integers, blank to separate!\n" ; + std::string line ; + std::getline( std::cin , line ) ; + std::vector<std::string> numbers { split( line , " " ) } ; + while ( numbers.size( ) < 5 ) { + std::cout << "At least 5 numbers should be entered!\n" ; + std::getline( std::cin , line ) ; + numbers = split( line , " " ) ; + } + std::vector<int> nums ( numbers.size( ) ) ; + int size = numbers.size( ) ; + std::transform( numbers.begin( ) , numbers.end( ) , nums.begin( ) , + []( auto & s ) { return std::stoi( s ) ; } ) ; + std::sort( nums.begin( ) , nums.end( ) ) ; + std::cout << std::endl ; + std::cout << "Minimum : " << nums[0] << std::endl ; + std::cout << "Median : " << findMedian( nums ) << std::endl ; + std::vector<int> firstHalf ; + std::vector<int> secondHalf ; + if ( size % 2 == 0 ) { + for ( auto it = nums.begin( ) ; it != nums.begin( ) + size / 2 ; ++it ) + firstHalf.push_back( *it ) ; + for ( auto it = nums.begin( ) + size / 2 ; it != nums.end( ) ; ++it ) + secondHalf.push_back( *it ) ; + } + else { + for ( auto it = nums.begin( ) ; it != nums.begin( ) + size / 2 + 1 ; ++it ) + firstHalf.push_back( *it ) ; + for ( auto it = nums.begin( ) + size / 2 + 1 ; it != nums.end( ) ; ++it ) + secondHalf.push_back( *it ) ; + } + std::cout << "First quartile : " << findMedian( firstHalf ) << std::endl ; + std::cout << "Third quartile : " << findMedian( secondHalf ) << std::endl ; + std::cout << "Maximum : " << nums.back( ) << std::endl ; + return 0 ; +} diff --git a/challenge-172/ulrich-rieke/haskell/ch-1.hs b/challenge-172/ulrich-rieke/haskell/ch-1.hs new file mode 100644 index 0000000000..e7540b6a34 --- /dev/null +++ b/challenge-172/ulrich-rieke/haskell/ch-1.hs @@ -0,0 +1,32 @@ +module Challenge172 + where +import Data.List ( subsequences , (!!)) +import Data.List.Split( splitOn ) + +isPrime :: Int -> Bool +isPrime n + |n == 2 = True + |n == 1 = False + |otherwise = null $ filter (\i -> mod n i == 0 ) [2 .. root] + where + root :: Int + root = floor $ sqrt $ fromIntegral n + +askForInput :: IO ( Int , Int ) +askForInput = do + putStrLn "Please enter 2 numbers, the first being greater than the second!" + numbers <- getLine + let nums = map read $ splitOn " " numbers + if (nums !! 0) > (nums !! 1 ) + then return ( nums !! 0 , nums !! 1 ) + else do + askForInput + +findLists :: Int -> Int -> [[Int]] +findLists m n = filter ( (== m ) .sum ) $ filter ( (== n ) . length ) $ subsequences +$ filter isPrime [2 .. m] + +main :: IO ( ) +main = do + numbers <- askForInput + print $ findLists ( fst numbers ) ( snd numbers ) diff --git a/challenge-172/ulrich-rieke/haskell/ch-2.hs b/challenge-172/ulrich-rieke/haskell/ch-2.hs new file mode 100644 index 0000000000..121d6c2a43 --- /dev/null +++ b/challenge-172/ulrich-rieke/haskell/ch-2.hs @@ -0,0 +1,48 @@ +module Challenge172_2 + where +import Data.List( sort , (!!) ) +import Data.List.Split ( splitOn ) + +findMedian :: [Double] -> Double +findMedian list + |even len = ((sorted !! ( div len 2 - 1 )) + ( sorted !! ( div len 2 ) )) / 2 + |odd len = sorted !! ( div len 2 ) + where + len = length list + sorted = sort list + +firstQuartile :: [Double] -> Double +firstQuartile list + |even len = findMedian $ take ( div len 2 ) sorted + |otherwise = findMedian $ take ( div len 2 + 1 ) sorted + where + len = length list + sorted = sort list + +thirdQuartile :: [Double] -> Double +thirdQuartile list + |even len = findMedian $ drop ( div len 2 ) sorted + |otherwise = findMedian $ drop ( div len 2 ) sorted + where + len = length list + sorted = sort list + +askForInput :: IO [Double] +askForInput = do + putStrLn "Enter at least 5 numbers separated by blanks!" ; + nums <- getLine ; + let numbers = map read $ splitOn " " nums + if length numbers >= 5 + then return numbers + else do + askForInput + +main :: IO ( ) +main = do + numbers <- askForInput + let sorted = sort numbers + putStrLn ("Minimum : " ++ ( show $ minimum sorted )) + putStrLn ("Median : " ++ ( show $ findMedian sorted )) + putStrLn ("First Quartile : " ++ ( show $ firstQuartile sorted )) + putStrLn ("Third Quartile : " ++ ( show $ thirdQuartile sorted )) + putStrLn ("Maximum : " ++ ( show $ maximum sorted )) diff --git a/challenge-172/ulrich-rieke/perl/ch-1.pl b/challenge-172/ulrich-rieke/perl/ch-1.pl new file mode 100644 index 0000000000..92cab3a936 --- /dev/null +++ b/challenge-172/ulrich-rieke/perl/ch-1.pl @@ -0,0 +1,41 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; +use Algorithm::Combinatorics qw ( combinations ) ; +use List::Util qw ( sum ) ; +use POSIX ; + +sub isPrime { + my $number = shift ; + my $stop = sqrt( $number ) ; + for my $i ( 2 .. floor( $stop )) { + if ( $number % $i == 0 ) { + return 0 ; + } + } + return 1 ; +} + +say "Enter 2 numbers m and n , separated by blank( m should be greater than n!)!" ; +my $line = <STDIN> ; +chomp $line ; +my ($m , $n ) = split( /\s+/ , $line ) ; +while ( $n > $m ) { + say "Second number should be smaller than the first one! Re-enter!" ; + $line = <STDIN> ; + chomp $line ; + ($m , $n ) = split( /\s+/ , $line ) ; +} +my @primes ; +for my $i (2 .. $m) { + if ( isPrime( $i ) ) { + push @primes , $i ; + } +} +my $iter = combinations( \@primes , $n ) ; +while ( my $c = $iter->next ) { + if ( sum( @$c ) == $m ) { + say join (',' , @$c ) ; + } +} diff --git a/challenge-172/ulrich-rieke/perl/ch-2.pl b/challenge-172/ulrich-rieke/perl/ch-2.pl new file mode 100644 index 0000000000..820c30e9de --- /dev/null +++ b/challenge-172/ulrich-rieke/perl/ch-2.pl @@ -0,0 +1,53 @@ +#!/usr/bin/perl ; +use strict ; +use warnings ; +use feature 'say' ; +use POSIX ; + +sub findMedian { + my $array = shift ; + my $median ; + my $size = scalar( @$array ) ; + if ( $size == 2 ) { + $median = ( $array->[0] + $array->[1] ) / 2 ; + } + if ( $size % 2 == 0 && $size > 2 ) { + $median = ( $array->[ floor( $size / 2 ) - 1 ] + + $array->[ floor( $size / 2 )]) / 2 ; + } + if ( $size % 2 != 0 ) { + $median = $array->[ floor( $size / 2 ) ] ; + } + return $median ; +} + +say "Enter a list of numbers, separated by a blank, at least 5 !" ; +my $line = <STDIN> ; +chomp $line ; +my @numbers = split( /\s+/ , $line ) ; +while ( scalar( @numbers ) < 5 ) { + say "There should be 5 numbers at least, separated by a blank!" ; + $line = <STDIN> ; + chomp $line ; + @numbers = split( /\s+/ , $line ) ; +} +my $size = scalar( @numbers ) ; +my @sorted = sort { $a <=> $b } @numbers ; +say "Minimum is $sorted[0]!" ; +my $median = findMedian( \@sorted ) ; +say "Median is $median!" ; +my @slice ; +my @secondSlice ; +if ( $size % 2 == 0 ) { + @slice = @sorted[0 .. $size / 2 - 1] ; + @secondSlice = @sorted[ $size / 2 .. $size - 1] ; +} +else { + @slice = @sorted[0 .. floor( $size / 2 )] ; + @secondSlice = @sorted[floor( $size / 2 ) .. $size - 1 ] ; +} +my $firstQuartile = findMedian( \@slice ) ; +say "First quartile is $firstQuartile!" ; +my $thirdQuartile = findMedian( \@secondSlice ) ; +say "Third quartile is $thirdQuartile!" ; +say "Maximum is $sorted[-1]!" ; diff --git a/challenge-172/ulrich-rieke/raku/ch-1.raku b/challenge-172/ulrich-rieke/raku/ch-1.raku new file mode 100644 index 0000000000..1733d763c7 --- /dev/null +++ b/challenge-172/ulrich-rieke/raku/ch-1.raku @@ -0,0 +1,17 @@ +use v6 ; + +say "Enter 2 numbers , separated by blanks!" ; +my $line = $*IN.get ; +my ($m , $n ) = $line.split( /\s+/ ).map( {.Int} ) ; +while ( $n > $m ) { + say "The second number should be smaller than the first one! Re-enter!" ; + $line = $*IN.get ; + ($m , $n ) = $line.split( /\s+/ ).map( {.Int} ) ; +} +my @primes ; +for (2 .. $m) -> $i { + if ( $i.is-prime ) { + @primes.push( $i ) ; + } +} +say @primes.combinations( $n ).grep( {@_.sum == $m} ) ; diff --git a/challenge-172/ulrich-rieke/raku/ch-2.raku b/challenge-172/ulrich-rieke/raku/ch-2.raku new file mode 100644 index 0000000000..f6a4669f87 --- /dev/null +++ b/challenge-172/ulrich-rieke/raku/ch-2.raku @@ -0,0 +1,49 @@ +use v6 ; + +sub findMedian( @array ) {# provided @array is sorted + my $median ; + my $size = @array.elems ; + if ( $size == 2 ) { + $median = (@array[0] + @array[1]) / 2 ; + } + if ( $size %% 2 && $size > 2 ) { + $median = (@array[ ($size div 2) - 1 ] + @array[ $size div 2 ]) / 2 ; + } + if ( not ( $size %% 2 ) ) { + $median = @array[ $size div 2 ] ; + } + return $median ; +} + +say "Please enter an array of numbers, separated by blanks( more than 3 numbers! )" ; +my $line = $*IN.get ; +my @numbers = $line.split( /\s+/ ) ; +while ( @numbers.elems <= 3 ) { + say "Please enter more than 3 numbers!" ; + $line = $*IN.get ; + @numbers = $line.split( /\s+/ ) ; +} +my @sorted = @numbers.sort( { $^a <=> $^b } ) ; +my $size = @sorted.elems ; +say "Minimum is { @sorted[0] }!" ; +say "Median is { findMedian( @sorted ) }!" ; +#I compute the first and third quartile by finding the median of the first +#and second half. If the number of elements in the array is odd there are +#different methods of computing the medians of the 2 halves. I arbitrarily +#choose the method of doubling the median and adding the median to both the +#lower and upper half of the array +print "First quartile is " ; +if ( $size %% 2 ) { + say "{ findMedian(@sorted[0 .. ($size div 2) - 1]) }!" ; +} +else { + say "{ findMedian( @sorted[0 .. $size div 2]) }!" ; +} +print "Third quartile is " ; +if ( $size %% 2 ) { + say "{ findMedian( @sorted[ $size div 2 .. $size - 1 ] ) }!" ; +} +else { + say "{ findMedian( @sorted[ $size div 2 .. $size - 1 ] ) }!" ; +} +say "Maximum is @sorted[ *-1 ]!" ; diff --git a/stats/pwc-current.json b/stats/pwc-current.json index a8cea62c61..315c0cdbde 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,18 +1,28 @@ { + "subtitle" : { + "text" : "[Champions: 11] Last updated at 2022-07-06 20:08:53 GMT" + }, + "xAxis" : { + "type" : "category" + }, + "title" : { + "text" : "The Weekly Challenge - 172" + }, "drilldown" : { "series" : [ { + "name" : "Kjetil Skotheim", "data" : [ [ "Perl", 2 ] ], - "name" : "Kjetil Skotheim", "id" : "Kjetil Skotheim" }, { "name" : "Laurent Rosenfeld", + "id" : "Laurent Rosenfeld", "data" : [ [ "Perl", @@ -26,21 +36,19 @@ "Blog", 1 ] - ], - "id" : "Laurent Rosenfeld" + ] }, { - "id" : "Mark Anderson", + "name" : "Mark Anderson", "data" : [ [ "Raku", 2 ] ], - "name" : "Mark Anderson" + "id" : "Mark Anderson" }, { - "id" : "Mohammad S Anwar", "name" : "Mohammad S Anwar", "data" : [ [ @@ -51,31 +59,30 @@ "Raku", 1 ] - ] + ], + "id" : "Mohammad S Anwar" }, { - "id" : "Philippe Bricout", "data" : [ [ "Perl", 1 ] ], + "id" : "Philippe Bricout", "name" : "Philippe Bricout" }, { + "name" : "PokGoPun", "data" : [ [ "Perl", 2 ] ], - "name" : "PokGoPun", "id" : "PokGoPun" }, { - "id" : "Robert DiCicco", - "name" : "Robert DiCicco", "data" : [ [ "Perl", @@ -85,10 +92,11 @@ "Raku", 2 ] - ] + ], + "id" : "Robert DiCicco", + "name" : "Robert DiCicco" }, { - "id" : "Roger Bell_West", "name" : "Roger Bell_West", "data" : [ [ @@ -99,10 +107,25 @@ "Raku", 2 ] - ] + ], + "id" : "Roger Bell_West" + }, + { + "id" : "Ulrich Rieke", + "data" : [ + [ + "Perl", + 2 + ], + [ + "Raku", + 2 + ] + ], + "name" : "Ulrich Rieke" }, { - "name" : "W. Luis Mochan", + "id" : "W. Luis Mochan", "data" : [ [ "Perl", @@ -113,43 +136,30 @@ 1 ] ], - "id" : "W. Luis Mochan" + "name" : "W. Luis Mochan" }, { - "name" : "Walt Mankowski", "data" : [ [ "Perl", 2 ] ], - "id" : "Walt Mankowski" + "id" : "Walt Mankowski", + "name" : "Walt Mankowski" } ] }, - "title" : { - "text" : "The Weekly Challenge - 172" - }, - "xAxis" : { - "type" : "category" - }, - "legend" : { - "enabled" : 0 - }, "tooltip" : { - "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>", + "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>", "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/>" }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } + "chart" : { + "type" : "column" }, "series" : [ { - "name" : "The Weekly Challenge - 172", - "colorByPoint" : 1, "data" : [ { "drilldown" : "Kjetil Skotheim", @@ -157,34 +167,34 @@ "name" : "Kjetil Skotheim" }, { - "drilldown" : "Laurent Rosenfeld", "name" : "Laurent Rosenfeld", + "drilldown" : "Laurent Rosenfeld", "y" : 5 }, { - "drilldown" : "Mark Anderson", "name" : "Mark Anderson", - "y" : 2 + "y" : 2, + "drilldown" : "Mark Anderson" }, { - "name" : "Mohammad S Anwar", + "drilldown" : "Mohammad S Anwar", "y" : 2, - "drilldown" : "Mohammad S Anwar" + "name" : "Mohammad S Anwar" }, { "name" : "Philippe Bricout", - "y" : 1, - "drilldown" : "Philippe Bricout" + "drilldown" : "Philippe Bricout", + "y" : 1 }, { - "y" : 2, "name" : "PokGoPun", - "drilldown" : "PokGoPun" + "drilldown" : "PokGoPun", + "y" : 2 }, { - "drilldown" : "Robert DiCicco", "name" : "Robert DiCicco", - "y" : 4 + "y" : 4, + "drilldown" : "Robert DiCicco" }, { "name" : "Roger Bell_West", @@ -192,31 +202,40 @@ "drilldown" : "Roger Bell_West" }, { - "y" : 3, + "name" : "Ulrich Rieke", + "drilldown" : "Ulrich Rieke", + "y" : 4 + }, + { "name" : "W. Luis Mochan", + "y" : 3, "drilldown" : "W. Luis Mochan" }, { "drilldown" : "Walt Mankowski", - "name" : "Walt Mankowski", - "y" : 2 + "y" : 2, + "name" : "Walt Mankowski" } - ] + ], + "colorByPoint" : 1, + "name" : "The Weekly Challenge - 172" } ], - "subtitle" : { - "text" : "[Champions: 10] Last updated at 2022-07-06 19:55:42 GMT" + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "legend" : { + "enabled" : 0 }, "plotOptions" : { "series" : { + "borderWidth" : 0, "dataLabels" : { "format" : "{point.y}", "enabled" : 1 - }, - "borderWidth" : 0 + } } - }, - "chart" : { - "type" : "column" } } diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index b95536e822..78ca61e761 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -1,41 +1,39 @@ { - "legend" : { - "enabled" : "false" - }, - "tooltip" : { - "pointFormat" : "<b>{point.y:.0f}</b>" - }, "xAxis" : { + "type" : "category", "labels" : { "style" : { - "fontFamily" : "Verdana, sans-serif", - "fontSize" : "13px" + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" } - }, - "type" : "category" + } }, "title" : { "text" : "The Weekly Challenge Contributions [2019 - 2022]" }, - "chart" : { - "type" : "column" - }, "subtitle" : { - "text" : "Last updated at 2022-07-06 19:55:42 GMT" + "text" : "Last updated at 2022-07-06 20:08:53 GMT" + }, + "yAxis" : { + "min" : 0, + "title" : { + "text" : null + } }, "series" : [ { + "name" : "Contributions", "dataLabels" : { + "align" : "right", "enabled" : "true", - "format" : "{point.y:.0f}", - "y" : 10, "color" : "#FFFFFF", - "align" : "right", "rotation" : -90, "style" : { "fontSize" : "13px", "fontFamily" : "Verdana, sans-serif" - } + }, + "format" : "{point.y:.0f}", + "y" : 10 }, "data" : [ [ @@ -44,20 +42,22 @@ ], [ "Perl", - 8365 + 8367 ], [ "Raku", - 4971 + 4973 ] - ], - "name" : "Contributions" + ] } ], - "yAxis" : { - "min" : 0, - "title" : { - "text" : null - } + "legend" : { + "enabled" : "false" + }, + "tooltip" : { + "pointFormat" : "<b>{point.y:.0f}</b>" + }, + "chart" : { + "type" : "column" } } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index c9be78223c..10b8e8efc6 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,22 +1,34 @@ { + "tooltip" : { + "followPointer" : "true", + "headerFormat" : "<span style=\"font-size:11px\"></span>", + "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>" + }, + "chart" : { + "type" : "column" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, "series" : [ { - "name" : "The Weekly Challenge Languages", "data" : [ { "y" : 161, - "name" : "#001", - "drilldown" : "001" + "drilldown" : "001", + "name" : "#001" }, { + "y" : 125, "drilldown" : "002", - "name" : "#002", - "y" : 125 + "name" : "#002" }, { - "y" : 83, "name" : "#003", - "drilldown" : "003" + "drilldown" : "003", + "y" : 83 }, { "name" : "#004", @@ -29,13 +41,13 @@ "name" : "#005" }, { - "drilldown" : "006", "name" : "#006", - "y" : 58 + "y" : 58, + "drilldown" : "006" }, { - "drilldown" : "007", "name" : "#007", + "drilldown" : "007", "y" : 65 }, { @@ -44,39 +56,39 @@ "name" : "#008" }, { - "drilldown" : "009", "y" : 76, + "drilldown" : "009", "name" : "#009" }, { - "y" : 65, "name" : "#010", + "y" : 65, "drilldown" : "010" }, { "drilldown" : "011", - "name" : "#011", - "y" : 85 + "y" : 85, + "name" : "#011" }, { - "name" : "#012", + "drilldown" : "012", "y" : 89, - "drilldown" : "012" + "name" : "#012" }, { - "drilldown" : "013", "y" : 85, + "drilldown" : "013", "name" : "#013" }, { + "y" : 101, "drilldown" : "014", - "name" : "#014", - "y" : 101 + "name" : "#014" }, { - "drilldown" : "015", "name" : "#015", - "y" : 99 + "y" : 99, + "drilldown" : "015" }, { "name" : "#016", @@ -84,104 +96,104 @@ "drilldown" : "016" }, { + "drilldown" : "017", "y" : 84, - "name" : "#017", - "drilldown" : "017" + "name" : "#017" }, { - "drilldown" : "018", "y" : 81, + "drilldown" : "018", "name" : "#018" }, { - "y" : 103, "name" : "#019", + "y" : 103, "drilldown" : "019" }, { "name" : "#020", - "y" : 101, - "drilldown" : "020" + "drilldown" : "020", + "y" : 101 }, { - "name" : "#021", + "drilldown" : "021", "y" : 72, - "drilldown" : "021" + "name" : "#021" }, { - "drilldown" : "022", "name" : "#022", + "drilldown" : "022", "y" : 68 }, { - "y" : 97, "name" : "#023", + "y" : 97, "drilldown" : "023" }, { "name" : "#024", - "y" : 75, - "drilldown" : "024" + "drilldown" : "024", + "y" : 75 }, { + "name" : "#025", "drilldown" : "025", - "y" : 59, - "name" : "#025" + "y" : 59 }, { - "y" : 74, "name" : "#026", + "y" : 74, "drilldown" : "026" }, { - "name" : "#027", "y" : 62, - "drilldown" : "027" + "drilldown" : "027", + "name" : "#027" }, { "name" : "#028", - "y" : 82, - "drilldown" : "028" + "drilldown" : "028", + "y" : 82 }, { - "name" : "#029", "y" : 81, - "drilldown" : "029" + "drilldown" : "029", + "name" : "#029" }, { - "y" : 119, "name" : "#030", - "drilldown" : "030" + "drilldown" : "030", + "y" : 119 }, { + "y" : 91, "drilldown" : "031", - "name" : "#031", - "y" : 91 + "name" : "#031" }, { - "y" : 96, "name" : "#032", + "y" : 96, "drilldown" : "032" }, { + "name" : "#033", "drilldown" : "033", - "y" : 112, - "name" : "#033" + "y" : 112 }, { + "y" : 66, "drilldown" : "034", - "name" : "#034", - "y" : 66 + "name" : "#034" }, { + "name" : "#035", |
