Whats new

Bem-vindo ao xG by CornerPro!

Aquilo que nasceu de um desafio, culminou com o xG by CornerPro. Desenvolvemos algoritmos exclusivos só nossos que preveem a expetativa de golos das equipas e para o jogo.

O que é que isto pode ajudar na tomada de decisão? Ora, quanto mais dados tivermos ao dispor de como é que as equipas realmente estiverem a comportar, melhor será a nossa tomada de decisão. Por exemplo, se pelo gráfico de pressão virmos que uma equipa está a fazer muita pressão e por cima do jogo, mas se o xG indicar que é o adversário quem criou mais oportunidades de golo, que entrada vais fazer? Se uma equipa estiver a exercer muita pressão, mas ninguém cria ocasiões claras de perigo, será que vale a pena acompanhar esse jogo?

O que é o L15? O L15 é uma pontuação (e não %) para a equipa marcar nos próximos 15 minutos. Mais explicações no vídeo no telegram.

São estas e muitas outras leituras que podemos tirar com o xG by CornerPro. Há um vídeo no nosso canal de Youtube dedicado a várias ideias de como utilizar estes dados: Youtube

No canal de instagram.com/cornerprobet e no t.me/cornerproanalysis iremos também partilhar leituras live.

Lembra-te: não há um "como" utilizar o xG by CornerPro. Não há uma fórmula mágica. Utiliza o xG para ajudar-te a tomar melhores decisões.

Boa sorte!
This content is for premium users only!

Join CornerProBet premium to access the best soccer stats! Check out more info HERE!

Analysis made with the last 10 games for the home team as home, and away team as away.
Logo

AZ Alkmaar

17 º Place

Form

W W L W W

2.70 PPG

UEFA Europa League


  2019-07-25 18:30

1st Leg 2nd Qualifying Round

  Game Time
Full Time

Final Result: 0-0

Half Time: 0-0

Logo

Häcken

2 º Place

Form

W L D W D

1.60 PPG

Who wins this match?

AZ Alkmaar 0%

Draw 0%

Häcken 0%

Over or Under?

Over

0%

Under

0%
  Last Games

AZ Alkmaar

