func minDeletionSize(A []string) int {
skip := map[int]bool{}
m, n := len(A[0]), len(A)
D := 0
for j := 0; j < m; j++ {
cur := 0
index := []int{}
for i := 1; i < n; i++ {
if !skip[i]{
if A[i-1][j] < A[i][j] {
index = append(index, i)
}else if A[i-1][j] > A[i][j]{
cur++
break
}
}
}
if cur == 0 {
for _, i := range index {
skip[i] = true
}
}else{
D++
}
}
return D
}