Morris County Cross Country History

Boys Team Champions: 1954 - 2023

YEAR Champion Pts. 2nd PLACE Pts. 3rd PLACE Pts. Location
2025          
2024          
2023 Mendham 59pts. Delbarton 114pts. Randolph 121pts. Greystone
2022 Chatham 61pts. Delbarton 64pts. Mendham 114pts. Greystone
2021 Chatham 62pts. Morristown 99pts. Mendham 103pts. Greystone
2020 COVID            
2019 Mendham 56pts. Chatham 88pts. Morristown 101pts. Greystone
2018 Mendham 38pts. Morris Hills 78pts. Morristown 100pts. Greystone
2017 Mendham 51pts. Morris Hills 75pts. Chatham 95pts. Greystone
2016 Morris Hills 57pts. Delbarton 89pts. Chatham 103pts. Greystone
2015 Morristown 67pts. Mendham 93pts. Chatham 111pts. Greystone
2014 Chatham 551pts. Mendham 92pts. Morristown 101pts. Greystone
2013 Morristown 65pts. Delbarton 85pts. Chatham 93pts. Greystone
2012 Morristown 65pts. Mendham 85pts. Morris Hills 91pts. Greystone
2011 Mendham 55pts. Morris Hills 67pts. Delbarton 118pts. Greystone
2010 Randolph 63pts. Mendham 95pts. Mountain Lakes 96pts. Greystone
2009 Randolph 56pts. Mendham 72pts. Delbarton 151pts. Kraft-Nabisco
2008 Morris Hills 42pts. Mendham 61pts. Randolph 125pts. Kraft-Nabisco
2007 Morris Hills 55pts. Delbarton 95pts. Mendham 96pts. Kraft-Nabisco
2006 Chatham 89pts. Morris Hills 103pts. Randolph 126pts. Warinanco Park
2005 Morris Hills 20pts. Roxbury 119pts. Morristown 135pts. Kraft-Nabisco
2004 Morris Hills 42pts. Morristown 68pts. Delbarton 98pts. Kraft-Nabisco
2003 Morris Hills 65pts. Delbarton 68pts. Morristown 105pts. Kraft-Nabisco
2002 Delbarton 50pts. Randolph 69pts. Morristown 87pts. Nabisco
2001 Mount Olive 79pts. Delbarton 82pts. Morristown 85pts. Nabisco
2000 Delbarton 67pts. Mount Olive 85pts. Morristown 122pts. Nabisco
1999 Morris Hills 69pts. Morristown 72pts. Delbarton 97pts. Nabisco
1998 Morris Hills 47pts. Morristown 65pts. Delbarton 117pts. Nabisco
1997 Morristown 34pts. Randolph 67pts. Delbarton 94pts. Loantaka
1996 Randolph 60pts. Morristown 70pts. Delbarton 99pts. Nabisco
1995 Morris Hills 60pts. Randolph 61pts. Morristown 105pts. Nabisco
1994 Morris Hills 57pts. Jefferson 84pts. Morris Knolls 119pts. Nabisco
1993 Morris Hills 55pts. Delbarton 73pts. West Morris 117pts. Nabisco
1992 Whippany Park 51pts. West Morris 63pts. Delbarton 113pts. Nabisco
1991 Whippany Park 56pts. Delbarton 83pts. Mount Olive 117pts. Nabisco
1990 Morristown 72pts. Morris Hills 104pts. Delbarton 114pts. Nabisco
1989 Delbarton 82pts. Morristown 91pts. West Morris 129pts. Nabisco
1988 Delbarton 58pts. Morristown 85pts. Morris Knolls 123pts. Nabisco
1987 Morristown 55pts. Delbarton 93pts. Morris Knolls 161pts. Nabisco
1986 Morristown 51pts. Morris Catholic 111pts. Delbarton 142pts. Nabisco
1985 Morristown 89pts. Jefferson 124pts. Delbarton 182pts. Loantaka
1984 Morris Hills 65pts. Morristown 135pts. Morris Knolls 143pts. Loantaka
1983 Morris Hills 87pts. Morristown 95pts. Delbarton 121pts. Loantaka
1982 Morristown 71pts. Parsippany 78pts. Randolph 131pts. Nabisco
1981 Delbarton 26pts. Parsippany 47pts. Morristown 88pts. Nabisco
1980 Delbarton 44pts. Morristown 74pts. Parsippany 111pts. Nabisco
1979 Delbarton 58pts. Morristown 69pts. Morris Catholic 125pts. Nabisco
1978 Morris Catholic 50pts. Morristown 136pts. Delbarton 148pts. Nabisco
1977 Morris Catholic 43pts. Morristown 108pts. Delbarton 115pts. Nabisco
1976 Morristown 37pts. Morris Catholic 59pts. Morris Hills 82pts. Nabisco
1975 *Morris Catholic 24pts. Delbarton 51pts. Dover 111pts. Delbarton School
1975 *Morris Hills 33pts. Morristown 62pts. Parsippany 94pts. Delbarton School
1974 Morris Catholic 30pts. Parsippany Hills 89pts. Morris Hills 107pts. Drew
1973 Morris Catholic 58pts. Morris Hills 58pts. Parsippany Hills 109pts. Allied
1972 Parsippany Hills 48pts. Whippany Park 94pts. Parsippany 125pts. Allied
1971 Parsippany Hills 51pts. Morris Hills 62pts. Delbarton 115pts. Allied
1970 Morristown 70pts. Dover 96pts. Parsippany Hills 97pts. Allied
1969 Morristown 49pts. West Morris 96pts. Morris Hills 117pts. Allied
1968 Morristown 48pts. Dover 78pts. Morris Hills 90pts. Allied
1967 Morristown 41pts. Parsippany 55pts. Morris Hills 142pts. Rockaway River
1966 Parsippany 57pts. Morristown 64pts. Randolph 116pts. Rockaway River
1965 Parsippany 58pts. Kinnelon 71pts. Hanover Park 85pts. Rockaway River
1964 Parsippany 67pts. Hanover Park 79pts. Morristown 98pts. Rockaway River
1963 Hanover Park 21pts. Parsippany 51pts. Morris Hills 85pts. Rockaway River
1962 Hanover Park 23pts. Morris Hills 95pts. Morristown 105pts. Picatinny Arsenal
1961 Mountain Lakes 50pts. Hanover Park 65pts. Chatham 75pts. Rockaway River
1960 Morris Hills 56pts Butler 63pts. Mountain Lakes 85pts. Rockaway River
1959 Morris Hills 59pts. Mountain Lakes 63pts. Hanover Park 92pts. Rockaway River
1958 Mountain Lakes 28pts. Morris Hills 65pts. Hanover Park 77pts. Rockaway River
1957 Mountain Lakes 27pts. Morris Hills 63pts. Hanover Park 98pts. Rockaway River
1956 Mountain Lakes 25pts. Morris Hills 56pts. Boonton 67pts. Rockaway River
1955 Morris Hills 24pts Boonton 74pts. Mountain Lakes 79pts. Rockaway River
1954 Morris Hills 20pts. Boonton 64pts. Dover 69pts. Rockaway River

