```go
package main
import (
"bufio"
"fmt"
"os"
"sort"
)
func main() {
reader := bufio.NewReader(os.Stdin)
var n, m, ta, tb, k int
fmt.Fscan(reader, &n, &m, &ta, &tb, &k)
a := make([]int64, n)
for i := 0; i < n; i++ {
fmt.Fscan(reader, &a[i])
}
b := make([]int64, m)
for i := 0; i < m; i++ {
fmt.Fscan(reader, &b[i])
}
if k >= n {
fmt.Println(-1)
return
}
var maxArrival int64 = 0
for i := 0; i <= k; i++ {
arrivalB := a[i] + int64(ta)
idx := sort.Search(m, func(j int) bool { return b[j] >= arrivalB })
if idx+(k-i) >= m {
fmt.Println(-1)
return
}
arrivalC := b[idx+(k-i)] + int64(tb)
if arrivalC > maxArrival {
maxArrival = arrivalC
}
}
fmt.Println(maxArrival)
}
```