• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 13:47
CEST 19:47
KST 02:47
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
TL.net Map Contest #21: Voting6[ASL20] Ro4 Preview: Descent11Team TLMC #5: Winners Announced!3[ASL20] Ro8 Preview Pt2: Holding On9Maestros of the Game: Live Finals Preview (RO4)5
Community News
Weekly Cups (Oct 6-12): Four star herO65.0.15 Patch Balance Hotfix (2025-10-8)78Weekly Cups (Sept 29-Oct 5): MaxPax triples up3PartinG joins SteamerZone, returns to SC2 competition325.0.15 Balance Patch Notes (Live version)119
StarCraft 2
General
How to Block Australia, Brazil, Singapore Servers 5.0.15 Patch Balance Hotfix (2025-10-8) Revisiting the game after10 years and wow it's bad TL.net Map Contest #21: Voting The New Patch Killed Mech!
Tourneys
Crank Gathers Season 2: SC II Pro Teams LiuLi Cup - September 2025 Tournaments SC4ALL $6,000 Open LAN in Philadelphia Sparkling Tuna Cup - Weekly Open Tournament Master Swan Open (Global Bronze-Master 2)
Strategy
Custom Maps
External Content
Mutation # 495 Rest In Peace Mutation # 494 Unstable Environment Mutation # 493 Quick Killers Mutation # 492 Get Out More
Brood War
General
BW caster Sayle BW General Discussion Map with fog of war removed for one player? Pros React To: BarrackS + FlaSh Coaching vs SnOw After 20 seasons we have a lot of great maps
Tourneys
[ASL20] Semifinal B [ASL20] Semifinal A SC4ALL $1,500 Open Bracket LAN [Megathread] Daily Proleagues
Strategy
Relatively freeroll strategies Current Meta BW - ajfirecracker Strategy & Training Siegecraft - a new perspective
Other Games
General Games
Dawn of War IV Stormgate/Frost Giant Megathread Nintendo Switch Thread ZeroSpace Megathread Path of Exile
Dota 2
Official 'what is Dota anymore' discussion LiquidDota to reintegrate into TL.net
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
SPIRED by.ASL Mafia {211640} TL Mafia Community Thread
Community
General
US Politics Mega-thread Things Aren’t Peaceful in Palestine Russo-Ukrainian War Thread Men's Fashion Thread Sex and weight loss
Fan Clubs
The herO Fan Club! The Happy Fan Club!
Media & Entertainment
[Manga] One Piece Series you have seen recently... Anime Discussion Thread Movie Discussion!
Sports
2024 - 2026 Football Thread Formula 1 Discussion MLB/Baseball 2023 NBA General Discussion TeamLiquid Health and Fitness Initiative For 2023
World Cup 2022
Tech Support
SC2 Client Relocalization [Change SC2 Language] Linksys AE2500 USB WIFI keeps disconnecting Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List Recent Gifted Posts
Blogs
Inbreeding: Why Do We Do It…
Peanutsc
From Tilt to Ragequit:The Ps…
TrAiDoS
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1786 users

I dont understand mod

Blogs > exeexe
Post a Reply
Normal
exeexe
Profile Blog Joined January 2010
Denmark937 Posts
August 30 2010 01:19 GMT
#1
i dont understand mod. Can someone explain what it is?

mod is so much easier

8 = 2 mod 6.
And it becomes 2^n - 2^n mod 6 = 0
and therefore is divisible by 6


This is from another post where i saw it the first time and im like huh?

So imagine you have any 2 arbitrary numbers x and y and y cant be 0 and you have the following task:
Find out if x is divisable with y, how can you do that using mod?


