Recent Game Results

Height of bar is margin of victory • Mouseover bar for details • Click for box score • Grouped by Month

Team Statistics

Team Statistics Table
Team AvAge GP W L OL PTS PTS% GF GA SRS SOS GF/G GA/G PP PPO PP% PPA PPOA PK% SH SHA S S% SA SV% PDO SO
Buffalo Sabres27.58243291096.5852402280.15-0.042.932.785427919.355130083.0021326908.92514.909100.26
League Average27.58241311092.5602242245229118.025229181.987724929.02492.9106

Team Analytics (at 5-on-5)

Team Analytics (at 5-on-5) Table
Team S% SV% PDO CF CA CF% xGF xGA aGF aGA axDiff SCF SCA SCF% HDF HDA HDF% HDGF HDC% HDGA HDCO%
Buffalo Sabres7.3.929100.23601354750.4162145
League Average7.2.92835203520147147

Roster

  • Age is on February 1 of given season
Roster Table
No. Player Birth Pos Age Ht Wt S/C Exp Birth Date Summary
72Luke Adamca CALW206-2206L/-RJune 18, 19903 G, 1 A, 4 P
22Brad Boyesca CAC286-0199R/-6April 17, 19825 G, 9 A, 14 P
34Chris Butlerus USD246-1196L/-2October 27, 19862 G, 7 A, 9 P
24Paul Byronca CAC215-9158L/-RApril 27, 19891 G, 1 A, 2 P
19Tim Connollyus USC296-1190R/-9May 7, 198113 G, 29 A, 42 P
37Matt Ellisca CALW296-0208L/-4August 31, 19810 G, 0 A, 0 P
63Tyler Ennisca CAC215-9161L/-1October 6, 198920 G, 29 A, 49 P
1Jhonas Enrothse SEG225-10175-/L1June 25, 19889-2-2, 2.73 GAA
28Paul Gaustadus USC286-5227L/-6February 3, 198212 G, 19 A, 31 P
42Nathan Gerbeus USC235-4176L/-2July 24, 198716 G, 15 A, 31 P
17Marc-André Gragnanica CALW236-2201L/-2March 11, 19871 G, 2 A, 3 P
25Mike Grierus USRW366-1224R/-13January 5, 19755 G, 11 A, 16 P
55Jochen Hechtde DEC336-1198L/-11June 21, 197712 G, 17 A, 29 P
36Patrick Kaletaus USRW246-1198R/-4June 8, 19864 G, 5 A, 9 P
40Patrick Lalimeca CAG366-3192-/L11July 7, 19740-5-0, 2.96 GAA
3Jordan Leopoldus USD306-1206L/-7August 3, 198013 G, 22 A, 35 P
12Mark Mancarica CARW256-3225R/-3July 11, 19851 G, 7 A, 8 P
8Cody McCormickca CAC276-2222R/-5April 18, 19838 G, 12 A, 20 P
30Ryan Millerus USG306-2168-/L7July 17, 198034-22-8, 2.59 GAA
4Steve Montadorca CAD316-0210R/-8December 21, 19795 G, 21 A, 26 P
27Shaone Morrisonnca CAD286-4210L/-7December 23, 19821 G, 4 A, 5 P
57Tyler Myersus USD206-8229R/-1February 1, 199010 G, 27 A, 37 P
20Rob Niedermayerca CAC366-2203L/-16December 28, 19745 G, 14 A, 19 P
10Mark Parrishus USRW335-11199R/-11February 2, 19770 G, 0 A, 0 P
29Jason Pominvilleca CARW285-11180R/-6November 30, 198222 G, 30 A, 52 P
52Craig Rivet (C)ca CAD366-2207R/-15September 13, 19741 G, 2 A, 3 P
9Derek Royca CAC275-9184L/-6May 4, 198310 G, 25 A, 35 P
44Andrej Sekeracs CSD246-0200L/-4June 8, 19863 G, 26 A, 29 P
21Drew Staffordus USRW256-2215R/-4October 30, 198531 G, 21 A, 52 P
23Colin Stuartus USLW286-2205L/-2July 8, 19820 G, 0 A, 0 P
26Thomas Vanekat ATLW276-2214R/-5January 19, 198432 G, 41 A, 73 P
6Mike Weberus USD236-2217L/-2December 16, 19874 G, 13 A, 17 P

