WolframAlpha.com
WolframCloud.com
All Sites & Public Resources...
Products & Services
Wolfram|One
Mathematica
Wolfram|Alpha Notebook Edition
Finance Platform
System Modeler
Wolfram Player
Wolfram Engine
WolframScript
Enterprise Private Cloud
Application Server
Enterprise Mathematica
Wolfram|Alpha Appliance
Enterprise Solutions
Corporate Consulting
Technical Consulting
Wolfram|Alpha Business Solutions
Resource System
Data Repository
Neural Net Repository
Function Repository
Wolfram|Alpha
Wolfram|Alpha Pro
Problem Generator
API
Data Drop
Products for Education
Mobile Apps
Wolfram Player
Wolfram Cloud App
Wolfram|Alpha for Mobile
Wolfram|Alpha-Powered Apps
Services
Paid Project Support
Wolfram U
Summer Programs
All Products & Services »
Technologies
Wolfram Language
Revolutionary knowledge-based programming language.
Wolfram Cloud
Central infrastructure for Wolfram's cloud products & services.
Wolfram Science
Technology-enabling science of the computational universe.
Wolfram Notebooks
The preeminent environment for any technical workflows.
Wolfram Engine
Software engine implementing the Wolfram Language.
Wolfram Natural Language Understanding System
Knowledge-based broadly deployed natural language.
Wolfram Data Framework
Semantic framework for real-world data.
Wolfram Universal Deployment System
Instant deployment across cloud, desktop, mobile, and more.
Wolfram Knowledgebase
Curated computable knowledge powering Wolfram|Alpha.
All Technologies »
Solutions
Engineering, R&D
Aerospace & Defense
Chemical Engineering
Control Systems
Electrical Engineering
Image Processing
Industrial Engineering
Mechanical Engineering
Operations Research
More...
Finance, Statistics & Business Analysis
Actuarial Sciences
Bioinformatics
Data Science
Econometrics
Financial Risk Management
Statistics
More...
Education
All Solutions for Education
Trends
Machine Learning
Multiparadigm Data Science
Internet of Things
High-Performance Computing
Hackathons
Software & Web
Software Development
Authoring & Publishing
Interface Development
Web Development
Sciences
Astronomy
Biology
Chemistry
More...
All Solutions »
Learning & Support
Learning
Wolfram Language Documentation
Fast Introduction for Programmers
Wolfram U
Videos & Screencasts
Wolfram Language Introductory Book
Webinars & Training
Summer Programs
Books
Need Help?
Support FAQ
Wolfram Community
Contact Support
Premium Support
Paid Project Support
Technical Consulting
All Learning & Support »
Company
About
Company Background
Wolfram Blog
Events
Contact Us
Work with Us
Careers at Wolfram
Internships
Other Wolfram Language Jobs
Initiatives
Wolfram Foundation
MathWorld
Computer-Based Math
A New Kind of Science
Wolfram Technology for Hackathons
Student Ambassador Program
Wolfram for Startups
Demonstrations Project
Wolfram Innovator Awards
Wolfram + Raspberry Pi
Summer Programs
More...
All Company »
Search
WOLFRAM COMMUNITY
Connect with users of Wolfram technologies to learn, solve problems and share ideas
Join
Sign In
Dashboard
Groups
People
Message Boards
Answer
(
Unmark
)
Mark as an Answer
GROUPS:
Staff Picks
Image Processing
Curated Data
Graphics and Visualization
Interface Construction
Wolfram Language
Wolfram High School Summer Camp
5
Megan Davi
[WSC21]: Automatic generation of representational infographics
Megan Davi
Posted
1 year ago
2526 Views
|
2 Replies
|
5 Total Likes
Follow this post
|
Automatic generation of representational infographics
by
Megan Davi
This project worked to automatically generate representative pictograms given the values and their respective icons. This includes both pictograms with a single quantity as well as multiple quantities together. There are options for values such as number of rows and dimensions of the individual icons to be specified or automatically calculated.
Goals
Pictograms are a type of infographic that aim to represent quantities visually by putting up a given image repeatedly, so that the number of images is proportional to quantity the image represents. Multiple images and quantities can be used simultaneously (with the same scale), either in individual grids next to each other or within the same grid, to compare the quantities visually. This project aimed to automatically generate these infographics given the values and their corresponding pictures for each grid.
Generating a pictogram with one image and value
I wrote a function which will generate a pictogram of a given Image with respect to its corresponding value which represents a particular metric. This function puts the number of whole images (the floor of the total input value) together with the proportional part of the whole image, corresponding to the fractional part of the total number (which is padded to have the same dimensions as the whole image) with options to specify if the graphic that will be output should have horizontal or vertical orientation. There is a separate case for if the fractional part is zero to avoid errors resulting from trying to take 0% of an image.
For example, I can use createRepresentationSingle to generate a pictogram that represents the existence of 13.2 million dogs by inputting a dog image and the number 13.2. The function will output 13 whole dog images and .2 of a dog image in one graphic where all images output have the same dimensions.
c
r
e
a
t
e
R
e
p
r
e
s
e
n
t
a
t
i
o
n
S
i
n
g
l
e
[
p
i
c
t
u
r
e
_
G
r
a
p
h
i
c
s
|
p
i
c
t
u
r
e
_
I
m
a
g
e
,
n
_
R
e
a
l
|
n
_
I
n
t
e
g
e
r
,
r
o
w
s
_
I
n
t
e
g
e
r
,
w
i
d
t
h
_
,
h
e
i
g
h
t
_
,
h
o
r
i
z
o
n
t
a
l
Q
_
S
y
m
b
o
l
]
:
=
G
r
a
p
h
i
c
s
G
r
i
d
[
I
f
[
h
o
r
i
z
o
n
t
a
l
Q
=
=
T
r
u
e
,
T
r
a
n
s
p
o
s
e
[
#
]
,
#
]
&
[
I
f
[
F
r
a
c
t
i
o
n
a
l
P
a
r
t
[
n
]
=
=
0
,
P
a
r
t
i
t
i
o
n
[
J
o
i
n
[
T
a
b
l
e
[
p
i
c
t
u
r
e
,
n
]
,
T
a
b
l
e
[
"
"
,
r
o
w
s
-
M
o
d
[
n
,
r
o
w
s
]
]
]
,
U
p
T
o
[
r
o
w
s
]
]
,
P
a
r
t
i
t
i
o
n
[
J
o
i
n
[
T
a
b
l
e
[
p
i
c
t
u
r
e
,
F
l
o
o
r
[
n
]
]
,
I
m
a
g
e
P
a
d
[
I
m
a
g
e
T
r
i
m
[
p
i
c
t
u
r
e
,
{
{
0
,
0
}
,
{
I
m
a
g
e
D
i
m
e
n
s
i
o
n
s
[
p
i
c
t
u
r
e
]
[
[
1
]
]
*
F
r
a
c
t
i
o
n
a
l
P
a
r
t
[
n
]
,
I
m
a
g
e
D
i
m
e
n
s
i
o
n
s
[
p
i
c
t
u
r
e
]
[
[
2
]
]
}
}
]
,
{
{
0
,
I
m
a
g
e
D
i
m
e
n
s
i
o
n
s
[
p
i
c
t
u
r
e
]
[
[
1
]
]
*
(
1
-
F
r
a
c
t
i
o
n
a
l
P
a
r
t
[
n
]
)
}
,
{
0
,
0
}
}
,
W
h
i
t
e
]
,
T
a
b
l
e
[
"
"
,
(
r
o
w
s
-
M
o
d
[
C
e
i
l
i
n
g
[
n
]
,
r
o
w
s
]
)
]
]
,
r
o
w
s
]
]
]
,
A
l
i
g
n
m
e
n
t
-
>
L
e
f
t
,
I
m
a
g
e
S
i
z
e
-
>
I
f
[
h
o
r
i
z
o
n
t
a
l
Q
,
{
A
u
t
o
m
a
t
i
c
,
h
e
i
g
h
t
*
r
o
w
s
}
,
{
w
i
d
t
h
*
r
o
w
s
,
A
u
t
o
m
a
t
i
c
}
]
,
S
p
a
c
i
n
g
s
-
>
5
]
An example pictogram for 16.3 people that is horizontal:
I
n
[
]
:
=
c
r
e
a
t
e
R
e
p
r
e
s
e
n
t
a
t
i
o
n
S
i
n
g
l
e
m
e
n
'
s
r
o
o
m
I
C
O
N
[
"
I
m
a
g
e
"
]
,
1
6
.
3
,
3
,
5
0
,
1
1
4
,
T
r
u
e
O
u
t
[
]
=
Resizing the images
This resizes all the images put in so they have the same dimensions.
r
e
s
i
z
e
I
m
a
g
e
s
[
p
i
c
t
u
r
e
s
_
L
i
s
t
,
w
i
d
t
h
_
I
n
t
e
g
e
r
,
h
e
i
g
h
t
_
I
n
t
e
g
e
r
]
:
=
I
m
a
g
e
R
e
s
i
z
e
[
#
,
{
w
i
d
t
h
,
h
e
i
g
h
t
}
]
&
/
@
p
i
c
t
u
r
e
s
Generating a pictogram with multiple images and values
I
a
l
s
o
w
a
n
t
e
d
t
o
c
r
e
a
t
e
a
f
u
n
c
t
i
o
n
t
o
h
a
n
d
l
e
t
h
e
c
a
s
e
i
f
t
h
e
r
e
i
s
m
o
r
e
t
h
a
n
o
n
e
i
m
a
g
e
t
o
b
e
u
s
e
d
i
n
a
p
i
c
t
o
g
r
a
m
.
T
h
e
f
u
n
c
t
i
o
n
w
o
r
k
s
s
i
m
i
l
a
r
l
y
t
o
c
r
e
a
t
e
R
e
p
r
e
s
e
n
t
a
t
i
o
n
S
i
n
g
l
e
a
n
d
c
o
n
s
i
d
e
r
s
t
w
o
c
a
s
e
s
f
o
r
g
e
n
e
r
a
l
p
i
c
t
o
g
r
a
m
:
-
i
f
t
h
e
r
e
a
r
e
j
u
s
t
t
w
o
i
m
a
g
e
s
a
n
d
c
o
r
r
e
s
p
o
n
d
i
n
g
v
a
l
u
e
s
a
r
e
g
i
v
e
n
-
i
f
m
o
r
e
t
h
a
n
t
w
o
i
m
a
g
e
s
a
n
d
c
o
r
r
e
s
p
o
n
d
i
n
g
v
a
l
u
e
s
a
r
e
g
i
v
e
n
I
f
t
h
e
r
e
a
r
e
t
w
o
i
m
a
g
e
s
,
i
t
t
a
k
e
s
t
h
e
f
l
o
o
r
o
f
t
h
e
f
i
r
s
t
v
a
l
u
e
c
o
r
r
e
s
p
o
n
d
i
n
g
t
o
t
h
e
f
i
r
s
t
i
m
a
g
e
,
a
n
d
t
h
e
n
s
t
i
t
c
h
e
s
t
o
g
e
t
h
e
r
t
h
e
f
r
a
c
t
i
o
n
a
l
p
a
r
t
o
f
t
h
e
f
i
r
s
t
i
m
a
g
e
w
i
t
h
t
h
e
r
e
m
a
i
n
d
e
r
o
f
t
h
e
s
e
c
o
n
d
i
m
a
g
e
t
o
g
e
n
e
r
a
t
e
a
c
o
m
b
i
n
e
d
i
m
a
g
e
.
I
f
t
h
e
r
e
a
r
e
m
u
l
t
i
p
l
e
i
m
a
g
e
s
,
i
t
g
i
v
e
s
t
h
e
n
u
m
b
e
r
o
f
w
h
o
l
e
f
i
r
s
t
i
m
a
g
e
s
(
w
h
i
c
h
i
s
t
h
e
f
l
o
o
r
o
f
t
h
e
f
i
r
s
t
v
a
l
u
e
)
,
a
n
d
t
h
e
n
o
n
e
f
i
n
a
l
i
m
a
g
e
w
h
i
c
h
t
a
k
e
s
t
h
e
p
r
o
p
o
r
t
i
o
n
a
l
p
a
r
t
f
r
o
m
t
h
e
c
o
r
r
e
s
p
o
n
d
i
n
g
p
a
r
t
o
f
e
a
c
h
o
f
t
h
e
r
e
m
a
i
n
i
n
g
i
m
a
g
e
s
a
n
d
c
o
m
b
i
n
e
s
t
h
e
m
,
u
p
u
n
t
i
l
a
w
h
o
l
e
i
m
a
g
e
i
s
r
e
a
c
h
e
d
,
c
u
t
t
i
n
g
o
f
f
t
h
e
l
a
s
t
i
m
a
g
e
.
F
o
r
e
x
a
m
p
l
e
,
s
u
p
p
o
s
e
w
e
h
a
v
e
t
h
e
v
a
l
u
e
s
{
2
.
2
,
.
3
,
.
1
,
4
}
.
T
h
e
l
a
s
t
i
m
a
g
e
c
o
m
b
i
n
e
s
0
t
o
.
2
o
f
t
h
e
f
i
r
s
t
i
m
a
g
e
,
.
2
t
o
.
5
o
f
t
h
e
s
e
c
o
n
d
,
.
5
t
o
.
6
o
f
t
h
e
t
h
i
r
d
,
a
n
d
.
6
t
o
1
o
f
t
h
e
f
o
u
r
t
h
,
w
i
t
h
t
h
e
o
p
t
i
o
n
f
o
r
w
h
i
t
e
b
a
r
s
t
o
b
e
i
n
s
e
r
t
e
d
b
e
t
w
e
e
n
e
a
c
h
d
i
f
f
e
r
e
n
t
i
m
a
g
e
f
o
r
c
l
a
r
i
t
y
.
N
o
t
e
t
h
a
t
t
h
e
s
e
i
m
a
g
e
s
s
h
o
u
l
d
a
l
l
b
e
(
a
n
d
w
i
l
l
b
e
w
h
e
n
c
a
l
l
e
d
i
n
f
u
t
u
r
e
f
u
n
c
t
i
o
n
s
)
t
h
e
s
a
m
e
d
i
m
e
n
s
i
o
n
,
a
n
d
t
h
a
t
t
h
e
s
u
m
o
f
t
h
e
f
r
a
c
t
i
o
n
a
l
p
a
r
t
o
f
t
h
e
f
i
r
s
t
v
a
l
u
e
a
n
d
a
l
l
t
h
e
o
t
h
e
r
v
a
l
u
e
s
e
x
c
e
p
t
f
o
r
t
h
e
l
a
s
t
o
n
e
s
h
o
u
l
d
b
e
l
e
s
s
t
h
a
n
1
,
b
u
t
t
h
e
s
u
m
o
f
t
h
e
f
r
a
c
t
i
o
n
a
l
p
a
r
t
o
f
t
h
e
f
i
r
s
t
v
a
l
u
e
a
n
d
a
l
l
t
h
e
o
t
h
e
r
s
s
h
o
u
l
d
b
e
a
t
l
e
a
s
t
1
,
s
i
n
c
e
t
h
e
s
e
a
r
e
t
h
e
v
a
l
u
e
s
t
h
a
t
m
a
k
e
u
p
t
h
e
l
a
s
t
i
m
a
g
e
a
n
d
t
h
a
t
i
m
a
g
e
s
h
o
u
l
d
b
o
t
h
b
e
f
i
l
l
e
d
c
o
m
p
l
e
t
e
l
y
b
u
t
n
o
t
b
e
o
v
e
r
f
i
l
l
e
d
w
i
t
h
e
x
t
r
a
n
e
o
u
s
v
a
l
u
e
s
.
i
m
a
g
e
T
r
i
m
C
o
m
b
i
n
e
r
[
i
m
a
g
e
s
_
L
i
s
t
,
v
a
l
u
e
s
_
L
i
s
t
,
h
e
i
g
h
t
_
,
s
e
p
a
r
a
t
e
Q
_
S
y
m
b
o
l
]
:
=
F
l
a
t
t
e
n
[
T
a
b
l
e
[
i
m
a
g
e
s
[
[
1
]
]
,
F
l
o
o
r
[
v
a
l
u
e
s
[
[
1
]
]
]
]
,
I
m
a
g
e
A
s
s
e
m
b
l
e
[
I
f
[
s
e
p
a
r
a
t
e
Q
,
R
i
f
f
l
e
[
#
,
I
m
a
g
e
T
r
i
m
[
G
r
a
p
h
i
c
s
[
{
W
h
i
t
e
,
R
e
c
t
a
n
g
l
e
[
{
-
2
,
0
}
,
{
2
,
h
e
i
g
h
t
}
]
}
]
,
{
{
0
,
0
}
,
{
1
,
h
e
i
g
h
t
-
1
}
}
]
]
,
#
]
&
[
I
f
[
L
e
n
g
t
h
[
i
m
a
g
e
s
]
=
=
2
,
I
f
[
F
r
a
c
t
i
o
n
a
l
P
a
r
t
[
v
a
l
u
e
s
[
[
1
]
]
]
<
1
0
^
(
-
1
0
)
,
N
o
t
h
i
n
g
,
I
m
a
g
e
T
r
i
m
[
i
m
a
g
e
s
[
[
1
]
]
,
{
{
2
,
0
}
,
{
I
m
a
g
e
D
i
m
e
n
s
i
o
n
s
[
i
m
a
g
e
s
[
[
1
]
]
]
[
[
1
]
]
*
F
r
a
c
t
i
o
n
a
l
P
a
r
t
[
v
a
l
u
e
s
[
[
1
]
]
]
-
I
f
[
s
e
p
a
r
a
t
e
Q
,
1
,
0
]
,
h
e
i
g
h
t
}
}
]
]
,
I
m
a
g
e
T
r
i
m
[
i
m
a
g
e
s
[
[
2
]
]
,
{
I
m
a
g
e
D
i
m
e
n
s
i
o
n
s
[
i
m
a
g
e
s
[
[
2
]
]
]
[
[
1
]
]
*
(
F
r
a
c
t
i
o
n
a
l
P
a
r
t
[
v
a
l
u
e
s
[
[
1
]
]
]
)
+
I
f
[
s
e
p
a
r
a
t
e
Q
,
1
,
0
]
,
0
}
,
{
I
m
a
g
e
D
i
m
e
n
s
i
o
n
s
[
i
m
a
g
e
s
[
[
2
]
]
]
[
[
1
]
]
,
h
e
i
g
h
t
}
]
,
J
o
i
n
[
I
f
[
F
r
a
c
t
i
o
n
a
l
P
a
r
t
[
v
a
l
u
e
s
[
[
1
]
]
]
<
1
0
^
(
-
1
0
)
,
N
o
t
h
i
n
g
,
I
m
a
g
e
T
r
i
m
[
i
m
a
g
e
s
[
[
1
]
]
,
{
{
2
,
0
}
,
{
I
m
a
g
e
D
i
m
e
n
s
i
o
n
s
[
i
m
a
g
e
s
[
[
1
]
]
]
[
[
1
]
]
*
F
r
a
c
t
i
o
n
a
l
P
a
r
t
[
v
a
l
u
e
s
[
[
1
]
]
]
-
I
f
[
s
e
p
a
r
a
t
e
Q
,
1
,
0
]
,
h
e
i
g
h
t
}
}
]
]
,
T
a
b
l
e
[
I
f
[
F
r
a
c
t
i
o
n
a
l
P
a
r
t
[
v
a
l
u
e
s
[
[
i
]
]
]
<
1
0
^
(
-
1
0
)
,
N
o
t
h
i
n
g
,
I
m
a
g
e
T
r
i
m
[
i
m
a
g
e
s
[
[
i
]
]
,
{
1
+
I
m
a
g
e
D
i
m
e
n
s
i
o
n
s
[
i
m
a
g
e
s
[
[
i
]
]
]
[
[
1
]
]
*
(
F
r
a
c
t
i
o
n
a
l
P
a
r
t
[
v
a
l
u
e
s
[
[
1
]
]
+
T
o
t
a
l
[
T
a
k
e
[
v
a
l
u
e
s
,
{
2
,
i
-
1
}
]
]
]
)
+
I
f
[
s
e
p
a
r
a
t
e
Q
,
1
,
0
]
,
0
}
,
{
I
m
a
g
e
D
i
m
e
n
s
i
o
n
s
[
i
m
a
g
e
s
[
[
i
]
]
]
[
[
1
]
]
*
(
F
r
a
c
t
i
o
n
a
l
P
a
r
t
[
v
a
l
u
e
s
[
[
1
]
]
]
+
T
o
t
a
l
[
T
a
k
e
[
v
a
l
u
e
s
,
{
2
,
i
}
]
]
)
-
I
f
[
s
e
p
a
r
a
t
e
Q
,
1
,
0
]
,
h
e
i
g
h
t
}
]
]
,
{
i
,
2
,
L
e
n
g
t
h
[
i
m
a
g
e
s
]
-
1
}
]
,
I
m
a
g
e
T
r
i
m
[
i
m
a
g
e
s
[
[
-
1
]
]
,
{
I
m
a
g
e
D
i
m
e
n
s
i
o
n
s
[
i
m
a
g
e
s
[
[
-
1
]
]
]
[
[
1
]
]
*
(
F
r
a
c
t
i
o
n
a
l
P
a
r
t
[
v
a
l
u
e
s
[
[
1
]
]
]
+
T
o
t
a
l
[
T
a
k
e
[
v
a
l
u
e
s
,
{
2
,
-
2
}
]
]
)
+
I
f
[
s
e
p
a
r
a
t
e
Q
,
1
,
0
]
,
0
}
,
{
I
m
a
g
e
D
i
m
e
n
s
i
o
n
s
[
i
m
a
g
e
s
[
[
-
1
]
]
]
[
[
1
]
]
,
h
e
i
g
h
t
}
]
]
]
]
]
]
This determines which values (and their corresponding images) go into the imageTrimCombiner, based off of the criteria mentioned above. It then changes the values of all numbers that were part of the last imageTrimCombiner, taking away all of the portions of each value that was used so that the values are the remaining amount to be shown in the graphic. It then runs imageTrimCombiner on each set of values & images.
c
r
e
a
t
e
R
e
p
r
e
s
e
n
t
a
t
i
o
n
M
u
l
t
i
p
l
e
[
i
m
a
g
e
s
_
L
i
s
t
,
s
i
z
e
_
L
i
s
t
,
r
o
w
s
_
I
n
t
e
g
e
r
,
w
i
d
t
h
_
I
n
t
e
g
e
r
,
h
e
i
g
h
t
_
I
n
t
e
g
e
r
,
h
o
r
i
z
o
n
t
a
l
Q
_
S
y
m
b
o
l
,
s
e
p
a
r
a
t
e
Q
_
S
y
m
b
o
l
]
:
=
M
o
d
u
l
e
[
{
s
i
z
e
s
=
s
i
z
e
,
i
m
a
g
e
s
L
i
s
t
=
r
e
s
i
z
e
I
m
a
g
e
s
[
i
m
a
g
e
s
,
w
i
d
t
h
,
h
e
i
g
h
t
]
,
i
n
d
e
x
s
=
{
0
,
0
}
}
,
G
r
a
p
h
i
c
s
G
r
i
d
[
I
f
[
h
o
r
i
z
o
n
t
a
l
Q
,
T
r
a
n
s
p
o
s
e
[
#
]
,
#
]
&
[
P
a
r
t
i
t
i
o
n
[
J
o
i
n
[
F
l
a
t
t
e
n
[
T
a
b
l
e
[
W
h
i
c
h
[
i
<
i
n
d
e
x
s
[
[
2
]
]
,
s
i
z
e
s
[
[
i
]
]
=
0
,
i
=
=
i
n
d
e
x
s
[
[
2
]
]
&
&
(
i
n
d
e
x
s
[
[
2
]
]
-
i
n
d
e
x
s
[
[
1
]
]
)
>
1
,
s
i
z
e
s
[
[
i
]
]
=
s
i
z
e
s
[
[
i
]
]
-
1
+
F
r
a
c
t
i
o
n
a
l
P
a
r
t
[
s
i
z
e
s
[
[
i
n
d
e
x
s
[
[
1
]
]
]
]
]
+
T
o
t
a
l
[
T
a
k
e
[
s
i
z
e
,
{
i
n
d
e
x
s
[
[
1
]
]
+
1
,
i
n
d
e
x
s
[
[
2
]
]
-
1
}
]
]
,
i
=
=
i
n
d
e
x
s
[
[
2
]
]
&
&
(
i
n
d
e
x
s
[
[
2
]
]
-
i
n
d
e
x
s
[
[
1
]
]
)
=
=
1
,
s
i
z
e
s
[
[
i
]
]
=
s
i
z
e
s
[
[
i
]
]
-
1
+
F
r
a
c
t
i
o
n
a
l
P
a
r
t
[
s
i
z
e
s
[
[
i
n
d
e
x
s
[
[
1
]
]
]
]
]
]
;
W
h
i
c
h
[
s
i
z
e
s
[
[
i
]
]
<
1
0
^
(
-
1
0
)
,
(
*
I
f
s
i
z
e
i
s
0
*
)
N
o
t
h
i
n
g
,
i
=
=
1
,
(
*
I
f
f
i
r
s
t
e
l
e
m
e
n
t
,
*
)
i
n
d
e
x
s
=
{
i
,
V
a
l
u
e
s
[
S
e
l
e
c
t
[
A
s
s
o
c
i
a
t
i
o
n
[
T
h
r
e
a
d
[
s
i
z
e
s
-
>
R
a
n
g
e
[
L
e
n
g
t
h
[
s
i
z
e
s
]
]
]
]
,
F
r
a
c
t
i
o
n
a
l
P
a
r
t
[
s
i
z
e
s
[
[
1
]
]
]
+
T
o
t
a
l
[
T
a
k
e
[
s
i
z
e
s
,
{
2
,
#
}
]
]
>
=
1
&
]
]
[
[
1
]
]
}
;
i
m
a
g
e
T
r
i
m
C
o
m
b
i
n
e
r
[
T
a
k
e
[
i
m
a
g
e
s
L
i
s
t
,
i
n
d
e
x
s
]
,
T
a
k
e
[
s
i
z
e
s
,
i
n
d
e
x
s
]
,
h
e
i
g
h
t
,
s
e
p
a
r
a
t
e
Q
]
,
i
=
=
L
e
n
g
t
h
[
s
i
z
e
s
]
,
(
*
I
f
e
n
d
e
l
e
m
e
n
t
,
*
)
J
o
i
n
[
T
a
b
l
e
[
i
m
a
g
e
s
L
i
s
t
[
[
i
]
]
,
F
l
o
o
r
[
s
i
z
e
s
[
[
i
]
]
]
]
,
I
f
[
F
r
a
c
t
i
o
n
a
l
P
a
r
t
[
s
i
z
e
s
[
[
i
]
]
]
<
1
0
^
(
-
1
0
)
,
N
o
t
h
i
n
g
,
I
m
a
g
e
T
r
i
m
[
i
m
a
g
e
s
L
i
s
t
[
[
i
]
]
,
{
{
0
,
0
}
,
{
I
m
a
g
e
D
i
m
e
n
s
i
o
n
s
[
i
m
a
g
e
s
L
i
s
t
[
[
i
]
]
]
[
[
1
]
]
*
F
r
a
c
t
i
o
n
a
l
P
a
r
t
[
s
i
z
e
s
[
[
i
]
]
]
,
h
e
i
g
h
t
}
}
]
]
]
,
T
r
u
e
,
(
*
I
f
i
n
t
e
r
m
e
d
i
a
t
e
e
l
e
m
e
n
t
,
*
)
i
n
d
e
x
s
=
i
,
V
a
l
u
e
s
[
S
e
l
e
c
t
[
A
s
s
o
c
i
a
t
i
o
n
[
T
h
r
e
a
d
[
D
r
o
p
[
s
i
z
e
s
,
i
-
1
]
-
>
R
a
n
g
e
[
L
e
n
g
t
h
[
D
r
o
p
[
s
i
z
e
s
,
i
-
1
]
]
]
]
]
,
F
r
a
c
t
i
o
n
a
l
P
a
r
t
[
D
r
o
p
[
s
i
z
e
s
,
i
-
1
]
[
[
1
]
]
]
+
T
o
t
a
l
[
T
a
k
e
[
D
r
o
p
[
s
i
z
e
s
,
i
-
1
]
,
{
2
,
#
}
]
]
>
=
1
&
]
]
[
[
1
]
]
+
i
-
1
;
i
m
a
g
e
T
r
i
m
C
o
m
b
i
n
e
r
[
T
a
k
e
[
i
m
a
g
e
s
L
i
s
t
,
i
n
d
e
x
s
]
,
T
a
k
e
[
s
i
z
e
s
,
i
n
d
e
x
s
]
,
h
e
i
g
h
t
,
s
e
p
a
r
a
t
e
Q
]
]
,
{
i
,
L
e
n
g
t
h
[
i
m
a
g
e
s
L
i
s
t
]
}
]
]
,
I
f
[
M
o
d
[
C
e
i
l
i
n
g
[
T
o
t
a
l
[
s
i
z
e
]
]
,
r
o
w
s
]
=
=
0
,
{
}
,
T
a
b
l
e
[
"
"
,
r
o
w
s
-
M
o
d
[
C
e
i
l
i
n
g
[
T
o
t
a
l
[
s
i
z
e
]
]
,
r
o
w
s
]
]
]
]
,
r
o
w
s
]
]
,
A
l
i
g
n
m
e
n
t
-
>
L
e
f
t
,
I
m
a
g
e
S
i
z
e
-
>
I
f
[
h
o
r
i
z
o
n
t
a
l
Q
,
{
A
u
t
o
m
a
t
i
c
,
h
e
i
g
h
t
*
r
o
w
s
}
,
{
w
i
d
t
h
*
r
o
w
s
,
A
u
t
o
m
a
t
i
c
}
]
,
S
p
a
c
i
n
g
s
-
>
5
]
]
An example pictogram for 16.3 blue,0.5 green, 3.3 purple, and 4.9 red people that is vertical and has the separating bars:
I
n
[
]
:
=
x
=
c
r
e
a
t
e
R
e
p
r
e
s
e
n
t
a
t
i
o
n
M
u
l
t
i
p
l
e
C
o
l
o
r
R
e
p
l
a
c
e
m
e
n
'
s
r
o
o
m
I
C
O
N
[
"
I
m
a
g
e
"
]
,
B
l
a
c
k
-
>
B
l
u
e
,
C
o
l
o
r
R
e
p
l
a
c
e
m
e
n
'
s
r
o
o
m
I
C
O
N
[
"
I
m
a
g
e
"
]
,
B
l
a
c
k
-
>
G
r
e
e
n
,
C
o
l
o
r
R
e
p
l
a
c
e
m
e
n
'
s
r
o
o
m
I
C
O
N
[
"
I
m
a
g
e
"
]
,
B
l
a
c
k
-
>
P
u
r
p
l
e
,
C
o
l
o
r
R
e
p
l
a
c
e
m
e
n
'
s
r
o
o
m
I
C
O
N
[
"
I
m
a
g
e
"
]
,
B
l
a
c
k
-
>
R
e
d
,
{
1
6
.
3
,
.
5
,
3
.
3
,
4
.
9
}
,
5
,
5
0
,
1
1
4
,
F
a
l
s
e
,
T
r
u
e
;
I
m
a
g
e
R
e
s
i
z
e
[
x
,
S
c
a
l
e
d
[
.
7
]
]
O
u
t
[
]
=
Combining Multiple Pictograms
This constructs multiple pictograms side by side with the same style (number of rows, dimensions of each icon, direction, separating bar) for easy comparison between them by taking in set values for each of those stylistic factors and tabling through lists of lists of images and values that give the data for each pictogram (which can each be of either one or multiple images/values).
c
r
e
a
t
e
R
e
p
r
e
s
e
n
t
a
t
i
o
n
s
[
i
m
a
g
e
s
L
i
s
t
s
_
,
v
a
l
u
e
s
L
i
s
t
s
_
,
r
o
w
s
_
I
n
t
e
g
e
r
,
d
i
m
e
n
s
i
o
n
s
_
L
i
s
t
,
h
o
r
i
z
o
n
t
a
l
Q
_
S
y
m
b
o
l
,
s
e
p
a
r
a
t
e
Q
_
S
y
m
b
o
l
]
:
=
M
o
d
u
l
e
[
{
m
a
x
=
0
}
,
I
f
[
h
o
r
i
z
o
n
t
a
l
Q
,
m
a
x
=
M
a
x
[
I
m
a
g
e
D
i
m
e
n
s
i
o
n
s
[
#
]
[
[
1
]
]
&
/
@
#
]
;
G
r
a
p
h
i
c
s
C
o
l
u
m
n
[
I
m
a
g
e
P
a
d
[
#
,
{
{
0
,
m
a
x
-
I
m
a
g
e
D
i
m
e
n
s
i
o
n
s
[
#
]
[
[
1
]
]
}
,
{
0
,
0
}
}
,
W
h
i
t
e
]
&
/
@
#
,
L
e
f
t
,
2
0
,
I
m
a
g
e
S
i
z
e
-
>
{
m
a
x
,
A
u
t
o
m
a
t
i
c
}
]
,
m
a
x
=
M
a
x
[
I
m
a
g
e
D
i
m
e
n
s
i
o
n
s
[
#
]
[
[
2
]
]
&
/
@
#
]
;
G
r
a
p
h
i
c
s
R
o
w
[
I
m
a
g
e
P
a
d
[
#
,
{
{
0
,
0
}
,
{
m
a
x
-
I
m
a
g
e
D
i
m
e
n
s
i
o
n
s
[
#
]
[
[
2
]
]
,
0
}
}
,
W
h
i
t
e
]
&
/
@
#
,
2
0
,
A
l
i
g
n
m
e
n
t
T
o
p
,
I
m
a
g
e
S
i
z
e
-
>
{
A
u
t
o
m
a
t
i
c
,
m
a
x
}
]
]
&
[
T
a
b
l
e
[
I
f
[
L
e
n
g
t
h
[
i
m
a
g
e
s
L
i
s
t
s
[
[
i
]
]
]
=
=
1
,
c
r
e
a
t
e
R
e
p
r
e
s
e
n
t
a
t
i
o
n
S
i
n
g
l
e
[
r
e
s
i
z
e
I
m
a
g
e
s
[
i
m
a
g
e
s
L
i
s
t
s
[
[
i
]
]
,
d
i
m
e
n
s
i
o
n
s
[
[
1
]
]
,
d
i
m
e
n
s
i
o
n
s
[
[
2
]
]
]
[
[
1
]
]
,
v
a
l
u
e
s
L
i
s
t
s
[
[
i
,
1
]
]
,
r
o
w
s
,
d
i
m
e
n
s
i
o
n
s
[
[
1
]
]
,
d
i
m
e
n
s
i
o
n
s
[
[
2
]
]
,
h
o
r
i
z
o
n
t
a
l
Q
]
,
c
r
e
a
t
e
R
e
p
r
e
s
e
n
t
a
t
i
o
n
M
u
l
t
i
p
l
e
[
i
m
a
g
e
s
L
i
s
t
s
[
[
i
]
]
,
v
a
l
u
e
s
L
i
s
t
s
[
[
i
]
]
,
r
o
w
s
,
d
i
m
e
n
s
i
o
n
s
[
[
1
]
]
,
d
i
m
e
n
s
i
o
n
s
[
[
2
]
]
,
h
o
r
i
z
o
n
t
a
l
Q
,
s
e
p
a
r
a
t
e
Q
]
]
,
{
i
,
L
e
n
g
t
h
[
i
m
a
g
e
s
L
i
s
t
s
]
}
]
]
]
Here is an example pair of pictograms
I
n
[
]
:
=
I
m
a
g
e
R
e
s
i
z
e
c
r
e
a
t
e
R
e
p
r
e
s
e
n
t
a
t
i
o
n
s
C
o
l
o
r
R
e
p
l
a
c
e
m
e
n
'
s
r
o
o
m
I
C
O
N
[
"
I
m
a
g
e
"
]
,
B
l
a
c
k
-
>
B
l
a
c
k
,
C
o
l
o
r
R
e
p
l
a
c
e
m
e
n
'
s
r
o
o
m
I
C
O
N
[
"
I
m
a
g
e
"
]
,
B
l
a
c
k
-
>
G
r
e
e
n
,
m
e
n
'
s
r
o
o
m
I
C
O
N
[
"
I
m
a
g
e
"
]
,
{
{
8
}
,
{
4
.
6
,
1
0
}
}
,
2
,
{
5
0
,
1
1
4
}
,
T
r
u
e
,
T
r
u
e
,
S
c
a
l
e
d
[
.
4
]
O
u
t
[
]
=
Calculation of Extra Values
These functions allow some values (specifically, numeric values that are not the raw data) of createRepresentations to not be manually inputted, and instead calculated by the computer.
This scales the raw data to an appropriate size for a pictogram, with all pictograms being scaled the same power of 10 and the largest total final number of an individual pictogram being no greater than 150:
s
c
a
l
e
d
L
a
r
g
e
s
t
T
o
t
a
l
[
v
a
l
u
e
s
L
i
s
t
s
_
L
i
s
t
]
:
=
D
i
v
i
d
e
[
#
,
1
0
.
^
(
F
l
o
o
r
[
M
a
x
[
L
o
g
[
1
0
,
#
]
&
/
@
T
o
t
a
l
/
@
v
a
l
u
e
s
L
i
s
t
s
]
]
-
I
f
[
#
/
1
0
^
F
l
o
o
r
[
L
o
g
[
1
0
,
#
]
]
&
[
M
a
x
[
T
o
t
a
l
/
@
v
a
l
u
e
s
L
i
s
t
s
]
]
<
=
1
.
5
,
2
,
1
]
)
]
&
/
@
v
a
l
u
e
s
L
i
s
t
s
This calculates the dimensions that each icon will be, with the width being 75 and the ratio of width to height being the geometric mean of all width to height ratios of the images:
w
i
d
t
h
H
e
i
g
h
t
[
i
m
a
g
e
s
L
i
s
t
s
_
L
i
s
t
]
:
=
{
7
5
,
F
l
o
o
r
[
7
5
.
*
G
e
o
m
e
t
r
i
c
M
e
a
n
[
I
m
a
g
e
D
i
m
e
n
s
i
o
n
s
[
#
]
[
[
2
]
]
/
I
m
a
g
e
D
i
m
e
n
s
i
o
n
s
[
#
]
[
[
1
]
]
&
/
@
F
l
a
t
t
e
n
[
i
m
a
g
e
s
L
i
s
t
s
]
]
]
}
This calculates the number of rows so that the overall ratio of the final infographic will be close to ratio:
c
a
l
c
u
l
a
t
e
R
o
w
s
[
s
c
a
l
e
d
V
a
l
u
e
s
L
i
s
t
s
_
L
i
s
t
,
r
a
t
i
o
_
,
d
i
m
e
n
s
i
o
n
s
_
,
h
o
r
i
z
o
n
t
a
l
Q
_
S
y
m
b
o
l
]
:
=
M
o
d
u
l
e
{
t
o
t
a
l
s
=
T
o
t
a
l
/
@
s
c
a
l
e
d
V
a
l
u
e
s
L
i
s
t
s
}
,
I
f
M
a
x
[
t
o
t
a
l
s
]
<
=
1
2
,
1
,
F
l
o
o
r
S
q
r
t
I
f
h
o
r
i
z
o
n
t
a
l
Q
,
d
i
m
e
n
s
i
o
n
s
[
[
1
]
]
d
i
m
e
n
s
i
o
n
s
[
[
2
]
]
,
d
i
m
e
n
s
i
o
n
s
[
[
2
]
]
d
i
m
e
n
s
i
o
n
s
[
[
1
]
]
*
M
a
x
[
t
o
t
a
l
s
]
*
r
a
t
i
o
L
e
n
g
t
h
[
t
o
t
a
l
s
]
Compilation into Final Function
This runs createRepresentations, but with default values assigned to options and calculations to find other options using the above functions, such that the only required inputs are the list of lists of images and list of lists of values:
O
p
t
i
o
n
s
[
m
a
k
e
P
i
c
t
o
g
r
a
m
]
=
{
"
r
o
w
s
"
-
>
0
,
"
r
a
t
i
o
"
-
>
(
(
1
+
S
q
r
t
[
5
]
)
/
2
)
,
"
d
i
m
e
n
s
i
o
n
s
"
-
>
{
0
,
0
}
,
"
s
c
a
l
e
N
u
m
b
e
r
s
Q
"
-
>
T
r
u
e
,
"
s
e
p
a
r
a
t
e
Q
"
-
>
F
a
l
s
e
}
;
m
a
k
e
P
i
c
t
o
g
r
a
m
[
i
m
a
g
e
s
L
i
s
t
s
_
L
i
s
t
,
v
a
l
u
e
s
L
i
s
t
s
_
L
i
s
t
,
h
o
r
i
z
o
n
t
a
l
Q
_
S
y
m
b
o
l
:
F
a
l
s
e
,
o
p
t
:
O
p
t
i
o
n
s
P
a
t
t
e
r
n
[
]
]
:
=
M
o
d
u
l
e
[
{
r
o
w
s
=
O
p
t
i
o
n
V
a
l
u
e
[
"
r
o
w
s
"
]
,
r
a
t
i
o
=
O
p
t
i
o
n
V
a
l
u
e
[
"
r
a
t
i
o
"
]
,
d
i
m
e
n
s
i
o
n
s
=
O
p
t
i
o
n
V
a
l
u
e
[
"
d
i
m
e
n
s
i
o
n
s
"
]
,
s
c
a
l
e
N
u
m
b
e
r
s
Q
=
O
p
t
i
o
n
V
a
l
u
e
[
"
s
c
a
l
e
N
u
m
b
e
r
s
Q
"
]
,
s
e
p
a
r
a
t
e
Q
=
O
p
t
i
o
n
V
a
l
u
e
[
"
s
e
p
a
r
a
t
e
Q
"
]
,
s
c
a
l
e
d
}
,
s
c
a
l
e
d
=
I
f
[
O
p
t
i
o
n
V
a
l
u
e
[
"
s
c
a
l
e
N
u
m
b
e
r
s
Q
"
]
=
=
=
F
a
l
s
e
,
v
a
l
u
e
s
L
i
s
t
s
,
s
c
a
l
e
d
L
a
r
g
e
s
t
T
o
t
a
l
[
v
a
l
u
e
s
L
i
s
t
s
]
]
;
c
r
e
a
t
e
R
e
p
r
e
s
e
n
t
a
t
i
o
n
s
[
i
m
a
g
e
s
L
i
s
t
s
,
s
c
a
l
e
d
,
I
f
[
r
o
w
s
<
1
,
c
a
l
c
u
l
a
t
e
R
o
w
s
[
s
c
a
l
e
d
,
r
a
t
i
o
,
I
f
[
d
i
m
e
n
s
i
o
n
s
[
[
1
]
]
>
0
&
&
d
i
m
e
n
s
i
o
n
s
[
[
2
]
]
>
0
,
d
i
m
e
n
s
i
o
n
s
,
w
i
d
t
h
H
e
i
g
h
t
[
i
m
a
g
e
s
L
i
s
t
s
]
]
,
h
o
r
i
z
o
n
t
a
l
Q
]
,
r
o
w
s
]
,
I
f
[
d
i
m
e
n
s
i
o
n
s
[
[
1
]
]
>
0
&
&
d
i
m
e
n
s
i
o
n
s
[
[
2
]
]
>
0
,
d
i
m
e
n
s
i
o
n
s
,
w
i
d
t
h
H
e
i
g
h
t
[
i
m
a
g
e
s
L
i
s
t
s
]
]
,
h
o
r
i
z
o
n
t
a
l
Q
,
s
e
p
a
r
a
t
e
Q
]
]
A couple of example output infographics:
I
n
[
]
:
=
I
m
a
g
e
R
e
s
i
z
e
m
a
k
e
P
i
c
t
o
g
r
a
m
m
e
n
'
s
r
o
o
m
I
C
O
N
[
"
I
m
a
g
e
"
]
,
m
e
n
'
s
r
o
o
m
I
C
O
N
[
"
I
m
a
g
e
"
]
,
C
o
l
o
r
R
e
p
l
a
c
e
m
e
n
'
s
r
o
o
m
I
C
O
N
[
"
I
m
a
g
e
"
]
,
B
l
a
c
k
-
>
R
e
d
,
m
e
n
'
s
r
o
o
m
I
C
O
N
[
"
I
m
a
g
e
"
]
,
C
o
l
o
r
R
e
p
l
a
c
e
m
e
n
'
s
r
o
o
m
I
C
O
N
[
"
I
m
a
g
e
"
]
,
B
l
a
c
k
-
>
R
e
d
,
C
o
l
o
r
R
e
p
l
a
c
e
m
e
n
'
s
r
o
o
m
I
C
O
N
[
"
I
m
a
g
e
"
]
,
B
l
a
c
k
-
>
O
r
a
n
g
e
,
m
e
n
'
s
r
o
o
m
I
C
O
N
[
"
I
m
a
g
e
"
]
,
m
e
n
'
s
r
o
o
m
I
C
O
N
[
"
I
m
a
g
e
"
]
,
C
o
l
o
r
R
e
p
l
a
c
e
m
e
n
'
s
r
o
o
m
I
C
O
N
[
"
I
m
a
g
e
"
]
,
B
l
a
c
k
-
>
R
e
d
,
C
o
l
o
r
R
e
p
l
a
c
e
m
e
n
'
s
r
o
o
m
I
C
O
N
[
"
I
m
a
g
e
"
]
,
B
l
a
c
k
-
>
O
r
a
n
g
e
,
C
o
l
o
r
R
e
p
l
a
c
e
m
e
n
'
s
r
o
o
m
I
C
O
N
[
"
I
m
a
g
e
"
]
,
B
l
a
c
k
-
>
Y
e
l
l
o
w
,
C
o
l
o
r
R
e
p
l
a
c
e
m
e
n
'
s
r
o
o
m
I
C
O
N
[
"
I
m
a
g
e
"
]
,
B
l
a
c
k
-
>
G
r
e
e
n
,
C
o
l
o
r
R
e
p
l
a
c
e
m
e
n
'
s
r
o
o
m
I
C
O
N
[
"
I
m
a
g
e
"
]
,
B
l
a
c
k
-
>
B
l
u
e
,
C
o
l
o
r
R
e
p
l
a
c
e
m
e
n
'
s
r
o
o
m
I
C
O
N
[
"
I
m
a
g
e
"
]
,
B
l
a
c
k
-
>
P
u
r
p
l
e
,
C
o
l
o
r
R
e
p
l
a
c
e
m
e
n
'
s
r
o
o
m
I
C
O
N
[
"
I
m
a
g
e
"
]
,
B
l
a
c
k
-
>
G
r
a
y
,
C
o
l
o
r
R
e
p
l
a
c
e
m
e
n
'
s
r
o
o
m
I
C
O
N
[
"
I
m
a
g
e
"
]
,
B
l
a
c
k
-
>
B
r
o
w
n
,
{
{
4
}
,
{
1
2
.
4
,
5
.
6
}
,
{
1
,
3
.
2
,
2
}
,
{
1
3
.
6
}
,
{
1
,
2
.
2
,
.
1
,
.
3
,
4
,
.
2
,
1
.
3
,
1
.
9
,
3
.
9
}
}
,
S
c
a
l
e
d
[
.
2
]
O
u
t
[
]
=
I
n
[
]
:
=
x
=
m
a
k
e
P
i
c
t
o
g
r
a
m
m
e
n
'
s
r
o
o
m
I
C
O
N
[
"
I
m
a
g
e
"
]
,
C
o
l
o
r
R
e
p
l
a
c
e
m
e
n
'
s
r
o
o
m
I
C
O
N
[
"
I
m
a
g
e
"
]
,
B
l
a
c
k
-
>
B
l
u
e
,
m
e
n
'
s
r
o
o
m
I
C
O
N
[
"
I
m
a
g
e
"
]
,
C
o
l
o
r
R
e
p
l
a
c
e
m
e
n
'
s
r
o
o
m
I
C
O
N
[
"
I
m
a
g
e
"
]
,
B
l
a
c
k
-
>
B
l
u
e
,
C
o
l
o
r
R
e
p
l
a
c
e
m
e
n
'
s
r
o
o
m
I
C
O
N
[
"
I
m
a
g
e
"
]
,
B
l
a
c
k
-
>
P
u
r
p
l
e
,
m
e
n
'
s
r
o
o
m
I
C
O
N
[
"
I
m
a
g
e
"
]
,
{
{
3
2
0
0
0
0
,
5
3
2
9
4
2
}
,
{
2
2
1
7
9
4
,
1
8
4
5
7
1
,
5
7
0
0
0
2
}
,
{
1
7
7
7
7
7
}
}
,
T
r
u
e
;
I
m
a
g
e
R
e
s
i
z
e
[
x
,
S
c
a
l
e
d
[
.
1
]
]
O
u
t
[
]
=
x
=
m
a
k
e
P
i
c
t
o
g
r
a
m
B
i
n
a
r
i
z
e
U
n
i
t
e
d
S
t
a
t
e
s
C
O
U
N
T
R
Y
f
l
a
g
,
U
n
i
t
e
d
S
t
a
t
e
s
C
O
U
N
T
R
Y
f
l
a
g
,
B
i
n
a
r
i
z
e
U
n
i
t
e
d
K
i
n
g
d
o
m
C
O
U
N
T
R
Y
f
l
a
g
,
U
n
i
t
e
d
K
i
n
g
d
o
m
C
O
U
N
T
R
Y
f
l
a
g
,
B
i
n
a
r
i
z
e
G
r
e
e
c
e
C
O
U
N
T
R
Y
f
l
a
g
,
G
r
e
e
c
e
C
O
U
N
T
R
Y
f
l
a
g
,
B
i
n
a
r
i
z
e
C
a
n
a
d
a
C
O
U
N
T
R
Y
f
l
a
g
,
C
a
n
a
d
a
C
O
U
N
T
R
Y