diff options
| author | Paulo Custodio <pauloscustodio@gmail.com> | 2023-03-29 19:00:19 +0100 |
|---|---|---|
| committer | Paulo Custodio <pauloscustodio@gmail.com> | 2023-03-29 19:00:19 +0100 |
| commit | 45a5b2b46fc08d6e7451b9b16f43118a752ecfb3 (patch) | |
| tree | bf32148345ab107adeac8c335165622dc4947a31 /challenge-166 | |
| parent | a16398b126525aa3b942fb9df28be52e558b1d1c (diff) | |
| download | perlweeklychallenge-club-45a5b2b46fc08d6e7451b9b16f43118a752ecfb3.tar.gz perlweeklychallenge-club-45a5b2b46fc08d6e7451b9b16f43118a752ecfb3.tar.bz2 perlweeklychallenge-club-45a5b2b46fc08d6e7451b9b16f43118a752ecfb3.zip | |
Add Perl solution
Diffstat (limited to 'challenge-166')
23 files changed, 1160 insertions, 0 deletions
diff --git a/challenge-166/paulo-custodio/perl/ch-1.pl b/challenge-166/paulo-custodio/perl/ch-1.pl new file mode 100644 index 0000000000..8e6f78001a --- /dev/null +++ b/challenge-166/paulo-custodio/perl/ch-1.pl @@ -0,0 +1,45 @@ +#!/usr/bin/perl + +# Challenge 166 +# +# Task 1: Hexadecimal Words +# Submitted by: Ryan J Thompson +# +# As an old systems programmer, whenever I needed to come up with a 32-bit +# number, I would reach for the tired old examples like 0xDeadBeef and +# 0xC0dedBad. I want more! +# +# Write a program that will read from a dictionary and find 2- to 8-letter +# words that can be “spelled” in hexadecimal, with the addition of the following +# letter substitutions: +# +# o -> 0 (e.g., 0xf00d = “food”) +# l -> 1 +# i -> 1 +# s -> 5 +# t -> 7 +# +# You can use your own dictionary or you can simply open +# ../../../data/dictionary.txt (relative to your script’s location in our GitHub +# repository) to access the dictionary of common words from Week #161. +# +# Optional Extras (for an 0xAddedFee, of course!) +# +# Limit the number of “special” letter substitutions in any one result to +# keep that result at least somewhat comprehensible. (0x51105010 is an +# actual example from my sample solution you may wish to avoid!) +# +# Find phrases of words that total 8 characters in length +# (e.g., 0xFee1Face), rather than just individual words. + +use Modern::Perl; + +@ARGV==1 or die "usage: ch-1.pl words.txt\n"; +while (<>) { + chomp; + if (/^[a-f0list]{2,8}$/i) { + my $word=$_; + $word=~tr/olist/01157/; + say "0x".uc($word); + } +} diff --git a/challenge-166/paulo-custodio/perl/ch-2.pl b/challenge-166/paulo-custodio/perl/ch-2.pl new file mode 100644 index 0000000000..f65656bcab --- /dev/null +++ b/challenge-166/paulo-custodio/perl/ch-2.pl @@ -0,0 +1,97 @@ +#!/usr/bin/perl + +# Challenge 166 +# +# Task 2: K-Directory Diff +# Submitted by: Ryan J Thompson +# +# Given a few (three or more) directories (non-recursively), display a +# side-by-side difference of files that are missing from at least one of the +# directories. Do not display files that exist in every directory. +# +# Since the task is non-recursive, if you encounter a subdirectory, append a /, +# but otherwise treat it the same as a regular file. +# Example +# +# Given the following directory structure: +# +# dir_a: +# Arial.ttf Comic_Sans.ttf Georgia.ttf Helvetica.ttf Impact.otf Verdana.ttf +# Old_Fonts/ +# +# dir_b: +# Arial.ttf Comic_Sans.ttf Courier_New.ttf Helvetica.ttf Impact.otf +# Tahoma.ttf Verdana.ttf +# +# dir_c: +# Arial.ttf Courier_New.ttf Helvetica.ttf Impact.otf Monaco.ttf Verdana.ttf +# +# The output should look similar to the following: +# +# dir_a | dir_b | dir_c +# -------------- | --------------- | --------------- +# Comic_Sans.ttf | Comic_Sans.ttf | +# | Courier_New.ttf | Courier_New.ttf +# Georgia.ttf | | +# | | Monaco.ttf +# Old_Fonts/ | | +# | Tahoma.ttf | + +use Modern::Perl; + +use constant WIDTH => 16; + +sub read_dir { + my($dir)=@_; + opendir(my $d, $dir) or die "opendir $dir: $!"; + return sort + map {-d "$dir/$_" ? "$_/" : $_ } + grep {$_ ne "." && $_ ne ".."} readdir($d); +} + +sub read_dirs { + my(@dirs)=@_; + return map {[read_dir($_)]} @dirs; +} + +sub print_line { + my(@cells)=@_; + for my $i (0..$#cells) { + printf("%-*s", WIDTH, $cells[$i]); + print " | " if $i!=$#cells; + } + print "\n"; +} + +sub print_diff { + my($dirs, @contents)=@_; + + # print header + print_line(@$dirs); + print_line(("-" x WIDTH) x scalar(@$dirs)); + + # collect files + my %files; + my %files_dir; + for my $i (0..$#$dirs) { + my $dir=$dirs->[$i]; + my @files=@{$contents[$i]}; + for my $file (@files) { + $files{$file}++; + $files_dir{$file}{$dir}++; + } + } + + # print rows + for my $file (sort keys %files) { + my @row; + for my $i (0..$#$dirs) { + my $dir=$dirs->[$i]; + push @row, $files_dir{$file}{$dir} ? $file : ""; + } + print_line(@row) if grep {$_ eq ""} @row; + } +} + +@ARGV>1 or die "usage: ch-1.pl dir...\n"; +print_diff(\@ARGV, read_dirs(@ARGV)); diff --git a/challenge-166/paulo-custodio/t/dir_a/Arial.ttf b/challenge-166/paulo-custodio/t/dir_a/Arial.ttf new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/challenge-166/paulo-custodio/t/dir_a/Arial.ttf diff --git a/challenge-166/paulo-custodio/t/dir_a/Comic_Sans.ttf b/challenge-166/paulo-custodio/t/dir_a/Comic_Sans.ttf new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/challenge-166/paulo-custodio/t/dir_a/Comic_Sans.ttf diff --git a/challenge-166/paulo-custodio/t/dir_a/Georgia.ttf b/challenge-166/paulo-custodio/t/dir_a/Georgia.ttf new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/challenge-166/paulo-custodio/t/dir_a/Georgia.ttf diff --git a/challenge-166/paulo-custodio/t/dir_a/Helvetica.ttf b/challenge-166/paulo-custodio/t/dir_a/Helvetica.ttf new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/challenge-166/paulo-custodio/t/dir_a/Helvetica.ttf diff --git a/challenge-166/paulo-custodio/t/dir_a/Impact.otf b/challenge-166/paulo-custodio/t/dir_a/Impact.otf new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/challenge-166/paulo-custodio/t/dir_a/Impact.otf diff --git a/challenge-166/paulo-custodio/t/dir_a/Verdana.ttf b/challenge-166/paulo-custodio/t/dir_a/Verdana.ttf new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/challenge-166/paulo-custodio/t/dir_a/Verdana.ttf diff --git a/challenge-166/paulo-custodio/t/dir_b/Arial.ttf b/challenge-166/paulo-custodio/t/dir_b/Arial.ttf new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/challenge-166/paulo-custodio/t/dir_b/Arial.ttf diff --git a/challenge-166/paulo-custodio/t/dir_b/Comic_Sans.ttf b/challenge-166/paulo-custodio/t/dir_b/Comic_Sans.ttf new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/challenge-166/paulo-custodio/t/dir_b/Comic_Sans.ttf diff --git a/challenge-166/paulo-custodio/t/dir_b/Courier_New.ttf b/challenge-166/paulo-custodio/t/dir_b/Courier_New.ttf new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/challenge-166/paulo-custodio/t/dir_b/Courier_New.ttf diff --git a/challenge-166/paulo-custodio/t/dir_b/Helvetica.ttf b/challenge-166/paulo-custodio/t/dir_b/Helvetica.ttf new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/challenge-166/paulo-custodio/t/dir_b/Helvetica.ttf diff --git a/challenge-166/paulo-custodio/t/dir_b/Impact.otf b/challenge-166/paulo-custodio/t/dir_b/Impact.otf new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/challenge-166/paulo-custodio/t/dir_b/Impact.otf diff --git a/challenge-166/paulo-custodio/t/dir_b/Tahoma.ttf b/challenge-166/paulo-custodio/t/dir_b/Tahoma.ttf new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/challenge-166/paulo-custodio/t/dir_b/Tahoma.ttf diff --git a/challenge-166/paulo-custodio/t/dir_b/Verdana.ttf b/challenge-166/paulo-custodio/t/dir_b/Verdana.ttf new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/challenge-166/paulo-custodio/t/dir_b/Verdana.ttf diff --git a/challenge-166/paulo-custodio/t/dir_c/Arial.ttf b/challenge-166/paulo-custodio/t/dir_c/Arial.ttf new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/challenge-166/paulo-custodio/t/dir_c/Arial.ttf diff --git a/challenge-166/paulo-custodio/t/dir_c/Courier_New.ttf b/challenge-166/paulo-custodio/t/dir_c/Courier_New.ttf new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/challenge-166/paulo-custodio/t/dir_c/Courier_New.ttf diff --git a/challenge-166/paulo-custodio/t/dir_c/Helvetica.ttf b/challenge-166/paulo-custodio/t/dir_c/Helvetica.ttf new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/challenge-166/paulo-custodio/t/dir_c/Helvetica.ttf diff --git a/challenge-166/paulo-custodio/t/dir_c/Impact.otf b/challenge-166/paulo-custodio/t/dir_c/Impact.otf new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/challenge-166/paulo-custodio/t/dir_c/Impact.otf diff --git a/challenge-166/paulo-custodio/t/dir_c/Monaco.ttf b/challenge-166/paulo-custodio/t/dir_c/Monaco.ttf new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/challenge-166/paulo-custodio/t/dir_c/Monaco.ttf diff --git a/challenge-166/paulo-custodio/t/dir_c/Verdana.ttf b/challenge-166/paulo-custodio/t/dir_c/Verdana.ttf new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/challenge-166/paulo-custodio/t/dir_c/Verdana.ttf diff --git a/challenge-166/paulo-custodio/t/test-1.yaml b/challenge-166/paulo-custodio/t/test-1.yaml new file mode 100644 index 0000000000..b8e53f68ca --- /dev/null +++ b/challenge-166/paulo-custodio/t/test-1.yaml @@ -0,0 +1,1005 @@ +- setup: + cleanup: + args: ../../data/dictionary.txt + input: + output: | + |0xABA7E + |0xABA7ED + |0xABA7E5 + |0xABD1CA7E + |0xABE7 + |0xABE75 + |0xABE77ED + |0xAB1DE + |0xAB1DE5 + |0xAB1E + |0xAB1E57 + |0xAB5CE55 + |0xACCEDE + |0xACCEDED + |0xACCEDE5 + |0xACCE55 + |0xACCE55ED + |0xACCE55E5 + |0xACE + |0xACED + |0xACE5 + |0xAC1D + |0xAC1D5 + |0xAC7 + |0xAC7ED + |0xAC75 + |0xAD + |0xADD + |0xADDED + |0xADD1C7 + |0xADD1C7ED + |0xADD1C75 + |0xADD5 + |0xAD5 + |0xAFFAB1E + |0xAFFEC7 + |0xAFFEC7ED + |0xAFFEC75 + |0xAFF11C7 + |0xAFF11C75 + |0xAF1E1D + |0xA1D + |0xA1DE + |0xA1DED + |0xA1DE5 + |0xA1D5 + |0xA11 + |0xA11ED + |0xA115 + |0xA151E + |0xA151E5 + |0xA1A5 + |0xA1BE17 + |0xA1E + |0xA1E5 + |0xA11A5 + |0xA11A5ED + |0xA11A5E5 + |0xA11B1 + |0xA11B1ED + |0xA11B15 + |0xA11 + |0xA111ED + |0xA111E5 + |0xA5 + |0xA5CE71C + |0xA5CE71C5 + |0xA51DE + |0xA51DE5 + |0xA55 + |0xA55A11 + |0xA55A11ED + |0xA55A115 + |0xA55E5 + |0xA55E55 + |0xA55E55ED + |0xA55E55E5 + |0xA55E7 + |0xA55E75 + |0xA55157 + |0xA55157ED + |0xA551575 + |0xA7 + |0xA7E + |0xA71A5 + |0xA71A5E5 + |0xA77E57 + |0xA77E57ED + |0xA77E575 + |0xA771C + |0xA771C5 + |0xBABB1E + |0xBABB1ED + |0xBABB1E5 + |0xBABE + |0xBABE5 + |0xBAB1ED + |0xBAB1E5 + |0xBAB1E57 + |0xBAD + |0xBADDE57 + |0xBADE + |0xBAFF1E + |0xBAFF1ED + |0xBAFF1E5 + |0xBA11 + |0xBA11ED + |0xBA115 + |0xBA17 + |0xBA17ED + |0xBA175 + |0xBA1D + |0xBA1DED + |0xBA1DE57 + |0xBA1D5 + |0xBA1E + |0xBA1ED + |0xBA1E5 + |0xBA11 + |0xBA11AD + |0xBA11AD5 + |0xBA11A57 + |0xBA11A575 + |0xBA11ED + |0xBA11E7 + |0xBA11E75 + |0xBA115 + |0xBA5E + |0xBA5EBA11 + |0xBA5ED + |0xBA5E5 + |0xBA5E57 + |0xBA51C + |0xBA51C5 + |0xBA511 + |0xBA515 + |0xBA55 + |0xBA55E5 + |0xBA57E + |0xBA57ED + |0xBA57E5 + |0xBA7 + |0xBA75 + |0xBA77ED + |0xBA771E + |0xBA771ED + |0xBA771E5 + |0xBE + |0xBEAD + |0xBEADED + |0xBEAD1E57 + |0xBEAD5 + |0xBEA57 + |0xBEA575 + |0xBEA7 + |0xBEA75 + |0xBED + |0xBEDDED + |0xBED5 + |0xBED51DE + |0xBED51DE5 + |0xBEE + |0xBEEF + |0xBEEFED + |0xBEEF1E57 + |0xBEEF5 + |0xBEE5 + |0xBEE7 + |0xBEE71E + |0xBEE71ED + |0xBEE71E5 + |0xBEE75 + |0xBEFA11 + |0xBEFA115 + |0xBEFE11 + |0xBEF17 + |0xBEF175 + |0xBEF177ED + |0xBE1A7ED + |0xBE11E + |0xBE11ED + |0xBE11EF + |0xBE11EF5 + |0xBE11E5 + |0xBE11771E + |0xBE11 + |0xBE11ED + |0xBE111ED + |0xBE111E5 + |0xBE115 + |0xBE17 + |0xBE17ED + |0xBE175 + |0xBE5E7 + |0xBE5E75 + |0xBE51DE + |0xBE51DE5 + |0xBE57 + |0xBE57ED + |0xBE571A1 + |0xBE575 + |0xBE7 + |0xBE7A + |0xBE75 + |0xB1A5 + |0xB1A5ED + |0xB1A5E5 + |0xB1B + |0xB1B1E + |0xB1B11CA1 + |0xB1B5 + |0xB1D + |0xB1DE + |0xB1DE5 + |0xB1D5 + |0xB11E + |0xB111 + |0xB111ED + |0xB1115 + |0xB15EC7 + |0xB15EC7ED + |0xB15EC75 + |0xB17 + |0xB17E + |0xB17E5 + |0xB175 + |0xB1AB + |0xB1ABBED + |0xB1AB5 + |0xB1ADE + |0xB1ADE5 + |0xB1A57 + |0xB1A57ED + |0xB1A575 + |0xB1EA7 + |0xB1EA7ED + |0xB1EA75 + |0xB1ED + |0xB1EED + |0xB1EED5 + |0xB1E55 + |0xB1E55ED + |0xB1E55E5 + |0xB1155 + |0xCAB + |0xCABBED + |0xCAB1E + |0xCAB1ED + |0xCAB1E5 + |0xCAB5 + |0xCAC71 + |0xCAD + |0xCADD1E + |0xCADD1ED + |0xCADD1E5 + |0xCADE7 + |0xCADE75 + |0xCA1F + |0xCA11 + |0xCA11AB1E + |0xCA11ED + |0xCA115 + |0xCA5CADE + |0xCA5CADED + |0xCA5CADE5 + |0xCA5E + |0xCA5ED + |0xCA5E5 + |0xCA55E77E + |0xCA57 + |0xCA57E + |0xCA57E5 + |0xCA571E + |0xCA571ED + |0xCA571E5 + |0xCA575 + |0xCA7 + |0xCA7CA11 + |0xCA7CA115 + |0xCA75 + |0xCA771E + |0xCC + |0xCEA5E + |0xCEA5ED + |0xCEA5E5 + |0xCEDE + |0xCEDED + |0xCEDE5 + |0xCE11BA7E + |0xCE11 + |0xCE11157 + |0xCE111575 + |0xCE115 + |0xC17E + |0xC17ED + |0xC17E5 + |0xC171E5 + |0xC1AD + |0xC1A55 + |0xC1A55ED + |0xC1A55E5 + |0xC1A551C + |0xC1A551C5 + |0xC1EA7 + |0xC1EA75 + |0xC1EF + |0xC1EF5 + |0xC1EF7 + |0xC1EF75 + |0xC11FF + |0xC11FF5 + |0xC111 + |0xC5 + |0xDAB + |0xDABBED + |0xDABB1E + |0xDABB1ED + |0xDABB1E5 + |0xDAB5 + |0xDAD + |0xDADD1E5 + |0xDAD5 + |0xDAF7 + |0xDA111E5 + |0xDA15 + |0xDA15E5 + |0xDA151E5 + |0xDA111ED + |0xDA111E5 + |0xDA7A + |0xDA7ABA5E + |0xDA7E + |0xDA7ED + |0xDA7E5 + |0xDEAD + |0xDEADE57 + |0xDEAF + |0xDEAFE57 + |0xDEA1 + |0xDEA15 + |0xDEA17 + |0xDEBA5E + |0xDEBA5ED + |0xDEBA5E5 + |0xDEBA7E + |0xDEBA7ED + |0xDEBA7E5 + |0xDEB17 + |0xDEB17ED + |0xDEB175 + |0xDEB7 + |0xDEB75 + |0xDECADE + |0xDECADE5 + |0xDECEA5E + |0xDECEA5ED + |0xDECEA5E5 + |0xDECE17 + |0xDECE175 + |0xDEC1BE1 + |0xDEC1BE15 + |0xDEC1DE + |0xDEC1DED + |0xDEC1DE5 + |0xDED1CA7E + |0xDEED + |0xDEEDED + |0xDEED5 + |0xDEFACE + |0xDEFACED + |0xDEFACE5 + |0xDEFEA7 + |0xDEFEA7ED + |0xDEFEA75 + |0xDEFECA7E + |0xDEFEC7 + |0xDEFEC7ED + |0xDEFEC75 + |0xDEF1C17 + |0xDEF1C175 + |0xDEF1ED + |0xDEF1E5 + |0xDEF11E + |0xDEF11ED + |0xDEF11E5 + |0xDEF1A7E + |0xDEF1A7ED + |0xDEF1A7E5 + |0xDEF1EC7 + |0xDEF1EC75 + |0xDEF7 + |0xDEF7E57 + |0xDE1F1ED + |0xDE1F1E5 + |0xDE171E5 + |0xDE1E7E + |0xDE1E7ED + |0xDE1E7E5 + |0xDE11 + |0xDE11CA7E + |0xDE115 + |0xDE17A + |0xDE17A5 + |0xDE5157 + |0xDE5157ED + |0xDE51575 + |0xDE7A11 + |0xDE7A11ED + |0xDE7A115 + |0xDE7EC7 + |0xDE7EC7ED + |0xDE7EC75 + |0xDE7E57 + |0xDE7E57ED + |0xDE7E575 + |0xD1ABE7E5 + |0xD1ABE71C + |0xD1A1 + |0xD1A1EC7 + |0xD1A1EC75 + |0xD1A1ED + |0xD1A15 + |0xD1CE + |0xD1CED + |0xD1CE5 + |0xD1C7A7E + |0xD1C7A7ED + |0xD1C7A7E5 + |0xD1D + |0xD1E + |0xD1ED + |0xD1E5 + |0xD1E5E1 + |0xD1E5E1ED + |0xD1E5E15 + |0xD1E7 + |0xD1E7ED + |0xD1E75 + |0xD11A7E + |0xD11A7ED + |0xD11A7E5 + |0xD111 + |0xD1115 + |0xD15AB1E + |0xD15AB1ED + |0xD15AB1E5 + |0xD15C + |0xD15C5 + |0xD15EA5E + |0xD15EA5ED + |0xD15EA5E5 + |0xD155EC7 + |0xD155EC75 + |0xD157A57E + |0xD157111 + |0xD1571115 + |0xD1771E5 + |0xEA5E + |0xEA5ED + |0xEA5E1 + |0xEA5E15 + |0xEA5E5 + |0xEA51E57 + |0xEA57 + |0xEA7 + |0xEA75 + |0xEBB + |0xEBBED + |0xEBB5 + |0xEC1EC71C + |0xEC57A71C + |0xEDD1ED + |0xEDD1E5 + |0xED1B1E + |0xED1B1E5 + |0xED1C7 + |0xED1C75 + |0xED1F1CE + |0xED1F1CE5 + |0xED17 + |0xED17ED + |0xED175 + |0xEE1 + |0xEE15 + |0xEFFEC7 + |0xEFFEC7ED + |0xEFFEC75 + |0xE1A571C + |0xE1A571C5 + |0xE1DE57 + |0xE1EC7 + |0xE1EC7ED + |0xE1EC75 + |0xE1F + |0xE11C17 + |0xE11C17ED + |0xE11C175 + |0xE117E + |0xE117E5 + |0xE117157 + |0xE15E + |0xE5CA1A7E + |0xE57A7E + |0xE57A7E5 + |0xFAB1E + |0xFAB1E5 + |0xFACADE + |0xFACADE5 + |0xFACE + |0xFACED + |0xFACE1E55 + |0xFACE5 + |0xFACE7 + |0xFACE7ED + |0xFACE75 + |0xFAC1A1 + |0xFAC1A15 + |0xFAC11E + |0xFAC7 + |0xFAC75 + |0xFAD + |0xFADE + |0xFADED + |0xFADE5 + |0xFAD5 + |0xFA11 + |0xFA11ED + |0xFA115 + |0xFA11 + |0xFA111B1E + |0xFA115 + |0xFA15E + |0xFA15E57 + |0xFA5C157 + |0xFA5C1575 + |0xFA57 + |0xFA57ED + |0xFA57E57 + |0xFA575 + |0xFA7 + |0xFA7A1 + |0xFA7E + |0xFA7ED + |0xFA7E5 + |0xFA75 + |0xFA77E57 + |0xFA771E5 + |0xFA771E57 + |0xFEA51B1E + |0xFEA57 + |0xFEA57ED + |0xFEA575 + |0xFEA7 + |0xFEA75 + |0xFECE5 + |0xFED + |0xFED5 + |0xFEE + |0xFEEB1E + |0xFEEB1E57 + |0xFEED + |0xFEED5 + |0xFEE1 + |0xFEE15 + |0xFEE5 + |0xFEE7 + |0xFE11 + |0xFE11ED + |0xFE11E57 + |0xFE115 + |0xFE17 + |0xFE17ED + |0xFE175 + |0xFE7A1 + |0xFE7ED + |0xFE71D + |0xF1B + |0xF1BBED + |0xF1B5 + |0xF1DD1E + |0xF1DD1ED + |0xF1DD1E5 + |0xF1E1D + |0xF1E1DED + |0xF1E1D5 + |0xF1E57A + |0xF1E57A5 + |0xF1F71E5 + |0xF11E + |0xF11ED + |0xF11E5 + |0xF11E7 + |0xF111 + |0xF111ED + |0xF111E7 + |0xF111E7ED + |0xF111E75 + |0xF1111E5 + |0xF1115 + |0xF15CA1 + |0xF15CA15 + |0xF157 + |0xF1575 + |0xF17 + |0xF175 + |0xF177ED + |0xF177E57 + |0xF1A11 + |0xF1A11ED + |0xF1A115 + |0xF1A7 + |0xF1A75 + |0xF1A77ED + |0xF1A77E57 + |0xF1EA + |0xF1EA5 + |0xF1ED + |0xF1EE + |0xF1EECE + |0xF1EECED + |0xF1EECE5 + |0xF1EE5 + |0xF1EE7 + |0xF1EE7ED + |0xF1EE7E57 + |0xF1EE75 + |0xF11ED + |0xF11E5 + |0xF11E57 + |0xF117 + |0xF1175 + |0xF1177ED + |0xFE7E + |0xFE7E5 + |0x1CE + |0x1CED + |0x1CE5 + |0x1C1C1E + |0x1C1C1E5 + |0x1C1E57 + |0x1D + |0x1DEA + |0x1DEA1 + |0x1DEA1157 + |0x1DEA15 + |0x1DEA5 + |0x1D1E + |0x1D1ED + |0x1D1E5 + |0x1D1E57 + |0x1F + |0x1F5 + |0x11 + |0x111 + |0x111 + |0x1111C17 + |0x1115 + |0x15 + |0x151E + |0x151E5 + |0x17 + |0x17A11C + |0x17A11C5 + |0x175 + |0x175E1F + |0x1AB + |0x1ABE1 + |0x1ABE1ED + |0x1ABE15 + |0x1AB5 + |0x1ACE + |0x1ACED + |0x1ACE5 + |0x1AC1E57 + |0x1AD + |0x1ADE + |0x1ADED + |0x1ADE5 + |0x1AD1E5 + |0x1AD1E + |0x1AD1ED + |0x1AD1E5 + |0x1AD5 + |0x1A1D + |0x1A55 + |0x1A55E5 + |0x1A57 + |0x1A57ED + |0x1A575 + |0x1A7E + |0x1A7E57 + |0x1A771CE + |