* In 1975 the race was held at Delbarton and the County was divided into 2 Divisions
based on size.  The Delbarton course was declared "too dangerous to run 22 teams".
At the 1975 Meet of Champions Morris Catholic defeated Morris Hills by a score of
129-130


Boys Top Five Individuals: 1954 - 2023
 

2024 1         2023 1 Luke Schagelin Morris Knolls 15:42
  2           2 Tommy Jendryks Mendham 15:49
  3           3 Nicholas Falcone Morris Hills 15:54
  4           4 Alex Pelov Montville 15:57
  5           5 Justin Bongiovanni Mendham 16:00
                     
2022 1 Collin Boler Delbarton 15:03   2021 1 Collin Boler Delbarton 15:58
  2 Brian Boler Delbarton 15:36     2 Brendon Chen West Morris 16:02
  3 RyanBeegle Chatham 15:46     3 Brian Boler Delbarton 16:12
  4 Alex Pelov Montville 16:03     4 Sam Ellis Chatham 16:15
  5 Callahan Porter Mendham 16:21     5 Adam Angelone Madison 16:25
                     
2020 1         2019 1 Jack Jennings Mendham 15:18
  2           2 Luke Lusskin West Morris 15:58
  3           3 James keaney Randolph 16:00
  4           4 Ryan Kear Mendham 16:03
  5           5 Harrison Vives Mendham 16:04
                     
