private int shoot3870() throws NoInputException {
		final int time1 = getTime();
		final ShootingWord word1Printed = ShootingWord.values()[time1];
		if (skb.hasMore() == false) {
			print("Type: " + word1Printed);
		}
		final String typed1 = skb.input(screen);
		ShootingWord wordType1 = ShootingWord.safeValueOf(typed1);
		final int delta;
		if (wordType1 == null) {
			delta = NB_WORDS - 1;
			wordType1 = ShootingWord.values()[NB_WORDS - 1];
		} else {
			delta = protect(getTime() - wordType1.ordinal());
		}
		// print("delta="+delta);
		final ShootingWord word2 = wordType1.encode(delta);
		if (skb.hasMore() == false) {
			print("Type: " + word2);
		}
		final String typed2 = skb.input(screen);
		final ShootingWord wordType2 = ShootingWord.safeValueOf(typed2);
		final int duration = wordType2 == null ? NB_WORDS : wordType1.decode(wordType2) - dr;
		// print("duration=" + duration);
		if (duration < 0) {
			return 0;
		}
		return duration;
	}