← Home
```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)
}
```