..######....##.....##..##....##..##......##..##....##...###...###..###...##..##..##..##..##.........####.####..####..##..##..##..##..##...####..##.###.##..##.##.##..##..##..##..##....##...##.....##..##..####..##..##..##..##....##...##.....##..##...###..##..##..##...######....##.....##..##....##...###..###..