fix Makefile and README.md for 2013/birken

Replace compressed *.tbz2 files with their contents.
This commit is contained in:
Landon Curt Noll committed 2023-03-23 23:49:39 -07:00
1 parent abc1ffd9dc
commit ea1a95b1a8
28 files changed
+820 -117

No files matched your search

+206 -85
View File
@@ -1,96 +1,160 @@
#!/usr/bin/env make
#
# 2013 makefile
# IOCCC 2013 winning entry - birken
################################################################################
#
# This work by Landon Curt Noll, Simon Cooper, and Leonid A. Broukhis
# is licensed under:
# Regarding individual entries:
#
# IOCCC winning entry code may not work on your system. Even with standards,
# conditions and build environments change, especially when it comes to more
# extreme code such you might find in an IOCCC winner. Moreover, what was
# allowed and liked in one IOCCC contest may no longer be liked/allowed in
# later IOCCC years.
#
# Corrections on winning author and fixing typos in remarks are VERY WELCOME.
#
# GitHub pull requests are welcome:
#
# If you have a patch that might make running an entry work in modern Unix-like
# environments, please create a GitHub pull request for the IOCCC judges to
# consider.
#
# Suggestions and corrections regarding Makefiles, winning author information,
# fixing typos in remarks, and code patches are welcome via opening a GitHub
# issue or better yet, by creating a GitHub pull request for the IOCCC judges
# to consider. To form a GitHub issue or GitHub pull, please visit:
#
# https://github.com/ioccc-src/winner
#
################################################################################
# This work by Landon Curt Noll and Leonid A. Broukhis is licensed under:
#
# Creative Commons Attribution-ShareAlike 3.0 Unported License.
#
# See: http://creativecommons.org/licenses/by-sa/3.0/
################
# tool locations
################
#############################
# shell used by this Makefile
#############################
#
SHELL= bash
CP= cp
CPP= cpp
GUNZIP= gunzip
LD= ld
MAKE= make
RM= rm
SED= sed
TAR= tar
TRUE= true
#######################
# common tool locations
#######################
#
include ../../var.mk
# Set X11_LIBDIR to the directory where the X11 library resides
#
X11_LIBDIR= /usr/X11R6/lib
#X11_LIBDIR= /usr/X11R6/lib
#X11_LIBDIR= /usr/X11/lib
X11_LIBDIR= /opt/X11/lib
# Set X11_INCLUDEDIR to the directory where the X11 include files reside
#
X11_INCDIR= /usr/X11R6/include
#X11_INCDIR= /usr/X11R6/include
#X11_INCDIR= /usr/X11/include
X11_INCDIR= /opt/X11/include
# Compiler warnings
# Common C compiler warnings to silence
#
#CWARN=
#CWARN= -Wall -W
CWARN= -Wall -pedantic -Wno-newline-eof
#CSILENCE=
CSILENCE= -Wno-newline-eof
# compiler standard
# Common C compiler warning flags
#
#CWARN= ${CSILENCE}
#CWARN= -Wall ${CSILENCE}
#CWARN= -Wall -Wextra ${CSILENCE}
CWARN= -Wall -Wextra -pedantic ${CSILENCE}
# Compiler standard
#
#CSTD=
#CSTD= -ansi
CSTD= -std=c99
CSTD= -std=gnu11
# compiler bit architecture
# Compiler bit architecture
#
# Some entries require 32-bitness:
# ARCH= -m32
#
# Some entries require 64-bitess:
# Some entries require 64-bitness:
# ARCH= -m64
#
# By default we assume nothing:
#
ARCH=
# optimization
# Defines that are needed to compile
#
CDEFINE=
#CDEFINE= -DIOCCC
# Include files that are needed to compile
#
CINCLUDE=
#CINCLUDE= -include stdlib.h
#CINCLUDE= -include stdio.h
#CINCLUDE= -include stdlib.h -include stdio.h
#CINCLUDE= -I ${X11_INCDIR} -I ${X11_INCDIR}/X11
#CINCLUDE= `${SDL2_CONFIG} --cflags`
# Optimization
#
# Most compiles will safely use -O2. Some can use only -O1 or -O.
# A few compilers have broken optimizers or this entry make break
# under those buggy optimizers and thus you may not want anything.
# Reasonable compilers will allow for -O3.
#
#OPT=
#OPT= -O
#OPT= -O1
OPT= -O2
#OPT= -O3
#OPT= -O2
OPT= -O3
# Default flags for ANSI C compilation
#
CFLAGS= ${CSTD} ${CWARN} ${ARCH} ${CDEFINE} ${CINCLUDE} ${OPT}
# Libraries needed to build
#
LIBS=
#LIBS= -lm
#LIBS= -L ${X11_LIBDIR} -lX11
#LIBS= `${SDL2_CONFIG} --libs`
# default flags for ANSI C compilation
#
CFLAGS= ${CWARN} ${CSTD} ${ARCH} ${OPT} ${LIBS}
# ANSI compiler
#
# Set CC to the name of your ANSI compiler.
#
# Some entries seem to need gcc. If you have gcc, set
# both CC and MAY_NEED_GCC to gcc.
#
# If you do not have gcc, set CC to the name of your ANSI compiler, and
# set MAY_NEED_GCC to either ${CC} (and hope for the best) or to just :
# to disable such programs.
# C compiler to use
#
CC= cc
#CC=clang
MAY_NEED_GCC= gcc
#CC=gcc
# Compiler add-ons or replacements for clang only
#
ifeq ($(CC),clang)
#
CSILENCE+= -Wno-conditional-uninitialized -Wno-missing-prototypes \
-Wno-missing-variable-declarations -Wno-poison-system-directories \
-Wno-strict-prototypes
#
CWARN+= -Weverything
#
endif
# Specific add-ons or replacements for gcc only
#
ifeq ($(CC),gcc)
#
#CSILENCE+=
#
#CWARN+=
#
endif
##############################
@@ -98,68 +162,91 @@ MAY_NEED_GCC= gcc
##############################
#
ENTRY= birken
DATA= examples.tbz2 images.tbz2
PROG= ${ENTRY}
#
OBJ= ${PROG}.o
DATA= belmont.txt bloober.txt bomberman.txt boo.txt bub.txt cheepcheep.txt \
format.txt gurin.txt happyface.txt helloworld.txt hilbert.txt \
ioccc.txt koopaparatroopa.txt lakitu.txt landon.txt leo.txt mario.txt \
mspacman.txt multi2.gif multi3.gif multi4.gif multi5.gif names.png \
palette.png paranaplant.txt pen0.gif pen1.gif pen2.gif pen4.gif \
pen5.gif pen6.gif pen7.gif pen8.gif platform0.gif platform1.gif \
platform2.gif rhino.txt rotations.png samus.txt simon.txt snoo.txt \
toad.txt triple0.gif triple1.gif
TARGET= ${PROG}
#
ALT_OBJ=
ALT_ENTRY=
ALT_TARGET=
#################
# build the entry
#################
#
all: ${ENTRY} data
all: data ${TARGET}
@${TRUE}
${ENTRY}: ${ENTRY}.c
${CC} ${CFLAGS} $< -o $@
.PHONY: all alt data everything clean clobber install \
love haste waste maker easter_egg sandwich \
supernova deep_magic magic charon pluto
${PROG}: ${PROG}.c
${CC} ${CFLAGS} $< -o $@ ${LIBS}
# alternative executable
#
alt: ${ALT_ENTRY}
alt: data ${ALT_TARGET}
@${TRUE}
# data files
#
data: ${DATA}
${RM} -rf examples
@echo extracting examples
${TAR} -jxf examples.tbz2
${RM} -rf images
@echo extracting images
${TAR} -jxf images.tbz2
# both all and alt
#
everything: all alt
###############
# utility rules
###############
#
everything: all alt
clean:
${RM} -f ${ENTRY}.o ${ALT_OBJ}
clobber: clean
${RM} -f ${ENTRY} ${ALT_ENTRY}
${RM} -rf examples
@-if [ ! -e .keep_ioccc_2013 ]; then \
echo ${RM} -rf images; \
${RM} -rf images; \
${RM} -f ${OBJ} ${ALT_OBJ}
@-if [ -f indent.c ]; then \
echo ${RM} -f indent.c; \
${RM} -f indent.c; \
fi
nuke: clobber
@${TRUE}
dist_clean: nuke
@${TRUE}
clobber: clean
${RM} -f ${TARGET} ${ALT_TARGET}
@-if [ -e sandwich ]; then \
${RM} -f sandwich; \
echo 'ate sandwich'; \
fi
install:
@echo "Surely we are joking Dr. Lehmer!"
@echo "Dr. Spock says that is not logical!"
@${TRUE}
# backwards compatibility
# you may be able to misunderstand the source by reading indent.c
#
build: all
@${TRUE}
indent.c: ${PROG}.c
@if which "${GINDENT}" >/dev/null 2>&1; then \
echo ${RM} -f $@; \
${RM} -f $@; \
echo "${GINDENT} < $< > $@"; \
${GINDENT} < $< > $@; \
elif which "${INDENT}" >/dev/null 2>&1; then \
echo ${RM} -f $@; \
${RM} -f $@; \
echo "${INDENT} < $< > $@"; \
${INDENT} < $< > $@; \
else \
echo "no intent tool found, ident $< yourself, sorry"; \
echo "exit 1"; \
exit 1; \
fi
##################
@@ -178,35 +265,69 @@ waste:
@echo 'haste'
@${TRUE}
maker:
@echo 'Participate in a maker faire'
@${TRUE}
easter_egg:
@echo you expected to mis-understand this $${RANDOM} magic
@echo chongo '<was here>' "/\\oo/\\"
@echo Readers shall not be disallowed from being unable to not partly misunderstand this partocular final echo.
@echo "you expected to often misunderstand this $${RANDOM} magic"
@echo "chongo '<was here>' /\\oo/\\"
@echo "Eggy"
sandwich: easter_egg
@if [ `id -u` -eq 0 ]; then \
echo 'Okay.'; \
echo "$${RANDOM}`date +%s`$${RANDOM}" > $@; \
else \
echo 'What? Make it yourself.'; \
exit 1; \
fi
# Understand the history of the Homebrew Computer Club
# as well as the West Coast Computer Faire and
# you might be confused different. :-)
#
supernova: nuke
supernova: sandwich
@-if [ -r .code_anal ]; then \
${RM} -f .code_anal_v4; \
${RM} -f .code_anal_v6; \
else \
echo "We are not expected to understand that"; \
echo "planet deniers, like some members of the IAU, are so cute when they try to defend their logic"; \
fi
@echo "A $@ helps ${MAKE} the elements that help form planets"
@${TRUE}
deep_magic:
deep_magic: supernova
@-if [ -r .code_anal ]; then \
ccode_analysis --deep_magic 2ed3582ec5c094a093fea2a6bcb9f19439892873c9cc45ed1ceaafe08b7d52e1b2c7cd524be3b0b2 --FNV1a_hash 512-bit "${ENTRY}"; \
ccode_analysis --deep_magic 7889066cdbdf09b0408021754586e895be641cc9be29e7eafd3ca65359541f17 \
--FNV1a_hash_512_bit -v2 "${PROG}" "${PROG}.c"; \
else \
echo "Park different"; \
echo "Wrong! Do it again!"; \
sleep 2; \
echo "Wrong! Do it again!"; \
sleep 2; \
echo "Wrong! Do it again!"; \
fi
@${TRUE}
magic: deep_magic
@-if [ -r .code_anal ]; then \
ccode_analysis --mode 391581 --level 216193 --FNV1a_hash 512-bit "${ENTRY}"; \
ccode_analysis --level 20003 --mode 5717175 --FNV1a_hash_512_bit -v2 "${PROG}" "${PROG}.c"; \
else \
echo "These aren't the primes you're looking for Paul Erdos!"; \
echo "If you don't eat yer meat, you can't have any pudding!"; \
echo "How can you have any pudding if you don't eat yer meat?!"; \
fi
@${TRUE}
# The IOCCC resident astronomer states
#
charon: magic
@echo "$@ is a dwarf planet"
@echo "dwarf is a type of planet"
@echo "therefore IAU, $@ is a planet"
pluto: charon
${MAKE} charon
@echo "$@ is a dwarf planet"
@echo "dwarf is a type of planet"
@echo "therefore, $@ is a planet"
@echo "having lots of planets is good feature because supernovae can help ${MAKE} a lot of them"
+36 -32
View File
@@ -1,26 +1,30 @@
# Best painting tool
Michael Birken
<o__1@hotmail.com>
<http://www.meatfighter.com/>
Michael Birken
<o__1@hotmail.com>
<http://www.meatfighter.com/>
# To build:
## Judges' comments:
### To build:
make birken
```sh
make
```
### To run:
./birken < 17_columns_wide_paint_by_numbers_file
```sh
./birken < 17_columns_wide_paint_by_numbers_file
```
### Try:
./birken < examples/ioccc.txt
```sh
./birken < examples/ioccc.txt
perl -e 'map{map{print int(rand()*8);}(0..16);print chr(10);}(0..30);' | tr '[0-4]' ' '| ./birken
perl -e 'map{map{print int(rand()*8);}(0..16);print chr(10);}(0..30);' | tr '[0-4]' ' '| ./birken
```
### Selected Judges Remarks:
## Judges' comments:
This program also wins the "Most amusing abuse of the iocccsize tool" award; although not the
absolute best: it is possible to achieve 0 by writing
@@ -31,13 +35,13 @@ absolute best: it is possible to achieve 0 by writing
The game of Tetris had been used in many endeavors, from studying [algorithmic complexity](http://arxiv.org/abs/cs/0210020) to [treating PTSD](http://www.livescience.com/19894-tetris-treat-ptsd-flashbacks.html).
Using it for painting by numbers looks like a novel idea.
## Author's comments:
### About This Document
This document is best viewed as an HTML file in a browser that supports animated gifs. Extract `examples.tbz2` for the sample input files.
This document is best viewed as an HTML file in a browser that supports animated gifs.
tar -xjvf examples.tbz2
See the files: `*.txt`, `*.png` and `*.gif`.
### Abstract
@@ -96,7 +100,7 @@ Since J, T and L Tetriminos are used interchangeably to produce the emitted squa
### Platforms
Before a row is constructed, the algorithm inspects the row below it. If the row below fails to provide support for all of the squares to be deposited above it, then a temporary platform is required. When that platform is removed, the new row will drop, leaving some of the squares apparently floating above empty space due to the way that gravity works in the original Tetris.
The illustration below depicts the 10 platform patterns (really only 5 considering mirror symmetry). The construction of a platform begins by dropping a T Tetrimino on top one of the squares of the last generated row. The remaining Tetriminos support each other down to that first T. Meaning, as long as the previously generated row contains at least 1 square, like the red square below, then it is possible to construct a flat platform above it for the generation of the next row.
![](platform2.gif)
@@ -104,7 +108,7 @@ The illustration below depicts the 10 platform patterns (really only 5 consideri
In the middle of platform construction, the bottom row gets completed and cleared, leaving 3 rows above it. The final J or L Tetrimino that will remove those rows is not inserted until the square emitters are done generating the next row of the sprite on top of the platform. That final piece precludes square emission in the first and last 2 columns. But, as discussed above, the square emitters are limited to the 17 inner columns due to the geometry of the J, T and L Tetriminos used in the process.
Also, of the 19 possible ways to start constructing a platform on top of a T Tetrimino, only the 10 patterns shown above exist.
### Program Input
The input sprite is represented textually. Digit characters `0` to `7` correspond to pixels with colors from the palette below.
@@ -112,10 +116,10 @@ The input sprite is represented textually. Digit characters `0` to `7` correspo
![ANSI color palette](palette.png)
As discussed above, sprites are limited to a maximum of 3 colors from this palette.
All other characters are interpreted as transparent pixels.
The maximum permissible size of the input text is 32 rows by 17 columns. Row length can vary as long as no single row exceeds 17 characters.
All other characters are interpreted as transparent pixels.
The maximum permissible size of the input text is 32 rows by 17 columns. Row length can vary as long as no single row exceeds 17 characters.
Every row must contain at least one palette digit character.
@@ -139,14 +143,17 @@ This program demonstrates how to exploit a bug in IOCCC size tool version 2013-0
If that line is added to the top of any program, the tool will report a size of 8.
./iocccsize -i < prog.c
8
```sh
$ ./iocccsize -i < prog.c
8
```
When that line is deleted from this program, the tool properly reports the secondary size limit of the program as 2048.
./iocccsize -i < prog.c
2048
```sh
$ ./iocccsize -i < prog.c
2048
```
Although this bug provides an easy means of circumventing contest rule 2, as demonstrated from the size value, this entry is not necessarily striving for a 'worst abuse of the rules' award.
@@ -162,8 +169,8 @@ Carefully selected variable names also yielded wonderful expressions like `l=0`,
The source is formatted to resemble the Tetris playfield midgame. It is also an homage to all the past IOCCC entries formatted as a compact block of text; the T, orientated appropriately to reflect its name and the first letter in the title of the game, is just a moment away from producing such a text block.
Three tables are encoded as separate strings within the program:
Three tables are encoded as separate strings within the program:
The first string stores the coordinates of the squares of the 19 distinct rotations of Tetriminos (see below). Since a Tetrimino is a chain of 4 squares, all Tetriminos fit within a 4&times;4 matrix. To determine the coordinates of the squares, the Tetrimino is pushed to the upper-left of the matrix. Each coordinate value requires 2 bits of storage. Consequentially, the four x-coordinates and the four y-coordinates were packed into separate octets. To convert the octets into valid ASCII characters, the squares were sorted such that the least significant bits stored the largest coordinate values. The results were offset by 35, the `#` character, which is 1 beyond the ASCII value of `"`, making it easier to pack into a string. None of the resultant values are beyond ASCII 127. The coordinates for all 19 rotations fit in a string of length 38.
![](rotations.png)
@@ -174,7 +181,7 @@ The third string conceptually stores the default colors of the 19 rotations. A
The program is full of subtle obfuscations:
* The unary decrement operator is used in conjunction with global variable automatic zero initialization to set variables to `-1`.
* The unary decrement operator is used in conjunction with global variable automatic zero initialization to set variables to `-1`.
* The boolean expression of the form, `x + 1`, is used multiple times to determine if a value is not `-1`. Similarly, expressions of the form `x - y` are used to determine if `x != y`.
@@ -184,7 +191,7 @@ The program is full of subtle obfuscations:
* Variable `i` is less than necessary.
* A cursorily glance at the expressions `4&&L` and `m&&e==m` suggests that they always evaluate to true.
* A cursorily glance at the expressions `4&&L` and `m&&e==m` suggests that they always evaluate to true.
* The varying single square emitter pattern lengths are resolved during string decoding using the clever expression, `(i & 3) - 3`, which identifies pattern 3 and 7 as longer.
@@ -249,13 +256,10 @@ The origin of the remaining files are described below:
* `happyface.txt` - Based on a smiley; rights unknown
* `snoo.txt` - 8-bit version of Snoo, Reddit's alien mascot
## Copyright:
--------------------------------------------------------------------------------
<!--
(c) Copyright 1984-2015, [Leo Broukhis, Simon Cooper, Landon Curt Noll][judges] - All rights reserved
This work is licensed under a [Creative Commons Attribution-ShareAlike 3.0 Unported License][cc].
[judges]: http://www.ioccc.org/judges.html
[cc]: http://creativecommons.org/licenses/by-sa/3.0/
-->
+30
View File
@@ -0,0 +1,30 @@
1111
111111
1111771
1113731
1111113771
13333111371
11333337111
1113333337
177113311111
171111111771111
1111111117711771
11111117131771
1111311133171
31111111111
1313131
1111311
11113113
111111113
177711771
1777117771
17711 17711
1171 1171
13111 1111
11331 1331
11331 1331
1331 1331
1331 131
1331 133311
13331 133331
11111 111111
+24
View File
@@ -0,0 +1,24 @@
7557
757757
75777757
7757777577
775777777577
77757777775777
7775777777775777
5777777775
7777777777
7 7
77 77
7 7 7 7
7 7 7 7
7 77 77 7
775577775577
577777777775
77 777777 77
57 57 75 75
77 77 77 77
57 57 75 75
7 77 77 7
7 57 75 7
7 7 7 7
7 7
+16
View File
@@ -0,0 +1,16 @@
777777
77777777
71 11 17
71 11 17
77777777
777777
6666
1177666667
11766666677
66666677
666666 11
776666 11
776677
77 11
11 11
11
+16
View File
@@ -0,0 +1,16 @@
77777777
77744444477
7744777774477
4477744777447
774444477777477
747444777777447
747474777777747
741474717477747
741717117747747
741717117774747
741111117447747
7741111777777477
747777777777747
774447777444477
7774444447777
77777777
+16
View File
@@ -0,0 +1,16 @@
1
111
111122222
112222222
222277272
11122277 2 7
1222277 2 7
222277 2 72
11222277 2 72
122222772722
2122 7
21112222222
2111227777
121122777777
1222221177777
2222221111777111
+16
View File
@@ -0,0 +1,16 @@
3333
33333
1111113
717711111
77777711111777
717177111177777
717177111777777
77777711777777
7177111777777
3331111111111 3
13311111111133
1331111111133
133771111113
3333777111133
777777771 3
77777
Binary file not shown.
+12
View File
@@ -0,0 +1,12 @@
111111
111111
11
11
66 6633
66 6633
6666 666633
6666 666633
336611116633
336611116633
333333111133
333333111133
+16
View File
@@ -0,0 +1,16 @@
66666
6666666
6776776
667777776
677 7 776
677 7 776
67733376666
6633333336666
66633333666666
666677777766
666677777776
666 677777777
77777777733
7777777333
3333773333
333333
+16
View File
@@ -0,0 +1,16 @@
444444
4433333344
433333333334
43333 3 3334
4333 77 77 334
43333 7 7 3334
43333 7 7 3334
43333 7 7 3334
433333 3 33334
4333333333333334
4333 33333333334
4333 3334
43333333333334
433333333334
4433333344
444444
+24
View File
@@ -0,0 +1,24 @@
1 1 11 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
111 11 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 11 11 11 1 1
1 1 1
244424
4244422244
422442244242
42222222244444
44422222424444
4444422222224444
4444222222224444
4444222222244444
4444222222444444
2444422442422444
4444442244444444
44444422442224
44444444222224
444444442222
4444444222
444444
+31
View File
@@ -0,0 +1,31 @@
111 111 111 111
121 121 121 121
1211121 1211121
1222221 1222221
1112111 1112111
121 121
111211111112111
122222222222221
121111121111121
121 121 121
111 1112111 111
1222221
111 1112111 111
121 121 121
121111121111121
122222222222221
121111121111121
121 121 121
111 1112111 111
1222221
111 1112111 111
121 121 121
121111121111121
122222222222221
111211111112111
121 121
1112111 1112111
1222221 1222221
1211121 1211121
121 121 121 121
111 111 111 111
Binary file not shown.
+31
View File
@@ -0,0 +1,31 @@
4 1111111111177 4
11177
4 11177 4
11177
4 11177 4
1111111111177
4 4
1111111111177
4 111177 111177 4
111177 111177
4 111177 111177 4
1111111111177
4 4
1111111111177
4 1177 4
1177
4 1177 4
1111111111177
4 4
1111111111177
4 1177 4
1177
4 1177 4
1111111111177
4 4
1111111111177
4 1177 4
1177
4 1177 4
1111111111177
4 4
+23
View File
@@ -0,0 +1,23 @@
7 77
777 7777
7773 77777
317733 77777
317733 77377
317733 737777
377733 7737777
3337333 737777
3133333 73777 7
333333 7377777
333 33 1173777
33 33 11777111
33 337111313111
3 337113111313
337311111131
3377131111131
371313111313
373111313111
71111131111
771113131777
33777311777
3333377777333
33333 3333
+24
View File
@@ -0,0 +1,24 @@
33333
3333333
222322233
2777277723
27777777232
277272772322
277272772322
22232222222
333222233322
3333322333332
23333377333332
27333777733372
27777777777772
2777777777777772
2777772772777772
2777772772777772
2777772772777772
2777777777777772
2727777777777272
27772777727772
27777222277772
27777777777772
277772277772
2222 2222
+33
View File
@@ -0,0 +1,33 @@
4444444
444444444
444444444444
44433334444444
444333333444444
4433333333344444
4433333333334444
4433333333333344
4433333333333344
44433443333443344
43344774444774444
43334774334774344
43333443333443344
43333333343333344
4333333444333334
43343333333434
4334444444334
443344444334
43433333334
44334334334
444433444444
4447433444444
444774333334444
44447433333444444
44447743334744444
44444774447744444
44444774744744444
44444447774744444
44444447774774444
44444447774774444
+29
View File
@@ -0,0 +1,29 @@
44444 4444
444444444444
4444444444444
44444444444444
444444444444444
4444444444444444
44444444443333444
44444444433333344
44333333333333344
44333333333333344
44333333333333344
4433 3333 334
43 333 33 333 34
3337 733 37 7333
33333333 3333333
3333333333333333
333333 33 333333
333333 333333
3333 3333 3333
33333 33333
33 33 33 33
3 333333 3 44
4 3 3333 3 344
43 3344
4444333333333444
44444333333333444
44444333333334444
44444333333344444
44444433333444444
+32
View File
@@ -0,0 +1,32 @@
77777
7777773
77777733
77777777777
111331333
133133113333
1331133333333
11331133313333
1133333111111
1113333311111
1133333333
11133
7777117 3
111177117 333
11111177171333
111111177117333
111111177117131
11111177711711
11111177737131
1111777777777
3333377777777
3333377777777 1
3333777777777 11
333777777711111
7177777711111
17717777711111
1117771177711111
11117777 11111
111117
111
111
111
+24
View File
@@ -0,0 +1,24 @@
11
3333111
3333331141
3333333331411
333 333 33111
333333 34 311
33333 3 33
3333 3333
333 333
31 13
1 4444 1
44444444
4444444444
444444444444
444444444444
444114411444
44441144114444
44444444444444
44444444444444
44114411441144
41441144114414
44444444444444
44 444 444 44
4 44 44 4
+23
View File
@@ -0,0 +1,23 @@
2 2
2377 7732
227 722
32277 77223
22237 73222
3222277 7722223
223227 722322
22222 22222
2322227 7222232
2222327 7232222
322222 222223
223222 222322
22223 32222
2322222232
232232
33 33 33
3233 33 3323
3233 33 3323
33233 33 33233
3323 33 3233
333233332333
3333333333
3333
+32
View File
@@ -0,0 +1,32 @@
66666666666666666
66666666666666666
66666666666666666
66666666666666666
66666666 6666
6666666 55555 66
666 66 555555 6 5
66 66 55555 5
6 7 66 55555555 5
6 7 666 5555555 5
6 7 6666 555555
6 7 666 777 555
6 77 66 77 777 55
777 66 7 777 55
777 6 7 7 55
7777 555 7 55
7777 555 7 55
77777 5555 555
777777 555555555
6 777777 55555555
7777777 55555 5
7777777 5555 7
5 7777 5555 77
55 55555 7 7
5555555555 777
555555555 7 7 7
6 555555 777 77
66 7 7 7 5
666666 777 7777 5
6666666 7 77 55
66666666 777 555
666666666 55555
+32
View File
@@ -0,0 +1,32 @@
11
113311
12111121
23211232
1223223221
12 2222 21
111 22 111
333 11 11 333
3333321 1233333
3333312112133333
23311311311332
33113113111133
3 2111111112 3
11 21122112 11
32232 233223 33
2232 3333 1333
2 2222333311113
2 2 33331 11
2 2 33 11
223 33311
33 33
33 33
133 331
31 13
333 333
333 333
333 333
1131 1311
2221 1222
11112 21111
11111 11111
111 111
+24
View File
@@ -0,0 +1,24 @@
3333
33333333
3333333333
333333333333
333333333333
33333333333333
33333333333333
33 3333 33
33 3333333333 33
3337 73 337 7333
3333333 33333333
3333333333333333
333333 33 333333
333333 333333
33333333333333
3 3 3333 3 3
3 33 33 3
333333333333
433 3333 334
4443333 333344
44433333333333344
44433333333333344
44443333333333444
44444333333334444
+27
View File
@@ -0,0 +1,27 @@
77
7 77 7
7 777
7 7
7
7777777
77 77777777777 77
7 7777777777777 7
777711777117777
77777117771177777
77777777777777777
77777777777777777
7777 77777 7777
7777 7777
77777777777
77777
7 7 7 7
77 7777777 77
77 7777777 77
77 7777777 77
77 7777777 77
7 7777777 7
7777777
7777777
7777777
77 77777 77
7777 777 7777
+27
View File
@@ -0,0 +1,27 @@
4444444
44477774444
4444777444474
444477774444774
477744777447774
4774444777774774
4474444777444474
4477447777444474
4477777777444474
4744444477744774
443434344777744
44343433347744
433333334444
4333333344
44433444
443334334
44433443334
434333444334
434333433334
434333433344
474447444744
4777777777774
44477777777774
44447777777744
44444444777444
4444 44444
44 444