Standard Stats

Upgraded
Standard Stats Table
Scoring Goals Assists Shots Ice Time Faceoffs
Rk Player Age Pos GP G A PTS +/- PIM EVG PPG SHG GWG EV PP SH SOG SPCT TSA TOI ATOI FOW FOL FO% BLK HIT TAKE GIVE Awards
1 Thomas Vanek 27 LW 80 32 41 73 2 24 21 11 0 5 24 17 0 238 13.4 383 1388:17 17:21 8 18 30.8 12 30 43 45 ASnhl-6,Byng-46
2 Drew Stafford 25 RW 62 31 21 52 13 34 20 11 0 4 13 8 0 179 17.3 275 1025:21 16:32 17 39 30.4 5 53 19 17
3 Jason Pominville 28 RW 73 22 30 52 1 15 16 5 1 2 21 9 0 215 10.2 353 1325:09 18:09 67 88 43.2 50 35 43 27 Byng-17
4 Tyler Ennis 21 C 82 20 29 49 0 30 15 5 0 1 20 9 0 210 9.5 340 1285:10 15:40 2 7 22.2 27 42 45 25 Calder-11
5 Tim Connolly 29 C 68 13 29 42 -10 20 7 6 0 3 16 13 0 151 8.6 273 1150:17 16:55 445 524 45.9 53 24 22 34
6 Tyler Myers 20 D 80 10 27 37 0 40 7 3 0 5 16 11 0 122 8.2 270 1796:38 22:27 0 0 98 107 41 67 Norris-16
7 Derek Roy 27 C 35 10 25 35 -1 16 8 2 0 1 13 12 0 89 11.2 151 683:46 19:32 245 283 46.4 16 16 37 25 Byng-32
8 Jordan Leopold 30 D 71 13 22 35 -11 36 8 5 0 1 16 6 0 134 9.7 273 1656:20 23:20 0 0 123 49 15 50
9 Paul Gaustad 28 C 81 12 19 31 7 101 11 1 0 3 17 1 1 117 10.3 191 1225:51 15:08 692 466 59.8 44 128 22 24 Selke-34
10 Nathan Gerbe 23 C 64 16 15 31 11 34 14 2 0 3 13 2 0 171 9.4 263 853:19 13:20 4 13 23.5 23 53 24 19
11 Andrej Sekera 24 D 76 3 26 29 11 34 3 0 0 0 20 6 0 88 3.4 228 1603:00 21:06 0 0 85 61 38 51
12 Jochen Hecht 33 C 67 12 17 29 4 40 12 0 0 4 15 2 0 172 7.0 277 1144:18 17:05 314 415 43.1 26 32 33 26
13 Steve Montador 31 D 73 5 21 26 16 83 5 0 0 0 20 1 0 118 4.2 222 1439:45 19:43 0 1 0.0 138 86 21 61
14 Cody McCormick 27 C 81 8 12 20 2 142 8 0 0 1 11 1 0 104 7.7 185 887:17 10:57 132 184 41.8 60 108 20 19
15 Rob Niedermayer 36 C 71 5 14 19 -8 22 5 0 0 1 14 0 0 80 6.3 121 905:53 12:46 129 147 46.7 21 37 14 23
16 Mike Weber 23 D 58 4 13 17 13 69 4 0 0 0 13 0 0 53 7.5 122 979:49 16:54 0 0 99 158 14 34
17 Mike Grier 36 RW 73 5 11 16 0 12 5 0 0 0 11 0 0 107 4.7 165 1050:39 14:24 10 21 32.3 48 112 26 22
18 Brad Boyes 28 C 21 5 9 14 2 6 3 2 0 1 7 2 0 46 10.9 64 345:55 16:28 80 105 43.2 13 11 9 11
19 Patrick Kaleta 24 RW 51 4 5 9 -4 78 3 0 1 0 5 0 0 65 6.2 93 519:31 10:11 5 7 41.7 33 126 11 9
20 Chris Butler 24 D 49 2 7 9 8 26 2 0 0 0 6 1 0 52 3.8 119 890:12 18:10 0 0 56 38 18 21
21 Mark Mancari 25 RW 20 1 7 8 -1 12 0 1 0 0 6 1 0 43 2.3 64 246:20 12:19 3 3 50.0 8 16 9 5
22 Shaone Morrisonn 28 D 62 1 4 5 -2 32 1 0 0 1 4 0 0 44 2.3 86 1002:46 16:10 0 0 86 110 14 15
23 Luke Adam 20 LW 19 3 1 4 -6 12 3 0 0 1 0 1 0 31 9.7 50 213:00 11:13 41 78 34.5 5 17 2 7
24 Marc-André Gragnani 23 LW 9 1 2 3 0 2 1 0 0 1 0 2 0 11 9.1 21 137:35 15:17 0 0 6 6 6 3
25 Craig Rivet 36 D 23 1 2 3 -5 12 1 0 0 0 2 0 0 20 5.0 41 299:55 13:02 0 0 18 19 4 15
26 Ryan Miller 30 G 66 0 2 2 0 6 0 0 0 0 0 0 3829:18 58:01 0 0 0 0 0 29 ASnhl-8,Hart-26
27 Paul Byron 21 C 8 1 1 2 0 2 1 0 0 0 1 0 0 5 20.0 7 87:38 10:57 29 42 40.8 2 18 8 2
28 Patrick Lalime 36 G 7 0 1 1 0 0 0 0 0 0 0 0 365:25 52:12 0 0 0 0 0 3
29 Mark Parrish 33 RW 2 0 0 0 -2 0 0 0 0 0 0 0 0 0 2 23:33 11:47 0 0 2 2 0 1
30 Jhonas Enroth 22 G 14 0 0 0 0 0 0 0 0 0 0 0 769:24 54:57 0 0 0 0 0 2
31 Matt Ellis 29 LW 14 0 0 0 -4 0 0 0 0 0 0 0 0 20 0.0 39 140:37 10:03 28 30 48.3 7 8 4 1
32 Colin Stuart 28 LW 3 0 0 0 1 2 0 0 0 0 0 0 0 5 0.0 11 39:28 13:09 1 1 50.0 4 3 2 0
Team Totals 82 245 413 658 37 958 189 54 2 38 108 1 2690 9.1 4689 2252 2472 47.7 1168 1505 564 693
Standard Stats Table
Scoring Goals Assists Shots Ice Time Faceoffs
Rk Player Age Pos GP G A PTS +/- PIM EVG PPG SHG GWG EV PP SH SOG SPCT TSA TOI ATOI FOW FOL FO% BLK HIT TAKE GIVE Awards
1 Marc-André Gragnani 23 D 7 1 6 7 0 4 0 1 0 0 9 11.1 16 153:16 21:54 0 0 12 8 6 5
2 Tyler Myers 21 D 7 1 5 6 -4 16 1 0 0 0 9 11.1 32 167:04 23:52 0 0 8 20 3 9
3 Thomas Vanek 27 LW 7 5 0 5 -7 0 1 4 0 0 20 25.0 36 120:12 17:10 0 1 0.0 3 5 3 1
4 Tyler Ennis 21 C 7 2 2 4 4 4 2 0 0 1 17 11.8 32 116:29 16:38 0 0 3 7 6 1
5 Jason Pominville 28 RW 5 1 3 4 0 2 1 0 0 1 9 11.1 21 79:17 15:51 4 7 36.4 4 3 0 5
6 Rob Niedermayer 36 C 7 1 3 4 1 2 1 0 0 0 8 12.5 14 98:44 14:06 29 30 49.2 7 4 1 3
7 Drew Stafford 25 RW 7 1 2 3 1 2 0 1 0 0 33 3.0 48 140:07 20:01 15 16 48.4 3 10 4 5
8 Patrick Kaleta 24 RW 6 1 2 3 -1 6 1 0 0 1 8 12.5 11 65:52 10:59 1 1 50.0 2 21 1 1
9 Tim Connolly 29 C 6 0 2 2 -2 2 0 0 0 0 12 0.0 20 114:26 19:04 63 58 52.1 7 4 4 1
10 Paul Gaustad 28 C 7 0 2 2 -6 13 0 0 0 0 14 0.0 22 135:17 19:20 73 60 54.9 8 9 3 4
11 Nathan Gerbe 23 C 7 2 0 2 -1 18 2 0 0 0 19 10.5 32 93:25 13:21 1 2 33.3 1 20 2 2
12 Chris Butler 24 D 7 0 1 1 -3 10 0 0 0 0 6 0.0 18 160:59 22:60 0 0 11 11 4 6
13 Mike Weber 23 D 7 0 1 1 -3 6 0 0 0 0 6 0.0 10 111:00 15:51 0 0 16 17 2 5
14 Andrej Sekera 24 D 2 1 0 1 -1 4 1 0 0 0 4 25.0 11 32:36 16:18 0 0 3 1 2 2
15 Derek Roy 27 C 1 0 1 1 -2 0 0 0 0 0 1 0.0 3 20:01 20:01 10 8 55.6 1 0 0 0
16 Steve Montador 31 D 6 0 1 1 -1 8 0 0 0 0 3 0.0 8 94:34 15:46 0 0 9 7 2 4
17 Ryan Miller 30 G 7 0 1 1 2 0 0 0 1 0 0 409:42 58:32 0 0 0 0 0 1
18 Cody McCormick 27 C 7 1 0 1 -2 2 1 0 0 0 7 14.3 15 57:18 8:11 2 6 25.0 3 12 2 1
19 Jordan Leopold 30 D 5 0 1 1 0 4 0 0 0 0 5 0.0 10 104:46 20:57 0 0 12 9 1 5
20 Jochen Hecht 33 LW 1 0 1 1 0 0 0 0 0 0 2 0.0 3 15:22 15:22 10 5 66.7 0 1 2 0
21 Mike Grier 36 RW 7 0 1 1 -3 0 0 0 0 0 5 0.0 7 66:25 9:29 1 0 100.0 3 17 1 2
22 Brad Boyes 28 RW 7 1 0 1 -2 0 0 1 0 0 14 7.1 24 100:43 14:23 26 20 56.5 2 4 2 4
23 Shaone Morrisonn 28 D 1 0 0 0 0 2 0 0 0 0 0 0 13:22 13:22 0 0 1 1 0 0
24 Mark Mancari 25 RW 1 0 0 0 0 0 0 0 0 0 1 0.0 2 9:50 9:50 0 0 0 1 0 0
25 Jhonas Enroth 22 G 1 0 0 0 0 0 0 0 0 0 0 17:11 17:11 0 0 0
26 Matt Ellis 29 LW 1 0 0 0 0 0 0 0 0 0 0 2 11:32 11:32 7 3 70.0 0 1 0 1
Team Totals 7 18 35 53 -32 109 11 7 0 3 14 0 212 8.5 397 242 217 52.7 119 193 51 68
Become a Stathead & surf this site ad-free.