*
And never forget, its always easier to throw a bomb downstairs than up. - George Orwell
infinitestory
Profile Blog Joined April 2010
United States4053 Posts
Last Edited: 2010-08-30 01:25:11
August 30 2010 01:24 GMT
#2
Two numbers a and b are congruent modulo x, if and only if a-b is a multiple of x. Imagine a number line. Only it's been wrapped into a number circle. In mod 6, you wrap a number circle so that 6 and 0 are in the same place, 7 and 1 are in the same place, etc. The residue of a number modulo x is its remainder when divided by x.
Translator:3
blankspace
Profile Blog Joined June 2010
United States292 Posts
August 30 2010 01:25 GMT
#3
mod is an equivalence relation. a=b mod m is equivalent to (a-b) is divisible by m.
Mod is just a notation but a useful one. To show 8^n congruent to 2^n mod 6 you can use the binomial theorem or subtract and factor.
Hello friends
brian
Profile Blog Joined August 2004
United States9628 Posts
Last Edited: 2010-08-30 01:27:20
August 30 2010 01:26 GMT
#4
lol (at the responses. need to make it simpler imo.)

take a number X
X mod Y is the remainder when x is divided by Y.

32 MOD 5
divide 32 by five
the remainder is 2
32 MOD 5 =2
palanq
Profile Blog Joined December 2004
United States761 Posts
Last Edited: 2010-08-30 01:41:17
August 30 2010 01:39 GMT
#5
right so if

x mod y

equals zero, then x* is divisible by y*

edit: -_-;;
time flies like an arrow; fruit flies like a banana
infinitestory
Profile Blog Joined April 2010
United States4053 Posts
Last Edited: 2010-08-30 01:42:08
August 30 2010 01:40 GMT
#6
EDIT: ok
Translator:3
Axiom0
Profile Joined March 2010
63 Posts
August 30 2010 01:51 GMT
#7
The reason why you don't understand the quoted part is because it's unjustified and skips a lot of steps. If you don't understand what he posted it's because its just sloppy mathematics and not really a fault on your part.

Also mod is technically not an operator like Gene described it as, although it is sometimes used that way. It's really an equivalence relation as blankspace described.

As an answer to your other question. If x = 0 mod y, then y divides x-0 by definition (so y divides x). Using mod doesn't really give you much in that situation.
Xeofreestyler
Profile Blog Joined June 2005
Belgium6772 Posts
August 30 2010 02:02 GMT
#8
for some reason I really like modulo
maybe because it is used in arnold's cat map
http://en.wikipedia.org/wiki/Arnold's_cat_map
Graphics
Emperor_Earth
Profile Blog Joined April 2009
United States824 Posts
August 30 2010 02:04 GMT
#9
% = modulus (mod)

If 10/3 has a remainder of 1, then 10 % 3 = 1.

10 / 3 = 3 R1 :. 10 % 3 = 1
4 / 2 = 2 R0 :. 4 % 2 = 0
6 / 200 = 0 R6 :. 6 % 200 = 6
@Emperor_Earth ------- "Amat Victoria Curam."
infinitestory
Profile Blog Joined April 2010
United States4053 Posts
August 30 2010 02:15 GMT
#10
On August 30 2010 10:51 Axiom0 wrote:
The reason why you don't understand the quoted part is because it's unjustified and skips a lot of steps. If you don't understand what he posted it's because its just sloppy mathematics and not really a fault on your part.

I wouldn't go so far as to call it "unjustified." Proving a = b (mod m) implies a^n = b^n (mod m) is not difficult in any way, although it is true that 8 and 2 are not interchangeable mod 6. x^8 and x^2 are not always congruent mod 6, for example.

On August 30 2010 10:51 Axiom0 wrote:
Also mod is technically not an operator like Gene described it as.

sidenote: modulo (%) is an operator in computer science only.

Translator:3
hypercube
Profile Joined April 2010
Hungary2735 Posts
August 30 2010 02:54 GMT
#11
A lot of the answers use language that is probably confusing to anyone who doesn't already know what mod is.

2 mod 6 just means the remainder of 2 diveded by 6.

i.e
5 mod 3 = 2
7 mod 2 = 1

etc.

Find out if x is divisable with y, how can you do that using mod?


x is divisible by y if x mod y = ?

+ Show Spoiler +
x mod y = 0


The important facts about modulus that it's in some sense "compatible" with addition and multiplication. I.e if you know the values of a mod c and b mod c you also know the values of (a+b) mod c and ab mod c. You don't actually need to know the exact values of a and b just their remainder when divided by c.