Eredivisie 2019-05-12 AZ Alkmaar 1-0
( 0-0)
PSV 3-6
( 3-2)
Eredivisie 2019-04-23 AZ Alkmaar 2-1
( 1-1)
Heracles 2-4
( 1-3)
Eredivisie 2019-04-13 AZ Alkmaar 2-3
( 0-1)
ADO Den Haag 6-4
( 4-4)
Eredivisie 2019-03-30 AZ Alkmaar 1-0
( 0-0)
FC Groningen 8-6
( 2-1)
Eredivisie 2019-03-17 AZ Alkmaar 1-0
( 0-0)
Ajax 2-7
( 0-1)
Eredivisie 2019-03-03 AZ Alkmaar 4-2
( 1-2)
Fortuna Sittard 9-4
( 2-1)
Eredivisie 2019-02-16 AZ Alkmaar 3-0
( 2-0)
VVV-Venlo 9-3
( 1-2)
Eredivisie 2019-02-02 AZ Alkmaar 5-0
( 3-0)
FC Emmen 9-6
( 6-1)
KNVB Beker 2019-01-22 AZ Alkmaar 2-0
( 1-0)
Vitesse 2-2
( 1-0)
Eredivisie 2019-01-19 AZ Alkmaar 3-0
( 2-0)
FC Utrecht 4-5
( 3-0)
Eredivisie 2019-05-15 Excelsior 4-2
( 1-1)
AZ Alkmaar 3-13
( 1-4)
Eredivisie 2019-04-20 Feyenoord 2-1
( 0-1)
AZ Alkmaar 9-6
( 5-3)
Eredivisie 2019-04-06 De Graafschap 1-1
( 0-0)
AZ Alkmaar 2-4
( 2-2)
Eredivisie 2019-04-02 Vitesse 2-2
( 0-2)
AZ Alkmaar 9-4
( 6-4)
Eredivisie 2019-03-10 PEC Zwolle 0-0
( 0-0)
AZ Alkmaar 12-6
( 5-1)
KNVB Beker 2019-02-28 Willem II 1-1
( 0-1)
AZ Alkmaar 6-3
( 0-2)
Eredivisie 2019-02-24 Willem II 2-1
( 2-0)
AZ Alkmaar 7-5
( 6-1)
Eredivisie 2019-02-08 NAC Breda 0-3
( 0-1)
AZ Alkmaar 1-5
( 0-5)
Eredivisie 2019-01-27 SC Heerenveen 0-2
( 0-0)
AZ Alkmaar 3-8
( 0-2)
Eredivisie 2018-12-22 PSV 3-1
( 1-1)
AZ Alkmaar 4-8
( 1-3)
Eredivisie 2019-05-15 Excelsior 4-2
( 1-1)
AZ Alkmaar 3-13
( 1-4)
Eredivisie 2019-05-12 AZ Alkmaar 1-0
( 0-0)
PSV 3-6
( 3-2)
Eredivisie 2019-04-23 AZ Alkmaar 2-1
( 1-1)
Heracles 2-4
( 1-3)
Eredivisie 2019-04-20 Feyenoord 2-1
( 0-1)
AZ Alkmaar 9-6
( 5-3)
Eredivisie 2019-04-13 AZ Alkmaar 2-3
( 0-1)
ADO Den Haag 6-4
( 4-4)
Eredivisie 2019-04-06 De Graafschap 1-1
( 0-0)
AZ Alkmaar 2-4
( 2-2)
Eredivisie 2019-04-02 Vitesse 2-2
( 0-2)
AZ Alkmaar 9-4
( 6-4)
Eredivisie 2019-03-30 AZ Alkmaar 1-0
( 0-0)
FC Groningen 8-6
( 2-1)
Eredivisie 2019-03-17 AZ Alkmaar 1-0
( 0-0)
Ajax 2-7
( 0-1)
Eredivisie 2019-03-10 PEC Zwolle 0-0
( 0-0)
AZ Alkmaar 12-6
( 5-1)
Eredivisie 2019-03-03 AZ Alkmaar 4-2
( 1-2)
Fortuna Sittard 9-4
( 2-1)
KNVB Beker 2019-02-28 Willem II 1-1
( 0-1)
AZ Alkmaar 6-3
( 0-2)
Eredivisie 2019-02-24 Willem II 2-1
( 2-0)
AZ Alkmaar 7-5
( 6-1)
Eredivisie 2019-02-16 AZ Alkmaar 3-0
( 2-0)
VVV-Venlo 9-3
( 1-2)
Eredivisie 2019-02-08 NAC Breda 0-3
( 0-1)
AZ Alkmaar 1-5
( 0-5)
Eredivisie 2019-02-02 AZ Alkmaar 5-0
( 3-0)
FC Emmen 9-6
( 6-1)
Eredivisie 2019-01-27 SC Heerenveen 0-2
( 0-0)
AZ Alkmaar 3-8
( 0-2)
KNVB Beker 2019-01-22 AZ Alkmaar 2-0
( 1-0)
Vitesse 2-2
( 1-0)
Eredivisie 2019-01-19 AZ Alkmaar 3-0
( 2-0)
FC Utrecht 4-5
( 3-0)
Eredivisie 2018-12-22 PSV 3-1
( 1-1)
AZ Alkmaar 4-8
( 1-3)

Häcken