Goalies Regular Season

  • Players on this team's active roster in bold
Goalies Regular Season Table
Goalie Stats
Rk Player Age GP GS W L T/O GA SA SV SV% GAA SO MIN QS QS% RBS GA%- GSAA adjGAA GPS
1Ryan Miller3066653422816519641799.9162.595382939.6009966.12.9612.4
2Jhonas Enroth22141392235377342.9072.7317697.5382107-2.23.122.0
3Patrick Lalime367405018163145.8902.9603650.0001127-3.83.450.5
Team Total8243291021825042286.9132.636496346.561121000.13.0214.9

Goalies Playoffs

Shootout Results

Shootout Goalies

Hat Tricks (5)

  • * - postseason

Skater Advanced Statistics

Skater Advanced Statistics (Playoffs)

Skater Time on Ice Statistics

Skater Time on Ice Statistics Table
Even Strength Power Play Short Handed
Rk Player Pos Shift GP TOI CF% Rel GF/60 GA/60 TOI CF% Rel GF/60 GA/60 TOI CF% Rel GF/60 GA/60
1Andrej SekeraD1:047617:112.72.92.32:05-1.54.10.81:49-1.50.45.2
2Brad BoyesC0:512114:26-3.03.63.01:590.38.62.90:010.00.0
3Chris ButlerD0:594915:554.12.82.21:124.97.12.01:02-2.80.05.9
4Cody McCormickC1:008110:41-3.72.11.90:065.55.80.00:09-7.90.04.7
5Colin StuartLW0:45312:348.01.60.00:000:34-30.40.00.0
6Craig RivetD0:482311:50-4.12.02.90:23-5.86.66.60:489.20.09.7
7Derek RoyC1:083514:20-2.03.23.13:4311.27.20.91:272.30.04.7
8Drew StaffordRW1:046213:14-2.03.62.02:570.88.52.90:2015.10.05.5
9Jason PominvilleRW1:017313:164.33.02.62:554.49.32.01:57-0.90.45.9
10Jochen HechtC0:446713:405.73.12.81:28-1.64.81.81:551.80.58.8
11Jordan LeopoldD0:517118:00-4.32.32.62:44-6.57.11.82:340.70.38.2
12Luke AdamLW0:45199:35-6.01.32.61:36-10.86.04.00:00-17.10.00.0
13Marc-André GragnaniLW0:40913:066.42.02.02:00-7.89.90.00:093.60.040.4
14Mark MancariRW0:462010:584.02.53.01:206.09.00.00:00
15Mark ParrishRW0:43211:412.67.70:030.00.00:02
16Matt EllisLW0:39149:435.20.01.80:088.70.00.00:10-13.80.00.0
17Mike GrierRW0:447311:31-6.02.12.10:095.90.00.02:43-3.90.06.0
18Mike WeberD0:545815:12-4.12.71.80:0513.40.00.01:35-0.60.03.3
19Nathan GerbeC0:416412:002.52.82.01:162.75.80.00:02-12.60.025.2
20Patrick KaletaRW0:55519:26-3.81.92.40:06-15.00.010.10:383.41.91.9
21Paul ByronC0:47810:40-5.62.82.80:0515.80.00.00:12-23.10.00.0
22Paul GaustadC0:498112:18-0.52.31.70:48-9.44.63.72:01-4.60.46.6
23Rob NiedermayerC0:507111:49-6.22.12.60:07-1.60.00.00:48-2.00.01.0
24Shaone MorrisonnD0:436214:11-5.22.32.50:0513.50.00.01:52-8.10.05.6
25Steve MontadorD0:517317:16-3.53.12.30:22-9.34.00.02:04-1.60.45.5
26Thomas VanekLW1:018014:012.13.42.83:1510.09.21.80:0342.90.023.6
27Tim ConnollyC0:436812:214.92.62.82:49-0.98.12.21:43-3.20.06.1
28Tyler EnnisC1:078213:21-1.72.82.62:161.87.51.60:028.00.00.0
29Tyler MyersD0:588016:575.23.02.82:472.07.51.32:41-7.40.36.6