Specifically, you just add up (or multiply) the remainders and take their remainder again and you've got the remainder of the sum (or multiple).



"Sending people in rockets to other planets is a waste of money better spent on sending rockets into people on this planet."
exeexe
Profile Blog Joined January 2010
Denmark937 Posts
August 30 2010 06:29 GMT
#12
So what is like

x^2 mod x^(1/2) = x^2 mod sqrt(x) = ?
And never forget, its always easier to throw a bomb downstairs than up. - George Orwell
Severedevil
Profile Blog Joined April 2009
United States4839 Posts
August 30 2010 23:48 GMT
#13
On August 30 2010 15:29 exeexe wrote:
So what is like

x^2 mod x^(1/2) = x^2 mod sqrt(x) = ?

If sqrt(x) is a positive integer, the answer is 0, because x^2 = (sqrt(x))(sqrt(x))(x) which is a multiple of sqrt(x).

However, mod is only an operator if you're programming. If you're doing math, you instead say that "x^2 and 0 are congruent [under] mod sqrt(x)." That way, you can also assert that 31 is congruent to 6 under mod 5, because they both have the same remainder (1) when divided by 5.

The notation is "31 = 6 (mod 5)", except instead of "=", you have a similar sign with three horizontals lines that means "is congruent to" instead of "is equal to".
My strategy is to fork people.
love1another
Profile Blog Joined December 2009
United States1844 Posts
August 30 2010 23:51 GMT
#14
Mods are super useful if you want to map something from space of size n to a space of size m.

The easiest way to do such a one-to-one mapping is just to pick i in n and map it to i%m in the space of size m.
"I'm learning more and more that TL isn't the place to go for advice outside of anything you need in college. It's like you guys just make up your own fantasy world shit and post it as if you've done it." - Chill
mieda
Profile Blog Joined February 2010
United States85 Posts
Last Edited: 2010-08-31 00:56:51
August 31 2010 00:43 GMT
#15
In general in mathematics (or more specifically abstract algebra) you can impose additional relations to a given algebraic structure (rings, fields, modules, etc..) by "modding" out by certain sub-spaces (ideals, 0, submodules, subspaces, etc..).

In this case when we "mod n" for an integer n (can actually be n = 0 here) we're imposing the relation the 0 = n on the (ring of) integers and all the other relations that follow by given algebraic structures on them (in this case + and *, so all multiples of n are 0, and this is an equivalence relation).

For another example where this "mod" idea is useful, just consider construction of the complex numbers. We want to enlarge the field of reals to have an element "i" such that i^2 = -1 and it's consistent with all field axioms. One way to do this is direct, but a more slick way is to just consider it as R[x]/(x^2 + 1). Here you're "modding" out the polynomial ring R[x] (R here is the field of reals) by (x^2 + 1), an ideal of R[x] generated by x^2 + 1. The image of element x in R[x]/(x^2 + 1) acts as "i," since we're imposing the condition that x^2 + 1 = 0, or x^2 = -1. Furthermore one can easily check that the natural map R -> R[x]/(x^2 + 1) is injective and is a homomorphism (in fact the kernel is an ideal so it's either 0 or R since R is a field, and clearly it's not all of R, so is 0 ideal) and you can verify that all algebraic structures are well-defined whenever you do this, and that's one value of abstracting concepts.

That's one direction of generalizing "mod" for integers. You can certainly consider it as an operation, but regarding it as an equivalence relation seems to give much more interesting and deep generalizations in mathematics (building idea in abstract algebra!) .

"mod" is an idea in mathematics where you impose certain more structures to get other (hopefully more interesting!) structures.
GrayArea
Profile Blog Joined December 2007
United States872 Posts
August 31 2010 01:26 GMT
#16
What Math is this from? I have taken up to Calculus 2, and I've never seen "mod" before.
Kang Min Fighting!
mieda
Profile Blog Joined February 2010
United States85 Posts
Last Edited: 2010-08-31 01:44:41
August 31 2010 01:33 GMT
#17
On August 31 2010 10:26 GrayArea wrote:
What Math is this from? I have taken up to Calculus 2, and I've never seen "mod" before.