Allsvenskan 2019-07-14 Häcken 3-0
( 0-0)
Örebro 7-3
( 0-1)
Allsvenskan 2019-07-01 Häcken 2-0
( 1-0)
Hammarby 10-7
( 4-3)
Svenska Cupen 2019-05-30 Häcken 3-0
( 1-0)
AFC Eskilstuna 3-0
( 3-0)
Allsvenskan 2019-05-25 Häcken 1-2
( 0-1)
IFK Göteborg 10-5
( 6-1)
Allsvenskan 2019-05-15 Häcken 1-0
( 0-0)
Kalmar 2-7
( 1-3)
Allsvenskan 2019-05-05 Häcken 1-0
( 0-0)
GIF Sundsvall 10-4
( 3-3)
Allsvenskan 2019-04-28 Häcken 3-0
( 0-0)
AFC Eskilstuna 10-2
( 6-0)
Allsvenskan 2019-04-21 Häcken 0-1
( 0-0)
Djurgården 3-6
( 2-1)
Allsvenskan 2019-04-06 Häcken 2-1
( 1-0)
Helsingborg 3-8
( 2-3)
Svenska Cupen 2019-03-09 Häcken 4-1
( 1-0)
GAIS 15-9
( 5-4)
Allsvenskan 2019-07-20 GIF Sundsvall 0-1
( 0-0)
Häcken 2-7
( 1-4)
Allsvenskan 2019-07-07 Norrköping 2-1
( 1-0)
Häcken 9-5
( 4-1)
Allsvenskan 2019-06-02 Elfsborg 0-0
( 0-0)
Häcken 1-12
( 1-4)
Allsvenskan 2019-05-19 Sirius 3-4
( 1-2)
Häcken 3-4
( 1-2)
Allsvenskan 2019-05-11 Östersunds FK 1-1
( 1-1)
Häcken 4-9
( 1-1)
Allsvenskan 2019-04-24 AIK 1-0
( 0-0)
Häcken 8-1
( 0-1)
Allsvenskan 2019-04-13 Falkenberg 0-3
( 0-0)
Häcken 0-9
( 0-5)
Allsvenskan 2019-04-01 Malmö FF 1-1
( 0-0)
Häcken 7-2
( 1-0)
Svenska Cupen 2019-03-16 Djurgården 2-2
( 2-1)
Häcken 9-5
( 2-2)
Svenska Cupen 2019-02-24 Rosengård 0-4
( 0-2)
Häcken 1-5
( 1-3)
Allsvenskan 2019-07-20 GIF Sundsvall 0-1
( 0-0)
Häcken 2-7
( 1-4)
Allsvenskan 2019-07-14 Häcken 3-0
( 0-0)
Örebro 7-3
( 0-1)
Allsvenskan 2019-07-07 Norrköping 2-1
( 1-0)
Häcken 9-5
( 4-1)
Allsvenskan 2019-07-01 Häcken 2-0
( 1-0)
Hammarby 10-7
( 4-3)
Allsvenskan 2019-06-02 Elfsborg 0-0
( 0-0)
Häcken 1-12
( 1-4)
Svenska Cupen 2019-05-30 Häcken 3-0
( 1-0)
AFC Eskilstuna 3-0
( 3-0)
Allsvenskan 2019-05-25 Häcken 1-2
( 0-1)
IFK Göteborg 10-5
( 6-1)
Allsvenskan 2019-05-19 Sirius 3-4
( 1-2)
Häcken 3-4
( 1-2)
Allsvenskan 2019-05-15 Häcken 1-0
( 0-0)
Kalmar 2-7
( 1-3)
Allsvenskan 2019-05-11 Östersunds FK 1-1
( 1-1)
Häcken 4-9
( 1-1)
Allsvenskan 2019-05-05 Häcken 1-0
( 0-0)
GIF Sundsvall 10-4
( 3-3)
Allsvenskan 2019-04-28 Häcken 3-0
( 0-0)
AFC Eskilstuna 10-2
( 6-0)
Allsvenskan 2019-04-24 AIK 1-0
( 0-0)
Häcken 8-1
( 0-1)
Allsvenskan 2019-04-21 Häcken 0-1
( 0-0)
Djurgården 3-6
( 2-1)
Allsvenskan 2019-04-13 Falkenberg 0-3
( 0-0)
Häcken 0-9
( 0-5)
Allsvenskan 2019-04-06 Häcken 2-1
( 1-0)
Helsingborg 3-8
( 2-3)
Allsvenskan 2019-04-01 Malmö FF 1-1
( 0-0)
Häcken 7-2
( 1-0)
Svenska Cupen 2019-03-16 Djurgården 2-2
( 2-1)
Häcken 9-5
( 2-2)
Svenska Cupen 2019-03-09 Häcken 4-1
( 1-0)
GAIS 15-9
( 5-4)
Svenska Cupen 2019-02-24 Rosengård 0-4
( 0-2)
Häcken 1-5
( 1-3)
Analysis made with the last 10 games for the home team as home, and away team as away.
Logo

AZ Alkmaar

17 º Place

Form

W W L W W

2.70 PPG

UEFA Europa League


  2019-07-25 18:30

1st Leg 2nd Qualifying Round

  Game Time
Full Time

Final Result: 0-0

Half Time: 0-0

Logo

Häcken

2 º Place

Form

W L D W D

1.60 PPG