2018 1 Jack Stanley Mendham 15:09   2017 1 Colin Logsdon Chatham 15:30
  2 Jared Cooper Mountain Lakes 15:25     2 Jack Stanley Mendham 15:33
  3 Jack Jennings Mendham 15:26     3 Jack Jennings Mendham 15:33
  4 Patrick Mullen Morristown 15:27     4 Bo Raadam Chatham 15:34
  5 Luke Lusskin West Morris 15:46     5 Jared Cooper Mountain Lakes 15:37
                     
2016 1 Eric Clay Morristown 15:37   2015 1 Evan Quinn Morristown 15:53
  2 Joey DeFeo Delbarton 15:44     2 Eric Clay Morristown 16:04
  3 Alexander Pai Morris Hills 15:52     3 Ben Edwards Morristown 16:07
  4 Jared Cooper Mountain Lakes 15:59     4 Jack Stanley Mendham 16:13
  5 Joshua Holihan Randolph 15:59     5 Jenks Hehmeyer Montville 16:13
                     
2014 1 Peter Ehman Mendham 15:46   2013 1 Josiah Hanko Trinity Christian 15:24
  2 Jordan Earlwine Delbarton 16:12     2 Chris Luciano Mountain Lakes 15:40
  3 Jenks Hehmeyer Montville 16:16     3 Peter Ehman Mendham 15:57
  4 Will Mitchell Chatham 16:26     4 Will Mitchell Chatham 16:01
  5 Connor Riely Madison 16:26     5 Ben DeVenezia Mountain Lakes 16:03
                     
2012 1 Travis Ellis Morris Hills 15:49   2011 1 Stephen Lewandowski Mountain Lakes 15:28
  2 Josiah Hanko Trinity Christian 15:52     2 Justin Naselli Mendham 16:04
  3 Justin Naselli Mendham 15:56     3 Jack Mahoney Madison 16:17
  4 Peter Ehman Mendham 15:58     4 Sam Knipper Randolph 16:22
  5 Ben DeVenezia Mountain Lakes 16:13     5 Travis Ellis Morris Hills 16:33
                     
2010 1 Morgan Pearson Delbarton 15:29   2009 1 Patrick Schellberg Delbarton 16:38
  2 Collin Frost Randolph 15:50     2 Collin Frost Randolph 17:04
  3 Stephen Lewandowski Mountain Lakes 15:58     3 Morgan Pearson Dekbarton 17:09
  4 Peter Ehman Mendham 16:03     4 Stephen Lewandowski Mountain Lakes 17:24
  5 Clay Petty Mendham 16:11     5 Mike Roma Randolph 17:27
                     
2008 1 Sean Pohorence Morris Hills 16:08   2007 1 Sean Pohorence Morris Hills 16:55
  2 Mike Franklin Mendham 16:18     2 Mike Franklin Mendham 17:01
  3 Liam Tansey Morris Hills 16:41     3 Tyler Hendrickson Morris Hills 17:15
  4 Patrick Schellberg Delbarton 16:48     4 Edwin Torres Jefferson 17:15
  5 Ryan Savercool Mendham 16:54     5 Steve Berstler West Morris 17:28
                     
2006 1 Tom  Poland Delbarton 16:11   2005 1 Ben Massam Chatham 15:59
  2 Kyle Soloff Morris Hills 16:14     2 Kyle Soloff Morris Hills 16:31
  3 James Grimes Chatham 16:20     3 Jayson Decker Morris Hills 16:33
  4 Andrew Hanko Trinity Christian 16:32     4 Brandon Rodkewitz Morris Hills 16:42
  5 Zach Bahor Randolph 16:49     5 Ryan Uhrynowich Morris Hills 16:57
                     
2004 1 Korey Edwards Parsippany Hills 16:19   2003 1 Dan Whitt Delbarton 16:58
  2 Geoff McGrane Randolph 16:47     2 Jeremy Zagorski Parsippany Hills 17:13
  3 Jayson Decker Morris Hills 16:54     3 Hany Abdallah Madison 17:20
  4 Brandon Rodkewitz Morris Hills 17:11     4 Chris Beyrent Morristown 17:23
  5 Ben Massam  Chatham 17:13     5 BenMassam Chatham 17:34
                     