You can first get introduced to "mod" stuff for integers in any intro text in *elementary* number theory (as opposed to modern number theory, which uses just about every branch of mathematics including algebraic geometry, algebraic topology (and topology ofc), combinatorics, etc..). The "mod" stuff for general algebraic structures can be found in any intro to abstract algebra texts (such as Dummit & Foote, Lang, Hungerford, etc..).

For the elementary number theory part, there are many good texts that I used when I was in high school (while preparing for IMO, I made to MOSP and did well enough to be in black team but they wouldn't let me progress further because I did not have U.S. Citizenship at the time, much less a green card T_T) such as Ivan & Zuckermann (in fact this is the only intro elementary number theory book I read cover to cover and is said to be the "canonical" choice!)

Here's one of the books that I read cover to cover in high school which inspired me to major in math in college: http://www.amazon.com/Introduction-Theory-Numbers-Ivan-Niven/dp/0471625469/ref=sr_1_1?ie=UTF8&s=books&qid=1283218586&sr=8-1

It also has many excellent problems, some of which were proposed for IMO longlists (back in the days) I believe.

With that said, this is still elementary part of number theory. That is to say, classical 19th century stuff. Nowadays, thanks to Wiles and Taylor (who happens to be my advisor), modern number theory looks more like a fusion of algebraic geometry (with Grothendieck revolution - schemy stuff, for those of you who know what schemes / sheaf cohomology are ^^) and algebraic number theory mixed with galois representations, modular (and more generally automorphic) forms and representations.

If you'd like a little taste of how number theory has developed into in the last 100 years or so, Mazur has written up a nice article titled "Number as Gadfly"

Here's the link (in my dropbox): http://dl.dropbox.com/u/3799589/MazurGadfly.pdf
EtherealDeath
Profile Blog Joined July 2007
United States8366 Posts
August 31 2010 01:51 GMT
#18
We same a = b mod c if for some integer k, a = ck + b. Thus, 7 = 2 mod 5 since 7 = 5*1 + 2.
You can also interpret it as c divides (a-b) implies a = b mod c. Thus 7 = 2 mod 5 since 5 divides (7-2).

Let Zc = {0, 1, 2, ..., n-1}, that is, the set of residues modulo n. In the above example where c = 5, we would have Z5 = {0,1,2,3,4}. <Zc, +, *> is a commutative ring, with addition and multiplication working as you would assume:

(a mod c) + (b mod c) = (a+b) mod c
(a mod c) * (b mod c) = (a*b) mod c

You might wonder if there is a multiplicative inverse, that is, whether for all a in Zc, there exists a b such that (ab) mod c = (ba) mod c = 1 mod c. Yes, a has a multiplicative inverse modulo c if a and c and relatively prime.

A corollary of this is that if we work in Zp where p is prime, then <Zp, +, *> is a field. That is, it has the "multiplicative identity" and "no zero divisor" properties of an integral domain as well as the "multiplicative inverse" property of a field.

And to answer your question,

So imagine you have any 2 arbitrary numbers x and y and y cant be 0 and you have the following task:
Find out if x is divisable with y, how can you do that using mod?


If x = 0 mod y, then y divides x.
mieda
Profile Blog Joined February 2010
United States85 Posts
August 31 2010 02:37 GMT
#19
Yes, the proofs that Zc (in Ethereal's notation) have well-defined + and * as such are easy to prove, for example ab = cd (mod n) if a = c (mod n) and b = d (mod n) follows directly from ab - cd = a(b - d) + d(a - c).

The fact that if a = b (mod n) then a^k = b^k (mod n) is just repeated applications of the above (and in particular 8^n = 2^n (mod 6), which solves the problem that started this all ^^).

Once basic facts are proved (that the operations are well-defined, fermat's little theorem (and more generally lagrange's theorem applied to the multiplicative structure on Zc), gcd stuff, etc.. the "elementary" number theory things) you're in a position to handle questions that are otherwise more difficult to handle without the language and the basic facts of the theory.

I can list a few well-known (hopefully interesting) exercises here where you can try doing them without resorting to aforementioned facts and perhaps you can appreciate how easy they would be once the basic facts of elementary number theory are down:

1) for p odd prime, and 1/1 + 1/2 + ... + 1/(p-1) = a/b for integers with gcd(a,b) = 1, p divides b (in fact p^2 divides b but this requires a slight more work).