Analysis - Goals
AZ Alkmaar Häcken
2.40 Avg. Scored 1.70
0.60 Avg. Suffer 1.00
3.00 Avg. Goals 2.70
0% Games without scoring 20%
70% Games without conceding 40%
30% BTTS 50%
AZ Alkmaar Häcken
1.00 Avg. Scored 0.60
0.40 Avg. Suffer 0.50
1.40 Avg. Goals 1.10
40% Games without scoring 60%
70% Games without conceding 60%
20% BTTS 30%
AZ Alkmaar Häcken
1.40 Avg. Scored 1.10
0.20 Avg. Suffer 0.50
1.60 Avg. Goals 1.60
0% Games without scoring 30%
90% Games without conceding 60%
10% BTTS 30%
Outros Dados
AZ Alkmaar Häcken
90% First to Score 50%
0% And won in the end 10%
60% Scores in both halves 30%
80% Scores a goal? 55%
14.30 Shots per game 13.10
6.70 Shots on target per game 6.00
Total Goals
AZ Alkmaar Häcken
Scored Conceded Scored Conceded
100% 30% Over 0.5 80% 60%
70% 20% Over 1.5 40% 30%
40% 10% Over 2.5 30% 10%
20% 0% Over 3.5 20% 0%
AZ Alkmaar Häcken
Scored Conceded Scored Conceded
60% 30% Over 0.5 40% 40%
30% 10% Over 1.5 20% 10%
10% 0% Over 2.5 0% 0%
0% 0% Over 3.5 0% 0%
AZ Alkmaar Häcken
Scored Conceded Scored Conceded
100% 10% Over 0.5 70% 40%
30% 10% Over 1.5 30% 10%
10% 0% Over 2.5 10% 0%
0% 0% Over 3.5 0% 0%
Interval Goals 45' e 90' include over-time.
AZ Alkmaar Häcken
Scored Conceded Total % Scored Conceded Total %
3 0 3 30% 0-15 2 2 4 40%
3 0 3 30% 16-30 2 2 4 20%
4 4 8 60% 31-HT 2 1 3 20%
5 1 6 60% 46-60 5 1 6 50%
5 0 5 40% 61-75 4 1 5 40%
4 1 5 30% 76-FT 2 3 5 50%
Handicaps
AZ Alkmaar Häcken
Wins Losses Wins Losses
0% 100% -2.5 0% 100%
0% 100% -1.5 0% 100%
0% 100% -0.5 10% 90%
100% 0% +0.5 90% 10%
100% 0% +1.5 100% 0%
100% 0% +2.5 100% 0%
Analysis made with the last 10 games for the home team as home, and away team as away.
Logo

AZ Alkmaar

17 º Place

Form

W W L W W

2.70 PPG

UEFA Europa League


  2019-07-25 18:30

1st Leg 2nd Qualifying Round

  Game Time
Full Time

Final Result: 0-0

Half Time: 0-0

Logo

Häcken

2 º Place

Form

W L D W D

1.60 PPG

This content is for premium users only!

Join CornerProBet premium to access the best soccer stats! Check out more info HERE!

Analysis made with the last 10 games for the home team as home, and away team as away.
Logo

AZ Alkmaar

17 º Place

Form

W W L W W

2.70 PPG

UEFA Europa League


  2019-07-25 18:30

1st Leg 2nd Qualifying Round

  Game Time
Full Time

Final Result: 0-0

Half Time: 0-0

Logo

Häcken

2 º Place

Form

W L D W D

1.60 PPG

