veikko turku 20february2007 presentation …web.abo.fi/fak/mnf/mate/cade2007/talks/veikko...in 1961...
TRANSCRIPT
Veikko Keränen, Rovaniemi University of Applied Scienceshttp://south.rotol.ramk.fi
Mathematica in Research of Pattern Avoidance in Words
CADE 2007, Åbo Akademi UniversityTurku, 20 February 2007
Mathematica- interactive computations, visualisations- versatile structures, firm support for concept development- unified symbolic expressions, rule-based and dynamic programming
Combinatorics on Words (Axel Thue, 1906)Abelian Pattern Avoidance (over 4 letters)
Pure Mathematics, Big Experimental Part, Cryptography, Bioinformatics, Generation of Extreme Events
Problem posed by Erdös (1961)Our solution 1992: V. Keränen. Abelian squares are avoidable on 4 letters. In W. Kuich, editor, Proc. ICALP '92, Lecture Notes in Comp. Sci., 623:41–52. Springer-Verlag, Berlin, 1992.
g85HabcacdcbL
a b c a c d c b
Visualisation below by Erik Jensen:
2 ___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb
Participating Students from 1990 to 2007:
Kari Tuovinen 1990
Minna Iivonen, Anja Keskinarkaus, Marko Manninen 1993
Abdeljalil Chabani, Tomi Laakso 1994
Mika Moilanen, Juha Särestöniemi 1996
Juho Alfthan 1999
Olli-Pentti Saira 2000
Marja Kenttä, Ville Mattila 2001
Lauri Autio, Marianna Mölläri 2002
Antti Eskola (GRID) 2003
Antti Karhu, Veli-Matti Lahtela, Olli-Pekka Siivola (FPGA) 2004
Esa Nyrhinen, Sami Vuolli 2005
Esa Taskila, Mikhail Kalkov, Antti Oja, Viet Pham Hoang (GRID) 2006
Avoiding Regularities in Words – preliminaries, history, some visualizations
à Introduction
The systematic study of structures in words (or strings)
was started by Axel Thue (1863-1922) in 1906:We consider the question whether, given words u and w,
there always exists a nonerasing morphism h : A* Ø B*
such that h(u) is a factor of w.
4 ___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb
In 1961 Paul Erdös (1913 - 1996) posed the question:
Is it possible to avoid abelian squares (permutation or anagram repetitions) in arbi-trarily long words?
à Definitions
A word (string) is an element of a free monoid.
The generator (alphabet) is a finite non-empty set that consists of abstract symbols (letters).
A square (ordinary) is a repetition of the form u u.
Example: abcb´̈ ¨̈ ¨̈≠ ƨ¨̈u
abcb´̈ ¨̈ ¨̈≠ ƨ¨̈u
œ 8a, b, c<*.
{u__, u__}
An abelian square is a string of the form u v, where u and v are permutations (anagrams) of each other, i.e., their Parikh-vectors are the same:
y(u) = (#a, #b, #c, #d) = y(v).
Example: abcb´̈ ¨̈ ¨̈≠ ƨ¨̈u
cbab´̈ ¨̈ ¨̈≠ ƨ¨̈v
œ 8a, b, c<* ; y(u) = y(v) = (1, 2, 1)
or
abcbabd´̈ ¨¨¨̈ ¨̈ ¨̈ ≠ ƨ¨¨¨̈ ¨̈u
abacbdb´̈ ¨¨¨̈ ¨̈ ¨̈≠ ƨ¨¨¨̈ ¨̈v
œ 8a, b, c, d<*; y(u) = y(v) = (2, 3, 1, 1).
{u__, v__} /; Sort[{u}] Sort[{v}]
___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb 5
A string is square-free, if it does not contain any squares as a factor,
i.e., it avoids {___, u__, u__, ___} pattern.
A string is abelian square-free [a-2-free], if it does not contain any abelian squares as a factor,
i.e., it avoids {___, u__, v__, ___} /; Sort[{u}] Sort[{v}] pat-tern.
If it is possible to construct arbitrarily long (infinite) square-free (or other pattern-free) strings over a given alphabet X, then we say that squares (or those patterns) are avoidable over X.
Other kinds of examples of patterns by James D. Currie (Winnipeg):
mississippi = m i ssi ssi p p i encounters abbcca in abelian sense.
reproportioner = re pro por tion er encounters abbca in abelian sense.
à History and Basic Concepts
Axel Thue (1906, 1912)
$ cube-free (3-free), and even overlap-free, infinite strings over 8a, b<.Thue iterated the endomorphism g: {a, b}* Ø {a, b}* :
productions = 8"a" → "ab ", "b" → "ba "<;g@x_D := StringReplace@x, productionsD
6 ___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb
NestList@g, "a", 5D êê TableForm
aabab baab ba ba abab ba ba ab ba ab ab baab ba ba ab ba ab ab ba ba ab ab ba ab ba ba ab
The limit t = lim n ض gn(a) is the so-called Prouhet(1851)–Thue(1912)–Morse(1921) sequence.
Theorem An infinite overlap-free binary word is a fixed point of a non-identity morphism if and only if it is equal to t, the (Prouhet-)Thue-Morse word, or its complement t
-.
$ square-free (2-free) infinite strings over {a, b, c}:
productions =
8"a" → "abc ", "b" → "ac ", "c" → "b ", " " → ""<;
NestList@g, "a", 5D êê TableForm
aabcabc ac babc ac b abc b acabc ac b abc b ac abc ac b ac abc babc ac b abc b ac abc ac b ac abc b abc ac b abc b ac abc b abc ac b ac
Remark: g(aba) = a b c a c a b c is not 2-free !
How long abelian square-free words are there over different alphabets?
{a}: a length = | w | = 1
{a, b}:ababab
| w | = 3
{a, b, c}: abacaba, ... | w | = 7
ô Let's try to extend abacaba:
___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb 7
abacaba With Mathematica:
patternFreeLists =
With@8n = 8, k = 3<, NestList@DeleteCases@Flatten@Map@Table@Append@#, i − 1D, 8i, k<D &,#D, 1D, 8___, u__, v__< ê;
Sort@8u<D Sort@8v<DD &, 88<<, nDD
988<<,i
k
jjjjjjjjj
012
y
{
zzzzzzzzz,
i
k
jjjjjjjjjjjjjjjjjjjjjjjjjj
0 10 21 01 22 02 1
y
{
zzzzzzzzzzzzzzzzzzzzzzzzzz
,
i
k
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
0 1 00 1 20 2 00 2 11 0 11 0 21 2 01 2 12 0 12 0 22 1 02 1 2
y
{
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
,
i
k
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
0 1 0 20 1 2 00 1 2 10 2 0 10 2 1 00 2 1 21 0 1 21 0 2 01 0 2 11 2 0 11 2 0 21 2 1 02 0 1 02 0 1 22 0 2 12 1 0 12 1 0 22 1 2 0
y
{
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
,
i
k
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
0 1 0 2 00 1 0 2 10 1 2 0 10 1 2 0 20 1 2 1 00 2 0 1 00 2 0 1 20 2 1 0 10 2 1 0 20 2 1 2 01 0 1 2 01 0 1 2 11 0 2 0 11 0 2 1 01 0 2 1 21 2 0 1 01 2 0 1 21 2 0 2 11 2 1 0 11 2 1 0 22 0 1 0 22 0 1 2 02 0 1 2 12 0 2 1 02 0 2 1 22 1 0 1 22 1 0 2 02 1 0 2 12 1 2 0 12 1 2 0 2
y
{
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
,
i
k
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
0 1 0 2 0 10 1 0 2 1 00 1 0 2 1 20 1 2 0 1 00 1 2 1 0 10 2 0 1 0 20 2 0 1 2 00 2 0 1 2 10 2 1 0 2 00 2 1 2 0 21 0 1 2 0 11 0 1 2 0 21 0 1 2 1 01 0 2 0 1 01 0 2 1 0 11 2 0 1 2 11 2 0 2 1 21 2 1 0 1 21 2 1 0 2 01 2 1 0 2 12 0 1 0 2 02 0 1 2 0 22 0 2 1 0 12 0 2 1 0 22 0 2 1 2 02 1 0 1 2 12 1 0 2 1 22 1 2 0 1 02 1 2 0 1 22 1 2 0 2 1
y
{
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
,
i
k
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
0 1 0 2 0 1 00 1 0 2 1 0 10 1 2 1 0 1 20 2 0 1 0 2 00 2 0 1 2 0 20 2 1 2 0 2 11 0 1 2 0 1 01 0 1 2 1 0 11 0 2 0 1 0 21 2 0 2 1 2 01 2 1 0 1 2 11 2 1 0 2 1 22 0 1 0 2 0 12 0 2 1 0 2 02 0 2 1 2 0 22 1 0 1 2 1 02 1 2 0 1 2 12 1 2 0 2 1 2
y
{
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz
, 8<=
{a, b, c, d}: abcacdcbcdcadcdbdabacabadbabcbdbcbacbcdcacbabdabacadcbcdc ... | w | = ¶ (Keränen, 1990-1992)
8 ___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb
g85a =
"abcacdcbcdcadcdbdabacabadbabcbdbcbacbcdcacbabdabacadcbcdcacdbcbacbcdcacdcbdcdadbdcbca";
cyclicPermutation =
8"a" → "b", "b" → "c", "c" → "d", "d" → "a"<;
g85b = StringReplace@g85a, cyclicPermutationDg85c = StringReplace@g85b, cyclicPermutationDg85d = StringReplace@g85c, cyclicPermutationD
s@x_StringD := Apply@Plus, Characters@xDD
s@ga85D
19 a + 21 b + 27 c + 18 d
Permutative reappearances, semi-mirror and -palindrome factors in g85
Other Results – especially Carpi's characterisation of a-n-free morphisms
Pleasants 1969
___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb 9
There exist infinite a-4-free words over 2 letters and infinite a-3-free words over 3 letters. (Dekking, 1978; arithmetic progression free groups).
10 ___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb
During the years 1979 - 1986 k-free (ordinary k-freeness) morphisms and DOL-se-quences were quite sharply characterised: h: S* Ø D * is k-free if and only if h(w) is k-free for "short" strings w.
Short a-2-free words over 4 letters: words2 & words3 & words4
Carpi's characterisation of a-n-free morphisms:Given an integer n ¥ 2, two alphabets S and D, and a morphism h: S* Ø D*, let us denote by Gh the subgroup of D generated by y( h(S) ). Then, the morphism h is an abelian nth power-free (a-n-free) provided that the following conditions are satisfied:
(i) h(w) is a-n-free for every a-n-free word w œ S* of length 2,
(ii) h is commutatively bijective (i.e. the set y(h(S)) is linearly independent),
(iii) for all ai œ S, pi œ Pref( h(ai) ) (0 § i § n) such that
y(p j+1) – 2 y(p j) + y(p j-1) œ Gh, j = 1, 2 , ... , n–1,
there exists integers di œ {0,1} such that
y(p j+1) – 2 y(p j) + y(p j-1) =
d j+1y(h(a j+1)) – 2 d jy(h(a j) ) + d j-1y(h(a j-1)), j = 1, 2 , ... , n–1.
If Card(S) ¥ 6 then an a-n-free morphism h always satisfies conditions (i)–(iii).
Informally speaking, the condition (iii) above says that if h(w) contains an abelian square (as a subword) then there is an abelian square in the underlying word w, too.
Unfortunately, the above characterisation seems not to be very useful in finding new endomorphisms over 4 letters.
This has remained very hard, as there has not been any systematic way to find good candidates.
One may try to find images for letters {a, b, c, d} by using cyclic permutations of images:
{A, B = s(A), C = s(B), D = s(C)}.
___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb 11
AÑ ÜÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖ BÑ ÜÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖAÑ ÜÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖ CÑ ÜÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖAÑ ÜÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖ DÑ ÜÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖ
A more general setting:
a Ø AÑ ÜÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖb Ø BÑ ÜÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖc Ø CÑ ÜÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖd Ø DÑ ÜÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖÖ
à Applications of Words Avoiding Repetitions
è unending games, symbolic dynamics (Morse, Hedlund 1921, 1938)
è group theory: Burnside problem (1902). Is every finitely generated periodic group infinite or not?
è number theory:
AN APPLICATION OF VAN DER WAERDEN'S THEOREM IN ADDITIVE NUMBER THEORY: In any infinite sequence on a finite set of integers one always finds arbitrary large finite sets of adjacent segments, such that all these seg-ments have the same sum . (J. Justin, G. Pirillo and S. Varricchio (1983); Halbeisen, Hungerbühler, 2000)
Open problem: Is it possible to construct an infinite sequence on a finite set of integers such that no two adjacent segments of the same length have the same sum?
VAN DER WAERDEN'S THEOREM:
For any coloring of with finitely many colors, and for each m in , there is a mono-chromatic arithmetic progression of length m.
Not an open problem: Is it possible to construct an infinite word (on a finite alpha-bet) without factors that contain an even amount of letters?
12 ___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb
» −−−−−−−−−−−−−−−−−−− » −−−−−−−−−−−−−−−−− » −−−−−−−−−−−−
↑⏐⏐ ↑⏐⏐H0, 1, 0, 0, 1L H0, 1, 0, 0, 1L
0 : even number of the specific letter1 : odd number of the specific letter
è ergodic theory
è searching and compression algorithms
è DNA / biochemistry (visualisations over 4 letters)
Jean Cognet ([email protected], CNRS / BioMoCeti)
... A T C G T T T C G A T ...
... T A G C A A A G C A T ...
Loop: 5' Ø A T C G T
| | | | T
3' Ø T A G C T
è Wolfram's randomness undecidability (A New Kind of Science)
è algorithmic music (abelian square-free words)
è cryptography (abelian square-free words)
-- Ronald L. Rivest: Abelian Square-Free Dithering for Iterated Hash functions.
http://theory.csail.mit.edu/~rivest/Rivest-AbelianSquareFreeDitheringForIterated-HashFunctions.pdf
è civil engineering (abelian square-free words in generation of extreme events)
à Some More Details
The number of a-2-free words
___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb 13
A strange structure in g85
Coloured factors are cyclic permutations of each other
ga = "abcacdcbcdcadcdbdaba cabadbabcbdbcbacbcdcacbabd abacadcbcdcacdbcbacbcdcacdcbdcdadbdcbca";
gb = "bcdbdadcdadbadacabcb dbcbacbcdcacdcbdcdadbdcbca bcbdbadcdadbdacdcbdcdadbdadcadabacadcdb";
gc = "cdacabadabacbabdbcdc acdcbdcdadbdadcadabacadcdb cdcacbadabacabdadcadabacabadbabcbdbadac";
gd = "dabdbcbabcbdcbcacdad bdadcadabacabadbabcbdbadac dadbdcbabcbdb cabadbabcbdbcbacbcdcacbabd";
Grey factors: all letters occur equally many times
ga = "abc acdcbcdcadcdbdabacabadbabcbd bcbacbc dcacbabd abac adcb cdc acdb cbacbcdcacdcbdcd adbdcbca";
ga = "abc acdcbcdcadcdbdabacabadbabcbd bcbacbcdcacba bdabacadcbcd c acdb cbacbcdcacdcbdcd adbdcbca";
14 ___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb
Hg98L2(a) with the complement {b,d} letters:
Something Strange and Nice from 2006 – insight of why these structures are so very rare,
or at least have looked like that.
ô … … ——w6 … ——w4 … ——w2 …——————————given word for the test … ——w1 … ——w3 … ——w5 …»–—————––»
s»———»
w
… ö
___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb 15
30 40 50 60 70 80
Lengthof words
200
400
600
800
1000
Numberof words
Extendabcdbdadcbcadabdadcbto right and left - step 1 at a time
Right Left
30 40 50 60 70 80
Lengthof words
20000
40000
60000
80000
Numberof words
Extendabcbdbcbacbdcdacbdacto right and left - step 1 at a time
16 ___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb
30 40 50 60 70 80 90
Lengthof words
20000
40000
60000
80000
100000
120000
Numberof words
Extendabacadbcbacbdcdacbabalternately to right and left - step 1 letter at a time
30 40 50 60 70 80 90
Lengthof words
1000
2000
3000
4000
5000
Numberof words
Extendabacadbdadcacbadcbabalternately to right and left - step 1 letter at a time
___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb 17
40 60 80 100
Lengthof words
5000
10000
15000
20000
Numberof words
Extendabacdbacbcdcbadacdabalternately to right and left - step 1 letter at a time
The case of abcdacbabdabacdacbcdad :
40 60 80 100 120
Leof
2× 106
4× 106
6× 106
8× 106
1× 107
1.2× 107
Numberof words
Extend the wordabcdacbabdabacdacbcdadof length 22alternately to right and leftstep one letter at a time
Let us study (zoom into) also the beginning:
18 ___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb
20 40 60 80 100 120
Lenof
200000
400000
600000
800000
1× 106
Numberof words
Extend the wordabcdacbabdabacdacbcdadof length 22alternately to right and leftstep one letter at a time
40 60 80 100 120
Lenof
20000
40000
60000
80000
100000
120000
140000
Numberof words
Extend the wordabcdacbabdabacdacbcdadof length 22alternately to right and leftstep one letter at a time
___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb 19
40 60 80 100 120
Lenof w
2000
4000
6000
8000
10000
12000
Numberof words
Extend the wordabcdacbabdabacdacbcdadof length 22alternately to right and leftstep one letter at a time
Counting Binary Overlap-Free Words, Julien Cassaigne (Rovaniemi, October 2002)
An overlap: ......................... » ----------------------------- »w
....................................
................................................ » ----------------------------- »w
............
2500 5000 7500 10000 12500 15000
200000
400000
600000
800000
« ≈ 1 of 1
20 ___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb
We have found something really new during the last few weeks (more about it will be published later)
Image words of letters:
a → A
b → B
c → C
d → D
Some Mathematica Examples
Dynamic programming:
Clear@fD;f@n_D := f@nD = f@n − 1D + f@n − 2D;f@0D = 0; f@1D = 1;
?f
Global`f
f@0D = 0
f@1D = 1
f@n_D := f@nD = f@n − 1D + f@n − 2D
f@10D
55
___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb 21
?f
Global`f
f@0D = 0
f@1D = 1
f@2D = 1
f@3D = 2
f@4D = 3
f@5D = 5
f@6D = 8
f@7D = 13
f@8D = 21
f@9D = 34
f@10D = 55
f@n_D := f@nD = f@n − 1D + f@n − 2D
Small footprint is really wonderful.
Examples of interactive usage – really seeing what is going on
(lists with a mixture of strings & formal sums & vectors; set operations: Complement, Intersection, MemberQ):
Some symbolic computations (showing that at least one component is diverging as the number of blocks of L and R grow):
... X .. L.. Y .. R ..
Z ...u
»−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− v»−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−»
m109
i
k
jjjjjjjjjjjjjj
21 31 29 2828 21 31 2929 28 21 3131 29 28 21
y
{
zzzzzzzzzzzzzz
22 ___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb
Transpose@m109symbD
i
k
jjjjjjjjjjjjjj
a a + 7 a + 8 a + 10a + 10 a a + 7 a + 8a + 8 a + 10 a a + 7a + 7 a + 8 a + 10 a
y
{
zzzzzzzzzzzzzz
vecA$BCD = [email protected]
k
jjjjjjjjjjjj
+m−Hj2L−Hj3L
−Hn − j2 − j3L
y
{
zzzzzzzzzzzzêê Simplify
883 j2 + 2 j3 − 10 n + m α − n α<, 88 j2 + j3 + 10 m − 8 n + m α − n α<,8−3 j2 + 7 j3 + 8 m − 7 n + m α − n α<, 8−8 j2 − 10 j3 + 7 m + m α − n α<<
vecAB$CD = [email protected]
k
jjjjjjjjjjjj
+i1+Hm − i1L
−Hj3L−Hn − j3L
y
{
zzzzzzzzzzzzêê Simplify
88−7 i1 + 2 j3 + 7 m − 10 n + m α − n α<, 810 i1 + j3 − 8 n + m α − n α<,8−2 i1 + 7 j3 + 10 m − 7 n + m α − n α<, 8−i1 − 10 j3 + 8 m + m α − n α<<
vecAC$BD = [email protected]
k
jjjjjjjjjjjj
+i1−j2
+Hm − i1L−Hn − j2L
y
{
zzzzzzzzzzzzêê Simplify
88−8 i1 + 3 j2 + 8 m − 10 n + m α − n α<, 83 i1 + 8 j2 + 7 m − 8 n + m α − n α<,88 i1 − 3 j2 − 7 n + m α − n α<, 8−3 i1 − 8 j2 + 10 m + m α − n α<<
vecAD$BC = [email protected]
k
jjjjjjjjjjjj
+i1−j2
−Hn − j2L+Hm − i1L
y
{
zzzzzzzzzzzzêê Simplify
88−10 i1 + j2 + 10 m − 8 n + m α − n α<, 82 i1 + 7 j2 + 8 m − 7 n + m α − n α<,8i1 − 10 j2 + 7 m + m α − n α<, 87 i1 + 2 j2 − 10 n + m α − n α<<
More details (omitted here):
___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb 23
Abelian Square-Free Dithering and Recoding for Iterated Hash Functions (Ronald L. Rivest, 2005)
http://theory.lcs.mit.edu/~rivest/publications.html
"Abelian square-free sequences seem to be a very inexpensive way to prevent repeti-tive inputs from causing vulnerabilites in hash functions."
Computational Intelligence for Security and Emergency Management
(TEKES, Finnish Funding Agency for Technology and Innovation)
A Basic Framefork for Intelligent Civil Infrastructure Systems (Gautam Dasgupta, CU),
Bayesian updating, extreme value statistics, fuzzy logic (Lofti Zadeh, UCB; Masao Arakawa, KU),
cellular automata model for evacuation (Haruki Aritomo, KU), ...
Turvajärjestelmien ja hätätilanteiden dynaaminen hallinta
Computational Intelligence for Security and Emergency Management
24 ___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb
Morphisms in Visual Form
productions = 8"a" → "abc", "b" → "ac", "c" → "b"<;
aabcabc ac babc ac b abc b acabc ac b abc b ac abc ac b ac abc babc ac b abc b ac abc ac b ac abc b abc ac b abc b ac abc b abc ac b ac
Image words of letters:
a → A
b → B
c → C
d → D
... X ... Y ... Z ...
u»−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
v»−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−»
Words and Experimental Mathematics
Infinite A-2-Free L-Sequences over 4 Letters (g98)
(* Computer Algebra Examples *)
___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb 25
More
Good, Bad, and Unknown Factors
Quad Trees
0.5 1 1.5 2
0.5
1
1.5
2
ab
c d
Quad Tree Development with Sparse Arrays
2nd Trial
{words1, words2, words3, words4} & words12 & some words of length 24 – Coloured According to the Last Letter
Code Development
words1 = {"a","b","c","d"} – graphics has been moved up.
words2 = {"ab","ac","ad","ba","bc","bd","ca","cb","cd","da","db","dc"}
26 ___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb
words3 = {"aba","abc","abd","aca","acb","acd","ada","adb","adc","bab","bac",
"bad","bca","bcb","bcd","bda","bdb","bdc","cab","cac","cad","cba","cbc","cbd",
"cda","cdb","cdc","dab","dac","dad","dba","dbc","dbd","dca","dcb","dcd"}
myQuadMatr = quadMatrix@3D;replacePositionWithLastLetterColor ê@ words3
Normal@myQuadMatrD
showQuadTree
Graphics has been moved up from here!
Graphics
words4
Notice the forbidden white border district in the following quad-tree:
___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb 27
myQuadMatr = quadMatrix@4D;replacePositionWithLastLetterColor ê@ words4;
showQuadTree := Show@Graphics@RasterArray@Transpose@myQuadMatrDDD,AspectRatio → 1, PlotRange → AllD;
Notice the forbidden white border district in the following quad-tree:
showQuadTree
Graphics
words8 & words12 & even words24
Evaluate the following cell consisting of all the a-2-free words over 4 letters of lengt 8:
28 ___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb
words8 = 8"abacabad", "abacabda", "abacabdb", "abacabdc", "abacadab", "abacadac", "abacadba", "abacadbc", "abacadbd", "abacadca", "abacadcb", "abacadcd", "abacbabd", "abacbada", "abacbadb", "abacbadc", "abacbcda", "abacbcdb", "abacbcdc", "abacbdab", "abacbdac", "abacbdad", "abacbdba", "abacbdbc", "abacbdca", "abacbdcb", "abacbdcd", "abacdaba", "abacdabc", "abacdabd","abacdaca", "abacdacb", "abacdadb", "abacdbab", "abacdbac", "abacdbad", "abacdbca", "abacdbcb", "abacdbcd", "abacdbda", "abacdbdc", "abacdcab", "abacdcac", "abacdcba", "abacdcbc", "abacdcbd", "abadabac", "abadabca", "abadabcb", "abadabcd", "abadacab", "abadacad", "abadacba", "abadacbc", "abadacbd", "abadacda", "abadacdb", "abadacdc","abadbabc", "abadbaca", "abadbacb", "abadbacd", "abadbcab", "abadbcac", "abadbcad", "abadbcba", "abadbcbd", "abadbcda", "abadbcdb", "abadbcdc", "abadbdca", "abadbdcb", "abadbdcd", "abadcaba", "abadcabc", "abadcabd", "abadcacb", "abadcada", "abadcadb", "abadcbab", "abadcbac", "abadcbad", "abadcbca", "abadcbcd", "abadcbda", "abadcbdb","abadcbdc", "abadcdab", "abadcdad", "abadcdba", "abadcdbc", "abadcdbd", "abcabada", "abcabadb", "abcabadc", "abcabdab", "abcabdac", "abcabdad", "abcabdba", "abcabdbc", "abcabdca", "abcabdcb", "abcabdcd", "abcacdab", "abcacdac", "abcacdad", "abcacdba", "abcacdbc", "abcacdbd", "abcacdca", "abcacdcb", "abcadaba", "abcadabc", "abcadabd","abcadaca", "abcadacb", "abcadbab", "abcadbac", "abcadbad", "abcadbca", "abcadbcb", "abcadbcd", "abcadbda", "abcadbdc", "abcadcab", "abcadcac", "abcadcba", "abcadcbc", "abcadcbd", "abcadcdb", "abcbabcd", "abcbabda", "abcbabdb", "abcbabdc", "abcbadab", "abcbadac", "abcbadba", "abcbadbc", "abcbadbd", "abcbadca", "abcbadcb", "abcbadcd","abcbdaba", "abcbdabc", "abcbdabd", "abcbdaca", "abcbdacb", "abcbdacd", "abcbdadb", "abcbdadc", "abcbdbab", "abcbdbac", "abcbdbad", "abcbdbca", "abcbdbcb", "abcbdcab", "abcbdcac", "abcbdcad", "abcbdcba", "abcbdcbc", "abcbdcda", "abcdabac", "abcdabad", "abcdabca", "abcdabcb", "abcdabda", "abcdabdb", "abcdacab", "abcdacba", "abcdacbc","abcdacdc", "abcdadba", "abcdadbd", "abcdadcd", "abcdbabc", "abcdbabd", "abcdbaca", "abcdbacb", "abcdbada", "abcdbadb", "abcdbcab", "abcdbcac", "abcdbcba", "abcdbdab", "abcdbdad", "abcdcaba", "abcdcabc", "abcdcacb", "abcdcacd", "abcdcada", "abcdcadc", "abcdcbab", "abcdcbac", "abcdcbca", "abcdcbcd", "abdabaca", "abdabacb", "abdabacd","abdabcab", "abdabcac", "abdabcad", "abdabcba", "abdabcbd", "abdabcda", "abdabcdb", "abdabcdc", "abdacaba", "abdacabc", "abdacabd", "abdacada", "abdacadb", "abdacbab", "abdacbac", "abdacbad", "abdacbca", "abdacbcd", "abdacbda", "abdacbdb", "abdacbdc", "abdacdab", "abdacdad", "abdacdba", "abdacdbc", "abdacdbd", "abdacdcb", "abdadcab","abdadcac", "abdadcad", "abdadcba", "abdadcbc", "abdadcbd", "abdadcda", "abdadcdb", "abdbabca", "abdbabcb", "abdbabcd", "abdbabdc", "abdbacab", "abdbacad", "abdbacba", "abdbacbc", "abdbacbd", "abdbacda", "abdbacdb", "abdbacdc", "abdbcaba", "abdbcabc", "abdbcabd", "abdbcacb", "abdbcacd", "abdbcada", "abdbcadb", "abdbcadc", "abdbcbab","abdbcbac", "abdbcbad", "abdbcbda", "abdbcbdb", "abdbcdab", "abdbcdac", "abdbcdad", "abdbcdba", "abdbcdbd", "abdbcdca", "abdcabac", "abdcabad", "abdcabca", "abdcabcb", "abdcabda", "abdcabdb", "abdcacba", "abdcacbc", "abdcacdc", "abdcadab", "abdcadba", "abdcadbd", "abdcadcd", "abdcbabc", "abdcbabd", "abdcbaca", "abdcbacb", "abdcbada","abdcbadb", "abdcbcab", "abdcbcac", "abdcbdab", "abdcbdad", "abdcbdba", "abdcdaba", "abdcdabd", "abdcdaca", "abdcdacd", "abdcdadb", "abdcdadc", "abdcdbab", "abdcdbad", "abdcdbda", "abdcdbdc", "acabacad", "acabacda", "acabacdb", "acabacdc", "acabadab", "acabadac", "acabadba", "acabadbc", "acabadbd", "acabadca", "acabadcb", "acabadcd","acabcacd", "acabcada", "acabcadb", "acabcadc", "acabcbda", "acabcbdb", "acabcbdc", "acabcdab", "acabcdac", "acabcdad", "acabcdba", "acabcdbc", "acabcdbd", "acabcdca", "acabcdcb", "acabdaba", "acabdabc", "acabdaca", "acabdacb", "acabdacd", "acabdadc", "acabdbab", "acabdbac", "acabdbca", "acabdbcb", "acabdbcd", "acabdcab", "acabdcac","acabdcad", "acabdcba", "acabdcbc", "acabdcbd", "acabdcda", "acabdcdb", "acadabac", "acadabad", "acadabca", "acadabcb", "acadabcd", "acadabda", "acadabdb", "acadabdc", "acadacab", "acadacba", "acadacbc", "acadacbd", "acadbabc", "acadbaca", "acadbacb", "acadbacd", "acadbada", "acadbadc", "acadbcab", "acadbcac", "acadbcad", "acadbcba","acadbcbd", "acadbcda", "acadbcdb", "acadbcdc", "acadbdac", "acadbdad", "acadbdca", "acadbdcb", "acadbdcd", "acadcaba", "acadcabc", "acadcabd", "acadcacb", "acadcbab", "acadcbac", "acadcbad", "acadcbca", "acadcbcd", "acadcbda", "acadcbdb", "acadcbdc", "acadcdba", "acadcdbc", "acadcdbd", "acbabdab", "acbabdac", "acbabdad", "acbabdba","acbabdbc", "acbabdca", "acbabdcb", "acbabdcd", "acbacada", "acbacadb", "acbacadc", "acbacdab", "acbacdac", "acbacdad", "acbacdba", "acbacdbc", "acbacdbd", "acbacdca", "acbacdcb", "acbadaba", "acbadabc", "acbadaca", "acbadacb", "acbadacd", "acbadbab", "acbadbac", "acbadbca", "acbadbcb", "acbadbcd", "acbadbdc", "acbadcab", "acbadcac","acbadcad", "acbadcba", "acbadcbc", "acbadcbd", "acbadcda", "acbadcdb", "acbcacbd", "acbcacda", "acbcacdb", "acbcacdc", "acbcadab", "acbcadac", "acbcadba", "acbcadbc", "acbcadbd", "acbcadca", "acbcadcb", "acbcadcd", "acbcdaba", "acbcdabc", "acbcdabd", "acbcdaca", "acbcdacb", "acbcdacd", "acbcdadb", "acbcdadc", "acbcdbab", "acbcdbac","acbcdbad", "acbcdbca", "acbcdbcb", "acbcdbda", "acbcdcab", "acbcdcac", "acbcdcad", "acbcdcba", "acbcdcbc", "acbdabac", "acbdabca", "acbdabcb", "acbdabdb", "acbdacab", "acbdacad", "acbdacba", "acbdacbc", "acbdacda", "acbdacdc", "acbdadbd", "acbdadca", "acbdadcd", "acbdbabc", "acbdbabd", "acbdbaca", "acbdbacb", "acbdbada", "acbdbadb","acbdbcab", "acbdbcac", "acbdbcba", "acbdbcbd", "acbdcaba", "acbdcabc", "acbdcacb", "acbdcacd", "acbdcada", "acbdcadc", "acbdcbab", "acbdcbac", "acbdcbca", "acbdcdac", "acbdcdad", "acdabaca", "acdabacb", "acdabacd", "acdabada", "acdabadc", "acdabcab", "acdabcac", "acdabcad", "acdabcba", "acdabcbd", "acdabcda", "acdabcdb", "acdabcdc","acdabdac", "acdabdad", "acdabdbc", "acdabdca", "acdabdcb", "acdabdcd", "acdacaba", "acdacabc", "acdacabd", "acdacbab", "acdacbac", "acdacbad", "acdacbca", "acdacbcd", "acdacbda", "acdacbdb", "acdacbdc", "acdadbab", "acdadbac", "acdadbad", "acdadbca", "acdadbcb", "acdadbcd", "acdadbda", "acdadbdc", "acdbabca", "acdbabcb", "acdbabdb","acdbacab", "acdbacad", "acdbacba", "acdbacbc", "acdbacda", "acdbacdc", "acdbadac", "acdbadbd", "acdbadca", "acdbadcd", "acdbcaba", "acdbcabc", "acdbcacb", "acdbcacd", "acdbcada", "acdbcadc", "acdbcbab", "acdbcbac", "acdbcdac", "acdbcdad", "acdbcdca", "acdbdaba", "acdbdabd", "acdbdaca", "acdbdacd", "acdbdadb", "acdbdadc", "acdbdcac","acdbdcad", "acdbdcda", "acdbdcdb", "acdcabac", "acdcabad", "acdcabca", "acdcabcb", "acdcabcd", "acdcabda", "acdcabdb", "acdcabdc", "acdcacba", "acdcacbc", "acdcacbd", "acdcacdb", "acdcbabc", "acdcbabd", "acdcbaca", "acdcbacb", "acdcbacd", "acdcbada", "acdcbadb", "acdcbadc", "acdcbcab", "acdcbcac", "acdcbcad", "acdcbcda", "acdcbcdc","acdcbdab", "acdcbdac", "acdcbdad", "acdcbdba", "acdcbdca", "acdcbdcd", "adabacab", "adabacad", "adabacba", "adabacbc", "adabacbd", "adabacda", "adabacdb", "adabacdc", "adabadac", "adabadca", "adabadcb", "adabadcd", "adabcaba", "adabcabd", "adabcacd", "adabcada", "adabcadb", "adabcadc", "adabcbab", "adabcbad", "adabcbda", "adabcbdb","adabcbdc", "adabcdab", "adabcdac", "adabcdad", "adabcdba", "adabcdbc", "adabcdbd", "adabcdca", "adabcdcb", "adabdaca", "adabdacb", "adabdacd", "adabdadc", "adabdbca", "adabdbcb", "adabdbcd", "adabdcab", "adabdcac", "adabdcad", "adabdcba", "adabdcbc", "adabdcbd", "adabdcda", "adabdcdb", "adacabac", "adacabad", "adacabca", "adacabcb","adacabcd", "adacabda", "adacabdb", "adacabdc", "adacadab", "adacadba", "adacadbc", "adacadbd", "adacbabd", "adacbaca", "adacbacd", "adacbada", "adacbadb", "adacbadc", "adacbcac", "adacbcad", "adacbcda", "adacbcdb", "adacbcdc", "adacbdab", "adacbdac", "adacbdad", "adacbdba", "adacbdbc", "adacbdca", "adacbdcb", "adacbdcd", "adacdaba","adacdabc", "adacdabd", "adacdadb", "adacdbab", "adacdbac", "adacdbad", "adacdbca", "adacdbcb", "adacdbcd", "adacdbda", "adacdbdc", "adacdcba", "adacdcbc", "adacdcbd", "adbabcab", "adbabcac", "adbabcad", "adbabcba", "adbabcbd", "adbabcda", "adbabcdb", "adbabcdc", "adbacaba", "adbacabd", "adbacada", "adbacadb", "adbacadc", "adbacbab","adbacbad", "adbacbcd", "adbacbda", "adbacbdb", "adbacbdc", "adbacdab", "adbacdac", "adbacdad", "adbacdba", "adbacdbc", "adbacdbd", "adbacdca", "adbacdcb", "adbadaca", "adbadacb", "adbadacd", "adbadcab", "adbadcac", "adbadcad", "adbadcba", "adbadcbc", "adbadcbd", "adbadcda", "adbadcdb", "adbcabad", "adbcabcb", "adbcabda", "adbcabdb","adbcacbc", "adbcacda", "adbcacdc", "adbcadab", "adbcadac", "adbcadba", "adbcadbd", "adbcadca", "adbcadcd", "adbcbabc", "adbcbabd", "adbcbaca", "adbcbacb", "adbcbada", "adbcbadb", "adbcbdab", "adbcbdad", "adbcbdba", "adbcbdbc", "adbcdaba", "adbcdabd", "adbcdaca", "adbcdacd", "adbcdadb", "adbcdadc", "adbcdbab", "adbcdbad", "adbcdbda","adbcdcac", "adbcdcad", "adbdacab", "adbdacad", "adbdacba", "adbdacbc", "adbdacbd", "adbdacda", "adbdacdb", "adbdacdc", "adbdadbc", "adbdadca", "adbdadcb", "adbdadcd", "adbdcaba", "adbdcabc", "adbdcabd", "adbdcacb", "adbdcacd", "adbdcada", "adbdcadb", "adbdcadc", "adbdcbab", "adbdcbac", "adbdcbad", "adbdcbca", "adbdcbda", "adbdcbdb","adbdcdab", "adbdcdac", "adbdcdad", "adbdcdba", "adbdcdbd", "adcabaca", "adcabacd", "adcabada", "adcabadb", "adcabadc", "adcabcac", "adcabcad", "adcabcbd", "adcabcda", "adcabcdb", "adcabcdc", "adcabdab", "adcabdac", "adcabdad", "adcabdba", "adcabdbc", "adcabdca", "adcabdcb", "adcabdcd", "adcacbab", "adcacbac", "adcacbad", "adcacbca","adcacbcd", "adcacbda", "adcacbdb", "adcacbdc", "adcadaba", "adcadabc", "adcadabd", "adcadbab", "adcadbac", "adcadbad", "adcadbca", "adcadbcb", "adcadbcd", "adcadbda", "adcadbdc", "adcbabcb", "adcbabda", "adcbabdb", "adcbacad", "adcbacbc", "adcbacda", "adcbacdc", "adcbadab", "adcbadac", "adcbadba", "adcbadbd", "adcbadca", "adcbadcd","adcbcaba", "adcbcabc", "adcbcacb", "adcbcacd", "adcbcada", "adcbcadc", "adcbcdac", "adcbcdad", "adcbcdca", "adcbcdcb", "adcbdaba", "adcbdabd", "adcbdaca", "adcbdacd", "adcbdadb", "adcbdadc", "adcbdbab", "adcbdbad", "adcbdcac", "adcbdcad", "adcbdcda", "adcdabac", "adcdabad", "adcdabca", "adcdabcb", "adcdabcd", "adcdabda", "adcdabdb","adcdabdc", "adcdadba", "adcdadbc", "adcdadbd", "adcdadcb", "adcdbabc", "adcdbabd", "adcdbaca", "adcdbacb", "adcdbacd", "adcdbada", "adcdbadb", "adcdbadc", "adcdbcab", "adcdbcac", "adcdbcad", "adcdbcba", "adcdbcda", "adcdbcdc", "adcdbdab", "adcdbdac", "adcdbdad", "adcdbdca", "adcdbdcd", "babcabad", "babcabda", "babcabdb", "babcabdc","babcacda", "babcacdb", "babcacdc", "babcadab", "babcadac", "babcadba", "babcadbc", "babcadbd", "babcadca", "babcadcb", "babcadcd", "babcbabd", "babcbada", "babcbadb", "babcbadc", "babcbdab", "babcbdac", "babcbdad", "babcbdba", "babcbdbc", "babcbdca", "babcbdcb", "babcbdcd", "babcdaba", "babcdabc", "babcdabd", "babcdaca", "babcdacb","babcdacd", "babcdadb", "babcdadc", "babcdbab", "babcdbac", "babcdbad", "babcdbca", "babcdbcb", "babcdbda", "babcdcab", "babcdcac", "babcdcad", "babcdcba", "babcdcbc", "babdabac", "babdabca", "babdabcb", "babdabcd", "babdacab", "babdacad", "babdacba", "babdacbc", "babdacbd", "babdacda", "babdacdb", "babdacdc", "babdadca", "babdadcb","babdadcd", "babdbabc", "babdbaca", "babdbacb", "babdbacd", "babdbcab", "babdbcac", "babdbcad", "babdbcba", "babdbcbd", "babdbcda", "babdbcdb", "babdbcdc", "babdcaba", "babdcabc", "babdcabd", "babdcacb", "babdcacd", "babdcada", "babdcadb", "babdcadc", "babdcbab", "babdcbac", "babdcbad", "babdcbca", "babdcbda", "babdcbdb", "babdcdab","babdcdac", "babdcdad", "babdcdba", "babdcdbd", "bacabacd", "bacabada", "bacabadb", "bacabadc", "bacabdab", "bacabdac", "bacabdad", "bacabdba", "bacabdbc", "bacabdca", "bacabdcb", "bacabdcd", "bacadaba", "bacadabc", "bacadabd", "bacadaca", "bacadacb", "bacadbab", "bacadbac", "bacadbad", "bacadbca", "bacadbcb", "bacadbcd", "bacadbda","bacadbdc", "bacadcab", "bacadcac", "bacadcba", "bacadcbc", "bacadcbd", "bacadcdb", "bacbabda", "bacbabdb", "bacbabdc", "bacbadab", "bacbadac", "bacbadba", "bacbadbc", "bacbadbd", "bacbadca", "bacbadcb", "bacbadcd", "bacbcdab", "bacbcdac", "bacbcdad", "bacbcdba", "bacbcdbc", "bacbcdbd", "bacbcdca", "bacbcdcb", "bacbdaba", "bacbdabc","bacbdabd", "bacbdaca", "bacbdacb", "bacbdacd", "bacbdadb", "bacbdadc", "bacbdbab", "bacbdbac", "bacbdbad", "bacbdbca", "bacbdbcb", "bacbdcab", "bacbdcac", "bacbdcad", "bacbdcba", "bacbdcbc", "bacbdcda", "bacdabac", "bacdabad", "bacdabca", "bacdabcb", "bacdabda", "bacdabdb", "bacdacab", "bacdacba", "bacdacbc", "bacdadba", "bacdadbd","bacdbabc", "bacdbabd", "bacdbaca", "bacdbacb", "bacdbada", "bacdbadb", "bacdbcab", "bacdbcac", "bacdbcba", "bacdbcdc", "bacdbdab", "bacdbdad", "bacdbdcd", "bacdcaba", "bacdcabc", "bacdcacb", "bacdcacd", "bacdcbab", "bacdcbac", "bacdcbca", "bacdcbcd", "bacdcbdb", "bacdcbdc", "badabaca", "badabacb", "badabacd", "badabadc", "badabcab","badabcac", "badabcad", "badabcba", "badabcbd", "badabcda", "badabcdb", "badabcdc", "badacaba", "badacabc", "badacabd", "badacada", "badacadb", "badacbab", "badacbac", "badacbad", "badacbca", "badacbcd", "badacbda", "badacbdb", "badacbdc", "badacdab", "badacdad", "badacdba", "badacdbc", "badacdbd", "badacdcb", "badbabca", "badbabcb","badbabcd", "badbacab", "badbacad", "badbacba", "badbacbc", "badbacbd", "badbacda", "badbacdb", "badbacdc", "badbcaba", "badbcabc", "badbcabd", "badbcacb", "badbcacd", "badbcada", "badbcadb", "badbcadc", "badbcbab", "badbcbac", "badbcbad", "badbcbda", "badbcbdb", "badbcdab", "badbcdac", "badbcdad", "badbcdba", "badbcdbd", "badbcdca","badbdcab", "badbdcac", "badbdcad", "badbdcba", "badbdcbc", "badbdcbd", "badbdcda", "badbdcdb", "badcabac", "badcabad", "badcabca", "badcabcb", "badcabda", "badcabdb", "badcacba", "badcacbc", "badcadab", "badcadba", "badcadbd", "badcbabc", "badcbabd", "badcbaca", "badcbacb", "badcbada", "badcbadb", "badcbcab", "badcbcac", "badcbcdc","badcbdab", "badcbdad", "badcbdba", "badcbdcd", "badcdaba", "badcdabd", "badcdadb", "badcdadc", "badcdbab", "badcdbad", "badcdbcb", "badcdbcd", "badcdbda", "badcdbdc", "bcabadab", "bcabadac", "bcabadba", "bcabadbc", "bcabadbd", "bcabadca", "bcabadcb", "bcabadcd", "bcabcbda", "bcabcbdb", "bcabcbdc", "bcabcdab", "bcabcdac", "bcabcdad","bcabcdba", "bcabcdbc", "bcabcdbd", "bcabcdca", "bcabcdcb", "bcabdaba", "bcabdabc", "bcabdaca", "bcabdacb", "bcabdacd", "bcabdadc", "bcabdbab", "bcabdbac", "bcabdbca", "bcabdbcb", "bcabdbcd", "bcabdcab", "bcabdcac", "bcabdcad", "bcabdcba", "bcabdcbc", "bcabdcbd", "bcabdcda", "bcabdcdb", "bcacbcad", "bcacbcda", "bcacbcdb", "bcacbcdc","bcacbdab", "bcacbdac", "bcacbdad", "bcacbdba", "bcacbdbc", "bcacbdca", "bcacbdcb", "bcacbdcd", "bcacdaba", "bcacdabc", "bcacdabd", "bcacdaca", "bcacdacb", "bcacdadb", "bcacdbab", "bcacdbac", "bcacdbad", "bcacdbca", "bcacdbcb", "bcacdbcd", "bcacdbda", "bcacdbdc", "bcacdcab", "bcacdcac", "bcacdcba", "bcacdcbc", "bcacdcbd", "bcadabac","bcadabad", "bcadabca", "bcadabcb", "bcadabda", "bcadabdb", "bcadacab", "bcadacad", "bcadacba", "bcadacbc", "bcadbabc", "bcadbaca", "bcadbacb", "bcadbada", "bcadbcab", "bcadbcac", "bcadbcba", "bcadbcbd", "bcadbcdb", "bcadbcdc", "bcadbdad", "bcadbdcb", "bcadbdcd", "bcadcaba", "bcadcabc", "bcadcacb", "bcadcbab", "bcadcbac", "bcadcbca","bcadcbcd", "bcadcbdb", "bcadcbdc", "bcadcdbc", "bcadcdbd", "bcbabcbd", "bcbabcda", "bcbabcdb", "bcbabcdc", "bcbabdab", "bcbabdac", "bcbabdad", "bcbabdba", "bcbabdbc", "bcbabdca", "bcbabdcb", "bcbabdcd", "bcbacada", "bcbacadb", "bcbacadc", "bcbacbcd", "bcbacbda", "bcbacbdb", "bcbacbdc", "bcbacdab", "bcbacdac", "bcbacdad", "bcbacdba","bcbacdbc", "bcbacdbd", "bcbacdca", "bcbacdcb", "bcbadaba", "bcbadabc", "bcbadaca", "bcbadacb", "bcbadacd", "bcbadbab", "bcbadbac", "bcbadbca", "bcbadbcb", "bcbadbcd", "bcbadbdc", "bcbadcab", "bcbadcac", "bcbadcad", "bcbadcba", "bcbadcbc", "bcbadcbd", "bcbadcda", "bcbadcdb", "bcbdabac", "bcbdabca", "bcbdabcb", "bcbdabcd", "bcbdabdb","bcbdabdc", "bcbdacab", "bcbdacad", "bcbdacba", "bcbdacbc", "bcbdacbd", "bcbdacda", "bcbdacdb", "bcbdacdc", "bcbdadbc", "bcbdadbd", "bcbdadca", "bcbdadcb", "bcbdadcd", "bcbdbabc", "bcbdbabd", "bcbdbaca", "bcbdbacb", "bcbdbacd", "bcbdbada", "bcbdbadb", "bcbdbadc", "bcbdbcab", "bcbdbcac", "bcbdbcad", "bcbdbcba", "bcbdcaba", "bcbdcabc","bcbdcabd", "bcbdcacb", "bcbdcacd", "bcbdcada", "bcbdcadb", "bcbdcadc", "bcbdcbab", "bcbdcbac", "bcbdcbad", "bcbdcbca", "bcbdcdab", "bcbdcdac", "bcbdcdad", "bcdabaca", "bcdabacb", "bcdabada", "bcdabcab", "bcdabcac", "bcdabcba", "bcdabcbd", "bcdabcdb", "bcdabcdc", "bcdabdad", "bcdabdbc", "bcdabdcb", "bcdabdcd", "bcdacaba", "bcdacabc","bcdacbab", "bcdacbac", "bcdacbca", "bcdacbcd", "bcdacbdb", "bcdacbdc", "bcdacdbc", "bcdacdbd", "bcdacdcb", "bcdadbab", "bcdadbad", "bcdadbcb", "bcdadbcd", "bcdadbda", "bcdadbdc", "bcdadcbc", "bcdadcbd", "bcdadcda", "bcdadcdb", "bcdbabca", "bcdbabcb", "bcdbabcd", "bcdbabdb", "bcdbabdc", "bcdbacab", "bcdbacad", "bcdbacba", "bcdbacbc","bcdbacbd", "bcdbacda", "bcdbacdb", "bcdbacdc", "bcdbadac", "bcdbadbc", "bcdbadbd", "bcdbadca", "bcdbadcb", "bcdbadcd", "bcdbcaba", "bcdbcabc", "bcdbcabd", "bcdbcacb", "bcdbcacd", "bcdbcada", "bcdbcadb", "bcdbcadc", "bcdbcbab", "bcdbcbac", "bcdbcbad", "bcdbdaba", "bcdbdabc", "bcdbdabd", "bcdbdaca", "bcdbdacb", "bcdbdacd", "bcdbdadb","bcdbdadc", "bcdcabac", "bcdcabad", "bcdcabca", "bcdcabcb", "bcdcabcd", "bcdcabda", "bcdcabdb", "bcdcabdc", "bcdcacba", "bcdcacbc", "bcdcacbd", "bcdcacdb", "bcdcacdc", "bcdcadab", "bcdcadba", "bcdcadbc", "bcdcadbd", "bcdcadcb", "bcdcadcd", "bcdcbabc", "bcdcbabd", "bcdcbaca", "bcdcbacb", "bcdcbacd", "bcdcbada", "bcdcbadb", "bcdcbadc","bcdcbcab", "bcdcbcac", "bcdcbcad", "bcdcbcda", "bdabacab", "bdabacad", "bdabacba", "bdabacbc", "bdabacbd", "bdabacda", "bdabacdb", "bdabacdc", "bdabcaba", "bdabcabd", "bdabcacd", "bdabcada", "bdabcadb", "bdabcadc", "bdabcbab", "bdabcbad", "bdabcbda", "bdabcbdb", "bdabcbdc", "bdabcdab", "bdabcdac", "bdabcdad", "bdabcdba", "bdabcdbc","bdabcdbd", "bdabcdca", "bdabcdcb", "bdabdbca", "bdabdbcb", "bdabdbcd", "bdabdcab", "bdabdcac", "bdabdcad", "bdabdcba", "bdabdcbc", "bdabdcbd", "bdabdcda", "bdabdcdb", "bdacabac", "bdacabad", "bdacabca", "bdacabcb", "bdacabda", "bdacabdb", "bdacadab", "bdacadac", "bdacadba", "bdacadbd", "bdacbabd", "bdacbaca", "bdacbada", "bdacbadb","bdacbcac", "bdacbcdb", "bdacbcdc", "bdacbdab", "bdacbdad", "bdacbdba", "bdacbdbc", "bdacbdcb", "bdacbdcd", "bdacdaba", "bdacdabd", "bdacdadb", "bdacdbab", "bdacdbad", "bdacdbcb", "bdacdbcd", "bdacdbda", "bdacdbdc", "bdacdcbc", "bdacdcbd", "bdadbcab", "bdadbcac", "bdadbcad", "bdadbcba", "bdadbcbd", "bdadbcda", "bdadbcdb", "bdadbcdc","bdadbdac", "bdadbdca", "bdadbdcb", "bdadbdcd", "bdadcaba", "bdadcabc", "bdadcabd", "bdadcacb", "bdadcada", "bdadcadb", "bdadcbab", "bdadcbac", "bdadcbad", "bdadcbca", "bdadcbcd", "bdadcbda", "bdadcbdb", "bdadcbdc", "bdadcdab", "bdadcdad", "bdadcdba", "bdadcdbc", "bdadcdbd", "bdbabcab", "bdbabcac", "bdbabcad", "bdbabcba", "bdbabcbd","bdbabcda", "bdbabcdb", "bdbabcdc", "bdbabdbc", "bdbabdca", "bdbabdcb", "bdbabdcd", "bdbacaba", "bdbacabd", "bdbacada", "bdbacadb", "bdbacadc", "bdbacbab", "bdbacbad", "bdbacbcd", "bdbacbda", "bdbacbdb", "bdbacbdc", "bdbacdab", "bdbacdac", "bdbacdad", "bdbacdba", "bdbacdbc", "bdbacdbd", "bdbacdca", "bdbacdcb", "bdbadaca", "bdbadacb","bdbadacd", "bdbadbca", "bdbadbcb", "bdbadbcd", "bdbadbdc", "bdbadcab", "bdbadcac", "bdbadcad", "bdbadcba", "bdbadcbc", "bdbadcbd", "bdbadcda", "bdbadcdb", "bdbcabad", "bdbcabcb", "bdbcabcd", "bdbcabda", "bdbcabdb", "bdbcabdc", "bdbcacbc", "bdbcacbd", "bdbcacda", "bdbcacdb", "bdbcacdc", "bdbcadab", "bdbcadac", "bdbcadba", "bdbcadbc","bdbcadbd", "bdbcadca", "bdbcadcb", "bdbcadcd", "bdbcbabc", "bdbcbabd", "bdbcbaca", "bdbcbacb", "bdbcbacd", "bdbcbada", "bdbcbadb", "bdbcbadc", "bdbcbdab", "bdbcbdac", "bdbcbdad", "bdbcbdba", "bdbcdaba", "bdbcdabc", "bdbcdabd", "bdbcdaca", "bdbcdacb", "bdbcdacd", "bdbcdadb", "bdbcdadc", "bdbcdbab", "bdbcdbac", "bdbcdbad", "bdbcdbda","bdbcdcab", "bdbcdcac", "bdbcdcad", "bdcabaca", "bdcabada", "bdcabadb", "bdcabcac", "bdcabcbd", "bdcabcdb", "bdcabcdc", "bdcabdab", "bdcabdad", "bdcabdba", "bdcabdbc", "bdcabdcb", "bdcabdcd", "bdcacbab", "bdcacbac", "bdcacbca", "bdcacbcd", "bdcacbdb", "bdcacbdc", "bdcacdbc", "bdcacdbd", "bdcacdca", "bdcacdcb", "bdcadaba", "bdcadabd","bdcadbab", "bdcadbad", "bdcadbcb", "bdcadbcd", "bdcadbda", "bdcadbdc", "bdcadcbc", "bdcadcbd", "bdcadcdb", "bdcbabcb", "bdcbabcd", "bdcbabda", "bdcbabdb", "bdcbabdc", "bdcbacad", "bdcbacbc", "bdcbacbd", "bdcbacda", "bdcbacdb", "bdcbacdc", "bdcbadab", "bdcbadac", "bdcbadba", "bdcbadbc", "bdcbadbd", "bdcbadca", "bdcbadcb", "bdcbadcd","bdcbcaba", "bdcbcabc", "bdcbcabd", "bdcbcacb", "bdcbcacd", "bdcbcada", "bdcbcadb", "bdcbcadc", "bdcbdaba", "bdcbdabc", "bdcbdabd", "bdcbdaca", "bdcbdacb", "bdcbdacd", "bdcbdadb", "bdcbdadc", "bdcbdbab", "bdcbdbac", "bdcbdbad", "bdcdabac", "bdcdabad", "bdcdabca", "bdcdabcb", "bdcdabcd", "bdcdabda", "bdcdabdb", "bdcdabdc", "bdcdacab","bdcdacba", "bdcdacbc", "bdcdacbd", "bdcdacdb", "bdcdacdc", "bdcdadba", "bdcdadbc", "bdcdadbd", "bdcdadcb", "bdcdadcd", "bdcdbabc", "bdcdbabd", "bdcdbaca", "bdcdbacb", "bdcdbacd", "bdcdbada", "bdcdbadb", "bdcdbadc", "bdcdbdab", "bdcdbdac", "bdcdbdad", "bdcdbdca", "cabacabd", "cabacada", "cabacadb", "cabacadc", "cabacdab", "cabacdac","cabacdad", "cabacdba", "cabacdbc", "cabacdbd", "cabacdca", "cabacdcb", "cabadaba", "cabadabc", "cabadaca", "cabadacb", "cabadacd", "cabadbab", "cabadbac", "cabadbca", "cabadbcb", "cabadbcd", "cabadbdc", "cabadcab", "cabadcac", "cabadcad", "cabadcba", "cabadcbc", "cabadcbd", "cabadcda", "cabadcdb", "cabcacda", "cabcacdb", "cabcacdc","cabcadab", "cabcadac", "cabcadba", "cabcadbc", "cabcadbd", "cabcadca", "cabcadcb", "cabcadcd", "cabcbdab", "cabcbdac", "cabcbdad", "cabcbdba", "cabcbdbc", "cabcbdca", "cabcbdcb", "cabcbdcd", "cabcdaba", "cabcdabc", "cabcdabd", "cabcdaca", "cabcdacb", "cabcdacd", "cabcdadb", "cabcdadc", "cabcdbab", "cabcdbac", "cabcdbad", "cabcdbca","cabcdbcb", "cabcdbda", "cabcdcab", "cabcdcac", "cabcdcad", "cabcdcba", "cabcdcbc", "cabdabac", "cabdabca", "cabdabcb", "cabdacab", "cabdacad", "cabdacba", "cabdacbc", "cabdacda", "cabdacdc", "cabdadca", "cabdadcd", "cabdbabc", "cabdbabd", "cabdbaca", "cabdbacb", "cabdbcab", "cabdbcac", "cabdbcba", "cabdbcbd", "cabdbcdb", "cabdbcdc","cabdcaba", "cabdcabc", "cabdcacb", "cabdcacd", "cabdcada", "cabdcadc", "cabdcbab", "cabdcbac", "cabdcbca", "cabdcbdb", "cabdcdac", "cabdcdad", "cabdcdbd", "cacbabda", "cacbabdb", "cacbabdc", "cacbacad", "cacbacda", "cacbacdb", "cacbacdc", "cacbadab", "cacbadac", "cacbadba", "cacbadbc", "cacbadbd", "cacbadca", "cacbadcb", "cacbadcd","cacbcacd", "cacbcada", "cacbcadb", "cacbcadc", "cacbcdab", "cacbcdac", "cacbcdad", "cacbcdba", "cacbcdbc", "cacbcdbd", "cacbcdca", "cacbcdcb", "cacbdaba", "cacbdabc", "cacbdabd", "cacbdaca", "cacbdacb", "cacbdacd", "cacbdadb", "cacbdadc", "cacbdbab", "cacbdbac", "cacbdbad", "cacbdbca", "cacbdbcb", "cacbdcab", "cacbdcac", "cacbdcad","cacbdcba", "cacbdcbc", "cacbdcda", "cacdabac", "cacdabad", "cacdabca", "cacdabcb", "cacdabcd", "cacdabda", "cacdabdb", "cacdabdc", "cacdacab", "cacdacba", "cacdacbc", "cacdacbd", "cacdadba", "cacdadbc", "cacdadbd", "cacdbabc", "cacdbabd", "cacdbaca", "cacdbacb", "cacdbacd", "cacdbada", "cacdbadb", "cacdbadc", "cacdbcab", "cacdbcac","cacdbcad", "cacdbcba", "cacdbcda", "cacdbcdc", "cacdbdab", "cacdbdac", "cacdbdad", "cacdbdca", "cacdbdcd", "cacdcaba", "cacdcabc", "cacdcabd", "cacdcacb", "cacdcbab", "cacdcbac", "cacdcbad", "cacdcbca", "cacdcbcd", "cacdcbda", "cacdcbdb", "cacdcbdc", "cadabaca", "cadabacb", "cadabacd", "cadabada", "cadabadc", "cadabcab", "cadabcac","cadabcad", "cadabcba", "cadabcbd", "cadabcda", "cadabcdb", "cadabcdc", "cadabdac", "cadabdad", "cadabdbc", "cadabdca", "cadabdcb", "cadabdcd", "cadacaba", "cadacabc", "cadacabd", "cadacadb", "cadacbab", "cadacbac", "cadacbad", "cadacbca", "cadacbcd", "cadacbda", "cadacbdb", "cadacbdc", "cadbabca", "cadbabcb", "cadbacab", "cadbacad","cadbacba", "cadbacbc", "cadbacda", "cadbacdc", "cadbadac", "cadbadca", "cadbadcd", "cadbcaba", "cadbcabc", "cadbcacb", "cadbcacd", "cadbcada", "cadbcadc", "cadbcbab", "cadbcbac", "cadbcbdb", "cadbcdac", "cadbcdad", "cadbcdbd", "cadbcdca", "cadbdaca", "cadbdacd", "cadbdadb", "cadbdadc", "cadbdcac", "cadbdcad", "cadbdcbc", "cadbdcbd","cadbdcda", "cadbdcdb", "cadcabac", "cadcabad", "cadcabca", "cadcabcb", "cadcabcd", "cadcabda", "cadcabdb", "cadcabdc", "cadcacba", "cadcacbc", "cadcacbd", "cadcbabc", "cadcbabd", "cadcbaca", "cadcbacb", "cadcbacd", "cadcbada", "cadcbadb", "cadcbadc", "cadcbcab", "cadcbcac", "cadcbcad", "cadcbcda", "cadcbcdc", "cadcbdab", "cadcbdac","cadcbdad", "cadcbdba", "cadcbdca", "cadcbdcd", "cadcdbab", "cadcdbac", "cadcdbad", "cadcdbca", "cadcdbcb", "cadcdbcd", "cadcdbda", "cadcdbdc", "cbabcbad", "cbabcbda", "cbabcbdb", "cbabcbdc", "cbabcdab", "cbabcdac", "cbabcdad", "cbabcdba", "cbabcdbc", "cbabcdbd", "cbabcdca", "cbabcdcb", "cbabdaba", "cbabdabc", "cbabdaca", "cbabdacb","cbabdacd", "cbabdadc", "cbabdbab", "cbabdbac", "cbabdbca", "cbabdbcb", "cbabdbcd", "cbabdcab", "cbabdcac", "cbabdcad", "cbabdcba", "cbabdcbc", "cbabdcbd", "cbabdcda", "cbabdcdb", "cbacadab", "cbacadac", "cbacadba", "cbacadbc", "cbacadbd", "cbacadca", "cbacadcb", "cbacadcd", "cbacbcda", "cbacbcdb", "cbacbcdc", "cbacbdab", "cbacbdac","cbacbdad", "cbacbdba", "cbacbdbc", "cbacbdca", "cbacbdcb", "cbacbdcd", "cbacdaba", "cbacdabc", "cbacdabd", "cbacdaca", "cbacdacb", "cbacdadb", "cbacdbab", "cbacdbac", "cbacdbad", "cbacdbca", "cbacdbcb", "cbacdbcd", "cbacdbda", "cbacdbdc", "cbacdcab", "cbacdcac", "cbacdcba", "cbacdcbc", "cbacdcbd", "cbadabac", "cbadabad", "cbadabca","cbadabcb", "cbadacab", "cbadacad", "cbadacba", "cbadacbc", "cbadacda", "cbadacdc", "cbadbabc", "cbadbaca", "cbadbacb", "cbadbcab", "cbadbcac", "cbadbcba", "cbadbcbd", "cbadbcdb", "cbadbcdc", "cbadbdcb", "cbadbdcd", "cbadcaba", "cbadcabc", "cbadcacb", "cbadcada", "cbadcbab", "cbadcbac", "cbadcbca", "cbadcbcd", "cbadcbdb", "cbadcbdc","cbadcdad", "cbadcdbc", "cbadcdbd", "cbcabada", "cbcabadb", "cbcabadc", "cbcabcbd", "cbcabcda", "cbcabcdb", "cbcabcdc", "cbcabdab", "cbcabdac", "cbcabdad", "cbcabdba", "cbcabdbc", "cbcabdca", "cbcabdcb", "cbcabdcd", "cbcacbcd", "cbcacbda", "cbcacbdb", "cbcacbdc", "cbcacdab", "cbcacdac", "cbcacdad", "cbcacdba", "cbcacdbc", "cbcacdbd","cbcacdca", "cbcacdcb", "cbcadaba", "cbcadabc", "cbcadabd", "cbcadaca", "cbcadacb", "cbcadbab", "cbcadbac", "cbcadbad", "cbcadbca", "cbcadbcb", "cbcadbcd", "cbcadbda", "cbcadbdc", "cbcadcab", "cbcadcac", "cbcadcba", "cbcadcbc", "cbcadcbd", "cbcadcdb", "cbcdabac", "cbcdabad", "cbcdabca", "cbcdabcb", "cbcdabcd", "cbcdabda", "cbcdabdb","cbcdabdc", "cbcdacab", "cbcdacba", "cbcdacbc", "cbcdacbd", "cbcdacdb", "cbcdacdc", "cbcdadba", "cbcdadbc", "cbcdadbd", "cbcdadcb", "cbcdadcd", "cbcdbabc", "cbcdbabd", "cbcdbaca", "cbcdbacb", "cbcdbacd", "cbcdbada", "cbcdbadb", "cbcdbadc", "cbcdbcab", "cbcdbcac", "cbcdbcad", "cbcdbcba", "cbcdbdab", "cbcdbdac", "cbcdbdad", "cbcdcaba","cbcdcabc", "cbcdcabd", "cbcdcacb", "cbcdcacd", "cbcdcada", "cbcdcadb", "cbcdcadc", "cbcdcbab", "cbcdcbac", "cbcdcbad", "cbcdcbca", "cbdabaca", "cbdabacb", "cbdabcab", "cbdabcac", "cbdabcba", "cbdabcbd", "cbdabcdb", "cbdabcdc", "cbdabdbc", "cbdabdcb", "cbdabdcd", "cbdacaba", "cbdacabc", "cbdacada", "cbdacbab", "cbdacbac", "cbdacbca","cbdacbcd", "cbdacbdb", "cbdacbdc", "cbdacdad", "cbdacdbc", "cbdacdbd", "cbdacdcb", "cbdadbcb", "cbdadbcd", "cbdadbda", "cbdadbdc", "cbdadcac", "cbdadcad", "cbdadcbc", "cbdadcbd", "cbdadcda", "cbdadcdb", "cbdbabca", "cbdbabcb", "cbdbabcd", "cbdbabdb", "cbdbabdc", "cbdbacab", "cbdbacad", "cbdbacba", "cbdbacbc", "cbdbacbd","cbdbacda", "cbdbacdb", "cbdbacdc", "cbdbadac", "cbdbadbc", "cbdbadbd", "cbdbadca", "cbdbadcb", "cbdbadcd", "cbdbcaba", "cbdbcabc", "cbdbcabd", "cbdbcacb", "cbdbcacd", "cbdbcada", "cbdbcadb", "cbdbcadc", "cbdbcbab", "cbdbcbac", "cbdbcbad", "cbdbcbda", "cbdcabac", "cbdcabad", "cbdcabca", "cbdcabcb", "cbdcabcd", "cbdcabda", "cbdcabdb","cbdcabdc", "cbdcacba", "cbdcacbc", "cbdcacbd", "cbdcacdb", "cbdcacdc", "cbdcadab", "cbdcadba", "cbdcadbc", "cbdcadbd", "cbdcadcb", "cbdcadcd", "cbdcbabc", "cbdcbabd", "cbdcbaca", "cbdcbacb", "cbdcbacd", "cbdcbada", "cbdcbadb", "cbdcbadc", "cbdcbcab", "cbdcbcac", "cbdcbcad", "cbdcdaba", "cbdcdabc", "cbdcdabd", "cbdcdaca", "cbdcdacb","cbdcdacd", "cbdcdadb", "cbdcdadc", "cdabacab", "cdabacad", "cdabacba", "cdabacbc", "cdabacda", "cdabacdc", "cdabadab", "cdabadac", "cdabadca", "cdabadcd", "cdabcaba", "cdabcacd", "cdabcada", "cdabcadc", "cdabcbab", "cdabcbdb", "cdabcbdc", "cdabcdac", "cdabcdad", "cdabcdbc", "cdabcdbd", "cdabcdca", "cdabcdcb", "cdabdaca", "cdabdacd","cdabdadc", "cdabdbcb", "cdabdbcd", "cdabdcac", "cdabdcad", "cdabdcbc", "cdabdcbd", "cdabdcda", "cdabdcdb", "cdacabac", "cdacabad", "cdacabca", "cdacabcb", "cdacabcd", "cdacabda", "cdacabdb", "cdacabdc", "cdacbabd", "cdacbaca", "cdacbacd", "cdacbada", "cdacbadb", "cdacbadc", "cdacbcac", "cdacbcad", "cdacbcda", "cdacbcdb","cdacbcdc", "cdacbdab", "cdacbdac", "cdacbdad", "cdacbdba", "cdacbdbc", "cdacbdca", "cdacbdcb", "cdacbdcd", "cdacdbab", "cdacdbac", "cdacdbad", "cdacdbca", "cdacdbcb", "cdacdbcd", "cdacdbda", "cdacdbdc", "cdacdcba", "cdacdcbc", "cdacdcbd", "cdadbabc", "cdadbaca", "cdadbacb", "cdadbacd", "cdadbada", "cdadbadc", "cdadbcab", "cdadbcac","cdadbcad", "cdadbcba", "cdadbcbd", "cdadbcda", "cdadbcdb", "cdadbcdc", "cdadbdac", "cdadbdad", "cdadbdca", "cdadbdcb", "cdadbdcd", "cdadcbab", "cdadcbac", "cdadcbad", "cdadcbca", "cdadcbcd", "cdadcbda", "cdadcbdb", "cdadcbdc", "cdadcdab", "cdadcdba", "cdadcdbc", "cdadcdbd", "cdbabcab", "cdbabcac", "cdbabcba", "cdbabcbd", "cdbabcdb","cdbabcdc", "cdbabdba", "cdbabdbc", "cdbabdcb", "cdbabdcd", "cdbacaba", "cdbacada", "cdbacadc", "cdbacbab", "cdbacbcd", "cdbacbdb", "cdbacbdc", "cdbacdac", "cdbacdad", "cdbacdbc", "cdbacdbd", "cdbacdca", "cdbacdcb", "cdbadaca", "cdbadacd", "cdbadbcb", "cdbadbcd", "cdbadbdc", "cdbadcac", "cdbadcad", "cdbadcbc", "cdbadcbd","cdbadcda", "cdbadcdb", "cdbcabad", "cdbcabcb", "cdbcabcd", "cdbcabda", "cdbcabdb", "cdbcabdc", "cdbcacbc", "cdbcacbd", "cdbcacda", "cdbcacdb", "cdbcacdc", "cdbcadab", "cdbcadac", "cdbcadba", "cdbcadbc", "cdbcadbd", "cdbcadca", "cdbcadcb", "cdbcadcd", "cdbcbabc", "cdbcbabd", "cdbcbaca", "cdbcbacb", "cdbcbacd", "cdbcbada","cdbcbadb", "cdbcbadc", "cdbcdaba", "cdbcdabc", "cdbcdabd", "cdbcdaca", "cdbcdacb", "cdbcdacd", "cdbcdadb", "cdbcdadc", "cdbcdcab", "cdbcdcac", "cdbcdcad", "cdbdabac", "cdbdabca", "cdbdabcb", "cdbdabcd", "cdbdabdb", "cdbdabdc", "cdbdacab", "cdbdacad", "cdbdacba", "cdbdacbc", "cdbdacbd", "cdbdacda", "cdbdacdb", "cdbdacdc", "cdbdadbc","cdbdadbd", "cdbdadca", "cdbdadcb", "cdbdadcd", "cdbdcaba", "cdbdcabc", "cdbdcabd", "cdbdcacb", "cdbdcacd", "cdbdcada", "cdbdcadb", "cdbdcadc", "cdbdcdab", "cdbdcdac", "cdbdcdad", "cdbdcdba", "cdcabaca", "cdcabacd", "cdcabada", "cdcabadb", "cdcabadc", "cdcabcac", "cdcabcad", "cdcabcbd", "cdcabcda", "cdcabcdb", "cdcabcdc","cdcabdab", "cdcabdac", "cdcabdad", "cdcabdba", "cdcabdbc", "cdcabdca", "cdcabdcb", "cdcabdcd", "cdcacbab", "cdcacbac", "cdcacbad", "cdcacbca", "cdcacbcd", "cdcacbda", "cdcacbdb", "cdcacbdc", "cdcacdba", "cdcacdbc", "cdcacdbd", "cdcacdcb", "cdcadaba", "cdcadabc", "cdcadabd", "cdcadbab", "cdcadbac", "cdcadbad", "cdcadbca", "cdcadbcb","cdcadbcd", "cdcadbda", "cdcadbdc", "cdcadcba", "cdcadcbc", "cdcadcbd", "cdcadcdb", "cdcbabcb", "cdcbabcd", "cdcbabda", "cdcbabdb", "cdcbabdc", "cdcbacad", "cdcbacbc", "cdcbacbd", "cdcbacda", "cdcbacdb", "cdcbacdc", "cdcbadab", "cdcbadac", "cdcbadba", "cdcbadbc", "cdcbadbd", "cdcbadca", "cdcbadcb", "cdcbadcd", "cdcbcaba", "cdcbcabc","cdcbcabd", "cdcbcacb", "cdcbcacd", "cdcbcada", "cdcbcadb", "cdcbcadc", "cdcbcdab", "cdcbcdac", "cdcbcdad", "cdcbcdca", "cdcbdaba", "cdcbdabc", "cdcbdabd", "cdcbdaca", "cdcbdacb", "cdcbdacd", "cdcbdadb", "cdcbdadc", "cdcbdbab", "cdcbdbac", "cdcbdbad", "cdcbdcab", "cdcbdcac", "cdcbdcad", "cdcbdcda", "dabacaba", "dabacabd","dabacada", "dabacadb", "dabacadc", "dabacbab", "dabacbad", "dabacbcd", "dabacbda", "dabacbdb", "dabacbdc", "dabacdab", "dabacdac", "dabacdad", "dabacdba", "dabacdbc", "dabacdbd", "dabacdca", "dabacdcb", "dabadabc", "dabadaca", "dabadacb", "dabadacd", "dabadcab", "dabadcac", "dabadcad", "dabadcba", "dabadcbc", "dabadcbd", "dabadcda","dabadcdb", "dabcabad", "dabcabda", "dabcabdb", "dabcacda", "dabcacdc", "dabcadab", "dabcadac", "dabcadba", "dabcadbd", "dabcadca", "dabcadcd", "dabcbabc", "dabcbabd", "dabcbada", "dabcbadb", "dabcbdab", "dabcbdad", "dabcbdba", "dabcbdbc", "dabcbdcb", "dabcbdcd", "dabcdaba", "dabcdabd", "dabcdaca", "dabcdacd", "dabcdadb","dabcdadc", "dabcdbab", "dabcdbad", "dabcdbcb", "dabcdbda", "dabcdcac", "dabcdcad", "dabcdcbc", "dabdacab", "dabdacad", "dabdacba", "dabdacbc", "dabdacbd", "dabdacda", "dabdacdb", "dabdacdc", "dabdadca", "dabdadcb", "dabdadcd", "dabdbcab", "dabdbcac", "dabdbcad", "dabdbcba", "dabdbcbd", "dabdbcda", "dabdbcdb", "dabdbcdc","dabdcaba", "dabdcabc", "dabdcabd", "dabdcacb", "dabdcacd", "dabdcada", "dabdcadb", "dabdcadc", "dabdcbab", "dabdcbac", "dabdcbad", "dabdcbca", "dabdcbda", "dabdcbdb", "dabdcdab", "dabdcdac", "dabdcdad", "dabdcdba", "dabdcdbd", "dacabaca", "dacabacd", "dacabada", "dacabadb", "dacabadc", "dacabcac", "dacabcad", "dacabcbd","dacabcda", "dacabcdb", "dacabcdc", "dacabdab", "dacabdac", "dacabdad", "dacabdba", "dacabdbc", "dacabdca", "dacabdcb", "dacabdcd", "dacadaba", "dacadabc", "dacadabd", "dacadacb", "dacadbab", "dacadbac", "dacadbad", "dacadbca", "dacadbcb", "dacadbcd", "dacadbda", "dacadbdc", "dacbabda", "dacbabdb", "dacbacad", "dacbacda","dacbacdc", "dacbadab", "dacbadac", "dacbadba", "dacbadbd", "dacbadca", "dacbadcd", "dacbcacb", "dacbcacd", "dacbcada", "dacbcadc", "dacbcdac", "dacbcdad", "dacbcdbc", "dacbcdbd", "dacbcdca", "dacbcdcb", "dacbdaba", "dacbdabd", "dacbdaca", "dacbdacd", "dacbdadb", "dacbdadc", "dacbdbab", "dacbdbad", "dacbdbcb", "dacbdcac","dacbdcad", "dacbdcbc", "dacbdcda", "dacdabac", "dacdabad", "dacdabca", "dacdabcb", "dacdabcd", "dacdabda", "dacdabdb", "dacdabdc", "dacdadba", "dacdadbc", "dacdadbd", "dacdbabc", "dacdbabd", "dacdbaca", "dacdbacb", "dacdbacd", "dacdbada", "dacdbadb", "dacdbadc", "dacdbcab", "dacdbcac", "dacdbcad", "dacdbcba", "dacdbcda","dacdbcdc", "dacdbdab", "dacdbdac", "dacdbdad", "dacdbdca", "dacdbdcd", "dacdcbab", "dacdcbac", "dacdcbad", "dacdcbca", "dacdcbcd", "dacdcbda", "dacdcbdb", "dacdcbdc", "dadbabca", "dadbabcb", "dadbabcd", "dadbacab", "dadbacad", "dadbacba", "dadbacbc", "dadbacbd", "dadbacda", "dadbacdb", "dadbacdc", "dadbadac", "dadbadca","dadbadcb", "dadbadcd", "dadbcaba", "dadbcabc", "dadbcabd", "dadbcacb", "dadbcacd", "dadbcada", "dadbcadb", "dadbcadc", "dadbcbab", "dadbcbac", "dadbcbad", "dadbcbda", "dadbcbdb", "dadbcdab", "dadbcdac", "dadbcdad", "dadbcdba", "dadbcdbd", "dadbcdca", "dadbdaca", "dadbdacb", "dadbdacd", "dadbdadc", "dadbdcab", "dadbdcac","dadbdcad", "dadbdcba", "dadbdcbc", "dadbdcbd", "dadbdcda", "dadbdcdb", "dadcabac", "dadcabad", "dadcabca", "dadcabcb", "dadcabcd", "dadcabda", "dadcabdb", "dadcabdc", "dadcacba", "dadcacbc", "dadcacbd", "dadcadab", "dadcadba", "dadcadbc", "dadcadbd", "dadcbabc", "dadcbabd", "dadcbaca", "dadcbacb", "dadcbacd", "dadcbada","dadcbadb", "dadcbadc", "dadcbcab", "dadcbcac", "dadcbcad", "dadcbcda", "dadcbcdc", "dadcbdab", "dadcbdac", "dadcbdad", "dadcbdba", "dadcbdca", "dadcbdcd", "dadcdaba", "dadcdabc", "dadcdabd", "dadcdadb", "dadcdbab", "dadcdbac", "dadcdbad", "dadcdbca", "dadcdbcb", "dadcdbcd", "dadcdbda", "dadcdbdc", "dbabcaba", "dbabcabd","dbabcacd", "dbabcada", "dbabcadb", "dbabcadc", "dbabcbab", "dbabcbad", "dbabcbda", "dbabcbdb", "dbabcbdc", "dbabcdab", "dbabcdac", "dbabcdad", "dbabcdba", "dbabcdbc", "dbabcdbd", "dbabcdca", "dbabcdcb", "dbabdbac", "dbabdbca", "dbabdbcb", "dbabdbcd", "dbabdcab", "dbabdcac", "dbabdcad", "dbabdcba", "dbabdcbc", "dbabdcbd","dbabdcda", "dbabdcdb", "dbacabac", "dbacabad", "dbacabda", "dbacabdb", "dbacadab", "dbacadac", "dbacadba", "dbacadbd", "dbacadca", "dbacadcd", "dbacbabd", "dbacbada", "dbacbadb", "dbacbcdb", "dbacbcdc", "dbacbdab", "dbacbdad", "dbacbdba", "dbacbdbc", "dbacbdcb", "dbacbdcd", "dbacdaba", "dbacdabd", "dbacdaca", "dbacdadb","dbacdbab", "dbacdbad", "dbacdbcb", "dbacdbcd", "dbacdbda", "dbacdbdc", "dbacdcac", "dbacdcbc", "dbacdcbd", "dbadacab", "dbadacad", "dbadacba", "dbadacbc", "dbadacbd", "dbadacda", "dbadacdb", "dbadacdc", "dbadbcab", "dbadbcac", "dbadbcad", "dbadbcba", "dbadbcbd", "dbadbcda", "dbadbcdb", "dbadbcdc", "dbadbdca", "dbadbdcb","dbadbdcd", "dbadcaba", "dbadcabc", "dbadcabd", "dbadcacb", "dbadcada", "dbadcadb", "dbadcbab", "dbadcbac", "dbadcbad", "dbadcbca", "dbadcbcd", "dbadcbda", "dbadcbdb", "dbadcbdc", "dbadcdab", "dbadcdad", "dbadcdba", "dbadcdbc", "dbadcdbd", "dbcabada", "dbcabadb", "dbcabcbd", "dbcabcdb", "dbcabcdc", "dbcabdab", "dbcabdad","dbcabdba", "dbcabdbc", "dbcabdcb", "dbcabdcd", "dbcacbca", "dbcacbcd", "dbcacbdb", "dbcacbdc", "dbcacdac", "dbcacdad", "dbcacdbc", "dbcacdbd", "dbcacdca", "dbcacdcb", "dbcadaba", "dbcadabd", "dbcadaca", "dbcadbab", "dbcadbad", "dbcadbcb", "dbcadbcd", "dbcadbda", "dbcadbdc", "dbcadcac", "dbcadcbc", "dbcadcbd", "dbcadcdb","dbcbabcb", "dbcbabcd", "dbcbabda", "dbcbabdb", "dbcbabdc", "dbcbacad", "dbcbacbc", "dbcbacbd", "dbcbacda", "dbcbacdb", "dbcbacdc", "dbcbadab", "dbcbadac", "dbcbadba", "dbcbadbc", "dbcbadbd", "dbcbadca", "dbcbadcb", "dbcbadcd", "dbcbdaba", "dbcbdabc", "dbcbdabd", "dbcbdaca", "dbcbdacb", "dbcbdacd", "dbcbdadb", "dbcbdadc","dbcbdbab", "dbcbdbac", "dbcbdbad", "dbcbdbca", "dbcdabac", "dbcdabad", "dbcdabca", "dbcdabcb", "dbcdabcd", "dbcdabda", "dbcdabdb", "dbcdabdc", "dbcdacab", "dbcdacba", "dbcdacbc", "dbcdacbd", "dbcdacdb", "dbcdacdc", "dbcdadba", "dbcdadbc", "dbcdadbd", "dbcdadcb", "dbcdadcd", "dbcdbabc", "dbcdbabd", "dbcdbaca", "dbcdbacb","dbcdbacd", "dbcdbada", "dbcdbadb", "dbcdbadc", "dbcdbdab", "dbcdbdac", "dbcdbdad", "dbcdcaba", "dbcdcabc", "dbcdcabd", "dbcdcacb", "dbcdcacd", "dbcdcada", "dbcdcadb", "dbcdcadc", "dbdabaca", "dbdabacb", "dbdabacd", "dbdabcab", "dbdabcac", "dbdabcad", "dbdabcba", "dbdabcbd", "dbdabcda", "dbdabcdb", "dbdabcdc", "dbdabdbc","dbdabdca", "dbdabdcb", "dbdabdcd", "dbdacaba", "dbdacabc", "dbdacabd", "dbdacada", "dbdacadb", "dbdacbab", "dbdacbac", "dbdacbad", "dbdacbca", "dbdacbcd", "dbdacbda", "dbdacbdb", "dbdacbdc", "dbdacdab", "dbdacdad", "dbdacdba", "dbdacdbc", "dbdacdbd", "dbdacdcb", "dbdadbca", "dbdadbcb", "dbdadbcd", "dbdadbdc", "dbdadcab","dbdadcac", "dbdadcad", "dbdadcba", "dbdadcbc", "dbdadcbd", "dbdadcda", "dbdadcdb", "dbdcabac", "dbdcabad", "dbdcabca", "dbdcabcb", "dbdcabcd", "dbdcabda", "dbdcabdb", "dbdcabdc", "dbdcacba", "dbdcacbc", "dbdcacbd", "dbdcacdb", "dbdcacdc", "dbdcadab", "dbdcadba", "dbdcadbc", "dbdcadbd", "dbdcadcb", "dbdcadcd", "dbdcbabc","dbdcbabd", "dbdcbaca", "dbdcbacb", "dbdcbacd", "dbdcbada", "dbdcbadb", "dbdcbadc", "dbdcbcab", "dbdcbcac", "dbdcbcad", "dbdcbdab", "dbdcbdac", "dbdcbdad", "dbdcbdba", "dbdcdaba", "dbdcdabc", "dbdcdabd", "dbdcdaca", "dbdcdacb", "dbdcdacd", "dbdcdadb", "dbdcdadc", "dbdcdbab", "dbdcdbac", "dbdcdbad", "dbdcdbda", "dcabacab","dcabacad", "dcabacda", "dcabacdc", "dcabadab", "dcabadac", "dcabadba", "dcabadbd", "dcabadca", "dcabadcd", "dcabcacd", "dcabcada", "dcabcadc", "dcabcbdb", "dcabcbdc", "dcabcdac", "dcabcdad", "dcabcdbc", "dcabcdbd", "dcabcdca", "dcabcdcb", "dcabdaba", "dcabdaca", "dcabdacd", "dcabdadc", "dcabdbab", "dcabdbcb", "dcabdbcd","dcabdcac", "dcabdcad", "dcabdcbc", "dcabdcbd", "dcabdcda", "dcabdcdb", "dcacbabd", "dcacbaca", "dcacbacd", "dcacbada", "dcacbadb", "dcacbadc", "dcacbcac", "dcacbcad", "dcacbcda", "dcacbcdb", "dcacbcdc", "dcacbdab", "dcacbdac", "dcacbdad", "dcacbdba", "dcacbdbc", "dcacbdca", "dcacbdcb", "dcacbdcd", "dcacdbab", "dcacdbac","dcacdbad", "dcacdbca", "dcacdbcb", "dcacdbcd", "dcacdbda", "dcacdbdc", "dcacdcab", "dcacdcba", "dcacdcbc", "dcacdcbd", "dcadabac", "dcadabad", "dcadabca", "dcadabcb", "dcadabcd", "dcadabda", "dcadabdb", "dcadabdc", "dcadbabc", "dcadbaca", "dcadbacb", "dcadbacd", "dcadbada", "dcadbadc", "dcadbcab", "dcadbcac", "dcadbcad","dcadbcba", "dcadbcbd", "dcadbcda", "dcadbcdb", "dcadbcdc", "dcadbdac", "dcadbdad", "dcadbdca", "dcadbdcb", "dcadbdcd", "dcadcbab", "dcadcbac", "dcadcbad", "dcadcbca", "dcadcbcd", "dcadcbda", "dcadcbdb", "dcadcbdc", "dcadcdba", "dcadcdbc", "dcadcdbd", "dcbabcba", "dcbabcbd", "dcbabcdb", "dcbabcdc", "dcbabdab", "dcbabdad","dcbabdba", "dcbabdbc", "dcbabdcb", "dcbabdcd", "dcbacada", "dcbacadc", "dcbacbcd", "dcbacbdb", "dcbacbdc", "dcbacdac", "dcbacdad", "dcbacdbc", "dcbacdbd", "dcbacdca", "dcbacdcb", "dcbadaba", "dcbadaca", "dcbadacd", "dcbadbab", "dcbadbcb", "dcbadbcd", "dcbadbdc", "dcbadcac", "dcbadcad", "dcbadcbc", "dcbadcbd", "dcbadcda","dcbadcdb", "dcbcabad", "dcbcabcb", "dcbcabcd", "dcbcabda", "dcbcabdb", "dcbcabdc", "dcbcacbc", "dcbcacbd", "dcbcacda", "dcbcacdb", "dcbcacdc", "dcbcadab", "dcbcadac", "dcbcadba", "dcbcadbc", "dcbcadbd", "dcbcadca", "dcbcadcb", "dcbcadcd", "dcbcdaba", "dcbcdabc", "dcbcdabd", "dcbcdaca", "dcbcdacb", "dcbcdacd", "dcbcdadb","dcbcdadc", "dcbcdcab", "dcbcdcac", "dcbcdcad", "dcbcdcba", "dcbdabac", "dcbdabca", "dcbdabcb", "dcbdabcd", "dcbdabdb", "dcbdabdc", "dcbdacab", "dcbdacad", "dcbdacba", "dcbdacbc", "dcbdacbd", "dcbdacda", "dcbdacdb", "dcbdacdc", "dcbdadbc", "dcbdadbd", "dcbdadca", "dcbdadcb", "dcbdadcd", "dcbdbabc", "dcbdbabd", "dcbdbaca","dcbdbacb", "dcbdbacd", "dcbdbada", "dcbdbadb", "dcbdbadc", "dcbdcaba", "dcbdcabc", "dcbdcabd", "dcbdcacb", "dcbdcacd", "dcbdcada", "dcbdcadb", "dcbdcadc", "dcbdcdab", "dcbdcdac", "dcbdcdad", "dcdabaca", "dcdabacb", "dcdabacd", "dcdabada", "dcdabadc", "dcdabcab", "dcdabcac", "dcdabcad", "dcdabcba", "dcdabcbd", "dcdabcda","dcdabcdb", "dcdabcdc", "dcdabdac", "dcdabdad", "dcdabdbc", "dcdabdca", "dcdabdcb", "dcdabdcd", "dcdacaba", "dcdacabc", "dcdacabd", "dcdacbab", "dcdacbac", "dcdacbad", "dcdacbca", "dcdacbcd", "dcdacbda", "dcdacbdb", "dcdacbdc", "dcdacdba", "dcdacdbc", "dcdacdbd", "dcdacdcb", "dcdadbab", "dcdadbac", "dcdadbad", "dcdadbca","dcdadbcb", "dcdadbcd", "dcdadbda", "dcdadbdc", "dcdadcba", "dcdadcbc", "dcdadcbd", "dcdadcdb", "dcdbabca", "dcdbabcb", "dcdbabcd", "dcdbabdb", "dcdbabdc", "dcdbacab", "dcdbacad", "dcdbacba", "dcdbacbc", "dcdbacbd", "dcdbacda", "dcdbacdb", "dcdbacdc", "dcdbadac", "dcdbadbc", "dcdbadbd", "dcdbadca", "dcdbadcb", "dcdbadcd","dcdbcaba", "dcdbcabc", "dcdbcabd", "dcdbcacb", "dcdbcacd", "dcdbcada", "dcdbcadb", "dcdbcadc", "dcdbcbab", "dcdbcbac", "dcdbcbad", "dcdbcdab", "dcdbcdac", "dcdbcdad", "dcdbcdca", "dcdbdaba", "dcdbdabc", "dcdbdabd", "dcdbdaca", "dcdbdacb", "dcdbdacd", "dcdbdadb", "dcdbdadc", "dcdbdcab", "dcdbdcac", "dcdbdcad", "dcdbdcda"<;
words8 êê Length
3576
myQuadMatr = quadMatrix@8D;replacePositionWithLastLetterColor ê@ words8;
showQuadTree := Show@Graphics@RasterArray@Transpose@myQuadMatrDDD,AspectRatio → 1, PlotRange → AllD;
Notice the forbidden white border district in the following quad tree showing all a-2-free words over 4 letters of lengt 8:
___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb 29
showQuadTree
Counting Binary Overlap-Free Words by Julien Cassaigne (Rovaniemi, October 2002)
2D Walks (a: left, b: right, c: down, d: up)The length of the word g85
4HaL producing the walk below is 854 = 52200625:
30 ___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb
The length of the word g984HaL producing the walk below is 984 = 92236816:
___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb 31
Interactive 3D Visualizations
Sami Vuolli (pLAB, Rovaniemi Polytechnic, 2005)
D:\_IAS2005\Sami\exe>show.exe -f g98short.txt -n 99 -r 30 -d 2 -res 640 480
D:\_IAS2005\Sami\exe>show.exe -f 3letters_2040first.txt -n 151 -r 40 -d 2 -res 640 480
32 ___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb
4 Letter Walks in Diamond Lattice (LiveGraphics3D)
a
b
c
d
g85aPath
34 ___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb
Beginning
Ending
Note the loops:
"abc"<>"acdcbcdcadcdbdabacabadbabcbd"<>"bcb"
___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb 35
Beginning
Ending
<< RealTime3D` H∗ Use mouse and CTRL to rotate and zoom ∗L
Hg98L2 HaL
36 ___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb
LiveGraphics3D (Java Applet) representations:
g98(a)
http://south.rotol.ramk.fi/keranen/JavaApplet/4LetterWalksInDiamondLattice.html
Semipalindrome structure of
"dcdadbdcbdbabdbcbacbcdbabdcdbdcacdbcbacbcdcacdcbdcdadbd"
___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb 37
Open three letter problems (by Sami Mäkelä, Turku)
à Open three letter problems (by Sami Mäkelä, Turku, 2001):
1)
Can you avoid abelian squares of the form uv, where |u| ≥ 2, over three letters?
(So here we allow xx and xxx for a letter x)
– You can for (some) words of length 3151
(as found by Narad Rampersad, Waterloo, Ontario, Canada,
September 2004, by a randomized search).
2)
Can you avoid abelian cubes of the form uvw, where |u| ≥ 2, over two letters?
– You can for (some) words of length over 250.
à Three letters. Allow xx for a letter x,but do not allow xxx or other abelian squares.Longest word is of length 52. None of length 53.Perhaps all of the 3*4 = 12 words of length 52 can appear as a proper factor when xxx is allowed in extensions to left and right.
___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb 39
10 20 30 40 50
1000
2000
3000
4000
First string of length 2040 over 3 letters & Narad Rampersad random string of length 3151
Erik Jensen's result on Prouhet(1851)–Thue(1912)–Morse(1921) sequence
Conclusionsg85 and g98 seemed to crop up (for no apparent reason).
Only exhaustive searches have been fruitful (even though most of them have found nothing before 2007)
Applications:
Music, Group and Number Theory, Cryptography, Civil Engineering, ...
Future plans for study:
Experimental problem: Investigation of unfavourable factors
Formalization problem: Some Enhancements of Carpi's test for morphisms
40 ___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb
Task: Check independently the properties of g98 and the 124 new cases !
Future interest:
Bioinformatics (DNA), AIT & NKS (philosophical aspect), Cryptography, Genera-tion of Extreme Events, ...
Events
Algorithmic Information Theory in Vaasa, Finland, May 16 – 18, 2005
Main speakers: Bruno Buchberger, Gregory Chaitin, Jarkko Kari,
Heinz Langer, Markus Rosenkranz, Henk de Snoo, …
http://www.uwasa.fi/ait05/
Workshop on Technical Computing in Rovaniemi, Finland, May 20, 2005 Main speakers: Tore Jonassen, Markus Rosenkranz, …
6th International Arctic Seminar in Murmansk, Russia, May 24 – 27, 2005 Main speakers: Tore Jonassen, Markus Rosenkranz, …
7th International Mathematica Symposium IMS 2005, The University Of Western Australia, Perth, Australia August 5 – 8, 2005 http://InternationalMathematicaSymposium.org
___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb 41
8th International Mathematica Symposium IMS 2006, Palais des Papes, Avignon, France June 19 – 23, 2006 http://InternationalMathematicaSymposium.org
Optimal Synergy of Engineering and Life Sciences OSELS 2006, Palais des Papes, Avignon, France June 26 – 30, 2006 http://www.columbia.edu/~gd18/
2nd Algorithmic Information Theory AIT 2007, Castle of Hagenberg, Austria June 25 – 26, 2007 http://www.risc.uni-linz.ac.at/about/conferences
2nd International Conference on Algebraic Biology AB 2007, Castle of Hagenberg, Austria July 2 – 4, 2007 http://www.risc.uni-linz.ac.at/about/conferences/ab2007
9th International Mathematica Symposium IMS 2008, Maastricht University, Maastricht, the Netherlands June 20 (Friday) – June 24 (Tuesday), 2008 http://InternationalMathematicaSymposium.org
42 ___Veikko_Turku_20February2007_Presentation_CADE2007_forPDF.nb