using System;
using System.IO;
using System.Text;
using System.Collections.Generic;
using System.Linq;

namespace ProgrammingContestWeapon
{
	class MainClass
	{
		public static void Main(string[] args)
		{
			var sum = ConvertStringToListInt(AskString("")).Sum();
			if (sum >= 10)
				Console.WriteLine("error");
			else
				Console.WriteLine(sum);
		}

		/*以下IO*/

		private static List<char> ConvertIntToCharList(int num)
		{
			List<char> answer = new List<char>();
			for (int i = 1; Math.Abs(num) >= Math.Pow(10, i - 1); i++)
			{
				//下から数えてi桁目の数字を抽出
				int curKetaNumber = (num % (int)Math.Pow(10, i) - num % (int)Math.Pow(10, i - 1));
				//123なら100,20,3が抽出できたので、1,2,3にする。
				curKetaNumber /= (int)Math.Pow(10, i - 1);

				answer.Add((char)(curKetaNumber + '0'));
			}

			return answer;
		}

		/*public static void SaveTextData(List<string> stringLs,string fileName)
		{
			StreamWriter cWriter = (
				new StreamWriter(fileName,Encoding.Default)
			);

			foreach (var str in stringLs)
			{
				cWriter.WriteLine(str);
			}

			cWriter.Close();
		}*/

		public static List<List<char>> GetTextDataAsCharLists(string fileName)
		{
			List<List<char>> ans = new List<List<char>>();


			// StreamReader の新しいインスタンスを生成する
			StreamReader cReader = (
				new StreamReader(fileName, Encoding.Default)
			);

			// 読み込みできる文字がなくなるまで繰り返す
			while (cReader.Peek() >= 0)
			{
				// ファイルを 1 行ずつ読み込む
				string stBuffer = cReader.ReadLine();

				ans.Add(stBuffer.ToCharArray().ToList());
			}
			// cReader を閉じる (正しくは オブジェクトの破棄を保証する を参照)
			cReader.Close();

			return ans;
		}

		public static List<string> GetTextDataAsStrings(string fileName)
		{
			List<string> ans = new List<string>();

			// StreamReader の新しいインスタンスを生成する
			StreamReader cReader = (
				new StreamReader(fileName, Encoding.Default)
			);

			// 読み込みできる文字がなくなるまで繰り返す
			while (cReader.Peek() >= 0)
			{
				// ファイルを 1 行ずつ読み込む
				string stBuffer = cReader.ReadLine();

				ans.Add(stBuffer);
			}
			// cReader を閉じる (正しくは オブジェクトの破棄を保証する を参照)
			cReader.Close();

			return ans;
		}

		public static List<List<char>> ChangeXYTextData(List<List<char>> ls)
		{
			var ans = new List<List<char>>();
			for (int i = 0; i < ls.OrderByDescending(obj => obj.Count).ToList()[0].Count; i++)
			{
				var charList = new List<char>();
				for (int j = 0; j < ls.Count; j++)
				{
					charList.Add(ls[j][i]);
				}
				ans.Add(charList);
			}
			return ans;
		}

		private static List<int> ConvertStringToListInt(string rawData)
		{
			List<string> strList = rawData.Split(' ').ToList();
			List<int> intList = strList.Select(int.Parse).ToList();

			return intList;
		}

		private static bool TryConvertStringToListInt(string rawData, out List<int> ans)
		{
			bool flag = true;

			//stringをカンマ区切りで分解(例外処理有り)
			List<string> strList = rawData.Split(',').ToList();
			try
			{

			}
			catch
			{
				flag = false;
			}

			//区切った文字を数値にParseする(例外処理有り)
			List<int> intList = new List<int>();

			foreach (var obj in strList)
			{
				int num = new int();
				if (!int.TryParse(obj, out num))
					flag = false;
				else
					intList.Add(num);
			}

			ans = intList;

			return flag;
		}

		private static bool TryConvertStringToListString(string rawData, out List<string> ans)
		{
			bool flag = true;

			//stringをカンマ区切りで分解(例外処理有り)
			List<string> strList = rawData.Split(' ').ToList();
			try
			{

			}
			catch
			{
				flag = false;
			}

			ans = strList;

			return flag;
		}

		private static List<char> ConvertStringToListChar(string rawData)
		{
			return rawData.ToList();
		}

		public static void GetInput(List<List<char>> dataList)
		{
			foreach (var obj in dataList)
			{
				foreach (var mozi in obj)
				{
					Console.Write(mozi);
				}
				Console.Write("\n");
			}
		}

		public static List<int> AskIntList(string message, int num)
		{

			var ls = new List<int>();
			while (true)
			{
				ls = AskIntList(message);
				if (ls.Count != num)
					Console.WriteLine("個数が違います");
				else
					break;
			}

			return ls;
		}