Miscellaneous Stats

Upgraded
Miscellaneous Stats Table
Adjusted Plus/Minus Point Shares Shootouts
Rk Player Age Pos GP G A PTS GC TGF PGF TGA PGA +/- OPS DPS PS Att Made Miss Pct Awards
1 Thomas Vanek 27 LW 80 35 44 79 31.1 103 40 63 2 2 7.6 1.6 9.1 6 5 5 83.3 ASnhl-6,Byng-46
2 Drew Stafford 25 RW 62 34 22 56 24.6 75 26 38 2 13 6.2 1.6 7.8 3 1 1 33.3
3 Jason Pominville 28 RW 73 24 32 56 21.8 82 32 63 14 1 4.3 1.4 5.8 4 0 0 0.0 Byng-17
4 Tyler Ennis 21 C 82 22 31 53 20.5 75 23 52 0 0 3.9 1.4 5.3 4 3 3 75.0 Calder-11
5 Tim Connolly 29 C 68 14 31 45 16.1 62 26 58 12 -10 2.7 0.8 3.5 2 0 0 0.0
6 Tyler Myers 20 D 80 11 29 40 13.9 96 28 92 24 0 3.1 3.4 6.5 1 0 0 0.0
7 Derek Roy 27 C 35 11 27 38 13.4 43 16 32 4 -1 3.0 0.7 3.7 2 1 1 50.0 Byng-32
8 Jordan Leopold 30 D 71 14 23 37 13.9 74 23 87 25 -11 3.3 2.2 5.6 1 0 0 0.0
9 Nathan Gerbe 23 C 64 18 16 34 14.2 44 8 26 1 11 2.7 1.4 4.1 1 1 1 100.0
10 Paul Gaustad 28 C 81 13 20 33 12.6 45 5 51 18 7 1.2 1.6 2.8 0 0 0 Selke-34
11 Jochen Hecht 33 C 67 13 18 31 12.0 57 8 64 19 4 1.2 1.4 2.6 1 1 1 100.0
12 Andrej Sekera 24 D 76 3 28 31 9.3 74 10 65 12 11 1.6 4.0 5.6 0 0 0
13 Steve Montador 31 D 73 5 22 27 8.7 67 2 63 14 16 1.7 4.1 5.8 0 0 0
14 Cody McCormick 27 C 81 9 13 22 8.5 31 1 29 1 2 0.5 1.0 1.5 0 0 0
15 Rob Niedermayer 36 C 71 5 15 20 6.8 29 0 38 1 -8 0.0 0.6 0.7 0 0 0
16 Mike Weber 23 D 58 4 14 18 6.0 40 0 32 5 13 1.2 2.9 4.1 0 0 0
17 Mike Grier 36 RW 73 5 12 17 6.0 29 0 49 20 0 -0.7 1.1 0.4 0 0 0
18 Brad Boyes 28 C 21 5 10 15 5.5 24 5 17 0 2 1.1 0.4 1.5 0 0 0
19 Patrick Kaleta 24 RW 51 4 5 9 3.6 16 0 21 1 -4 -0.1 0.4 0.3 0 0 0
20 Chris Butler 24 D 49 2 7 9 3.0 44 6 35 5 8 0.2 2.4 2.5 0 0 0
21 Mark Mancari 25 RW 20 1 7 8 2.5 13 3 11 0 -1 0.3 0.2 0.5 0 0 0
22 Shaone Morrisonn 28 D 62 1 4 5 1.6 34 0 47 11 -2 -0.5 1.7 1.2 0 0 0
23 Luke Adam 20 LW 19 3 1 4 1.9 7 3 10 0 -6 0.2 0.0 0.1 0 0 0
24 Craig Rivet 36 D 23 1 2 3 1.1 10 1 17 3 -5 0.1 0.1 0.2 0 0 0
25 Marc-André Gragnani 23 LW 9 1 2 3 1.1 7 3 5 1 0 0.0 0.1 0.2 0 0 0
26 Paul Byron 21 C 8 1 1 2 0.8 4 0 4 0 0 0.1 0.1 0.2 1 0 0 0.0
27 Mark Parrish 33 RW 2 0 0 0 0.0 1 0 3 0 -2 -0.1 -0.1 -0.1 0 0 0
28 Matt Ellis 29 LW 14 0 0 0 0.0 0 0 4 0 -4 -0.4 0.0 -0.4 0 0 0
29 Colin Stuart 28 LW 3 0 0 0 0.0 1 0 0 0 1 -0.1 0.1 0.0 0 0 0
Miscellaneous Stats Table
Plus/Minus
Rk Player Age Pos GP TGF PGF TGA PGA +/- Awards
1 Marc-André Gragnani 23 D 7 9 6 3 0 0
2 Tyler Myers 21 D 7 8 4 9 1 -4
3 Thomas Vanek 27 LW 7 7 6 8 0 -7
4 Tyler Ennis 21 C 7 5 0 1 0 4
5 Jason Pominville 28 RW 5 7 4 3 0 0
6 Rob Niedermayer 36 C 7 5 0 4 0 1
7 Drew Stafford 25 RW 7 7 5 4 3 1
8 Patrick Kaleta 24 RW 6 3 0 4 0 -1
9 Tim Connolly 29 C 6 5 4 5 2 -2
10 Paul Gaustad 28 C 7 2 0 10 2 -6
11 Nathan Gerbe 23 C 7 3 0 4 0 -1
12 Chris Butler 24 D 7 5 0 10 2 -3
13 Mike Weber 23 D 7 3 0 9 3 -3
14 Andrej Sekera 24 D 2 3 0 5 1 -1
15 Derek Roy 27 C 1 1 1 2 0 -2
16 Steve Montador 31 D 6 3 0 5 1 -1
17 Cody McCormick 27 C 7 1 0 3 0 -2
18 Jordan Leopold 30 D 5 2 0 4 2 0
19 Jochen Hecht 33 LW 1 2 1 2 1 0
20 Mike Grier 36 RW 7 1 0 6 2 -3
21 Brad Boyes 28 RW 7 4 1 5 0 -2
22 Shaone Morrisonn 28 D 1 0 0 0 0 0
23 Mark Mancari 25 RW 1 1 1 0 0 0
24 Matt Ellis 29 LW 1 0 0 0 0 0