Change viewing parameters
Select another database

Sino-Caucasian etymology :

Search within this database
Proto-Sino-Caucasian: *ṭwīɦV̄ ( ~ *ɦīṭwV̆)
Meaning: foot
Borean etymology: Borean etymology
North Caucasian: *ṭwīɦV̄
Sino-Tibetan: *tɨ̆H ( ~ d-)
Burushaski: *-húṭ-
Comments and references : LV Cb6.
sccet-meaning,sccet-prnum,sccet-cauc,sccet-stib,sccet-buru,sccet-notes,

Search within this database


North Caucasian etymology :

Search within this database
Proto-North Caucasian: *ṭwīɦV̄
Sino-Caucasian etymology: Sino-Caucasian etymology
Meaning: foot, forefoot
Proto-Nakh: *ṭā
Proto-Avaro-Andian: *HVṭV
Proto-Dargwa: *ṭʷaħ
Notes: Reconstructed for the PEC level. The Av. form underwent a metathesis (ħeṭ < *ṭeħ); otherwise correspondences are regular.
caucet-prnum,caucet-meaning,caucet-nakh,caucet-aand,caucet-darg,caucet-comment,

Search within this database


Nakh etymology :

Search within this database
Proto-Nakh: *ṭā
North Caucasian etymology: North Caucasian etymology
Meaning: 1 front leg (of animal) 2 bottom chuck (of animal)
Chechen: ṭa 1
Ingush: ṭa 1
Batsbi: ṭa 1,2
Comments: Obl. base *ṭā-ni-, cf. Chech. ṭǟna-, Ing. ṭäno. 3d class in all languages.
nakhet-prnum,nakhet-meaning,nakhet-che,nakhet-ing,nakhet-bcb,nakhet-comment,

Search within this database


Avar-Andian etymology :

Search within this database
Protoform: *HVṭV
North Caucasian etymology: North Caucasian etymology
Meaning: foot
Avar: ħeṭé / ħeṭ
Comments: Av. paradigm B (ħaṭí-l, ħaṭá-l). Isolated in Av., but with reliable external parallels.
aandet-prnum,aandet-meaning,aandet-ava,aandet-comment,

Search within this database


Dargwa etymology :

Search within this database
Proto-Dargwa: *ṭʷaħ
North Caucasian etymology: North Caucasian etymology
Meaning: a jump, leap
Akusha: ṭaIħ
Comments: The original meaning is 'foot', cf. Kad. ṭaħ, Ur., Sirg. ṭʷaħ, Kait. ṭah 'foot, hoof', Kub. ṭuIj 'foot', Kharb. ṭaħ 'foot, paw'.
darget-prnum,darget-meaning,darget-drg,darget-comment,

Search within this database


Sino-Tibetan etymology :

Search within this database
Proto-Sino-Tibetan: *tɨ̆H ( ~ d-)
Sino-Caucasian etymology: Sino-Caucasian etymology
Meaning: heel, ankle
Chinese: *tǝʔ foot, heel.
Tibetan: sta hip bone
Kachin: lǝtho3 the leg just above the ankles.
Comments: In Chinese cf. alternatively 蹄 *dē 'animal's foot, hoof'.
stibet-prnum,stibet-meaning,stibet-chin,stibet-tib,stibet-kach,stibet-comments,

Search within this database


Chinese characters :

Search within this database
Character:
Modern (Beijing) reading: zhǐ
Preclassic Old Chinese: tǝʔ
Classic Old Chinese: tǝ́
Western Han Chinese: tǝ́
Eastern Han Chinese: ćǝ́
Early Postclassic Chinese: ćɨ́
Middle Postclassic Chinese: ćɨ́
Late Postclassic Chinese: ćɨ́
Middle Chinese: ćɨ́
English meaning : foot
Russian meaning[s]: 1) пальцы (на ногах); стопа; 2) нога; копыто; 3) следы ног; перен., поэт. стопы; 4) фундамент, базис, вм. 阯, 址
Sino-Tibetan etymology: Sino-Tibetan etymology
Radical: 157
Four-angle index: 471
Karlgren code: 0961 g
Go-on: si
Kan-on: si
Japanese reading: shi;ashi;ato
Shijing occurrences: 11.1_
bigchina-reading,bigchina-ochn,bigchina-cchn,bigchina-wchn,bigchina-echn,bigchina-epchn,bigchina-mpchn,bigchina-lpchn,bigchina-mchn,bigchina-meaning,bigchina-oshanin,bigchina-stibet,bigchina-radical,bigchina-oshval,bigchina-karlgren,bigchina-go,bigchina-kanon,bigchina-jap,bigchina-shijing,

