import
java.util.*;
public
class
GFG
{
static
void
cutTiles(Vector<Vector<Integer>> tilesStack)
{
HashMap<Integer, Integer> gaps =
new
HashMap<>();
for
(Vector<Integer> tiles : tilesStack)
{
int
totWidth =
0
;
for
(
int
i =
0
; i < tiles.size() -
1
; i++)
{
totWidth += tiles.get(i);
if
(gaps.containsKey(totWidth))
{
gaps.put(totWidth, gaps.get(totWidth) +
1
);
}
else
{
gaps.put(totWidth,
1
);
}
}
}
int
X =
0
;
for
(Map.Entry Key : gaps.entrySet())
{
X = Math.max((
int
)Key.getValue(),X);
}
System.out.print(tilesStack.size() - X);
}
public
static
void
main(String[] args)
{
Vector<Vector<Integer>> tilesStack =
new
Vector<Vector<Integer>>();
tilesStack.add(
new
Vector<Integer>());
tilesStack.get(
0
).add(
2
);
tilesStack.get(
0
).add(
3
);
tilesStack.add(
new
Vector<Integer>());
tilesStack.get(
1
).add(
3
);
tilesStack.get(
1
).add(
2
);
tilesStack.add(
new
Vector<Integer>());
tilesStack.get(
2
).add(
1
);
tilesStack.get(
2
).add(
1
);
tilesStack.get(
2
).add(
1
);
tilesStack.get(
2
).add(
2
);
tilesStack.add(
new
Vector<Integer>());
tilesStack.get(
3
).add(
1
);
tilesStack.get(
3
).add(
1
);
tilesStack.get(
3
).add(
1
);
tilesStack.get(
3
).add(
1
);
tilesStack.get(
3
).add(
1
);
cutTiles(tilesStack);
}
}