#!/bin/bash

if [[ $1 = "-v" ]]; then
	verbose="v"
	shift
elif [[ $1 = "-vv" ]]; then
	verbose="vv"
	shift
fi

cmd="$1"
shift
args="$@"

pass=0
num=0

passed(){
	((pass++))
	if [[ "$verbose" = "vv" ]]; then
		echo -e "Test $path: \e[1;32mPASS\e[0m"
	fi
}

check_sol(){
	local pos=1
	local chr=0
	local path="$1"
	local sol="$2"
	local curchar

	while (( chr++ < ${#sol} )); do
		curchar=$(expr substr $sol $chr 1)
		if [[ "$curchar" == "R" ]]; then
			((pos++))
		elif [[ "$curchar" == "J" ]]; then
			((pos+=4))
		else
			return 1
		fi
		[[ "$(expr substr $path $pos 1)" != "-" ]] && return 1
	done

	if (( $pos == ${#path} )); then
		return 0
	else
		return 1
	fi
}

run_test(){
	local path="$1"
	local expected="$2"
	local out=$(echo "$path" | $cmd $args)

	if [[ $out == '!' ]]; then
		if [[ $expected == '!' ]]; then
			passed
		else
			echo -e "Test $path: \e[1;31mFAIL\e[0m. (false negative)"
		fi
	else
		if [[ "$out" == "$expected" ]] || check_sol "$path" "$out"; then
			passed
		else
			echo -e "Test $path: \e[1;31mFAIL\e[0m. (wrong path)"
			if [ -n "$verbose" ]; then
				echo "Expected: $expected - got: $out"
			fi
		fi
	fi
	((num++))
}

# Test 1
run_test "-" ''

# Test 2
run_test "--" 'R'

# Test 3
run_test "---" 'RR'

# Test 4
run_test "----" 'RRR'

# Test 5
run_test "-----" 'J'

# Test 6
run_test "-_" '!'

# Test 7
run_test "--_" '!'

# Test 8
run_test "---_" '!'

# Test 9
run_test "----------_" '!'

# Test 10
run_test "-_-" '!'

# Test 11
run_test "--_-" '!'

# Test 12
run_test "---_-" 'J'

# Test 13
run_test "----_-" 'RJ'

# Test 14
run_test "-_--" '!'

# Test 15
run_test "--_--" 'J'

# Test 16
run_test "---_--" 'JR'

# Test 17
run_test "-----_--" 'RRJR'

# Test 18
run_test "-------_--" 'JJR'

# Test 19
run_test "-_---" 'J'

# Test 20
run_test "--_---" 'JR'

# Test 21
run_test "---_---" 'JRR'

# Test 22
run_test "-_----" 'JR'

# Test 23
run_test "--_----" 'JRR'

# Test 24
run_test "-_-----" 'JRR'

# Test 25
run_test "-__" '!'

# Test 26
run_test "--__" '!'

# Test 27
run_test "---__" '!'

# Test 28
run_test "----__" '!'

# Test 29
run_test "-_-_" '!'

# Test 30
run_test "--_-_" '!'

# Test 31
run_test "---_-_" '!'

# Test 32
run_test "----_-_" '!'

# Test 33
run_test "--__-" 'J'

# Test 34
run_test "---__-" 'RJ'

# Test 35
run_test "--_-_-" 'RJ'

# Test 36
run_test "---_-_-" 'RRJ'

# Test 37
run_test "-----_-_-" 'JJ'

# Test 38
run_test "----_--_-" '!'

# Test 39
run_test "-----_--_-" '!'

# Test 40
run_test "----__--" 'RRJR'

# Test 41
run_test "-_--_" '!'

# Test 42
run_test "---_--_" '!'

# Test 43
run_test "-_---_" '!'

# Test 44
run_test "--_---_" '!'

# Test 45
run_test "---_---_" '!'

# Test 46
run_test "-_----_" '!'

# Test 47
run_test "--_----_" '!'

# Test 48
run_test "-__-" '!'

# Test 49
run_test "-_-_-" 'J'

# Test 50
run_test "-_---_-" '!'

# Test 51
run_test "---_----_-" 'JRJ'

# Test 52
run_test "-__--" 'J'

# Test 53
run_test "--__--" 'JR'

# Test 54
run_test "-_-_--" 'JR'

# Test 55
run_test "--_--_--" '!'

# Test 56
run_test "-__---" 'JR'

# Test 57
run_test "-_-_---" 'JRR'

# Test 58
run_test "-_---_---" 'JJ'

# Test 59
run_test "--_-----_---" 'JRJRR'

# Test 60
run_test "-__----" 'JRR'

# Test 61
run_test "-___" '!'

# Test 62
run_test "--___" '!'

# Test 63
run_test "---___" '!'

# Test 64
run_test "----___" '!'

# Test 65
run_test "-----___" '!'

# Test 66
run_test "--__-_" '!'

# Test 67
run_test "----__-_" '!'

# Test 68
run_test "------__--_" '!'

# Test 69
run_test "-----___-" 'JJ'

# Test 70
run_test "----___----" 'RRRJRRR'

# Test 71
run_test "---_-__" '!'

# Test 72
run_test "---_--__" '!'

# Test 73
run_test "--__-_-" '!'

# Test 74
run_test "---__-_-" '!'

# Test 75
run_test "---___--" 'RRJR'

# Test 76
run_test "--_-__" '!'

# Test 77
run_test "--_--__" '!'

# Test 78
run_test "--__--_" '!'

# Test 79
run_test "--___--" 'RJR'

# Test 80
run_test "--__----_--" 'JRJR'

# Test 81
run_test "-_-__" '!'

# Test 82
run_test "-_-------__" '!'

# Test 83
run_test "-_-_-_" '!'

# Test 84
run_test "-_--_-_" '!'

# Test 85
run_test "---_--_-_" '!'

# Test 86
run_test "--_---_---_" '!'

# Test 87
run_test "-_--_-----_" '!'

# Test 88
run_test "-___-" 'J'

# Test 89
run_test "-_-__-" '!'

# Test 90
run_test "--_-__-" '!'

# Test 91
run_test "---_--__-" 'JJ'

# Test 92
run_test "---_---__-" 'JRJ'

# Test 93
run_test "-_----__-" 'JJ'

# Test 94
run_test "-_-_-_-" '!'

# Test 95
run_test "-_-----_--_-" '!'

# Test 96
run_test "-___--" 'JR'

# Test 97
run_test "-_-__--" '!'

# Test 98
run_test "--_-__--" '!'

# Test 99
run_test "-__-_" '!'

# Test 100
run_test "-__-_-" '!'

# Test 101
run_test "-__-_--" '!'

# Test 102
run_test "-_--_-_--" '!'

# Test 103
run_test "-__--_" '!'

# Test 104
run_test "-__--_-" '!'

# Test 105
run_test "-__-----_-" 'JRJ'

# Test 106
run_test "-----_-___" '!'

# Test 107
run_test "--------_-___" '!'

# Test 108
run_test "-------_-___-" 'JJJ'

# Test 109
run_test "--------_-___-" 'JRJJ'

# Test 110
run_test "---------_-___-" 'JRRJJ'

# Test 111
run_test "----------_-___-" 'JRRRJJ'

# Test 112
run_test "----_-_-__" '!'

# Test 113
run_test "---___-_" '!'

# Test 114
run_test "------_-_-_-_" '!'

# Test 115
run_test "----___--_" '!'

# Test 116
run_test "-----__--_--_--" '!'

# Test 117
run_test "---_-__--_" '!'

# Test 118
run_test "---_-___-" 'JJ'

# Test 119
run_test "---__---__--" 'RJRJR'

# Test 120
run_test "---__--_-_---" 'RJRJRR'

# Test 121
run_test "---___-------_" '!'

# Test 122
run_test "---___-_--" '!'

# Test 123
run_test "--_--___" '!'

# Test 124
run_test "-----_--__--_" '!'

# Test 125
run_test "--_--___-" 'JJ'

# Test 126
run_test "-----_--___-" 'RRJRJ'

# Test 127
run_test "--_---___" '!'

# Test 128
run_test "----_------__--_" '!'

# Test 129
run_test "--__-__" '!'

# Test 130
run_test "----_---_-__---" 'RJJJR'

# Test 131
run_test "---_-----_--__-" 'JRRJJ'

# Test 132
run_test "-___-_" '!'

# Test 133
run_test "---_--__-_" '!'

# Test 134
run_test "--_----_-_-_" '!'

# Test 135
run_test "--_-__-_-" '!'

# Test 136
run_test "--__--__" '!'

# Test 137
run_test "--_----_--_-_" '!'

# Test 138
run_test "--__---__" '!'

# Test 139
run_test "--_----_---_-_" '!'

# Test 140
run_test "--__--__-" 'JJ'

# Test 141
run_test "--__------__---" 'JJJRR'

# Test 142
run_test "-___--_" '!'

# Test 143
run_test "-___-_-" '!'

# Test 144
run_test "-___--_-" '!'

# Test 145
run_test "-___---_-" 'JJ'

# Test 146
run_test "--___---_-" 'RJJ'

# Test 147
run_test "-_-___" '!'

# Test 148
run_test "-_--___" '!'

# Test 149
run_test "-_---___" '!'

# Test 150
run_test "-_-__-_" '!'

# Test 151
run_test "-_---__-_-" '!'

# Test 152
run_test "-_--___---" '!'

# Test 153
run_test "-_-__--_-" '!'

# Test 154
run_test "-__-__" '!'

# Test 155
run_test "---_-_-_-----_--" 'JJRRJR'

# Test 156
run_test "--__----_-----_-" 'JRJRRJ'

# Test 157
run_test "-_--_-__" '!'

# Test 158
run_test "-_------_---__" '!'

# Test 159
run_test "-____--" '!'

# Test 160
run_test "-_-_-__---" 'JJR'

# Test 161
run_test "-__--__--" 'JJ'

# Test 162
run_test "-__-_-_" '!'

# Test 163
run_test "-__-_-_---" '!'

# Test 164
run_test "-___----_---" 'JRJRR'

# Test 165
run_test "-_____" '!'

# Test 166
run_test "--_____" '!'

# Test 167
run_test "-------__-___-" 'JRJJ'

# Test 168
run_test "-____-_" '!'

# Test 169
run_test "----_-___-_" '!'

# Test 170
run_test "-------_-_-_-_--_" '!'

# Test 171
run_test "------_-___-_-----" 'RRRJJJRR'

# Test 172
run_test "------_-___-_------" 'RRRJJJRRR'

# Test 173
run_test "---------_-___-_------" 'JRRJJJRRR'

# Test 174
run_test "------_-___-_-------" 'RRRJJJJ'

# Test 175
run_test "------____--_-" '!'

# Test 176
run_test "-----_------____" '!'

# Test 177
run_test "--__-___" '!'

# Test 178
run_test "-----__-__-_" '!'

# Test 179
run_test "---__-___-" 'RJJ'

# Test 180
run_test "----__-___-" 'RRJJ'

# Test 181
run_test "-----__-___-" 'RRRJJ'

# Test 182
run_test "----_-_-__----_-" 'RRRJJJ'

# Test 183
run_test "----__-_-_-_" '!'

# Test 184
run_test "----__--_-_-_" '!'

# Test 185
run_test "----__-_-__--" '!'

# Test 186
run_test "----__-__-_" '!'

# Test 187
run_test "----___-_-_-" 'RRRJJ'

# Test 188
run_test "---_----____" '!'

# Test 189
run_test "---_--___-_" '!'

# Test 190
run_test "---__---___" '!'

# Test 191
run_test "---__-__-_--" '!'

# Test 192
run_test "---__--__--_--" 'RJJJ'

# Test 193
run_test "---___-__" '!'

# Test 194
run_test "---___-_-_-" 'RRJJ'

# Test 195
run_test "---____-_---" '!'

# Test 196
run_test "--_--_-___" '!'

# Test 197
run_test "--_--__-_-_" '!'

# Test 198
run_test "--_-_--___" '!'

# Test 199
run_test "--_-___-_-" '!'

# Test 200
run_test "---_-_-__-_--" '!'

# Test 201
run_test "--_---__-_-_-" 'JJJ'

# Test 202
run_test "--_-___--_-" '!'

# Test 203
run_test "--__---__-_-" '!'

# Test 204
run_test "--___-__" '!'

# Test 205
run_test "--__-_--__" '!'

# Test 206
run_test "--__--_---__" '!'

# Test 207
run_test "--__-_------__" '!'

# Test 208
run_test "--__-_-_---_" '!'

# Test 209
run_test "--___--__" '!'

# Test 210
run_test "--___----__-" 'RJRRJ'

# Test 211
run_test "--___--_-_" '!'

# Test 212
run_test "-_-__-__" '!'

# Test 213
run_test "-___---__" '!'

# Test 214
run_test "-_-__---__" '!'

# Test 215
run_test "----_-__---_--_" '!'

# Test 216
run_test "---_--_-_---_--_" '!'

# Test 217
run_test "--____-_---" '!'

# Test 218
run_test "-_-------_--_-__" '!'

# Test 219
run_test "-_----_-_--_-_" '!'

# Test 220
run_test "-_---___---_" '!'

# Test 221
run_test "-_--__-__--" '!'

# Test 222
run_test "-_--__-_--_--" '!'

# Test 223
run_test "-_--__-_-_----" '!'

# Test 224
run_test "-_-_-___" '!'

# Test 225
run_test "-_-_--_-__--" '!'

# Test 226
run_test "-__-__-_" '!'

# Test 227
run_test "-_-_-_----_---_" '!'

# Test 228
run_test "-_-_-_---__-" '!'

# Test 229
run_test "-_-_-_-_----_-" 'JJRJ'

# Test 230
run_test "-_-____--" '!'

# Test 231
run_test "-__----___" '!'

# Test 232
run_test "-__--___-" 'JJ'

# Test 233
run_test "-__---___-----" 'JRJJ'

# Test 234
run_test "-__-__-_-" '!'

# Test 235
run_test "-___--__-" 'JJ'

# Test 236
run_test "-_____----" '!'

# Test 237
run_test "-____--_----" '!'

# Test 238
run_test "-______" '!'

# Test 239
run_test "-------___-___-" 'JRRJJ'

# Test 240
run_test "-------_____--_" '!'

# Test 241
run_test "--------__-_--__-----_-" '!'

# Test 242
run_test "------____-_-_--" '!'

# Test 243
run_test "-----___-___-" 'JJJ'

# Test 244
run_test "-----____---__---" '!'

# Test 245
run_test "---_-_____" '!'

# Test 246
run_test "------_-_____" '!'

# Test 247
run_test "-----_-_-__--_--_" '!'

# Test 248
run_test "-----_-_-___-_------" 'JJJJRRR'

# Test 249
run_test "---_-___-_-_-" 'JJJ'

# Test 250
run_test "----_----___-_-_-" 'RJRRRJJ'

# Test 251
run_test "---_-_-__--_--_-" '!'

# Test 252
run_test "---_-_-____----" '!'

# Test 253
run_test "---__--_-__---_" '!'

# Test 254
run_test "---__-_-_--__" '!'

# Test 255
run_test "---__-___--_" '!'

# Test 256
run_test "---___-__-_" '!'

# Test 257
run_test "---___-___-" 'RRJJ'

# Test 258
run_test "---____-----__-------" '!'

# Test 259
run_test "--_----___-__--" 'JRRJJ'

# Test 260
run_test "--_-_--____" '!'

# Test 261
run_test "--_-_----___--_-" '!'

# Test 262
run_test "--_-_--__----_--_" '!'

# Test 263
run_test "--_-__-___" '!'

# Test 264
run_test "-------_-__------___" '!'

# Test 265
run_test "--_-___-__" '!'

# Test 266
run_test "--_-__-_-__--" '!'

# Test 267
run_test "--_-___--__--" '!'

# Test 268
run_test "--__--____" '!'

# Test 269
run_test "--__-____-" '!'

# Test 270
run_test "----_-_------_-___-----" 'RJJRJJJ'

# Test 271
run_test "--__--_---___-" 'JJRJ'

# Test 272
run_test "-__-__-__" '!'

# Test 273
run_test "-_____-_" '!'

# Test 274
run_test "----_---_--_-_-_-_" '!'

# Test 275
run_test "----_--_---_-__---_" '!'

# Test 276
run_test "--_---__-__-_" '!'

# Test 277
run_test "--_--__----__-_" '!'

# Test 278
run_test "--__-__-_-_-" '!'

# Test 279
run_test "---_--_----_-_--_-_--" 'JJRRJRJR'

# Test 280
run_test "--__--__-_--_-" '!'

# Test 281
run_test "--__--___-_--" '!'

# Test 282
run_test "--__-__----__" '!'

# Test 283
run_test "--___-_--_-_" '!'

# Test 284
run_test "--____-__--" '!'

# Test 285
run_test "--___--_----_-_--" 'RJJRRJR'

# Test 286
run_test "--_____---_" '!'

# Test 287
run_test "-_-----_-_--_-__---" '!'

# Test 288
run_test "-_--____-_" '!'

# Test 289
run_test "-_-------_-_--_--_-_---" 'JJJJJRR'

# Test 290
run_test "-_--_---___-_--" '!'

# Test 291
run_test "-_--____--_" '!'

# Test 292
run_test "-_---___-_---_--" '!'

# Test 293
run_test "-_---____---_---" '!'

# Test 294
run_test "-_--__---__---_" '!'

# Test 295
run_test "-_-_-_-___" '!'

# Test 296
run_test "-_-_--_-___" '!'

# Test 297
run_test "-_-_--_---___" '!'

# Test 298
run_test "-_-_---_---__--_" '!'

# Test 299
run_test "-_-_--_---__---_" '!'

# Test 300
run_test "-_-_-__--__--" 'JJJ'

# Test 301
run_test "-_-__---_----_-_-" '!'

# Test 302
run_test "-_-__--_-_--_" '!'

# Test 303
run_test "-_-__--_-__--" '!'

# Test 304
run_test "-____----__" '!'

# Test 305
run_test "-__---__----__" '!'

# Test 306
run_test "-__---__---_-_" '!'

# Test 307
run_test "-__---__--_------_" '!'

# Test 308
run_test "-__---__-_-_--" 'JJJR'

# Test 309
run_test "-__-_----__---_" '!'

# Test 310
run_test "-__-____--" '!'

# Test 311
run_test "-___--__--------_-" 'JJJRJ'

# Test 312
run_test "-___-___------" 'JJJR'

# Test 313
run_test "-_______" '!'

# Test 314
run_test "--------_-____-_-_" '!'

# Test 315
run_test "--------_______---" '!'

# Test 316
run_test "-------____-__---_-" '!'

# Test 317
run_test "-------_____-__-" '!'

# Test 318
run_test "------__--_-____" '!'

# Test 319
run_test "------_____-_-_-" '!'

# Test 320
run_test "---_-____-__" '!'

# Test 321
run_test "-----_---_-___-_-_" '!'

# Test 322
run_test "-----_-____-_-_--" '!'

# Test 323
run_test "-----_-_-___-_-_----" 'JJJJRRR'

# Test 324
run_test "----_--_-_----__-__" '!'

# Test 325
run_test "----__-___--_-----_" '!'

# Test 326
run_test "---_--_-----__--___-" 'JJRRJRJ'

# Test 327
run_test "---_-_-_-___-_" '!'

# Test 328
run_test "---_-__-_---------__-_" '!'

# Test 329
run_test "---__---_-__-__" '!'

# Test 330
run_test "---___---___---_" '!'

# Test 331
run_test "---___-_----___-" 'RRJJRJ'

# Test 332
run_test "---___-___-_-" '!'

# Test 333
run_test "---____----___-" '!'

# Test 334
run_test "---____-_-__-" '!'

# Test 335
run_test "---_-__----_--_--__-" '!'

# Test 336
run_test "---_____-_-_--" '!'

# Test 337
run_test "--_-----____---__-" '!'

# Test 338
run_test "--_---_-_--__--__" '!'

# Test 339
run_test "--_---___-_-__-" '!'

# Test 340
run_test "--_--_-_-_---__-_" '!'

# Test 341
run_test "--_--_-___-_-_" '!'

# Test 342
run_test "--_--__---____-" '!'

# Test 343
run_test "--_-_--__-___--" 'RJJJR'

# Test 344
run_test "--_-_-_-_--__-_" '!'

# Test 345
run_test "--_-__--_-_-__-" '!'

# Test 346
run_test "--_-___-_--_-_--" '!'

# Test 347
run_test "--_-__--_--_--_--_---" '!'

# Test 348
run_test "--_-___----__-_-" '!'

# Test 349
run_test "--__--_-__--__" '!'

# Test 350
run_test "--__-__-_--__" '!'

# Test 351
run_test "--__-___-_-_" '!'

# Test 352
run_test "--____---__---_" '!'

# Test 353
run_test "-_---------__-_--___-" '!'

# Test 354
run_test "-_-----___-__--_" '!'

# Test 355
run_test "-__-_____" '!'

# Test 356
run_test "-_----_-_--___--_--" 'JRJRJJ'

# Test 357
run_test "-_--_-___-__" '!'

# Test 358
run_test "-_----_-___---_-_" '!'

# Test 359
run_test "-_---_-_--__---_-_--" 'JJJRRJR'

# Test 360
run_test "-_---_-__--_----_--_---" '!'

# Test 361
run_test "-_--_-----___-__" '!'

# Test 362
run_test "-_--_--_---____-" '!'

# Test 363
run_test "-_--__--____----" '!'

# Test 364
run_test "-_--___-___" '!'

# Test 365
run_test "-_--___-__---_" '!'

# Test 366
run_test "-_--______--" '!'

# Test 367
run_test "-_-_----____-_----" '!'

# Test 368
run_test "-_-_--_----____-" '!'

# Test 369
run_test "-_-_-_-_----_-_--_" '!'

# Test 370
run_test "-_-_-_-_--__------_" '!'

# Test 371
run_test "-_-_-___---_--_" '!'

# Test 372
run_test "-_-__---_--___" '!'

# Test 373
run_test "-_-__--_-----___" '!'

# Test 374
run_test "-_-__-_-_---_---_" '!'

# Test 375
run_test "-__---_-__-_-_" '!'

# Test 376
run_test "-__---_-__-__-" '!'

# Test 377
run_test "-__---__-__---_-" '!'

# Test 378
run_test "-__--_---__---_--_-----" 'JJJJJRR'

# Test 379
run_test "-__--__-__--_--" '!'

# Test 380
run_test "-__--___---------__--" 'JJJJJ'

# Test 381
run_test "-___---___-_" '!'

# Test 382
run_test "-___--_---___" '!'

# Test 383
run_test "-___-__---_-_" '!'

# Test 384
run_test "-____----__--_-" '!'

# Test 385
run_test "-____-_-__" '!'

# Test 386
run_test "-____---_-__" '!'

# Test 387
run_test "-____-_-_-_" '!'

# Test 388
run_test "-____---_----_--_" '!'

# Test 389
run_test "-____-___---" '!'

# Test 390
run_test "------_-_-__-___---_" '!'

# Test 391
run_test "------__--_-__-_-_-_-" '!'

# Test 392
run_test "------___--__-__-_-" '!'

# Test 393
run_test "-----_-___-___--_--" 'RRJJJJ'

# Test 394
run_test "-----___-_-_-_-_---_" '!'

# Test 395
run_test "-----____-__-_----_--" '!'

# Test 396
run_test "----_-__--_____--" '!'

# Test 397
run_test "----__-_-__-___" '!'

# Test 398
run_test "----__-___--__-_-" '!'

# Test 399
run_test "---_---_--_---_____-" '!'

# Test 400
run_test "---_--____-___" '!'

# Test 401
run_test "---_-__-_____" '!'

# Test 402
run_test "---_-__--___---_-_----" 'JJJJJR'

# Test 403
run_test "---__-__-----_-___--" 'RJJRJJR'

# Test 404
run_test "---__-__-__---_-_-" '!'

# Test 405
run_test "---___--_-__-_---_" '!'

# Test 406
run_test "--_--_-__--____-" '!'

# Test 407
run_test "--_--___-___-_" '!'

# Test 408
run_test "--_-_---___-__--_" '!'

# Test 409
run_test "--_-_-_-___-_-_-" '!'

# Test 410
run_test "--_-_-_____---_-" '!'

# Test 411
run_test "--_-__-__-__-_" '!'

# Test 412
run_test "--__---_-_---_-_-__" '!'

# Test 413
run_test "--__-_---__--_-_-_" '!'

# Test 414
run_test "--__--_---__--_----_-_" '!'

# Test 415
run_test "--__--_-____--_" '!'

# Test 416
run_test "--__-__-__---_-_" '!'

# Test 417
run_test "--__-_---_-_---_---_--_-" '!'

# Test 418
run_test "--___---_-____--" '!'

# Test 419
run_test "--___--_-__-_-_" '!'

# Test 420
run_test "--___-_-_-----_-__" '!'

# Test 421
run_test "-_---_-_--__-___--" 'JJJJR'

# Test 422
run_test "-_---__-----__-__--_" '!'

# Test 423
run_test "-_--_--___--___" '!'

# Test 424
run_test "-_--_--_-_-_---_-_-----_-" '!'

# Test 425
run_test "-_-_-_---_____" '!'

# Test 426
run_test "-_--_-_-----____--_" '!'

# Test 427
run_test "-_-_---_-_----_-_-__" '!'

# Test 428
run_test "-_-_--_---____-_-" '!'

# Test 429
run_test "-_-_-_--_---_-_-__-" '!'

# Test 430
run_test "-_-_-__-_-__-_" '!'

# Test 431
run_test "-_-_-____---_-_" '!'

# Test 432
run_test "-_--_-_--___---_--_" '!'

# Test 433
run_test "-_-___-____" '!'

# Test 434
run_test "-_-__-_--__-__-----" '!'

# Test 435
run_test "-_-__-_--___-----_----" '!'

# Test 436
run_test "-__---__-_-__-_-----" '!'

# Test 437
run_test "-__---____-__-" '!'

# Test 438
run_test "-__--_--__--_---_--_-" '!'

# Test 439
run_test "-__--_-_---_-_-__" '!'

# Test 440
run_test "-__--______---" '!'

# Test 441
run_test "-__-_-__-___--" '!'

# Test 442
run_test "-__-__--_--___" '!'

# Test 443
run_test "-___---___--__" '!'

# Test 444
run_test "-___----___----__" '!'

# Test 445
run_test "-___----___--__----" 'JRRRJJRRR'

# Test 446
run_test "-___-_-____-" '!'

# Test 447
run_test "-__-_--_--_----___-----" '!'

# Test 448
run_test "-___--_-----_-__-_-" '!'

# Test 449
run_test "-___-___-_----_" '!'

# Test 450
run_test "-___-__--_--_----_" '!'

# Test 451
run_test "-__-_--_-_--_------_----_" '!'

# Test 452
run_test "-____--___-_" '!'

# Test 453
run_test "-_____--__------_" '!'

# Test 454
run_test "------_-__--_--___-__--" '!'

# Test 455
run_test "------__--_____------__" '!'

# Test 456
run_test "-----_---_-_---_-__---__-_" '!'

# Test 457
run_test "-----__-_---__-__----__" '!'

# Test 458
run_test "----_-_--_-__-____-" '!'

# Test 459
run_test "----_-_--____-_---_-_" '!'

# Test 460
run_test "----_-_-____-_---_--_" '!'

# Test 461
run_test "----__-_--___--__-_" '!'

# Test 462
run_test "----___-_-------__--_-----__" '!'

# Test 463
run_test "----_____-----____" '!'

# Test 464
run_test "---_----__-___-_--_-_" '!'

# Test 465
run_test "---_-__-_-___-_-_----" '!'

# Test 466
run_test "---__---___--_-__--_" '!'

# Test 467
run_test "---__-_-_----__-___------" 'RJJRRJJJR'

# Test 468
run_test "---__-__---_-____" '!'

# Test 469
run_test "---____--__-__--_" '!'

# Test 470
run_test "---___-_----_---_-__---_-" '!'

# Test 471
run_test "--_--______-__" '!'

# Test 472
run_test "--_--_--_-__-_-_--_-_" '!'

# Test 473
run_test "--_-______---_-_" '!'

# Test 474
run_test "--_--______---_---_--" '!'

# Test 475
run_test "--_-_--__-__---__--_" '!'

# Test 476
run_test "--_-_-_--_---_-----____--" '!'

# Test 477
run_test "--_-___---_-__---_----_-" '!'

# Test 478
run_test "--_-___--_-_-__--_" '!'

# Test 479
run_test "--__-----__-____---_-" '!'

# Test 480
run_test "--__-_-_____----_" '!'

# Test 481
run_test "--___-----____-_--_" '!'

# Test 482
run_test "-_____-____" '!'

# Test 483
run_test "--___-_--_--___----_" '!'

# Test 484
run_test "--___-__-__--_-_---" '!'

# Test 485
run_test "--____-____-_-----" '!'

# Test 486
run_test "--_____----_-_----__--" '!'

# Test 487
run_test "-_----___-____--_-" '!'

# Test 488
run_test "-_---__--______-" '!'

# Test 489
run_test "-_---___-__-___-------" '!'

# Test 490
run_test "-_---_____--_-_-_" '!'

# Test 491
run_test "-_--_---_-_-__---__-_" '!'

# Test 492
run_test "-_--_--____---___-" '!'

# Test 493
run_test "-_--_-__--__-_-__" '!'

# Test 494
run_test "-_--___--___--__" '!'

# Test 495
run_test "-_--____--__--__" '!'

# Test 496
run_test "-_-_---_-_--_-__----__" '!'

# Test 497
run_test "-_-____--__-__" '!'

# Test 498
run_test "-_-_-_--__--__-__" '!'

# Test 499
run_test "-_-_-_-____-_---_" '!'

# Test 500
run_test "-_-_-___-___-_" '!'

# Test 501
run_test "-_-__-__-__--_---_--" '!'

# Test 502
run_test "-_-___--_--__--_-_" '!'

# Test 503
run_test "-_-___-___--_---_" '!'

# Test 504
run_test "-_-____-___-_-----" '!'

# Test 505
run_test "-__-------_-_-__---_-__-" '!'

# Test 506
run_test "-__------_-__-_-___--" '!'

# Test 507
run_test "-__----_---____--_--_-" '!'

# Test 508
run_test "-____-__-_-__" '!'

# Test 509
run_test "-__---_-_---__-_-__-" '!'

# Test 510
run_test "-__---__-___--_-_--" 'JJJRJR'

# Test 511
run_test "-__--_____-__---" '!'

# Test 512
run_test "-__-_-__-_-----__--_" '!'

# Test 513
run_test "-___----__-_-___" '!'

# Test 514
run_test "-___--_____--_-" '!'

# Test 515
run_test "-___-_-_-_--_-__-" '!'

# Test 516
run_test "-___-_-__---___" '!'

# Test 517
run_test "-___-___---_-__---" 'JJJJR'

# Test 518
run_test "-____--____-_" '!'

# Test 519
run_test "-____--__-----__-_" '!'

# Test 520
run_test "-____-_--____--" '!'

# Test 521
run_test "-____-__--_--__--------" '!'

# Test 522
run_test "-_____--__-_-----_" '!'

# Test 523
run_test "-______-__--_" '!'

# Test 524
run_test "-______-_-_----_" '!'

# Test 525
run_test "-__________" '!'

# Test 526
run_test "------_-_________-" '!'

# Test 527
run_test "-----_---___-_-___---_--_" '!'

# Test 528
run_test "-----_--_-------__-__-___-_--" '!'

# Test 529
run_test "-----_--__-----_--__-__-__-" '!'

# Test 530
run_test "-----____-_-_--__-__" '!'

# Test 531
run_test "----_---_-__-___-_--__" '!'

# Test 532
run_test "----_--__--__-____--_-" '!'

# Test 533
run_test "----___-_-_-__-__--_" '!'

# Test 534
run_test "----____--_----___-_--_" '!'

# Test 535
run_test "---_-__-----__--_--____-" '!'

# Test 536
run_test "---__----__-_---_-___-_" '!'

# Test 537
run_test "---__---___-__--_-__-" '!'

# Test 538
run_test "---__-___----_-____-" '!'

# Test 539
run_test "---_---_-_-__----_-__-_-_-" '!'

# Test 540
run_test "---___--_-__--__--__" '!'

# Test 541
run_test "--_---_______-__----" '!'

# Test 542
run_test "--_--_---_--_-_-_____--" '!'

# Test 543
run_test "--_-_-____---__-------__" '!'

# Test 544
run_test "--_-_-____-___----_--" '!'

# Test 545
run_test "--__---___-_-__--_--_" '!'

# Test 546
run_test "--__--____---__-_--_" '!'

# Test 547
run_test "--__-_----_--__-___-------_-" '!'

# Test 548
run_test "--__-__--__-_--__-_" '!'

# Test 549
run_test "--__-__-_-_--__---_-_" '!'

# Test 550
run_test "--___--_---_-__-__---_" '!'

# Test 551
run_test "--___-_--_-__---__-------_" '!'

# Test 552
run_test "--________--_--_" '!'

# Test 553
run_test "-_------__-____--___" '!'

# Test 554
run_test "-_-----_--__-_-__-__------_--" '!'

# Test 555
run_test "-_----_-___-_---___--_------" '!'

# Test 556
run_test "-_--_--_____-_---__-" '!'

# Test 557
run_test "-_--_-_--___-__-----__" '!'

# Test 558
run_test "-_-_----_--____-__--_" '!'

# Test 559
run_test "-_-_----__-_------_____" '!'

# Test 560
run_test "-_-_-_-___---_--_---__" '!'

# Test 561
run_test "-_-__---_-__-__---__--" '!'

# Test 562
run_test "-_-__---____----_-__" '!'

# Test 563
run_test "-_-__--_-_--__---_---_---_" '!'

# Test 564
run_test "-_-__--__--____-_--" '!'

# Test 565
run_test "-_-__----__---__--__-_------" '!'

# Test 566
run_test "-_-__--___-_--___" '!'

# Test 567
run_test "-_-__-__-_--__-_-_-" '!'

# Test 568
run_test "-_-__-___-_-_--_---_---" '!'

# Test 569
run_test "-_-___---_-_____--" '!'

# Test 570
run_test "-_-_______---__" '!'

# Test 571
run_test "-__-----__---____--__-" '!'

# Test 572
run_test "-__---_----___---__-_-_-" 'JJRRJRJJ'

# Test 573
run_test "-__---_---__--_--__-__" '!'

# Test 574
run_test "-__---_-_-__-__-_-_-" '!'

# Test 575
run_test "-__--_--_--_-_____-" '!'

# Test 576
run_test "-__--_-__-_--____--" '!'

# Test 577
run_test "-__-_-------_-_---__-__-_-" '!'

# Test 578
run_test "-__-_-----__--__---___-" '!'

# Test 579
run_test "-__-_--___-_-___-" '!'

# Test 580
run_test "-__-__-_-_-_---_--_-------_" '!'

# Test 581
run_test "-___--_-_--_-_--___" '!'

# Test 582
run_test "-___--__---_-_--__-_" '!'

# Test 583
run_test "-__________-" '!'

# Test 584
run_test "-___---_--__--_--__--_-" '!'

# Test 585
run_test "-___-___--_-_-__-" '!'

# Test 586
run_test "-___-___--____--" '!'

# Test 587
run_test "-___----__--_---__-_-_---" 'JRRJJJJRR'

# Test 588
run_test "-____-_-___-__--" '!'

# Test 589
run_test "-______---__---__" '!'

# Test 590
run_test "------_-__-_-_--__-__-__" '!'

# Test 591
run_test "------_-___-_-__--__--__-----" '!'

# Test 592
run_test "------_-___-_---__--__--__-----" 'RRRJJJJJJRRR'

# Test 593
run_test "------___----_-____-___---" '!'

# Test 594
run_test "----_-_--__-_--__--___-_--" '!'

# Test 595
run_test "----_-__-_____--__--_-" '!'

# Test 596
run_test "----__--_----____--_--___-" '!'

# Test 597
run_test "----___--__-___---___-" 'RRRJJJRRJ'

# Test 598
run_test "----___-__----_-_-__--__-" '!'

# Test 599
run_test "----_____-__--___---_" '!'

# Test 600
run_test "---_--___---___-_-----__-_" '!'

# Test 601
run_test "---_-_-___-____-__" '!'

# Test 602
run_test "---_-__--___---__-___-" 'JJJRJJ'

# Test 603
run_test "---__-_-_----__-_---___--_--" 'RJJRRJJJJ'

# Test 604
run_test "---__-___-__-__--_-_" '!'

# Test 605
run_test "---___-_---_-----_-__-___" '!'

# Test 606
run_test "---______---___--_---_" '!'

# Test 607
run_test "---____--_-_----___----_---_--" '!'

# Test 608
run_test "---____-__----__--___" '!'

# Test 609
run_test "--_--__--_-____---___" '!'

# Test 610
run_test "--_--__-___-_____" '!'

# Test 611
run_test "--_---_--_--___-_---_--___-" '!'

# Test 612
run_test "--_--___---__--____-_" '!'

# Test 613
run_test "--_-_-__--_-_---__--___" '!'

# Test 614
run_test "--_-_-__-__----_____" '!'

# Test 615
run_test "--__----__--___-___-_" '!'

# Test 616
run_test "--__---__-___-----___--_" '!'

# Test 617
run_test "--__-_-_-____--___--" '!'

# Test 618
run_test "--__-__-_-_-_--__-__-" '!'

# Test 619
run_test "--___----_____-_-_-_----" '!'

# Test 620
run_test "--___---__-___-___-" 'RJRJJJ'

# Test 621
run_test "--___-_--___--__---__----" '!'

# Test 622
run_test "--_____-__---____" '!'

# Test 623
run_test "--______--_-__-_---_" '!'

# Test 624
run_test "--______-_--_-----___-" '!'

# Test 625
run_test "-_-----__---_----__-____--_" '!'

# Test 626
run_test "-_-----__-_-_-__-___-_" '!'

# Test 627
run_test "-_----_--_-_-__-_----_---___" '!'

# Test 628
run_test "-_---_--____--__-_-__" '!'

# Test 629
run_test "-_---__-__-_-_---__-_-_" '!'

# Test 630
run_test "-_--_-_-_---__-----____-_" '!'

# Test 631
run_test "-_--_-__---_---_----____-_" '!'

# Test 632
run_test "-_--___--__--_--___-_" '!'

# Test 633
run_test "-_--_____--__----__-_" '!'

# Test 634
run_test "-_-_---_--___-__-_-_---_-" '!'

# Test 635
run_test "-_-_--__-__-__-_-_-_-" '!'

# Test 636
run_test "-_-_-_-----__---___-_-_--_" '!'

# Test 637
run_test "-_-_-__-___---__-__-" '!'

# Test 638
run_test "-_-_-___-_____--_--" '!'

# Test 639
run_test "-_-___-_-______" '!'

# Test 640
run_test "-_-__--_--_-_--_--_-___-" '!'

# Test 641
run_test "-_-____-___-_---_--------_-" '!'

# Test 642
run_test "-__---___--_--_____" '!'

# Test 643
run_test "-__--__-_____--_--_" '!'

# Test 644
run_test "-__-__----_---__-__--__" '!'

# Test 645
run_test "-__-____-_-_--_-_---_" '!'

# Test 646
run_test "-__-_______-__--" '!'

# Test 647
run_test "-___--_-____-_----_-_" '!'

# Test 648
run_test "-___--__-_____-_-" '!'

# Test 649
run_test "-___--__-_____-_--" '!'

# Test 650
run_test "-____--_-___---_-_-_----" '!'

# Test 651
run_test "----_--___-_-_----_--___-_--_" '!'

# Test 652
run_test "----__-_-__--____-_-_-_---" '!'

# Test 653
run_test "----___-----__----_-_--___--__-" 'RRRJJJRRJRJJ'

# Test 654
run_test "---_--__----_______-__" '!'

# Test 655
run_test "---_--____---__-___-_--_" '!'

# Test 656
run_test "---_-__---_---______-_--_--" '!'

# Test 657
run_test "---__--____----__-__---__----" '!'

# Test 658
run_test "---__-_-___-__-__-_-_-" '!'

# Test 659
run_test "---___---_---_-__-_--_---_-__--" '!'

# Test 660
run_test "---___--_-_-_--_-_-__-_--_-" '!'

# Test 661
run_test "---___-_----_-_-------______-" '!'

# Test 662
run_test "--_---_--___--_--____--__" '!'

# Test 663
run_test "--_---______-----_____" '!'

# Test 664
run_test "--_--_---__-______--__--" '!'

# Test 665
run_test "--_--_-__--_--_---_--_____" '!'

# Test 666
run_test "--_--______-_-_-___" '!'

# Test 667
run_test "--__----__---_-_--_--_____-" '!'

# Test 668
run_test "--__-_--_-_--____-_---__-" '!'

# Test 669
run_test "--__-_-_---_--__---_-_--_-_--_" '!'

# Test 670
run_test "--__-_-_-_-_-_--__----_-_-_" '!'

# Test 671
run_test "--___---___-_--__--__-_" '!'

# Test 672
run_test "--____--__-__-__----_--_-" '!'

# Test 673
run_test "--____-____--_--_-__---" '!'

# Test 674
run_test "-_----_-__-__---_-__--_-_-_---" '!'

# Test 675
run_test "-_---____--_--___-_--__-" '!'

# Test 676
run_test "-_--_--___---_-_-__-_-__" '!'

# Test 677
run_test "-_--_-___-_---______--" '!'

# Test 678
run_test "-_--__--_-__-_-___--_-_---" '!'

# Test 679
run_test "-_--__-__-_--__--_-___---" '!'

# Test 680
run_test "-_--__-__-_-__--_-__--_--" '!'

# Test 681
run_test "-_--_____----___---_--_-_" '!'

# Test 682
run_test "-_-_-___-__-___--__-" '!'

# Test 683
run_test "-_-__-_-_--____-_--_---_---" '!'

# Test 684
run_test "-_-__-__----___-----__-_-_---" '!'

# Test 685
run_test "-_-___--_--_-_-_-____-" '!'

# Test 686
run_test "-_-___--___-__---_-__" '!'

# Test 687
run_test "-_-____--_--__--_-___" '!'

# Test 688
run_test "-_-____--_-_-_----_-_-__--" '!'

# Test 689
run_test "-_-________-_---_--_" '!'

# Test 690
run_test "-_-___-___-__---_---_--_" '!'

# Test 691
run_test "-__---_--__-__-_-__--__-" '!'

# Test 692
run_test "-__---__-_-_---_-_--____" '!'

# Test 693
run_test "-__---__-_-_--_--_----__----__" '!'

# Test 694
run_test "-__--_-_-___-_--__-_------_" '!'

# Test 695
run_test "-__--_-__--____-_--_---_" '!'

# Test 696
run_test "-__-__-_-___-__---_-_-" '!'

# Test 697
run_test "-__-______-__-_-_---" '!'

# Test 698
run_test "-___-_-----_--__-__-_--_-_" '!'

# Test 699
run_test "-___-_-_-----_---_____---_--" '!'

# Test 700
run_test "-____--__--__--__--__-" '!'

# Test 701
run_test "-____-_-__-_____-" '!'

# Test 702
run_test "-____-_-_-_---_-____-" '!'

# Test 703
run_test "-_____-__--_-_---___-" '!'

# Test 704
run_test "-_____-____-_-__" '!'

# Test 705
run_test "-_______----_-_-__---_--" '!'

# Test 706
run_test "-----------________---____-_" '!'

# Test 707
run_test "-------___------__________" '!'

# Test 708
run_test "------_-_--__-___-____-_----_-" '!'

# Test 709
run_test "-----_---__-_-_______---_-_-" '!'

# Test 710
run_test "----__--__-_--___----_-__----__" '!'

# Test 711
run_test "----___-____--______-" '!'

# Test 712
run_test "---__--____--_____-__--" '!'

# Test 713
run_test "--_---__--__--______-_-_" '!'

# Test 714
run_test "--_--___-_-_----_--______" '!'

# Test 715
run_test "--_--____-__-_-_--__----_-_" '!'

# Test 716
run_test "--_--________-_--_-------_-_" '!'

# Test 717
run_test "--_-_---_---__-__--___--_-_---_" '!'

# Test 718
run_test "--_-__-__-----__-____------_-_-" '!'

# Test 719
run_test "--_-_____--_--___--_-_--_" '!'

# Test 720
run_test "--_-______-_-___-__" '!'

# Test 721
run_test "--_-_________-_-_-_--" '!'

# Test 722
run_test "--__--__-_---___---_-__--__" '!'

# Test 723
run_test "--__-_-_-__-__----___-_-_-" '!'

# Test 724
run_test "--___--__-_--_---_-_-_---__---_" '!'

# Test 725
run_test "--___-_-----_--____-_-___" '!'

# Test 726
run_test "--_____-__-_---_____" '!'

# Test 727
run_test "-_---_----_-____-____-__" '!'

# Test 728
run_test "-_---_--__-__-______-_" '!'

# Test 729
run_test "-_---_-___------______-__-" '!'

# Test 730
run_test "-_---__-___-_---__--____--" '!'

# Test 731
run_test "-_--_-_-__--_-------__---___-__" '!'

# Test 732
run_test "-_--_-___--_-_---_-____-_--" '!'

# Test 733
run_test "-_-_-----_-___-___--__-__" '!'

# Test 734
run_test "-_-__-----__--_---__-____--_" '!'

# Test 735
run_test "-_-__----_-_-_----___--____" '!'

# Test 736
run_test "-_-__--_-_-_---_-_-__-___" '!'

# Test 737
run_test "-_-___-_-_--_--_-__----_-_--_-" '!'

# Test 738
run_test "-__--_-_____--__--_--__-" '!'

# Test 739
run_test "-__--___-_---___-_-__---_" '!'

# Test 740
run_test "-__-__-_--______-_-_-" '!'

# Test 741
run_test "-__-__-_-___-_-_-_----__-" '!'

# Test 742
run_test "-___----_-___-__-_------___" '!'

# Test 743
run_test "-___---__-__--__--__-_-_---" '!'

# Test 744
run_test "-------___-___-_--___--__-_-_" '!'

# Test 745
run_test "------_-__---__-__-__---___-__" '!'

# Test 746
run_test "-----_----____--___-______-" '!'

# Test 747
run_test "----_-_-_---______-_--_-_--_-_" '!'

# Test 748
run_test "----_-__-__---_-__-___--_-_-_-" '!'

# Test 749
run_test "----_-____-___--_-____-_----" '!'

# Test 750
run_test "----__-_-_-_-_---__-__-_-__-_" '!'

# Test 751
run_test "----___----_-__-_-_--___-__--_-" '!'

# Test 752
run_test "----___-_---___-__--_-____" '!'

# Test 753
run_test "---_--__-__-_--____--___-_-" '!'

# Test 754
run_test "---_-_--___-_-___-___---_--_" '!'

# Test 755
run_test "---_-_--____-____-__---_--_--" '!'

# Test 756
run_test "---_-_-___--_-___-__--__-_----" '!'

# Test 757
run_test "---_-__--_-_--_-____-__-__" '!'

# Test 758
run_test "---_-__-__----____--_-__-_-_" '!'

# Test 759
run_test "---_-_____-_-___--_---_-__-" '!'

# Test 760
run_test "--_--___-_-_----_-____-_-_--_" '!'

# Test 761
run_test "--_-_--_--__-_-_-_-_-__--__-_-" '!'

# Test 762
run_test "--_-_--_-_-__-___-_----____" '!'

# Test 763
run_test "--_-_-__-______--____-" '!'

# Test 764
run_test "--__-_--_-__---_---_-_-_-__-__" '!'

# Test 765
run_test "--__-_-_-_-__-_-__--___-_---" '!'

# Test 766
run_test "--__-__-__--_--__-___---_-_" '!'

# Test 767
run_test "--___---_______-_-_--__--" '!'

# Test 768
run_test "--____--____-_--_-_--___" '!'

# Test 769
run_test "-_----_-_--_-___--__-_____---" '!'

# Test 770
run_test "-_----_-____-______-__-" '!'

# Test 771
run_test "-_---_--_--__--_______-_-_-" '!'

# Test 772
run_test "-_---__-_----_-____-_-_--___" '!'

# Test 773
run_test "-_--_--__--__-_-_--___-_-__" '!'

# Test 774
run_test "-_--___-__---_--_-___-___" '!'

# Test 775
run_test "-_--_____----_-_-_--___-__" '!'

# Test 776
run_test "-_-_---_---_-_--___-__-____" '!'

# Test 777
run_test "-_-_-___-_-__--______" '!'

# Test 778
run_test "-__-__-_--___--__--_-___-" '!'

# Test 779
run_test "-___-_-__-_-__---_--__--__" '!'

# Test 780
run_test "-____--_-_-__---____-__-" '!'

# Test 781
run_test "-_____-_-__-_--_--_-___" '!'

# Test 782
run_test "------_______-__--__---_-___--" '!'

# Test 783
run_test "-----_-_-__-__-_---______-_---_" '!'

# Test 784
run_test "---_---__-__--_-__-___-_-__--_" '!'

# Test 785
run_test "---__--_-_---___-___--____-_" '!'

# Test 786
run_test "---__-__-_-__-_-_--_-__-__-_" '!'

# Test 787
run_test "---___--__-__-----_______--_-" '!'

# Test 788
run_test "--_--_-__--____-___--__-__-" '!'

# Test 789
run_test "--_--__-_-_-_--___--__--__-__-" '!'

# Test 790
run_test "--_-_-_-_________-___--" '!'

# Test 791
run_test "--_-___-_________-_-_" '!'

# Test 792
run_test "--__---_-____-_----_-_-____-_" '!'

# Test 793
run_test "--__--__-____--__-___----__--" '!'

# Test 794
run_test "--__-_---__-_--__--___-____" '!'

# Test 795
run_test "--__-_--__-_--_--____---___--_-" '!'

# Test 796
run_test "--__-_-_---___-__-_-_-__-----__" '!'

# Test 797
run_test "--__-___-_-___-__-__---__" '!'

# Test 798
run_test "--__-_____-__--__--_-___-" '!'

# Test 799
run_test "--___-_-__-____-____--_" '!'

# Test 800
run_test "--___-_-___-__-_----_-_-___" '!'

# Test 801
run_test "-_--_-__-________----_--_--_" '!'

# Test 802
run_test "-_--___---_-__-__--_-_--___-_-" '!'

# Test 803
run_test "-_-_-______--___--___--_-" '!'

# Test 804
run_test "-_-____--_-_-_-_--__-_---___-" '!'

# Test 805
run_test "-__------_--___--__--_____-_-_" '!'

# Test 806
run_test "-__-----_-__--___--_______----" '!'

# Test 807
run_test "-__---____-__--___---_-_---__" '!'

# Test 808
run_test "-__--_--___---_-__-_-__-___" '!'

# Test 809
run_test "-__--_-____-_-_--__---_-__-_" '!'

# Test 810
run_test "-__--__--_---_--___--_____-_---" '!'

# Test 811
run_test "-__-_----_--_-___--_-__--____--" '!'

# Test 812
run_test "-__-_-_-__-_---________-" '!'

# Test 813
run_test "-___-__-__--__--____-_----_" '!'

# Test 814
run_test "-____--__-_____-_-_-_---_-" '!'

# Test 815
run_test "-_______--_--__-_--__-__" '!'

# Test 816
run_test "---___-____-____---__-__--_" '!'

# Test 817
run_test "--_------_-_______---__-_-__-__" '!'

# Test 818
run_test "--__-_-_-_-__-_---_____--___-" '!'

# Test 819
run_test "--__-__-_-_-___--_-__--____-" '!'

# Test 820
run_test "--___-__-__--__-__--___-__" '!'

# Test 821
run_test "--_____--_-_-_-_--_-_____---_" '!'

# Test 822
run_test "--______--___----__-_---__-_--_" '!'

# Test 823
run_test "-_-----_-_-___-___-_______---" '!'

# Test 824
run_test "-_---___-_-_-_-___-____--__" '!'

# Test 825
run_test "-_--___--______---_-___--_-_" '!'

# Test 826
run_test "-_--___-__--__-___-__---___" '!'

# Test 827
run_test "-_--____--___--_-__-___--__-" '!'

# Test 828
run_test "-_-_-_--__-____--__--__-_--_--_" '!'

# Test 829
run_test "-_-_-__-_____-__---__--_-_--_" '!'

# Test 830
run_test "-__-_----_-_-_-_____-___-_--_-" '!'

# Test 831
run_test "-__-___-_--_-_-______--__" '!'

# Test 832
run_test "-____-_-____-_____----_-_----" '!'

# Test 833
run_test "-____-__-__-_----__-___-----__-" '!'

# Test 834
run_test "----___-____--_-_---____-__-__" '!'

# Test 835
run_test "--___-_--_____--_____-__-_-" '!'

# Test 836
run_test "--______--____--__-___--_--_" '!'

# Test 837
run_test "--_______-_-_-__---__-___-_-" '!'

# Test 838
run_test "-_---______--____----__--___-_-" '!'

# Test 839
run_test "-_--___-__---______-__----_--__" '!'

# Test 840
run_test "-_-_---_-__-__-__-__-___-_-__-" '!'

# Test 841
run_test "-_-_-___-_-_-_--_--_____-__---_" '!'

# Test 842
run_test "-_-__----_____--_-____--___-_" '!'

# Test 843
run_test "-_-___---______-_--___-___" '!'

# Test 844
run_test "-_-___-_---_____--__--__-___" '!'

# Test 845
run_test "-______-__---__--___--_----___" '!'

# Test 846
run_test "--___-_-______-____-_--_--_-_" '!'

# Test 847
run_test "-______-____-___-_-_-----_---__" '!'

# Test 848
run_test "--__-_-_--______-_-_-__--_____-" '!'

# Test 849
run_test "-_-_---___--_-________-_-_____" '!'

echo "$pass/$num passed"