2002 1 Paul Rosa Delbarton 16:38   2001 1 Gray Reinhard Morristown 16:44
  2 Cesar Cordero Dover 16:46     2 Jerry Whitaker Mount Olive 16:49
  3 David Dos Santos Randolph 16:56     3 Cesar Cordero Dover 17:03
  4 Shawn Shokry Hanover Park 17:03     4 Paul Rosa Delbarton 17:09
  5 Mike LaQuaglia Delbarton 17:10     5 Andrew Sabella Mount Olive 17:10
                     
2000 1 Brian Boyett Parsippany Hills 16:15 1999 1 Patrick Slattery Mount Olive 16:45
  2 Patrick Slattery Mount Olive 16:25 2 Jonathan Pereira Parsippany 16:57
  3 Joe Jacobs Butler 16:40 3 Stephen Roberts Mount Olive 17:03
  4 Gray Reinhard Morristown 16:49 4 Brian Boyett Parsippany Hills 17:08
  5 Lou Albano Pequannock 16:54 5 John Mackey Morris Hills 17:16
1998 1 Brian Boyett Parsippany Hills 16:24   1997 1 Steve Slattery Mount Olive 16:44
  2 Brian Saliter Whippany Park 16:35     2 Tom DelSordo Morristown 17:01
  3 Patrick Slattery Mount Olive 16:36     3 Justin Frenzel Morristown 17:21
  4 Richard Mackey Morris Hills 16:48     4 Brian Saliter Whippany Park 17:31
  5 Ken Goglas Randolph 16:57     5 Kian Messkoub Morristown 17:33
                     
1996 1 Steve Slattery Mount Olive 16:07   1995 1 Steve Slattery Mount Olive 16:27
  2 Tom DelSordo Morristown 16:28     2 Tom DelSordo Morristown 16:31
  3 Jim Steinemann Delbarton 17:13     3 Drew Pronko Morris Knolls 16:52
  4 Andrew Adams Randolph 17:13     4 Forest Jones Morris Hills 17:01
  5 Mike Lis Dover 17:19     5 Justin Frenzel Morristown 17:09
                     
1994 1 Steve Slattery Mount Olive 16:38   1993 1 John Korch Hanover Park 17:10
  2 Josh McClymont Mendham 16:53     2 Steve Seeback Jefferson 17:16
  3 Drew Pronko Morris Knolls 17:01     3 Josh McClymont Mendham 17:31
  4 Mike McCurdy Morris Hills 17:08     4 Scott McDonnell Mount Olive 17:36
  5 Steve Seeback Jefferson 17:10     5 Angel Torres Dover 17:41
                     
1992 1 Scott Wolckenhauer West Morris 16:42   1991 1 Brian Walsh Chatham 16:06
  2 Jeff Staple Morris Catholic 16:49     2 Scott Wolckenhauer West Morris 16:57
  3 Bryan Hurst West Morris 16:57     3 Mark Hanna Delbarton 17:04
  4 Dave Arico Roxbury 17:11     4 Josh Keena Whippany Park 17:05
  5 Mike Conboy Delbarton 17:18     5 Jamie Weinberg Whippany Park 17:05
                     
1990 1 Brian Walsh Chatham 16:26   1989 1 Craig Spence Delbarton 16:49
  2 Jason Vigilante Morristown 16:43     2 Kevin Horty Delbarton 16:52
  3 Chad Beer Morris Hills 16:50     3 Brian Walsh Chatham 16:53
  4 John O'Leary Morris Hills 17:09     4 Brian Norwell Mendham 16:59
  5 Don Harris Morristown 17:13     5 Chad Beer Morris Hills 17:00
                     
1988 1 Rob Fallia Delbarton 16:33   1987 1 Rob Fallia Delbarton 16:44
  2 R.J. Ryerson Morris Catholic 16:42     2 Bill Moran Morris Knolls 16:45
  3 Craig Spence Delbarton 16:45     3 John Payne Montville 16:57
  4 Brian Norwell Mendham 16:51     4 Jon Perry Morristown 16:58
  5 Jason Vigilante Morristown 16:58     5 John Mangler Morris Hills 17:00
                     