2) for any integer m > 0, the sequence 2, 2^2, 2^(2^2), 2^(2^(2^2)), ... defined by a_1 = 2 and a_n = 2^(a_(n-1)) eventually leaves same remainder upon division by m. I think this is actually an old USAMO problem.

3) (p-1)! + 1 is divisible by p for any odd prime p ^^. This is near trivial once you understand the structure of Z/p (integers mod p) as being a field.

4) many more! ^^

blankspace
Profile Blog Joined June 2010
United States292 Posts
August 31 2010 04:25 GMT
#20
1. don't you mean p divides a? 1 + 1/2 + 1/3 + 1/4 = 25/12 for example.
Pair up the sum into pairs 1/x + 1/(p-x) = p/[x(p-x)]. If we group up stuff we get p(x/y) = a/b or
pxb = ay. p cannot divide y because the lcm of (1,2...p-1) does not contain p so p divides a.
Hello friends
mieda
Profile Blog Joined February 2010
United States85 Posts
Last Edited: 2010-08-31 04:42:56
August 31 2010 04:38 GMT
#21
On August 31 2010 13:25 blankspace wrote:
1. don't you mean p divides a? 1 + 1/2 + 1/3 + 1/4 = 25/12 for example.
Pair up the sum into pairs 1/x + 1/(p-x) = p/[x(p-x)]. If we group up stuff we get p(x/y) = a/b or
pxb = ay. p cannot divide y because the lcm of (1,2...p-1) does not contain p so p divides a.


Yes, i mean p divides a. Thanks for the correction.

Likewise, (in fact) p^2 divides a, but this requires one more easy pairing, which I leave up to the reader ^^
crazeman
Profile Blog Joined July 2010
664 Posts
August 31 2010 07:01 GMT
#22
On August 31 2010 10:26 GrayArea wrote:
What Math is this from? I have taken up to Calculus 2, and I've never seen "mod" before.



Mod also shows up in programming classes. Chances are, if you took one before, you've probably seen it.
Hidden_MotiveS
Profile Blog Joined February 2010
Canada2562 Posts
August 31 2010 12:54 GMT
#23
Oh... computer software. I'm ashamed I didn't see that right away.
GrayArea
Profile Blog Joined December 2007
United States872 Posts
August 31 2010 19:09 GMT
#24
On August 31 2010 10:33 mieda wrote:
Show nested quote +
On August 31 2010 10:26 GrayArea wrote:
What Math is this from? I have taken up to Calculus 2, and I've never seen "mod" before.


You can first get introduced to "mod" stuff for integers in any intro text in *elementary* number theory (as opposed to modern number theory, which uses just about every branch of mathematics including algebraic geometry, algebraic topology (and topology ofc), combinatorics, etc..). The "mod" stuff for general algebraic structures can be found in any intro to abstract algebra texts (such as Dummit & Foote, Lang, Hungerford, etc..).