Search within this database


Burushaski etymology :

Search within this database
Common Burushaski: *-húṭ-
Sino-Caucasian Etymology: Sino-Caucasian Etymology
Meaning: foot
Yasin: -húṭis
Hunza: -úṭ, -úṭis
Nagar: -úṭ, -úṭis
buruet-prnum,buruet-meaning,buruet-yas,buruet-hun,buruet-ngr,

Search within this database


Long-range etymologies :

Search within this database
Borean (approx.) : HVTV
Meaning : hand, limb
Eurasiatic : *udV
Afroasiatic : *yad- ~ *ʔid-
Sino-Caucasian : *ṭwīɦV̄ ( ~ *ɦīṭwV̆)
Austric : *TVj hand, right hand
Amerind (misc.) : *ta(k) 'leg' (R 427)
African (misc.) : ? Bantu *-yádá 'finger, hand, thumb'.
Notes : Here perhaps Ainu te-ke 'hand', te-m 'both arms'. Cf. TVKV
globet-meaning,globet-nostr,globet-afas,globet-scc,globet-austr,globet-amer,globet-afr,globet-notes,

Search within this database


Nostratic etymology :

Search within this database
Eurasiatic: *udV
Meaning: hand, arm
Borean: Borean
Altaic: *udu ( ~ -i, ŋ-) [cf. also *t`u 'five']
Uralic: Sam. *utɔ hand (+ PU *witte 'five / ten' ?)
nostret-meaning,nostret-prnum,nostret-alt,nostret-ura,

Search within this database


Altaic etymology :

Search within this database
Proto-Altaic: *udu ( ~ -i, ŋ-)
Nostratic: Nostratic
Meaning: arm, thigh
Russian meaning: рука, бедро
Turkic: *ud-luk
Japanese: *ùntài
Comments: A Turk.-Jpn. isogloss.
altet-prnum,altet-meaning,altet-rusmean,altet-turc,altet-jap,altet-reference,

Search within this database


Turkic etymology :

Search within this database
Proto-Turkic: *ud-luk
Altaic etymology: Altaic etymology
Meaning: hip, thigh
Russian meaning: бедро
Old Turkic: udluq (Orkh., OUygh.)
Karakhanid: uδluq (MK)
Turkish: ujluk
Middle Turkic: ujluq (Pav. C.)
Sary-Yughur: utuq, otuq
Turkmen: ujluq, uwluq
Khakassian: ustux 'knee'
Shor: ustuq
Yakut: ulluk
Comments: EDT 55, VEWT 510, ЭСТЯ 1, 578-579, Лексика 282.
turcet-prnum,turcet-meaning,turcet-rusmean,turcet-atu,turcet-krh,turcet-trk,turcet-chg,turcet-sjg,turcet-trm,turcet-hak,turcet-shr,turcet-jak,turcet-reference,

Search within this database


Japanese etymology :

Search within this database
Proto-Japanese: *ùntài
Altaic etymology: Altaic etymology
Meaning: arm
Russian meaning: рука
Old Japanese: ude
Middle Japanese: ùdè
Tokyo: udé
Kyoto: údè
Kagoshima: udé
Comments: JLTT 560.
japet-prnum,japet-meaning,japet-rusmean,japet-ajp,japet-mjp,japet-tok,japet-kyo,japet-kag,japet-comments,

Search within this database


Uralic etymology :

Search within this database
Number: 1169
Proto: *witte
> Nostratic: > Nostratic
English meaning: five
German meaning: fünf
Finnish: viisi (gen. viiden) 'fünf'
Estonian: viis (gen. viie)
Saam (Lapp): vit'tâ-đ- (N) 'five', viht(t)a (L), vi̊tt (T Kld.), vīht, viht (Not.), vitt (A)
Mordovian: vet́e, vät́ä (E), vet́ä (M)
Mari (Cheremis): wǝc (KB), wić (U B), wǝzǝt (KB), wizǝ̑t (U)
Udmurt (Votyak): vit́ (G)
Komi (Zyrian): vit (S P PO)
Khanty (Ostyak): wet (V DN O)
Mansi (Vogul): ät (TJ), ǟt (KU P), at (So.)
Hungarian: öt
Nenets (Yurak): jūʔ (O), jūt (Nj.) 'zehn' ? [ŋuda 'Hand' - rejected by Redei]
Enets (Yen): biuʔ ? [uda 'Hand' - rejected by Redei]
Nganasan (Tawgi): bīʔ ? [jütü 'Hand' - rejected by Redei]
Selkup: kȫtʔ (TaU), kȫt (KeM Ty.) ? [uty 'Hand' - rejected by Redei]
Kamass: bjǝʔn ? [uda 'Hand' - rejected by Redei]
Janhunen's version: (124) *wit/tti
Sammalahti's version: *wit/tti
Addenda: Koib. bet, bi 'zehn'; Mot, bi id.; Karag. tjutt id.; Taig. dschûn id. ?
uralet-proto,uralet-prnum,uralet-meaning,uralet-germmean,uralet-fin,uralet-est,uralet-saa,uralet-mrd,uralet-mar,uralet-udm,uralet-kom,uralet-khn,uralet-man,uralet-ugr,uralet-nen,uralet-enc,uralet-nga,uralet-slk,uralet-kam,uralet-janh,uralet-samm2,uralet-add,

Search within this database


Afroasiatic etymology :

Search within this database
Proto-Afro-Asiatic: *yad- ~ *ʔid-
Meaning: hand
Semitic: *yad- ~ *ʔid- 'hand'
Egyptian: d hieroglyph
Central Chadic: ? *'adVw 'claw'
afaset-meaning,afaset-sem,afaset-egy,afaset-cch,

Search within this database


Semitic etymology :

Search within this database
Number: 2239
Proto-Semitic: *yad- ~ *ʔid-
Afroasiatic etymology: Afroasiatic etymology
Meaning: hand
Akkadian: idu OA on [CAD i 10], [AHw 363].

    Though the shift *ya- > i is common in AKK, idu may as well reflect *ʔidu

Ugaritic: yd [Aist 127]
Phoenician: yd [T 123]
Hebrew: yād [KB 386]
Aramaic: SML DAL OLD OFF NBT PLM yd [HJ 435]
Biblical Aramaic: *yad (the attested forms are det. yǝdā, du. yǝdayin, etc.) [KB deutsch 1717]
Judaic Aramaic: yǝdā 'hand, forefoot, handle' [Ja 564]; also ʔīdā, ʔayd_ā (only TargYer) [ibid. 45]; yad, ʔīd, det. yǝdā [Sok 234]
Syrian Aramaic: ʔīdā [Brock 295].

    Note that in the forms with prepositions y- appears, e.g. men yad 'per, propter', ʕal yad 'juxta' [ibid.]

Modern Aramaic: MAL īd_a 'Hand, (seltener) Arm' [Berg 19] TUR īd_o 'hand' [R Ṭūrōyo 115] MLH izo 'Hand' [J Mlah 179] HRT ʔida 'Hand; Seite' [J Hert 182] NASS īdä 'hand' [Tser 095] URM iydǝ 'hand' [R Urmi 99] ZKH ʔīz2a 'hand' [R Zakho 105] MMND īd, emph. īda 'hand' [M MND 505] GZR ʔíza 'hand, handle' [Nak 69] AZR ida 'hand' [Garb 310] IRAN *eydā 'la mano' [Pen 75]
Mandaic Aramaic: ʕda [DM 341]
Arabic: yad- [BK 2 1624]
Epigraphic South Arabian: SAB yd [SD 164], QAT yd [Ricks 81], MIN yd [LM 108]
Geʕez (Ethiopian): ʔǝd [LGz 7].

    Note st. pron. ʔǝde where -e (<*-ay) may represent an old dual ending

Tigre: ʔǝde [LH 383]
Tigrai (Tigriñña): ʔid [Bass 562]
Amharic: ǝǯǯ [K 1313]
Harari: iǯi [LHar 22]
East Ethiopic: SEL ǝnǯe, WOL ǝnǯ, ZWY ǝn~ǯi [LGur 28-29]
Gurage: CHA EŽA END ENN GYE MUH MSQ GOG SOD äǯ 'hand, arm, handle' [ibid.]
Mehri: ḥayd 'hand, arm' [JM 460] (with the ḥ- article)
Jibbali: éd 'arm (from fingertip to shoulder), hand' [JJ 313]
Harsusi: ḥayd [JH 146] 'hand, arm, forepaw' (with the ḥ- article)
Soqotri: ʔed [LS 52].

    Cf. QALAN-B hēd, HADIBO ʔǝʔǝd and other dialectal variants in [SSL LS 1450]

Notes: Note a variant stem *ʔid- in ARM, ETH, MSA and probably AKK; one wonders whether it implies two original stems or one to be reconstructed as *ʔayad- or *yaʔid-.

    The noun often forms part of compound prepositions, occasionally with the loss of y-: UGR b-d 'en manos de, destinado a, para' [DLU 104]; AMARNA ba-di-ú 'in his hand' [HJ 433], HBR ʕimmād-ī 'with me' [KB 842]; ARB ʕinda 'auprès de' [BK 2 382], ladā 'chez, auprès de' [ibid. 984]).

    ETH *ʔide- <*ʔiday- may reflect a dual form; cf. SOUTH ETH wärč <*warke <*warkay, see *warik-(at-), No. (in some of GUR *-i- > ä after *ʔ- ?). [Fron 48] (*yad- 'braccio (con la mano)' /GEZ,ESA,ARB,HBR,SYR,UGR,AKK/); [Holma 110]: HBR, SYR, ARB, GEZ; [KB 386]: HBR, ARM, ARB, UGR, GEZ, ESA, AKK; [LGz 7]: GEZ, ETH, HBR, ARB, ARM, ESA, SOQ, AKK, PHO

semet-proto,semet-prnum,semet-meaning,semet-akk,semet-uga,semet-phn,semet-hbr,semet-arm,semet-bib,semet-jud,semet-syr,semet-new,semet-mnd,semet-ara,semet-sar,semet-gzz,semet-tgr,semet-tgy,semet-amh,semet-hrr,semet-east,semet-gur,semet-mhr,semet-jib,semet-hss,semet-soq,semet-notes,

Search within this database


Central Chadic etymology :

Search within this database
Proto-CChadic: *'adVw
Afroasiatic etymology: Afroasiatic etymology
Meaning: 'claw'
Musgu: ádau [LukMs]
cchet-prnum,cchet-meaning,cchet-msg,

Search within this database


Austric etymology :

Search within this database
Proto-Austric: *tVj
Meaning: (right) hand
Borean etymology: Borean etymology
Proto-Austroasiatic: *tǝj
Austroasiatic meaning: hand
Munda parallels: Khr tig
Miao-Yao parallels: *P-teB hand
Proto-Austronesian: *qatai
Austronesian meaning: side of canoe opposite the outrigger; right hand
austr-meaning,austr-prnum,austr-aa,austr-aame,austr-mun,austr-myao,austr-an,austr-anme,

Search within this database


Austro-Asiatic etymology :

Search within this database
Proto-Austro-Asiatic: *tǝj
Meaning: hand
Austric etymology: Austric etymology
Proto-Katuic: *tǝj
Proto-Bahnaric: *ti
Khmer: taj < OK taj
Proto-Pearic: *ti.N
Proto-Vietic: *sVj
Proto-Monic: *tǝj
Proto-Palaungic: *ta:jʔ V?
Proto-Khmu: *tiʔ
Khasi: kti
Proto-Aslian: *ti:(ŋ)
References: Kh 714; VHL 75; S-163
aaet-meaning,aaet-prnum,aaet-kat,aaet-bah,aaet-kmr,aaet-pear,aaet-vim,aaet-mon,aaet-pawa,aaet-kmu,aaet-khasi,aaet-asli,aaet-bib,

Search within this database


Katuic etymology :

Search within this database
Proto-Katuic: *tǝj
Meaning: hand, arm
Presyllable: ʔǝ-
Austro-Asiatic etymology: Austro-Asiatic etymology
Proto-West Katuic: *tǝj
Proto-East Katuic: *t[ǝj]
References: P-985; TK5.55
katet-meaning,katet-prpr,katet-prnum,katet-wkat,katet-ekat,katet-bibref,

Search within this database


West Katuic etymology :

Search within this database
Proto-West Katuic: *tǝj
Meaning: hand, arm
Presyllable: ʔǝ-
Katuic etymology: Katuic etymology
Bru Van Keu: ʔati.T
Bru Van Keu meaning: hand
So: ʔati.B R?
So meaning: hand
Bru: ʔǝtʌj.N
Bru meaning: hand
Kui: ʔǝte:.N
Kui meaning: hand
Kuay: tʌj.N
Kuay meaning: hand
Ngeu: ti:.N
Ngeu meaning: hand
wkatet-meaning,wkatet-wpre,wkatet-prnum,wkatet-vkv,wkatet-vkvme,wkatet-so,wkatet-some,wkatet-bru,wkatet-brume,wkatet-kui,wkatet-kuime,wkatet-kuay,wkatet-kuayme,wkatet-ngeu,wkatet-nyeume,

Search within this database


East Katuic etymology :

Search within this database
Proto-East Katuic: *t[ǝj]
Meaning: hand, arm
Presyllable: ʔǝ- / #
Katuic etymology: Katuic etymology
Pakoh: ʔǝti:
Pakoh meaning: hand
Taojh: atǝj.L
Taojh meaning: hand, arm (PT-198)
Lao Katu: tǝj
Lao Katu meaning: hand
Ngeq: tej, tǝj
Ngeq meaning: hand
Kri: ti:
Chatong: ti:
Kantu dialects: ti:
Triw: ti:
Dakkan dialects (1): ti:
Dakkan dialects (2): ti:
Dakkan meaning: hand, arm
Katu dialects (1): tʌj
Katu dialects (2): tʌj
Katu dialects (3): taj
Katu meaning: hand
ekatet-meaning,ekatet-epre,ekatet-prnum,ekatet-pak,ekatet-pakme,ekatet-tao,ekatet-taome,ekatet-lka,ekatet-lkame,ekatet-nge,ekatet-ngeme,ekatet-kr,ekatet-ct,ekatet-kntt,ekatet-tr,ekatet-dkl,ekatet-dkk,ekatet-dkme,ekatet-and,ekatet-hka,ekatet-hkv,ekatet-katme,

Search within this database


Bahnar etymology :

Search within this database
Proto-Bahnaric: *ti
Meaning: hand
Presyllable: #
Austro-Asiatic etymology: Austro-Asiatic etymology
Bahnar: ti:
Bahnar meaning: hand, arm
Proto-North Bahnaric: *ti.L
Proto-South Bahnaric: *ti
Proto-West Bahnaric: *ti
Proto-Northwest-Bahnaric: *ti
Harak: ti:
References: PNB-513, JS-813, TB5.49
banet-meaning,banet-prpr,banet-prnum,banet-bah,banet-bahme,banet-nob,banet-sob,banet-web,banet-nwb,banet-har,banet-refer,

Search within this database


North Bahnaric etymology :

Search within this database
Proto-North-Bahnaric: *ti.L
Meaning: hand
Bahnaric etymology: Bahnaric etymology
Rengao form: ti.L
Rengao meaning: hand, arm
Jeh form: ti.L
Jeh meaning: hand, arm
Sedang form: taj.L
Sedang meaning: hand, arm (Sedang-Rengao)
Hre form: ti.L
Hre meaning: hand
References: PNB-513
nobet-meaning,nobet-prnum,nobet-ren,nobet-renme,nobet-jeh,nobet-jehme,nobet-sed,nobet-sedme,nobet-hre,nobet-hreme,nobet-refer,

Search within this database


South Bahnaric etymology :

Search within this database
Proto-South Bahnaric: *ti
Meaning: hand, arm
Bahnaric etymology: Bahnaric etymology
Chrau form: ti:
Chrau meaning: hand, arm
Stieng form: ti:
Stieng meaning: hand, arm
References: SBS-269
sobet-meaning,sobet-prnum,sobet-chr,sobet-chrme,sobet-sti,sobet-stime,sobet-refer,

Search within this database


West Bahnaric etymology :

Search within this database
Proto-West- Bahnaric: *ti
Meaning: hand
Bahnaric etymology: Bahnaric etymology
Jaru form: tɛj, ti:
Jaru meaning: hand, arm
Lavi: tej
Juk: ti:
Nhaheung form: ti:
Nhaheung meaning: hand, arm
Brao form: ti:
Brao meaning: hand, arm
References: JS-813
webet-meaning,webet-prnum,webet-jr,webet-jrme,webet-lve,webet-jk,webet-nha,webet-nhame,webet-brao,webet-brame,webet-refer,

Search within this database


North-West Bahnaric etymology :

Search within this database
Proto-North-West- Bahnaric: *ti
Meaning: hand, arm
Bahnaric etymology: Bahnaric etymology
Tariang: ti:
Kaseng: ti:
Yaeh: ti:
nwbet-meaning,nwbet-prnum,nwbet-tr,nwbet-ks,nwbet-yh,

Search within this database


Harak etymology :

Search within this database
Proto-Harak: *ti
Meaning: hand, arm
Bahnaric etymology: Bahnaric etymology
Harak: ti:
haret-meaning,haret-prnum,haret-hr,

Search within this database


Khmer etymology :

Search within this database
Khmer: ṭe:
Austro-Asiatic etymology: Austro-Asiatic etymology
Old Khmer: taj
Old Khmer Meaning: hand, arm
References: P220
kmret-prnum,kmret-okh,kmret-okmean,kmret-ref,

Search within this database


Pearic etymology :

Search within this database
Proto-Pearic: *ti.N
Meaning: hand
Presyllable: #
Austro-Asiatic etymology: Austro-Asiatic etymology
Chong: ti:.A
Chong meaning: hand
Song: ti:.A
Song meaning: hand
Kasong: ti:.A
Kasong meaning: hand
Samre: ti:.A
Samre meaning: hand
Suoi Kompong: daj
pearet-meaning,pearet-prpr,pearet-prnum,pearet-chng,pearet-chngme,pearet-song,pearet-songme,pearet-kas,pearet-kasme,pearet-smr,pearet-smrme,pearet-skm,

Search within this database


Viet-Muong etymology :

Search within this database
Proto-Viet-Muong: *sVj
Meaning: hand
Austro-Asiatic etymology: Austro-Asiatic etymology
Vietnamese: tay
Thomon: sai.4
Tum: sǝj.45
vimet-meaning,vimet-prnum,vimet-viet,vimet-thm,vimet-tum,

Search within this database


Monic etymology :

Search within this database
Proto-Monic: *tǝj
Meaning: hand
Presyllable: #
Austro-Asiatic etymology: Austro-Asiatic etymology
Modern Mon: taj
Old Mon: tej
Middle Mon: taj
Nyakur: tɛj.L
Nyakur meaning: hand
References: N148; S-163
monet-meaning,monet-prpr,monet-prnum,monet-word,monet-om,monet-mm,monet-tc,monet-tcme,monet-bib,

Search within this database


Palaung-Wa etymology :

Search within this database
Proto-Palaung-Wa: *lVʔ, *lV
Meaning: louse
Austro-Asiatic etymology: Austro-Asiatic etymology
Proto-Angku: *bli:, N-; *li(j),
Lamet: plɛʔ.2, m- body louse LmB
pawaet-meaning,pawaet-prnum,pawaet-pran,pawaet-lamet,

Search within this database


Angku etymology :

Search within this database
Proto-Angku: *bli:, N-; *li(j),
Meaning: body louse
Palaung-Wa etymology: Palaung-Wa etymology
Pangpin: bli.51
Gantang: pli.51
Mang'an: mpri.51
U: mli.2
References: WW-150; S-110
pranet-meaning,pranet-prnum,pranet-phu,pranet-ph2,pranet-mnn,pranet-u,pranet-bib,

Search within this database


Aslian etymology :

Search within this database
Proto-Aslian: *ti:(ŋ)
Austro-Asiatic etymology: Austro-Asiatic etymology
Meaning: hand
Semelai: thi
Semoq Beri: ti
Jah-Hut: tiŋ
Temiar: ti:k
Notes: Diffloth believs that SEMAI tǝkŋ is a borrowing (p.c.)
asliet-prnum,asliet-meaning,asliet-sml,asliet-ber,asliet-jah,asliet-tmi,asliet-note,

Search within this database

Select another database
Change viewing parameters
Total pages generatedPages generated by this script
5896061574919
Help
StarLing database serverPowered byCGI scripts
Copyright 1998-2003 by S. StarostinCopyright 1998-2003 by G. Bronnikov
Copyright 2005-2014 by Phil Krylov