```go
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
reader := bufio.NewReader(os.Stdin)
var n int
fmt.Fscan(reader, &n)
a := make([]int, n)
for i := 0; i < n; i++ {
fmt.Fscan(reader, &a[i])
}
l := make([]int, n)
l[0] = 1
for i := 1; i < n; i++ {
if a[i] > a[i-1] {
l[i] = l[i-1] + 1
} else {
l[i] = 1
}
}
r := make([]int, n)
r[n-1] = 1
for i := n - 2; i >= 0; i-- {
if a[i] < a[i+1] {
r[i] = r[i+1] + 1
} else {
r[i] = 1
}
}
ans := 0
for _, v := range l {
if v > ans {
ans = v
}
}
for i := 1; i < n-1; i++ {
if a[i-1] < a[i+1] {
sum := l[i-1] + r[i+1]
if sum > ans {
ans = sum
}
}
}
fmt.Println(ans)
}
```