For the elementary number theory part, there are many good texts that I used when I was in high school (while preparing for IMO, I made to MOSP and did well enough to be in black team but they wouldn't let me progress further because I did not have U.S. Citizenship at the time, much less a green card T_T) such as Ivan & Zuckermann (in fact this is the only intro elementary number theory book I read cover to cover and is said to be the "canonical" choice!)

Here's one of the books that I read cover to cover in high school which inspired me to major in math in college: http://www.amazon.com/Introduction-Theory-Numbers-Ivan-Niven/dp/0471625469/ref=sr_1_1?ie=UTF8&s=books&qid=1283218586&sr=8-1

It also has many excellent problems, some of which were proposed for IMO longlists (back in the days) I believe.

With that said, this is still elementary part of number theory. That is to say, classical 19th century stuff. Nowadays, thanks to Wiles and Taylor (who happens to be my advisor), modern number theory looks more like a fusion of algebraic geometry (with Grothendieck revolution - schemy stuff, for those of you who know what schemes / sheaf cohomology are ^^) and algebraic number theory mixed with galois representations, modular (and more generally automorphic) forms and representations.

If you'd like a little taste of how number theory has developed into in the last 100 years or so, Mazur has written up a nice article titled "Number as Gadfly"

Here's the link (in my dropbox): http://dl.dropbox.com/u/3799589/MazurGadfly.pdf

Thank you for this very detailed post! I haven't done any number theory classes which explain my ignorance on mods. Also, thanks for posting the article. I skimmed through it, but it's way too heavy for me and over my head so I passed it up haha. Anyway, good luck with your studies!
Kang Min Fighting!
exeexe
Profile Blog Joined January 2010
Denmark937 Posts
Last Edited: 2010-08-31 19:32:44
August 31 2010 19:32 GMT
#25
Thank you for all your great replies, and based on your replies i have made my decision. I will continue to use "/" instead of "mod". "/" is just much more useful and gives more useful results.
And never forget, its always easier to throw a bomb downstairs than up. - George Orwell
Normal
Please log in or register to reply.
Live Events Refresh
Next event in 17h 13m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
UpATreeSC 273
BRAT_OK 83
JuggernautJason59
Railgan 15
MindelVK 10
StarCraft: Brood War
Britney 25231
Calm 4500
Rain 2240
Flash 1018
EffOrt 510
Larva 488
Mini 463
Stork 341
Light 314
firebathero 231
[ Show more ]
PianO 166
hero 147
Snow 138
Soulkey 119
Hyun 111
Barracks 52
Rush 47
Killer 34
Free 30
scan(afreeca) 16
Movie 14
NaDa 6
Dota 2
qojqva3608
Counter-Strike
fl0m957
Heroes of the Storm
XaKoH 98
Other Games
Beastyqt527
Mlord444
B2W.Neo423
crisheroes199
KnowMe160
C9.Mang0150
Hui .124
ArmadaUGS97
ceh923
Dewaltoss22
Organizations
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 17 non-featured ]
StarCraft 2
• intothetv
• LaughNgamezSOOP
• AfreecaTV YouTube
• sooper7s
• Migwel
• Kozan
• IndyKCrew
StarCraft: Brood War
• blackmanpl 32
• Michael_bg 5
• 80smullet 2
• STPLYoutube
• ZZZeroYoutube
• BSLYoutube
Dota 2
• C_a_k_e 3477
League of Legends
• TFBlade866
Other Games
• imaqtpie1254
• Shiphtur336
Upcoming Events
Wardi Open
17h 13m
CranKy Ducklings
1d 16h
Safe House 2
1d 23h
Sparkling Tuna Cup
2 days
Safe House 2
2 days
Tenacious Turtle Tussle
6 days
The PondCast
6 days
Liquipedia Results

Completed

Acropolis #4 - TS2
WardiTV TLMC #15
HCC Europe

Ongoing

BSL 21 Points
ASL Season 20
CSL 2025 AUTUMN (S18)
C-Race Season 1
IPSL Winter 2025-26
EC S1
Thunderpick World Champ.
CS Asia Championships 2025
ESL Pro League S22
StarSeries Fall 2025
FISSURE Playground #2
BLAST Open Fall 2025
BLAST Open Fall Qual
Esports World Cup 2025
BLAST Bounty Fall 2025
BLAST Bounty Fall Qual
IEM Cologne 2025

Upcoming

SC4ALL: Brood War
BSL Season 21
BSL 21 Team A
RSL Offline Finals
RSL Revival: Season 3
Stellar Fest
SC4ALL: StarCraft II
CranK Gathers Season 2: SC II Pro Teams
eXTREMESLAND 2025
ESL Impact League Season 8
SL Budapest Major 2025
BLAST Rivals Fall 2025
IEM Chengdu 2025
PGL Masters Bucharest 2025
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Disclosure: This page contains affiliate marketing links that support TLnet.

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2025 TLnet. All Rights Reserved.