// Path: src/main/java/hextostring/evaluate/EvaluationResult.java
// public class EvaluationResult {
// 
// 	private int mark;
// 	private String details;
// 
// 	public EvaluationResult(int mark, String details) {
// 		this.mark = mark;
// 		this.details = details;
// 	}
// 
// 	/**
// 	 * Getter on the mark obtained by the object.
// 	 *
// 	 * @return the mark obtained by the object.
// 	 */
// 	public int getMark() {
// 		return mark;
// 	}
// 
// 	/**
// 	 * Getter on the details of the evaluation.
// 	 *
// 	 * @return the details of the evaluation.
// 	 */
// 	public String getDetails() {
// 		return details;
// 	}
// 
// }


import java.util.LinkedList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import hextostring.evaluate.EvaluationResult;
		return match.length();
	}

	private boolean hasFinalPunctuation(String s) {
		if (s.length() == 0) return false;

		String lastChar = s.substring(s.length() - 1);
		for (String punctuation : JAPANESE_PUNCTUATION) {
			if (lastChar.matches(punctuation)) {
				return true;
			}
		}
		return false;
	}

	private int getNbPunctuation(String s) {
		int total = 0;

		for (int i = 0; i < s.length(); ++i) {
			for (String punctuation : JAPANESE_PUNCTUATION) {
				if ((s.charAt(i) + "").matches(punctuation)) {
					++total;
					break;
				}
			}
		}
		return total;
	}

	@Override
// Path: src/main/java/hextostring/evaluate/EvaluationResult.java
// public class EvaluationResult {
// 
// 	private int mark;
// 	private String details;
// 
// 	public EvaluationResult(int mark, String details) {
// 		this.mark = mark;
// 		this.details = details;
// 	}
// 
// 	/**
// 	 * Getter on the mark obtained by the object.
// 	 *
// 	 * @return the mark obtained by the object.
// 	 */
// 	public int getMark() {
// 		return mark;
// 	}
// 
// 	/**
// 	 * Getter on the details of the evaluation.
// 	 *
// 	 * @return the details of the evaluation.
// 	 */
// 	public String getDetails() {
// 		return details;
// 	}
// 
// }


// Path: src/main/java/hextostring/evaluate/string/JapaneseStringEvaluator.java
import java.util.LinkedList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import hextostring.evaluate.EvaluationResult;

		return match.length();
	}

	private boolean hasFinalPunctuation(String s) {
		if (s.length() == 0) return false;

		String lastChar = s.substring(s.length() - 1);
		for (String punctuation : JAPANESE_PUNCTUATION) {
			if (lastChar.matches(punctuation)) {
				return true;
			}
		}
		return false;
	}

	private int getNbPunctuation(String s) {
		int total = 0;

		for (int i = 0; i < s.length(); ++i) {
			for (String punctuation : JAPANESE_PUNCTUATION) {
				if ((s.charAt(i) + "").matches(punctuation)) {
					++total;
					break;
				}
			}
		}
		return total;
	}

	@Override
	public EvaluationResult evaluate(String s) {