		public static List<int> AskIntList(string message)
		{
			Console.WriteLine(message);

			var ans = new List<int>();
			while (true)
			{
				if (!TryConvertStringToListInt(Console.ReadLine(), out ans))
					Console.WriteLine("正しく入力してください");
				else
					break;
			}
			return ans;
		}

		public static List<string> AskStringList(string message, int num)
		{

			var ls = new List<string>();
			while (true)
			{
				ls = AskStringList(message);
				if (ls.Count != num)
					Console.WriteLine("個数が違います");
				else
					break;
			}

			return ls;
		}

		public static List<string> AskStringList(string message)
		{
			Console.WriteLine(message);

			var ans = new List<string>();
			while (true)
			{
				if (!TryConvertStringToListString(Console.ReadLine(), out ans))
					Console.WriteLine("正しく入力してください");
				else
					break;
			}
			return ans;
		}

		public static List<char> AskCharList(string message, int num)
		{
			var ls = new List<char>();
			while (true)
			{
				ls = AskCharList(message);
				try
				{
					if (ls.Count != num)
						Console.WriteLine("個数が違います");
					else
						break;
				}
				catch
				{
					Console.WriteLine("正しく入力してください");
				}

			}
			return ls;
		}

		public static List<char> AskCharList(string message)
		{
			Console.WriteLine(message);
			return ConvertStringToListChar(Console.ReadLine());
		}

		public static string AskString(string message)
		{
			Console.WriteLine(message);
			return Console.ReadLine();
		}

		public static int AskInt(string message)
		{
			Console.WriteLine(message);

			int ans;

			while (!int.TryParse(Console.ReadLine(), out ans))
			{
				//ansに値が入るまでTryParseを繰り返す
				Console.WriteLine("入力しなおしてください");
			}

			return (int)ans;

		}

		public static string ConvertCharListToString(List<char> ls)
		{
			return new String(ls.ToArray());
		}

		private static List<int> SplitData(string rawData)
		{
			List<string> strList = rawData.Split(' ').ToList();

			List<int> intList = strList.Select(int.Parse).ToList();
			//どうやたらint.Parse(要素)をセレクトしちゃってるらしい。見じけぇやべぇはぇえ

			return intList;
		}

		/*以下、ソート*/

		public class PriorityQueue<T> where T : IComparable
		{
			//http://yambe2002.hatenablog.com/entry/2015/11/01/114503
			private IComparer<T> _comparer = null;
			private int _type = 0;

			private T[] _heap;
			private int _sz = 0;

			private int _count = 0;

			/// <summary>
			/// Priority Queue with custom comparer
			/// </summary>
			public PriorityQueue(int maxSize, IComparer<T> comparer)
			{
				_heap = new T[maxSize];
				_comparer = comparer;
			}

			/// <summary>
			/// Priority queue
			/// </summary>
			/// <param name="maxSize">max size</param>
			/// <param name="type">0: asc, 1:desc</param>
			public PriorityQueue(int maxSize, int type = 0)
			{
				_heap = new T[maxSize];
				_type = type;
			}

			private int Compare(T x, T y)
			{
				if (_comparer != null) return _comparer.Compare(x, y);
				return _type == 0 ? x.CompareTo(y) : y.CompareTo(x);
			}

			public void Push(T x)
			{
				_count++;

				//node number
				var i = _sz++;

				while (i > 0)
				{
					//parent node number
					var p = (i - 1) / 2;

					if (Compare(_heap[p], x) <= 0) break;

					_heap[i] = _heap[p];
					i = p;
				}

				_heap[i] = x;
			}

			public T Pop()
			{
				_count--;

				T ret = _heap[0];
				T x = _heap[--_sz];

				int i = 0;
				while (i * 2 + 1 < _sz)
				{
					//children
					int a = i * 2 + 1;
					int b = i * 2 + 2;

					if (b < _sz && Compare(_heap[b], _heap[a]) < 0) a = b;

					if (Compare(_heap[a], x) >= 0) break;

					_heap[i] = _heap[a];
					i = a;
				}

				_heap[i] = x;

				return ret;
			}

			public int Count()
			{
				return _count;
			}

			public T Peek()
			{
				return _heap[0];
			}

			public bool Contains(T x)
			{
				for (int i = 0; i < _sz; i++) if (x.Equals(_heap[i])) return true;
				return false;
			}

			public void Clear()
			{
				while (this.Count() > 0) this.Pop();
			}

			public IEnumerator<T> GetEnumerator()
			{
				var ret = new List<T>();

				while (this.Count() > 0)
				{
					ret.Add(this.Pop());
				}

				foreach (var r in ret)
				{
					this.Push(r);
					yield return r;
				}
			}

			public T[] ToArray()
			{
				T[] array = new T[_sz];
				int i = 0;

				foreach (var r in this)
				{
					array[i++] = r;
				}

				return array;
			}

		}
	}
}


Measured memory_bytes: 11348