Analysis - Corners
AZ Alkmaar Häcken
5.40 Avg For 5.90
4.70 Avg Against 4.40
10.10 Avg Total 10.30
AZ Alkmaar Häcken
2.30 Avg For 2.30
1.50 Avg Against 1.20
3.80 Avg Total 3.50
AZ Alkmaar Häcken
3.10 Avg For 3.60
3.20 Avg Against 3.20
6.30 Avg Total 6.80
Corners by Interval 45' e 90' include over-time.
AZ Alkmaar Häcken Average
Scored Conceded % Scored Conceded % For Against %
0-10 0.4 0.5 60% 0.7 0.4 50% 0.55 0.45 55%
11-20 0.7 0.1 70% 0.6 0.3 60% 0.65 0.2 65%
21-30 0.5 0.4 50% 0.3 0.3 50% 0.4 0.35 50%
31-36 0.2 0.3 40% 0.1 0.1 20% 0.15 0.2 30%
37-HT 0.5 0.2 60% 0.6 0.1 30% 0.55 0.15 45%
46-50 0.5 0.3 30% 0.6 0.3 50% 0.55 0.3 40%
51-60 0.4 0.5 80% 0.7 0.6 80% 0.55 0.55 80%
61-70 1 0.8 90% 0.6 0.5 70% 0.8 0.65 80%
71-75 0.1 0.5 40% 0.2 0.6 50% 0.15 0.55 45%
76-80 0.4 0.5 60% 0.2 0 20% 0.3 0.25 40%
81-86 0.3 0.3 30% 0.5 0.6 70% 0.4 0.45 50%
87-FT 0.4 0.3 60% 0.8 0.6 60% 0.6 0.45 60%
75-FT 1.1 1.1 100% 1.5 1.2 80% 1.3 1.15 90%
80-FT 0.7 0.6 80% 1.3 1.2 80% 1 0.9 80%
Total Corners
AZ Alkmaar Häcken
Scored Conceded Scored Conceded
70% 90% Over 2.5 80% 60%
60% 80% Over 3.5 80% 50%
50% 50% Over 4.5 70% 40%
50% 40% Over 5.5 40% 40%
40% 10% Over 6.5 40% 40%
AZ Alkmaar Häcken
Scored Conceded Scored Conceded
90% 80% Over 0.5 90% 80%
60% 40% Over 1.5 60% 20%
40% 20% Over 2.5 40% 10%
20% 10% Over 3.5 30% 10%
10% 0% Over 4.5 10% 0%
AZ Alkmaar Häcken
Scored Conceded Scored Conceded
90% 90% Over 0.5 90% 70%
60% 70% Over 1.5 90% 60%
40% 60% Over 2.5 60% 50%
30% 50% Over 3.5 40% 40%
30% 40% Over 4.5 20% 40%
Races
( First to Score )
AZ Alkmaar Häcken
Wins Lost Wins Lost
60% 30% Race 3 50% 50%
50% 30% Race 5 50% 40%
40% 10% Race 7 40% 40%
30% 0% Race 9 30% 20%
Handicaps
AZ Alkmaar Häcken
Wins Losses Wins Losses
30% 70% -2.5 50% 50%
40% 60% -1.5 50% 50%
40% 60% -0.5 60% 40%
60% 40% +0.5 60% 40%
70% 30% +1.5 60% 40%
80% 20% +2.5 60% 40%
Analysis made with the last 10 games for the home team as home, and away team as away.
Logo

AZ Alkmaar

17 º Place

Form

W W L W W

2.70 PPG

UEFA Europa League


  2019-07-25 18:30

1st Leg 2nd Qualifying Round

  Game Time
Full Time

Final Result: 0-0

Half Time: 0-0

Logo

Häcken

2 º Place

Form

W L D W D

1.60 PPG

Analysis - Cards
AZ Alkmaar Häcken
0.80 Avg For 2.10
1.50 Avg Against 2.70
2.30 Avg Total 4.80
AZ Alkmaar Häcken
0.10 Avg For 0.70
0.30 Avg Against 1.10
0.40 Avg Total 1.80
AZ Alkmaar Häcken
0.70 Avg For 1.40
1.20 Avg Against 1.60
1.90 Avg Total 3.00
Yellow Cards in Intervals 45' e 90' include over-time.
AZ Alkmaar Häcken
Avg For Avg Against % Avg For Avg Against %
0-15 0 1 10% 0 0 0%
16-30 0 1 10% 2 6 70%
31-HT 1 1 20% 5 5 60%
46-60 2 2 30% 6 2 60%
61-75 1 6 50% 3 5 60%
76-FT 4 4 50% 5 9 80%
Total Cards per Team
AZ Alkmaar Häcken
Avg For Avg Against Avg For Avg Against
50% 100% Over 0.5 100% 90%
20% 20% Over 1.5 70% 90%
10% 20% Over 2.5 30% 60%
0% 10% Over 3.5 10% 20%
AZ Alkmaar Häcken
Avg For Avg Against Avg For Avg Against
10% 30% Over 0.5 60% 80%
0% 0% Over 1.5 10% 30%
0% 0% Over 2.5 0% 0%
0% 0% Over 3.5 0% 0%
AZ Alkmaar Häcken
Avg For Avg Against Avg For Avg Against
40% 90% Over 0.5 90% 80%
20% 20% Over 1.5 40% 60%
10% 10% Over 2.5 10% 20%
0% 0% Over 3.5 0% 0%
Attacks
Shots Total (On target + Off Target)
Shots Inside the Box & Shots Outside the Box
Pressure Index

