vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvtttttttttttttttttttttttttttvvvvvvvvvvvvvvvvvvvvvvvtttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttvvvvvvvvvvvvtttttvtvtvtvtvvvvvvvvvvvttttttttttttttttttttttttttttvvvvvvvvvvvvttttttttttttttttttttttttttttttttttttttttttttttttttttt