1986 1 Dennis Molnar Morristown 16:42   1985 1 Eric Sturtevant Morristown 16:05
  2 Todd Wells Delbarton 16:58     2 Andy Ball Pequannock 16:14
  3 Kevin Bree Jefferson 17:03     3 Dennis Molnar Morristown 16:30
  4 Ray Pugsley Mendham 17:12     4 Bob Shields Parsippany Hills 16:34
  5 Chris Schumm Chatham Twp 17:18     5 Joe Livorsi Morris Hills 16:50
                     
1984 1 John Hayes Randolph 16:22   1983 1 John Hayes Randolph 16:10
  2 Eric Sturtevant Morristown 16:41     2 Andy Ball Pequannock 16:26
  3 Bob Shields Parsippany Hills 16:44     3 Dave Greenblatt Dover 16:39
  4 Andy Ball Pequannock 16:44     4 Tom Metz Morris Knolls 16:42
  5 Todd Schecktman Mount Olive 16:52     5 Bill Wallace Parsippany 16:49
                     
1982 1 Rich Molisso Parsippany 16:16   1981 1 Lou Ross Delbarton 16:32
  2 Chris Mason Morristown 16:24     2 Kevin Walsh Delbarton 16:32
  3 Bill Wallace Parsippany 16:28     3 Chris Mason Morristown 16:35
  4 Tim Mulligan Parsippany 16:31     4 Jim Rosenhaus Delbarton 16:47
  5 Mike Thompson Morris Catholic 16:45     5 Rich Molisso Parsippany 16:54
                     
1980 1 Greg Noll Morris Catholic 15:51   1979 1 Stu Bacha Hanover Park 16:00
  2 Pat Busby Morristown 16:01     2 Greg Noll Morris Catholic 16:09
  3 Jim Rosenhaus Delbarton 16:46     3 Steve Delahunty Delbarton 16:20
  4 Kevin Walsh Delbarton 16:49     4 Dave Salerno Morristown 16:25
  5 Lou Ross Delbarton 16:51     5 Lou Ross Delbarton 16:27
                     
1978 1 John Gernert Morris Catholic 16:09   1977 1 Ned Connell Morristown 16:10
  2 David Thomson Dover 16:14     2 John Gernert Morris Catholic 16:14
  3 Ned Connell Morristown 16:16     3 David Thomson Dover 16:19
  4 Stu Bacha Hanover Park 16:22     4 Barry Enright Delbarton 16:20
  5 Barry Enright Delbarton 16:22     5 Andy Kinney Butler 16:24
                     
1976 1 Bob Siehl Morris Hills 15:33   1975 1 Matt Leddy Delbarton 13:41
  2 Kevin Molteni Morris Catholic 15:51     2 Paul Werder Morris Catholic 14:43
  3 Mike Spano Morris Catholic 16:03     3 Kevin Molteni Morris Catholic 14:44
  4 Ned Connell Morristown 16:06     4 Kevin Foster  Morris Catholic 14:46
  5 Pete Baldridge Morristown-Beard 16:16     5 Bill Mullarney Delbarton 14:49
                     
1975 1 Paul Drescher Morris Hills 14:08   1974 1 Bob Siehl Montville 15:57
  2 Neil Kozlowski Randolph 14:20     2 Paul Werder Morris Catholic 16:05
  3 John Gaudioso Morristown 14:24     3 Dave Lamm Morris Catholic 16:07
  4 Bob Siehl Morris Hills 14:27     4 Martin Moratz Morris Catholic 16:09
  5 Bryan Hesse Parsippany Hills 14:28     5 John Enright Morristown 16:10
                     
1973 1 Rowley Jackson Morristown 15:48   1972 1 George Moore Morris Knolls 12:17
  2 John Enright Morristown 15:51     2 Andy Verhalen Delbarton 12:24
  3 Bob Siehl Montville 15:52     3 Frank Kirkland Parsippany Hills 12:31
  4 Dave Lamm Morris Catholic 15:53     4 Scott Sheehy Parsippany Hills 12:32
  5 Thad Noll Morris Catholic 15:54     5 Bill Cleffi Morris Hills 12:36
                     
1971 1 Frank Fonseca Morris Hills 11:51   1970 1 Todd Benson Dover 12:22
  2 Dan Slobodzian Jefferson 11:57     2 James Barnes Morris Knolls 12:24
  3 Vic Brajer Morris Hills 12:02     3 Frank Fonseca Morris Hills 12:25
  4 Frank Kirkland Parsippany Hills 12:15     4 Robert Healy Delbarton 12:30
  5 Steve Wilson Delbarton 12:16     5 George Cleffi Morris Hills 12:38
                     