Pressure Index Graph

🟢🔵🔵🔵🔵

Avg Pressure Index Home: : 10.31

Avg Pressure Index Away: : 5.13

Analysis made with the last 10 games for the home team as home, and away team as away.
Logo

AZ Alkmaar

17 º Place

Form

W W L W W

2.70 PPG

UEFA Europa League


  2019-07-25 18:30

1st Leg 2nd Qualifying Round

  Game Time
Full Time

Final Result: 0-0

Half Time: 0-0

Logo

Häcken

2 º Place

Form

W L D W D

1.60 PPG

Starting Lineup

Bizot

0

Vlaar

0

Wuytens

0

Svensson

0

Wijndal

0

Midtsjø

0

Koopmeiners

0

Til

0

Gudmundsson

0

Boadu

0

Stengs

0

Abrahamsson

0

Lindgren

0

Friberg

0

Yasin

0

Irandust

0

Toivio

0

Sverrisson

0

Ekpolo

0

Berggren

0

Lundberg

0

Paulinho

0

M. Bizot: 0

AZ Alkmaar: 0

Häcken: 0

Bizot

0

Vlaar

0

Wuytens

0

Svensson

0

Wijndal

0

Midtsjø

0

Koopmeiners

0

Til

0

Gudmundsson

0

Boadu

0

Stengs

0

Abrahamsson

0

Lindgren

0

Friberg

0

Yasin

0

Irandust

0

Toivio

0

Sverrisson

0

Ekpolo

0

Berggren

0

Lundberg

0

Paulinho

0
Match Events
9
Corner
19
Yellow Card
  O. Wijndal
22
Corner
32
Corner
34
Corner
35
Corner
43
Yellow Card
  E. Ekpolo
45
Corner

Half Time

58
O. Idrissi A. Gudmundsson
59
Y. Sugawara S. Wuytens
61
Yellow Card
  A. Yasin
67
Corner
70
J. Ojala D. Irandust
76
Corner
77
P. Hatzidiakos F. Midtsjo
77
A. Faltsetas Paulinho
82
Corner
82
Corner
87
A. Andersson E. Ekpolo
90
Corner

AZ Alkmaar

Häcken

AZ Alkmaar

Häcken

9
Corner
22
Corner
32
Corner
34
Corner
35
Corner
45
Corner

Half Time

67
Corner
76
Corner
82
Corner
82
Corner
90
Corner

AZ Alkmaar

Häcken

19
Yellow Card
  O. Wijndal
43
Yellow Card
  E. Ekpolo

Half Time

61
Yellow Card
  A. Yasin

AZ Alkmaar

Häcken

Match Facts
4
Shots Total
1
1
Shots Target
0
3
Shots off
1
0
Shots Blocked
0
0
Shots Inside the Box
0
0
Shots Outside the Box
0
98
Attacks
65
59
Dangerous Attacks
17
0
Fouls
0
9
Corners
2
0
Offsides
0
59
Ball Possession
41
1
Yellow Cards
2
0
Red Cards
0
0
Yellow-Red Card
0
0
Saves
0
0
Goal Kick
0
0
Goal Attempts
0
0
Free kick
0
0
Throw In
0
0
Penalties
0
0
Tackles
0
46
Attacks
36
27
Dangerous Attacks
8
1
Shots off
0
1
Shots Target
0
0
Shots Blocked
0
4
Corners
2
0
Goals
0
0
Yellow Cards
0
0
Ball Possession
0
2
Shots Total
0
9.88
Avg Pressure Index
5.03
52
Attacks
29
32
Dangerous Attacks
9
2
Shots off
1
0
Shots Target
0
0
Shots Blocked
0
5
Corners
0
0
Goals
0
0
Yellow Cards
0
0
Possession
0
0
Ball Possession
0
2
Shots Total
1
11.08
Avg Pressure Index
5.31