private static bool IsCorrectSolution(Solution solution, SubmissionResult runResult)
		{
			if (runResult == null)
				return false;

			if (runResult.IsInternalError)
				return false;

			var localValidationPrefixes = new[] { "Решение", "Строка", "Не нужно писать" };
			if (localValidationPrefixes.Any(s => solution.CompilationError.StartsWith(s)))
				return true;

			const string sphereEngineErrorMessage = "Ой-ой, Sphere Engine, проверяющий задачи, не работает. Попробуйте отправить решение позже.";
			if (solution.IsCompilationError && solution.CompilationError == sphereEngineErrorMessage)
				return true;

			const string oldCompilationError = "CompilationError";
			var isCompilationError = solution.IsCompilationError || solution.ActualOutput == oldCompilationError;
			var pseudoCompilationError = runResult.IsCompilationError || !string.IsNullOrEmpty(runResult.CompilationErrorMessage);

			if (isCompilationError != pseudoCompilationError && isCompilationError != runResult.IsCompilationError)
				return false;
			if (isCompilationError)
				return true;

			var output = runResult.GetOutput();
			var isRightAnswer = runResult.IsSuccess && solution.ExpectedOutput.Equals(output);
			return solution.IsRightAnswer == isRightAnswer;
		}
		public void Write(Solution source, Object runResult)
		{
			var file = String.Format("{0:D10}.json", source.Id);
			var path = Path.Combine(directory, file);
			File.AppendAllText(path, JsonConvert.SerializeObject(new {source, runResult}, jsonSettings));
		}