1969 1 Rich Gordon Morristown 13:21   1968 1 Rich Gordon Morristown 12:32
  2 Todd Benson Dover 13:26     2 Pat White Morristown 12:45
  3 Bill Wolf Bayley Ellard 13:28     3 Paul Hoyt Morristown 12:46
  4 Tom Markey Morristown 13:33     4 Todd Benson Dover 12:47
  5 James Barnes Morris Knolls 13:43     5 Chuck Roque Dover 13:06
                     
1967 1 Tim Steel Morris Knolls 11:33   1966 1 Jim Tlack Parsippany 11:35
  2 Phil Reminski Parsippany 11:43     2 Tim Steel Morris Knolls 11:41
  3 Dave Dugan Morristown 11:45     3 Frank Ellis Parsippany 11:42
  4 Dave Durkhardt Pequannock 11:51     4 Mike Tonkyn West Morris 11:45
  5 William Whitehead Morristown 11:52     5 Bruce Langenkamp Randolph 11:47
                     
1965 1 Kevin King Butler 11:52   1964 1 Rich Patterson Hanover Park 11:45
  2 Robert Eberle Morristown 12:00     2 Wayne Zuckerman Parsippany 11:50
  3 Richard Patterson Hanover Park 12:10     3 Kevin King Butler 11:52
  4 Grover Kemble Parsippany 12:10     4 Fred Gross Randolph 11:53
  5 Glen Parker Kinnelon 12:18     5 Kim Black Parsippany 11:56
                     
1963 1 Jack Endrikat  Hanover Park 11:25   1962 1 Jack Endrikat  Hanover Park 12:23
  2 Lee Portine Parsippany 11:34     2 Lee Portine Parsippany 12:41
  3 Roger Anderson Hanover Park 11:50     3 Keith Meekins Chatham 12:47
  4 Richard Patterson Hanover Park 11:56     4 James Santomier Hanover Park 12:53
  5 John Kitka Hanover Park 12:05     5 Roger Anderson Hanover Park 12:56
                     
1961 1 Jack Endrikat  Hanover Park 12:05   1960 1 Tim Wilson Parsippany 11:45
  2 Lee Portine Parsippany 12:13     2 Herb Germann Butler 11:58
  3 Louis Guida Morris Hills 12:21     3 Richard Mantione Hanover Park 12:00
  4 Steve O'Donnell Mountain Lakes 12:23     4 Jan Kristiansen Morris Hills 12:10
  5 Jeff Kern Boonton 12:24     5 James Jamieson Chatham 12:30
                     
1959 1 Ray Essig Dover 12:15   1958 1 Peter Hoey Mountain Lakes 12:04
  2 Richard Mantione Hanover Park 12:19     2 Don Growley Hanover Park 12:06
  3 Tim Wilson Parsippany 12:30     3 Arnold Brunzlick Mountain Lakes 12:14
  4 Arnold Brunzlick Mountain Lakes 12:40     4 Ray Essig Dover 12:34
  5 John Arehart Mountain Lakes 12:43     5 Bob Beneshan Morris Hills 12:41
                     
1957 1 Peter Hoey Mountain Lakes 12:27   1956 1 Peter Hoey Mountain Lakes 12:31
  2 Arnold Brunzlick Mountain Lakes 12:35     2 Arnold Brunzlick Mountain Lakes 12:35
  3 Don Growley Hanover Park 12:38     3 Alan Rogers Mountain Lakes 13:15
  4 Carmen Lunetta Delbarton 13:05     4 Frank McCabe Mountain Lakes 13:27
  5 Bob Beneshan Morris Hills 13:07     5 Jon Mendres Boonton 13:30
                     
1955 1 Bob Skutka Morris Hills 12:23   1954 1 Tom Skutka Morris Hills 12:13
  2 Stuart White Mountain Lakes 12:51     2 Nick Neighbor Morris Hills NT
  3 Nick Neighbor Morris Hills 12:54     3 Bob Skutka Morris Hills NT
  4 Fred Puhlfuerst Morris Hills 13:05     4 Dennis Carey Boonton NT
  5 Wayne Valentine Dover 13:15     5 Eldridge Holly Dover NT